Oldukça boş geçen bir haftasonu geride kalırken,oldukça yoğun geçicek bir hafta beni bekliyor. Neredeyse tum derslerimden odevim var, dahası beni bekleyen 2 proje var, ama tabi bunlar işin eglenceli kısımları. İlk projem iş yerinden İsa'nın bana verdiği e-Commerce framework'unde addCategory,updateCategory ve deleteCategory methodlarının yazılması. Basit işler gibi gozukuyorlar, .Net platformunun yeni neferi olarak bu basit gorevin oldukca yararli olacagını dusunuyorum. İkinci ve baba projem ise, openMP multi-threading platformu kullanarak C'de hali hazırda bulunan qsort fonksiyonunu multi-threaded hale getirmek. Bu uzaktan o kadar kolay gozukmuyor degil mi? Hatta eminim cogunuz benim gibi openMP kavramını ilk defa simdi duydunuz. Olayın mantıgı kısaca ne ondan bahsedelim.
xkcd'den eğlenceli bir Ballmer Peak geyiği Efendim cift cekirdekli islemciler artık ppc'lerimize kadar girmisken 4 cekirdekli laptoplardan 8 cekirdeki masaüstlerinden, İntel Nehalem işlemcilerden söz ettiğimiz şu günlerde multi-thread programming'de gün geçtikçe daha da önem kazanıyor. İşte bu kavramın low-level developer'a hitap eden kütüphanesi,openMP. Bu kütüphaneyi kullanarak yazdığımız programlarımızda işlemcilerimize ayrı ayrı farklı iş yaptırabiliyor,var olan bir işi iki işlemciye dağıtabiliyoruz. Biz ise qsort fonksiyonunu bu kütüphaneyle multi-threaded hale getirip, daha hızlı bir sıralama yapmak istiyoruz. Aslında çözüm başta çok zor gelmemişti, quick sort algoritmasının sonundaki recursive sistemin başına #pragma omp parallel'lerimi çaktığım zaman iki kat hızlı sıralama yaparak amacıma ulaşıcağımı düşünüyordum, ne yazıkki 100 000 000'luk bir arrayi sıralamada sadece 0,3 sn'lik bir ilerleme oldu, tabii bu durum beni hiç tatmin etmedi. Şimdi yeni arayışlar içindeyim. Ne dersiniz Ballmer Peak işe yarar mı sizce?:) Saygılar