Çoklu işleme

Columbia süper bilgisayarı çoklu işlemeye güzel bir örnektir.

Çoklu işleme, iki veya daha fazla işlemcinin bir araya getirilerek, işlenmesi gereken buyruğun daha hızlı bir şekilde işlenmesini sağlamaya yönelik bir tasarımdır. Çoklu işlemcilerin tek başına bir işlemciden daha hızlı olması beklenir. İşlemci tasarımında oluşan zorluklar çoklu işlemcileri zorunlu kılmıştır. Grace Hopper bu konu ile ilgili olarak "Eğer bir öküz işi yapamıyorsa, öküzü büyütmek yerine iki öküz kullandılar" demiştir.[1]

Çoklu işlemcileri tasarlamadaki en önemli sorunlarda birisi bu işlemcilerin eşzamanlı olarak nasıl çalışacaklarını bulmaktır. Bir araya getirilen işlemciler arasında aşağıdaki iki bağlantı vardır

  • İletişim
  • Fiziksel bağ

İşlemci zamanlaması

İşlemciler bir veriyolunu ortak kullanabileceği gibi ağ üzerinden de eşzamanlı olarak çalışabilirler. Bir veriyolu üzerine işlemciler doğrudan ya da çapraz olarak bağlanabilirler. Doğru bağlama, aynı anda sadece bir işlemcinin bilgi aktarımına izin verdiği için yavaştır. Çapraz bağlama çok daha hızlı olmasına rağmen maliyeti çok daha yüksektir.

Birden fazla bilgisayar ağ yolu ile birbirlerine bağlanıp işlemcileri tek bir işlemci gibi kullanılabilir. Bu durumda işlemciler arasındaki haberleşme anuyumlu (synchronous) veya zamanuyumsuz (asynchronous) olarak yapılabilir. Anuyumlu sistemlerde bir ortak saat yardımıyla işlemler gerçekleştirilir. Zamanuyumsuz sistemlerde ise ortak bir saate gerek yoktur. Bilgiler "tokalaşma" ile iletilir. Zamanuyumsuz sistemler, anuyumlu sistemlere göre ne kadar hızlı olsalar da bilginin aktarımı sırasında kayıplar oluşabilir.

Başarım

Çok sayıda işlemciyi bir araya getirmenin başarımı ne kadar arttıracağı önemli bir sorudur. Diyelim ki H(n) n kadar işlemcinin bir araya getirilmesi sonucu oluşan hızlanmayı göstersin. Bu durumda H(n) = Tek bir işlemci kullanlığında işlem süresi / Çoklu işlemci kullanıldığındda işlem süresi olarak ifade edilebilir. Bir diğer soru n işlemcinin ne kadar etkin kullanıldığıdır. E(n) etkinliği göstermek üzere E(n) = (H(n)/n) * %100 şeklinde olacaktır.

Ayrıca bakınız

Kaynakça

  1. ^ "1". 2 Ekim 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Aralık 2007. 
  • g
  • t
  • d
Paralel hesaplama
Genel
Koşutluk düzeyleri
Bit · Komut · Veri · Görev
İzlekler
Üst izlekleme · Yüksek izlekleme
Kuram
Amdahl yasası · Gustafson yasası · Karp-Flatt ölçütü · Yavaşlama · Hızlanma
Ögeler
İşlem · İzlek · Lif · PRAM · Buyruk penceresi · Dizi
Eşgüdüm
Çoklu işleme · Çoklu izlekleme · Bellek tutarlılığı · Ön bellek tutarlılığı · Engel · Eşzamanlılaştırma · Aşamalı uygulama denetimi
Programlama
Modeller (Gizli koşutluk · Açık koşutluk · Koşutzamanlılık)
Donanım
Flynn Sınıflandırması (SISD • SIMD • MISD • MIMD) · Boru hattı yöntemi · Çoklu işleme (Bakışımlı · Bakışımsız) · Bellek (NUMA · COMA · Dağıtık · Paylaşımlı · Dağıtık paylaşımlı) · SMT
MPP · Sayılüstü · Dizi işlemcisi · Süper bilgisayar · Beowulf
APIler
POSIX Threads · OpenMP · MPI · OpenCL · UPC · Intel İzlekleme Yapıtaşları · Boost.Thread · Evrensel Diziler · Charm++ · Cilk · CUDA · PVM
Sorunsallar
Olağanüstü koşutluk · Büyük Sorun · Yazılım durağanlığı  · Ölçeklenebilirlik  · Yarışma koşulları  · Deadlock  · Gerekirci algoritma
  • Kategori Kategori
  • Commons sayfası Paralel hesaplama
  • g
  • t
  • d
Matematiksel temeller
Hesaplama teorisi
Algoritmalar ve veri yapıları
Programlama dilleri ve derleyiciler
Eşzamanlı, paralel ve dağıtık sistemler
Yazılım mühendisliği
Sistem mimarisi
Telekomünikasyon ve ağ oluşturma
Veritabanları
Yapay zekâ
Bilgisayar grafikleri
İnsan-bilgisayar etkileşimi
Bilimsel hesaplama
Bilgisayar bilimi, ACM Hesaplama ve Sınıflandırma Sistemi'ne göre farklı konu ve alanlara ayrılabilir.