2011/5/25 Mucibirahman İLBUĞA <[email protected]>:
> Madem çoğu programlar çift işlemciyi desteklemiyor o zaman insanlar
> neden 2-3-4 işlemci bağlıyor makinalarına?... Eğer tek bir oturum
> açacaksa yani bir programı bir kere ekranda açacaksa bu çift-üc-dört
> XEON işlemci çılgınlığı nedir?..

Fifefox bir çekirdekte/işlemcide, sizin programınız bir çekirdekte,
messenger vs. bir çekirdekte ...

Tabii sizin uygulamanın bilgisayarın yükünün yüzde 80'ini
oluşturacaksa ve sistem çok çekirdekli veya çok işlemciliyse sizin bu
tarz alt seviyeli işlere girişmeniz mantıklı olacaktır.

Özellikle problemniz bunu gerektiriyorsa işletim sistemine ve
derleyiciye bıraktığınıza çok pişman olursunuz.

Çünkü işletim sistemleri bugün birçok şeyi doğru dürüst yapamıyor.
Çünkü sizin probleminizi, ihtiyaç duyduğunuz kaynakları işletim
sistemi bilmez, tahmin etmeye çalışır. Sizin bu tür konularda bir
birikmişiniz varsa ve bu tür alt seviyeli şeylere girişirseniz,
performans ciddi şekilde fark edebilir.

Mesela en basitinden bir download programını bile multi-thread veya
multi-process yazmazsanız düzgün performans alamazsınız. Çünkü sizin
probleminizin doğası çok işlemden oluşuyor. Siz bunu tek işleme
indirgerseniz asıl o zaman işletim sistemi yanlış şeyler yapar. Mesela
bir programda siz bir yandan, internetten bir dosya çekiyor, bir
yandan diske yazıyor, bir yandan kullanıcıya durum gösteriyor ve bunu
da birçok download için aynı anda yapıyorsanız, bir dosyanın yazılması
için geçek seek time'da bütün prosesiniz bekler.

Çok çekirdekli programlama gerçekten zor bir iş. Ama kesinlikle
gereksiz değil. Özellikle mobil cihazların dahi çok çekirdekli olmaya
başladığı şu zamanlarda...


-- 
Hüsrev Özayman
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap