Çoklu kullanım (İngilizcesi: İngilizce: multithreading) özelliğine sahip bilgisayarlar birden fazla iş parçacığını donanım desteği sayesinde çalıştırabilir. Çoklu işlem yapabilen sistemlerden gelişen bu yöntem tek bir çekirdeğin kaynaklarını paylaşmak zorundadır. Bu kaynaklar: aritmetik mantık birimi, yazmaçlar (registers), işlemci ön belleği ve adres dönüştürme ön belleğidir. Çoklu işlem yapabilen sistemlerde (çok çekirdekli), işlem birimlerinin tamamı ayrı çekirdeklerde olmasına rağmen, çoklu kullanım tek bir çekirdeğin kullanılabilirliğini iş-parçacığı seviyesinde ve buyruk düzeyinde daha verimli hale getirir. Bu iki teknik birbirini tamamlayan tekniklerdir.
Genel bakış
Çoklu kullanım modeli 1990'ların sonunda buyruk düzeyinde paralel işleme çalışmalarının sona yaklaşmasıyla daha popüler hâle gelmiştir.
- Tek bir iş parçacığının ya da tek bir programın hızlandırılması ne kadar zor olsa da, çoğu bilgisayar sistemi gerçekte birden fazla iş parçacığı veya program için çoklu görevlendirme kullanılmaktadır.
- Tüm sistemin daha hızlı çalışmasını sağlayacak tüm görevler başarımın artmasında önemlidir.
İşlem/zaman oranını arttıran iki önemli teknik çoklu işleme ve çoklu kullanımdır.
Artıları
- Bir iş parçacığı aradığı veriyi ön bellekte bulamıyorsa, diğer iş parçacıkları kullanılmayan kaynaklar ile işlerine devam edebilirler. Bu da, normalde kaynaklar bekleme durumunda olacağı ve çoklu kullanım sayesinde kullanılabildikleri için genel sistemde başarım artışını sağlar.
- Eğer bir iş parçacığı işlemcinin tüm kaynaklarını kullanamıyorsa, başka bir iş parçacığı bekleyen kaynakları kullanabilir.
- Eğer birkaç iş parçacığı aynı veri kümesini kullanıyorsa, iş parçacıkları ön belleği paylaşarak daha verimli ön bellek kullanımını ve senkronizasyonu sağlarlar.
- Çoklu kullanım iş parçacıklarını işlemci üzerindeki farklı kaynaklara yönlendirdiği için işlemci üzerindeki sıcaklık yayılacak bu da sıcaklığın tek noktada toplanmasını engelleyerek soğutmanın daha verimli yapılabilmesini sağlayacaktır.
Eksileri
- Birden çok iş parçacığı aynı donanım kaynaklarını kullanırken birbirlerinin çalışmalarına engel olabilirler.
- Tek bir iş parçacığının çalışması hızlanmak yerine yavaşlayabilir. Bunun sebebi de gerçekleştirim için gereken işlemci sıklığındaki azalma veya boru hattına eklenen fazladan aşamalardır.
- Çoklu kullanımın donanım desteği daha çok yazılım tabanlıdır ve uygulama programlarında ve işletim sisteminde çoklu işlemeye göre daha fazla değişikliğe ihtiyacı vardır.
- Çoklu kullanım güç tüketimini arttırır.
Sonuçlar değişken olsa da, Intel HyperThreading teknolojisi ile %30 civarında fayda sağladığını belirtmiştir. Hyperthreading, bağımlı kayan nokta işlerlerini paralelde yaparak %100 fayda sağlayan bir sentetik programdır. Öte yandan, verileri önceden yakalayan assembly-tabanlı programlar, mesela iyi video kodlayıcıları, ön bellekte verinin bulunamaması veya boşta bekleyen kaynaklar gibi sorunları olmadığı için çoklu işlemeden yararlanamazlar. Bu yüzden de iş parçacıklarının paylaştığı kaynaklarda oluşabilecek sorunlar yüzünden başarımlarında düşüş gözlenebilmektedir.
Çoklu kullanımı sağlayan donanım teknikleri, çoklu görevlendirmeyi sağlayan yazılım teknikleri ile benzeşmektedir.
Çoklu işleme türleri
Blok çoklu işleme
Kavram
Çoklu işlemenin en basit türü, bir iş parçacığı yürütülürken bir olay tarafından uzun bir süre bekletilmesi gerektiği zaman gerçekleşir. Bu beklemenin sebepleri ana belleğe erişim olabilir ki bu olayda verinin bulunması yüzlerce işlemci vuruşu sürmektedir. Olayın sonçuçlanmasını beklemek yerine, iş parçacıklarını kullanan bir işlemci bu sırada hazır olan başka bir iş parçacığını yürütmek için çağırabilir. Beklenen veri bulunduğunda ise önceki iş parçacığı hazır kuyruğuna sokulur. Sıra geldiğinde de yürütülmeye devam eder.
Kavramsal olarak, işletim sistemlerindeki çoklu görevlendirmeye benzemektedir. Çoklu görevlendirmede de görevler bir olay bekledikleri sırada kendi istekleri ile çalışma zamanlarından vazgeçerler ve olay olduğu zaman tekrar çalışmalarına devam ederler.
Kullanılan terimler
Bu tür çoklu kullanım Blok veya İşbirlikçi veya Kaba çoklu kullanım olarak adlandırılabilir.
Donanım maliyeti
Çoklu kullanım yapabilen donanımın amacı, bir şekilde çalışması engellenen iş parçacığı ile çalışmaya hazır iş parçacığının çok hızlı bir şekilde yer değiştirmesidir. Bu amaca ulaşmanın maliyeti, program tarafından kullanılan ve bazı işlem kontrolünde kullanılan yazmaçların kopyalanmasıdır. Bir iş parçacığından diğerine geçmek demek, neredeyse bütün bir yazmaç bloğunu değiştirmek demektir.
Böyle bir donanımın eklenmesi şu katkıları sağlar:
- İş parçacıkları arası geçiş bir işlemci vuruşunda yapılabilir.
- Her iş parçacığı tek başına yürütülüyormuş ve kaynakları başka iş parçacıklarıyla paylaşmıyormuş gibi düşünülebilir. Bu durum yapılması gereken yazılım değişikliklerini ve işletim sistemi değişikliklerini azaltır.
İş parçacıkları arasında etkin bir şekilde geçiş yapabilmek için her aktif iş parçacığının kendisine ait yazmaç bloğu olmalıdır. Örneğin iki iş parçacığı arasında çabuk bir geçiş sağlayabilmek için yazmaçların iki kere tanımlanması gerekir.
Dönüşümlü çalışan çoklu kullanım
Bu tip çoklu kullanımın amacı, boru hattında veri bağımlılıkları yüzünden oluşan beklemeleri ortadan kaldırmaktır. Bir iş parçacığı diğerlerinden tamamen bağımsız olduğu için, boru hattındaki bir buyruğun daha eski bir buyruktan veri beklemesi pek olası değildir.
Kavramsal olarak, işletim sistemlerindeki öncelikli çoklu kullanıma benzemektedir. İşletim sistemlerindeki bir zaman-dilimi işlemcideki vuruşa benzetilebilir.
Kullanılan terimler
Bu tür çoklu kullanıma ilk olarak Fıçı işleme(Barrel processing) denilmişti. Bunu sebebi boruhattı aşamalarının ve yürütülen iş parçacıklarının bir fıçının tahtalarına benzetilmesiydi. Dönüşümlü, Öncelikli, zaman-dilimli çoklu kullanım daha modern isimleridir.
Donanım maliyeti
Blok türündeki çoklu kullanıma ek olarak, dönüşümlü çoklu kullanımda iş parçacığının kimliğini(ID) takip edebilmek için fazladan boruhattı aşamaları bulunmaktadır. Aynı zamanda boruhattında eşzamanlı çalışan daha fazla iş parçacığı olduğundan ön bellek ve adres dönüştürme ön belleği gibi kaynakların daha büyük olması gerekmektedir.
Eşzamanlı çoklu işleme
Kavram
Çoklu kullanımın en gelişmiş ve superscalar işlemcilere uygulanan türüdür. Normal bir superscalar işlemci her vuruşta bir iş parçacığından birden fazla buyruk işler. Eş zamanlı çoklu işlemede ise işlemci birden fazla iş parçacığından birden fazla buyruk işler. Bir iş parçacığının limitli sayıda buyruk düzeyi paralelliğe erişebileceği göz önüne alınırsa, bu tür çoklu işleme birden fazla iş parçacığında paralellik sağlayarak boşa giden buyruk işleme slotlarını engeller.
Donanım maliyeti
Dönüşümlü çoklu kullanımdakine ek olarak eşzamanlı çoklu kullanımda, her boruhattı aşamasında iş parçacığı kimliklerinin takibinin maliyeti olacaktır. Bu yöntemde de aktif iş parçacıklarının sayısına göre ön bellek ve adres dönüştürme ön belleği yeniden boyutlandırılmalıdır.
Örnekler
- DEC (later Compaq) EV8 (not completed)
- Intel Hyper-Threading
- IBM POWER5
- The Cell microprocessor's Power Processing Element
- Sun Microsystems UltraSPARC T2
- MIPS MT
Gerçekleştirim özellikleri
Başka bir geniş araştırma alanı da iş parçacıkları zamanlayıcısıdır. Zamanlayıcı en çabuk şekilde hazır kuyruğunda yürütülmeyi bekleyen iş parçacıkları arasından bir sonraki iş parçacığını seçmek ve aynı zamanda da hazır kuyruğunu ve bekleme kuyruğunu düzende tutmakla yükümlüdür. Zamanlayıcı tamamen donanımda, tamamen yazılımda veya ikisinin birleşimi olarak gerçekleştirilebilir.
Diğer bir araştırma alanı ise ne tür olayların iş parçacıkları arasında değişime yol açacağıdır. Ön bellekte bulamama, iş parçacıkları arası iletişim, DMA vs.
Eğer çoklu kullanım şeması tüm durum bilgisini kopyalıyorsa (ayrılmış kontrol yazmaçları, ADÖ, vs.) bu durumda her bir iş parçacığı için bir sanal makine yaratıyor demektir. Bu şekilde her iş parçacığı aynı işlemci üzerinde kendi işletim sistemi üzerinde çalışıyor gibi olmaktadır. Öte yandan kullanıcı-modu durum bilgisi kaydedilseydi, daha çok iş parçacığının aktif olması için daha az donanım gerekli olacaktı.
Kaynakça
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Coklu kullanim Ingilizcesi Ingilizce multithreading ozelligine sahip bilgisayarlar birden fazla is parcacigini donanim destegi sayesinde calistirabilir Coklu islem yapabilen sistemlerden gelisen bu yontem tek bir cekirdegin kaynaklarini paylasmak zorundadir Bu kaynaklar aritmetik mantik birimi yazmaclar registers islemci on bellegi ve adres donusturme on bellegidir Coklu islem yapabilen sistemlerde cok cekirdekli islem birimlerinin tamami ayri cekirdeklerde olmasina ragmen coklu kullanim tek bir cekirdegin kullanilabilirligini is parcacigi seviyesinde ve buyruk duzeyinde daha verimli hale getirir Bu iki teknik birbirini tamamlayan tekniklerdir Bir islemci tek bir is parcacigini bir islem icin calistirirGenel bakisCoklu kullanim modeli 1990 larin sonunda buyruk duzeyinde paralel isleme calismalarinin sona yaklasmasiyla daha populer hale gelmistir Tek bir is parcaciginin ya da tek bir programin hizlandirilmasi ne kadar zor olsa da cogu bilgisayar sistemi gercekte birden fazla is parcacigi veya program icin coklu gorevlendirme kullanilmaktadir Tum sistemin daha hizli calismasini saglayacak tum gorevler basarimin artmasinda onemlidir Islem zaman oranini arttiran iki onemli teknik coklu isleme ve coklu kullanimdir ArtilariBir is parcacigi aradigi veriyi on bellekte bulamiyorsa diger is parcaciklari kullanilmayan kaynaklar ile islerine devam edebilirler Bu da normalde kaynaklar bekleme durumunda olacagi ve coklu kullanim sayesinde kullanilabildikleri icin genel sistemde basarim artisini saglar Eger bir is parcacigi islemcinin tum kaynaklarini kullanamiyorsa baska bir is parcacigi bekleyen kaynaklari kullanabilir Eger birkac is parcacigi ayni veri kumesini kullaniyorsa is parcaciklari on bellegi paylasarak daha verimli on bellek kullanimini ve senkronizasyonu saglarlar Coklu kullanim is parcaciklarini islemci uzerindeki farkli kaynaklara yonlendirdigi icin islemci uzerindeki sicaklik yayilacak bu da sicakligin tek noktada toplanmasini engelleyerek sogutmanin daha verimli yapilabilmesini saglayacaktir EksileriBirden cok is parcacigi ayni donanim kaynaklarini kullanirken birbirlerinin calismalarina engel olabilirler Tek bir is parcaciginin calismasi hizlanmak yerine yavaslayabilir Bunun sebebi de gerceklestirim icin gereken islemci sikligindaki azalma veya boru hattina eklenen fazladan asamalardir Coklu kullanimin donanim destegi daha cok yazilim tabanlidir ve uygulama programlarinda ve isletim sisteminde coklu islemeye gore daha fazla degisiklige ihtiyaci vardir Coklu kullanim guc tuketimini arttirir Sonuclar degisken olsa da Intel HyperThreading teknolojisi ile 30 civarinda fayda sagladigini belirtmistir Hyperthreading bagimli kayan nokta islerlerini paralelde yaparak 100 fayda saglayan bir sentetik programdir Ote yandan verileri onceden yakalayan assembly tabanli programlar mesela iyi video kodlayicilari on bellekte verinin bulunamamasi veya bosta bekleyen kaynaklar gibi sorunlari olmadigi icin coklu islemeden yararlanamazlar Bu yuzden de is parcaciklarinin paylastigi kaynaklarda olusabilecek sorunlar yuzunden basarimlarinda dusus gozlenebilmektedir Coklu kullanimi saglayan donanim teknikleri coklu gorevlendirmeyi saglayan yazilim teknikleri ile benzesmektedir Coklu isleme turleriBlok coklu isleme Kavram Coklu islemenin en basit turu bir is parcacigi yurutulurken bir olay tarafindan uzun bir sure bekletilmesi gerektigi zaman gerceklesir Bu beklemenin sebepleri ana bellege erisim olabilir ki bu olayda verinin bulunmasi yuzlerce islemci vurusu surmektedir Olayin soncuclanmasini beklemek yerine is parcaciklarini kullanan bir islemci bu sirada hazir olan baska bir is parcacigini yurutmek icin cagirabilir Beklenen veri bulundugunda ise onceki is parcacigi hazir kuyruguna sokulur Sira geldiginde de yurutulmeye devam eder Kavramsal olarak isletim sistemlerindeki coklu gorevlendirmeye benzemektedir Coklu gorevlendirmede de gorevler bir olay bekledikleri sirada kendi istekleri ile calisma zamanlarindan vazgecerler ve olay oldugu zaman tekrar calismalarina devam ederler Kullanilan terimler Bu tur coklu kullanim Blok veya Isbirlikci veya Kaba coklu kullanim olarak adlandirilabilir Donanim maliyeti Coklu kullanim yapabilen donanimin amaci bir sekilde calismasi engellenen is parcacigi ile calismaya hazir is parcaciginin cok hizli bir sekilde yer degistirmesidir Bu amaca ulasmanin maliyeti program tarafindan kullanilan ve bazi islem kontrolunde kullanilan yazmaclarin kopyalanmasidir Bir is parcacigindan digerine gecmek demek neredeyse butun bir yazmac blogunu degistirmek demektir Boyle bir donanimin eklenmesi su katkilari saglar Is parcaciklari arasi gecis bir islemci vurusunda yapilabilir Her is parcacigi tek basina yurutuluyormus ve kaynaklari baska is parcaciklariyla paylasmiyormus gibi dusunulebilir Bu durum yapilmasi gereken yazilim degisikliklerini ve isletim sistemi degisikliklerini azaltir Is parcaciklari arasinda etkin bir sekilde gecis yapabilmek icin her aktif is parcaciginin kendisine ait yazmac blogu olmalidir Ornegin iki is parcacigi arasinda cabuk bir gecis saglayabilmek icin yazmaclarin iki kere tanimlanmasi gerekir Donusumlu calisan coklu kullanim Bu tip coklu kullanimin amaci boru hattinda veri bagimliliklari yuzunden olusan beklemeleri ortadan kaldirmaktir Bir is parcacigi digerlerinden tamamen bagimsiz oldugu icin boru hattindaki bir buyrugun daha eski bir buyruktan veri beklemesi pek olasi degildir Kavramsal olarak isletim sistemlerindeki oncelikli coklu kullanima benzemektedir Isletim sistemlerindeki bir zaman dilimi islemcideki vurusa benzetilebilir Kullanilan terimler Bu tur coklu kullanima ilk olarak Fici isleme Barrel processing denilmisti Bunu sebebi boruhatti asamalarinin ve yurutulen is parcaciklarinin bir ficinin tahtalarina benzetilmesiydi Donusumlu Oncelikli zaman dilimli coklu kullanim daha modern isimleridir Donanim maliyeti Blok turundeki coklu kullanima ek olarak donusumlu coklu kullanimda is parcaciginin kimligini ID takip edebilmek icin fazladan boruhatti asamalari bulunmaktadir Ayni zamanda boruhattinda eszamanli calisan daha fazla is parcacigi oldugundan on bellek ve adres donusturme on bellegi gibi kaynaklarin daha buyuk olmasi gerekmektedir Eszamanli coklu isleme Kavram Coklu kullanimin en gelismis ve superscalar islemcilere uygulanan turudur Normal bir superscalar islemci her vurusta bir is parcacigindan birden fazla buyruk isler Es zamanli coklu islemede ise islemci birden fazla is parcacigindan birden fazla buyruk isler Bir is parcaciginin limitli sayida buyruk duzeyi paralellige erisebilecegi goz onune alinirsa bu tur coklu isleme birden fazla is parcaciginda paralellik saglayarak bosa giden buyruk isleme slotlarini engeller Donanim maliyeti Donusumlu coklu kullanimdakine ek olarak eszamanli coklu kullanimda her boruhatti asamasinda is parcacigi kimliklerinin takibinin maliyeti olacaktir Bu yontemde de aktif is parcaciklarinin sayisina gore on bellek ve adres donusturme on bellegi yeniden boyutlandirilmalidir Ornekler DEC later Compaq EV8 not completed Intel Hyper Threading IBM POWER5 The Cell microprocessor s Power Processing Element Sun Microsystems UltraSPARC T2 MIPS MTGerceklestirim ozellikleriBaska bir genis arastirma alani da is parcaciklari zamanlayicisidir Zamanlayici en cabuk sekilde hazir kuyrugunda yurutulmeyi bekleyen is parcaciklari arasindan bir sonraki is parcacigini secmek ve ayni zamanda da hazir kuyrugunu ve bekleme kuyrugunu duzende tutmakla yukumludur Zamanlayici tamamen donanimda tamamen yazilimda veya ikisinin birlesimi olarak gerceklestirilebilir Diger bir arastirma alani ise ne tur olaylarin is parcaciklari arasinda degisime yol acacagidir On bellekte bulamama is parcaciklari arasi iletisim DMA vs Eger coklu kullanim semasi tum durum bilgisini kopyaliyorsa ayrilmis kontrol yazmaclari ADO vs bu durumda her bir is parcacigi icin bir sanal makine yaratiyor demektir Bu sekilde her is parcacigi ayni islemci uzerinde kendi isletim sistemi uzerinde calisiyor gibi olmaktadir Ote yandan kullanici modu durum bilgisi kaydedilseydi daha cok is parcaciginin aktif olmasi icin daha az donanim gerekli olacakti Kaynakca PDF 21 Agustos 2010 tarihinde kaynagindan PDF arsivlendi Erisim tarihi 8 Kasim 2010 Multithreading computer architecture Ingilizce Vikipedi