Linkte verilen sched_setaffinity() bu meselenin çözümü değil gibi görünüyor bana.
Linkte anlatılan yöntem, threadları işlemci çekirdeklerine dağıtmaktan biraz daha farklı bir durum. Bu daha ziyade bir processi sadece bir tek CPU'da çalıştırmaya yönelik bir mesele. Process başka, thread başka şey. Affinity, temel olarak bir process'i tek bir CPU'ya bağlamak için kullanılır. Bunun pratikte tek faydası (başka bir takım minör şeyler olabilir) cache üzerinde her zaman güncel bilgiyi tutmak olabilir. Threadların CPU'lar üzerine dağılmasını istiyorsanız, hiç bir şey yapmayın. "pthread_create()" ile threadı yaratıp öylece bırakın. Çok çok büyük ihtimalle kernel threadları CPU'lara dağıtacaktır kendisi. Ve bunu sürekli güncelleyecek maksimum performansı vs. sağlayacaktır. Kernel bunu yapamıyorsa, bunu yapmak daha kötü olacağı için yapamıyor olacaktır. Sizin affinity değerleri ile oynamanız, size ek performans filan kazandırmayacak gibi görünüyor buradan bakınca. 2011/5/25 hal 2000 hal <[email protected]>: > http://www.ibm.com/developerworks/linux/library/l-affinity/index.html > > 2011/5/25 Cihat YILDIZ <[email protected]>: >> Merhabalar, >> Linux konsol uzerinde calisan multithread bir uygulama yazmak istiyorum. >> Multithread yapmak istememin nedeni olusturdugum threadlerin islemci >> cekirdeklerine dagilmasini istemem. >> Ama bunun yapilip yapilamadigi veya nasil yapilacagi hakkinda bir fikrim >> yok. >> Bu konuda onerineriniz almak istiyorum. >> Ayrica bununla ilgili bir dokuman onerebilirseniz sevinirim. >> Kolay gelsin, >> >> --- >> Cihat YILDIZ >> Electronics Engineer >> >> >> >> _______________________________________________ >> Linux-programlama mailing list >> [email protected] >> https://liste.linux.org.tr/mailman/listinfo/linux-programlama >> Liste kurallari: http://liste.linux.org.tr/kurallar.php >> >> > _______________________________________________ > Linux-programlama mailing list > [email protected] > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > _______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
