Multithreading (Çoklu Kullanım) nedir ?Multithreading (Çoklu kullanım) özelliğine sahip bilgisayarlar çeşitli görevleri etkin bir şekilde yerine getirmek için gerekli donanım desteğine sahiptirler. Bu bilgisayarlar çoklu işlem(multiprocessing) yapan sistemlerden farklıdır (çok çekirdekli sistemler gibi) ve görevlerin yapılması için hesaplama ünitesi, CPU önbellekleri ve adres dönüştürme önbelleği (Translation lookaside buffer (TLB)) gibi tek bir çekirdeğin kaynağını kullanmak zorundadır. Çoklu işlemcili sistemler birden fazla işlemci ünitesine sahiptir, Çoklu kullanım modeli 1990'ların sonlarından itibaren daha çok popüler hale geldi. Bu gelişmeler bilgi işleme sistemlerinin (Transaction processing) daha özelleştirilmiş alanından tekrar belirmesini sağlayan Throughput Computing akımının doğmasını sağladı. * Tek bir görevi ya da tek bir programı daha hızlı hale getirmek çok zor olmasına rağmen birçok bilgisayar sistemleri çoklu kullanımlar ve programlar arasında birçok görevi üstlenmiş durumda. * Tüm görevleri yapan bütün sistemin hızının artırılmasını sağlayacak olan teknikler daha anlamlı bir performans sunabilir. Throughput Computing için kullanılan iki ana teknik ise çoklu işlem ve çoklu görevdir. Bazı avantajları; * Eğer görev birçok önbelleği kaybederse diğer görev ya da görevler kullanılmayan bilgisayar kaynaklarını kullanırlar ve bu tüm görevlerin icrasında daha hızlı işlem yapmaya izin verir. Aksi halde bütün kaynaklar sadece tekbir görev için boşta bırakılmış olurdu. * Eğer görev CPU'nun tüm hesaplama kaynaklarını kullanamazsa diğer bir görevin icrasına izin vererek sistemin boşta kalmasını engeller. * Eğer birçok görev aynı bilgi demeti üzerinden işlem yapacaksa bunlar önbelleği paylaşırlar ve böylece önbelleğin daha etkin kullanımı ya da değerlerinin senkronizasyonu sağlanmış olur. Dezavantajları; Çoklu görev ile ilgili bazı eleştiriler şöyledir; * Tek bir görevin işlem zamanı geliştirilemez ancak indirgenebilir fakat bu sadece görevin icrası sırasında yapılabilir. Bu, görev değişikliğini sağlayan donanımını konumlamak için gerekli olan additional pipeline stages ve/veya yavaş frekanslar nedeniyle meydana gelir. * Çoklu görevler için donanım desteği programlara göre daha belirgindir ve bu nedenle uygulama programları ve işlem sistemleri üzerinde çoklu işlemden daha fazla değişiklik gereği duyar. Kat edilen mesafe çok çeşitlidir. Intel kendisine ait HyperThreading teknolojisi ile %30 daha fazla yarar sağladığını iddia etmektedir. Diğer bir yandan sadece bir demet optimize edilmemiş bağımlı floating point operayonları paralel bir biçimde çalıştırıldığında %100 yarar sağlamaktadır. Diğer bir yandan MMX ya da altivec extension'ları ve video encoderler gibi kullanışlı data pre-fetch'leri kullanan çevrilmiş ve dönüştürülmüş programlar önbellek kaybı ya da atıl kalan hesaplama araçları konusunda sıkıntı çekmezler ve sonuç olarak donanımsal çoklu görevlerin yararlarından faydalanmazlar ve gerçekten paylaşılan kaynaklar ve rekabet nedeniyle azalan performans görürler. Çoklu görevleri desteklemek için kulanılan donanım teknikleri sıklıkla bilgisayar programlarının çoklu görevleri için kullanılan program teknikleri ile paralledir. |
| Bu sayfadaki içerik özgündür.Kaynak belirtilmeden kullanılamaz! www.destekport.com |
| © DestekPort.com |
Teknoloji Haberleri | Forum | Makale | Galeri | Edevat | Sitene Ekle | İletişim |