Paralel ve Çok Çekirdekli Mimari
Paralel ve çok çekirdekli mimari, bir çip üzerindeki çoklu çekirdekler, vektör ve SIMD birimleri ile yoğun paralel GPU'lar gibi aynı anda birçok işlemi yürüten donanımların yanı sıra, paralel çalışmanın doğru ve verimli bir şekilde ilerlemesini sağlayan bellek ve iletişim yapılarını kapsar.
Tanım
Paralel ve çok çekirdekli mimari, çoğaltılmış çekirdekler, geniş veri-paralel birimler veya özel hızlandırıcılar aracılığıyla aynı anda birden fazla hesaplama gerçekleştiren bilgisayar donanımının, bunları koordine eden ara bağlantı ve bellek mekanizmalarıyla birlikte tasarımıdır.
Kapsam
Bu alan, paralellik için donanım organizasyonlarını kapsar: çip çoklu işlemcileri ve çok çekirdekli tasarımlar, paylaşımlı bellek sistemleri ile bunların gerektirdiği tutarlılık (coherence) ve eş tutarlılık (consistency), veri düzeyinde paralellik için SIMD ve vektör işlemciler ve GPU mimarileri. Paralel donanımın nasıl inşa edildiğini ve performansının nasıl ölçeklendiğini ele almaktadır. Paralel ve dağıtık programlamanın yazılım tarafını, dağıtık ve paralel hesaplama kapsamında ele alınan küme ölçekli dağıtık sistemleri ve işlemci mikro mimarisi kapsamında ele alınan tek çekirdekli yürütme motorunu hariç tutar.
Alt konular
Temel sorular
- Paralel donanım performansı nasıl ölçekler ve bu ölçeklemeyi ne sınırlar?
- Birden fazla çekirdek bir çip üzerinde nasıl entegre edilir ve paylaşımlı belleğe nasıl bağlanır?
- Paylaşımlı bellek donanımı hangi bellek eş tutarlılık (consistency) ve tutarlılık (coherence) garantilerini sağlamalıdır?
- SIMD, vektör ve GPU tasarımları veri düzeyinde paralelliği nasıl kullanır?
- Paralel mimariler, watt başına faydalı verimi en üst düzeye çıkarmak için iş yükleriyle nasıl eşleştirilir?
Anahtar kavramlar
- çip çoklu işlemci
- iş parçacığı düzeyinde paralellik
- veri düzeyinde paralellik
- SIMD ve vektör işleme
- GPU ve çok çekirdekli
- paylaşımlı bellek ve tutarlılık (coherence)
- bellek eş tutarlılığı (consistency)
- ara bağlantı ağı
- Amdahl yasası ve ölçeklenebilirlik
- senkronizasyon donanımı
Temel kuramlar
- Amdahl yasası
- Bir hesaplamayı paralelleştirmekten elde edilen hızlanma, sıralı olarak çalışması gereken kısım tarafından sınırlanır: sınırsız işlemci olsa bile, seri kısım genel hızlanmayı sınırlar; bu durum, paralel mimarilerin nasıl tasarlandığını ve değerlendirildiğini şekillendirir.
- Flynn tarzı paralellik taksonomisi
- Paralel donanım, komut ve veri akışlarının nasıl birleştiğine göre düzenlenir — örneğin, veri paralelliği için tek komut çoklu veri (SIMD) ve çok çekirdekli ve çok işlemcili sistemler için çoklu komut çoklu veri (MIMD) — bu, mimari seçimleri çerçeveleyen bir sınıflandırmadır.
Mekanizmalar
Çok çekirdekli işlemciler, bir veya daha fazla önbellek seviyesini ve bir bellek arayüzünü paylaşan, çip üzerinde bir ara bağlantı ile birbirine bağlanan birden fazla çekirdeği tek bir yonga üzerine yerleştirir. Tutarlılık (coherence) protokolleri önbelleklerini tutarlı tutar ve bir bellek eş tutarlılık (consistency) modeli, çekirdekler arasında görülen bellek işlemlerinin sırasını tanımlar. Veri-paralel donanım — vektör birimleri, SIMD şeritleri ve birçok hafif çekirdeğe sahip GPU'lar — tek bir işlemi birçok veri elemanına uygularken, senkronizasyon ilkelleri paralel iş parçacıklarını koordine eder.
Klinik önem
Tek çekirdekli saat frekansı ölçeklemesi durduktan sonra, paralel ve çok çekirdekli mimari, daha yüksek performansa ulaşmanın birincil yolu haline gelmiştir; bu nedenle neredeyse tüm modern işlemciler çok çekirdeklidir. GPU'lar ve SIMD birimleri günümüzde grafik, bilimsel hesaplama ve derin öğrenmenin temelindeki matris işlemlerine güç vermektedir, bu da paralel donanımı yüksek performanslı ve yapay zeka iş yükleri için merkezi hale getirmektedir.
Tarihçe
Paralel makineler, 1970'lerdeki Cray-1 gibi vektör süper bilgisayarlara ve 1980'ler ile 1990'lardaki araştırma çoklu işlemcilerine dayanmaktadır. 2000'li yılların ortalarında frekans ölçeklemesinin sona ermesi, sektörü varsayılan olarak çok çekirdekli çiplere yöneltmiştir. GPU'lar, sabit işlevli grafik işlem hatlarından programlanabilir çok çekirdekli hızlandırıcılara evrilmiş ve veri-paralel mimariler modern makine öğreniminin temelini oluşturmuştur.
Tartışmalar
- Genel amaçlı çok çekirdekli işlemciler ve özel hızlandırıcılar
- Homojen çok çekirdekli işlemcilerden elde edilen azalan getirilerle birlikte, belirli iş yükleri için programlanabilirlik ve esnekliği verimlilikle takas ederek, alan özel hızlandırıcıları (GPU'lar, tensör birimleri) ile genel amaçlı çekirdekler arasında ne kadar tercih yapılması gerektiği konusunda bir tartışma bulunmaktadır.
Öne çıkan isimler
- Gene Amdahl
- Michael J. Flynn
- John L. Hennessy
- David A. Patterson
- David E. Culler
İlgili konular
Temel eserler
- hennessy2019
- amdahl1967
- patterson2020
Sıkça sorulan sorular
- İşlemciler neden çoklu çekirdeklere yöneldi?
- Tek bir çekirdeğin saat frekansını artırmak, 2000'li yılların ortalarında güç ve ısı sınırlarına ulaşmıştır. Daha fazla çekirdek eklemek, aynı güç bütçesi dahilinde toplam verimi artırmış, bu nedenle çok çekirdekli mimari, performansı artırmaya devam etmenin baskın yolu haline gelmiştir — ancak bu durum, hızlanma yükünü paralel yazılıma kaydırmaktadır.
- Bir GPU, çok çekirdekli bir CPU'dan nasıl farklıdır?
- Bir CPU, düşük gecikmeli, genel amaçlı yürütme için optimize edilmiş birkaç güçlü çekirdeğe sahiptir. Bir GPU ise, yüksek verimli veri-paralel işler için optimize edilmiş birçok daha basit çekirdeğe sahiptir; aynı işlemi birçok veri elemanı üzerinde yürütür ve bu durum grafik ve yoğun sayısal hesaplamalar için uygun olsa da, tüm iş yükleri için geçerli değildir.