Cosmic Cube

advertisement
Paralel Mimariler Dersi Ödevi
Mesaj Aktarım Mimarisi
Hazırlayan
Öğrenci No
: Şenol HAZAR
: 1098105258
Trakya Üniversitesi F.B.E. Bilgisayar Müh.
Doktora Öğrencisi
Mesaj Aktarım Mimarisi
1.
2.
3.
4.
5.
6.
Mesaj Aktarımına Giriş
Mesaj Aktarım Ağlarında Yönlendirme
Mesaj Aktarımında Anahtarlama Mekanizmaları
Mesaj Aktarım Programlama Modelleri
Mesaj Aktarımı İçin İşlemci Desteği
Örnek Mesaj Aktarım Mimarileri
1.


Mesaj Aktarımına Giriş
Bir mesaj aktarım mimarisi, genel bir belleğe ihtiyaç
duymadan bir grup işlemci arasında veri iletişimi
sağlamak için kullanılır.
Tasarının temeli, her işlemcinin kendine ait yerel bir
belleğinin olması ve mesajlar kullanarak diğer
işlemcilerle iletişim kurmasıdır.
Çok İşlemcili Mesaj Aktarım Mimarisinde Temel Bileşenler


Ni düğümü Pi işlemcisini ve Mi belleğini barındırır.
Düğümler birbirleri ile linkler ve birbirine bağlı statik ağlar üzerinden
haberleşir.
Mesaj Aktarım Ağı Kurulurken Dikkat Edilmesi Gereken Hususlar
Mesaj aktarım ağı kurarken dikkat edilmesi gereken iki
önemli faktör vardır;


Bağlantının bant genişliği : Birim zamanda iletilebilen
bit sayısı (bit/s)
Ağ gecikme süresi : Ağ üzerinde bir mesaj
aktarımının tamamlanması için gereken süre
2.
Mesaj Aktarım Ağlarında Yönlendirme
Yönlendirme; bir mesajın ağ kanalları üzerinde
izleyeceği yolu seçme tekniğinin belirlenmesi.
Mesajın hedefe ulaşmasında kullanılabilecek
makul yolların bir tanım kümesine ve de bu kümeden
bir yol seçecek bir n fonksiyonuna ihtiyaç duyar.
Yönlendirme Teknikleri


Uyarlanabilir yönlendirme tekniğinde; (bir kaynak
ve hedef ikilisi için) mesajın izleyeceği yol, ağ tıkanıklığı
gibi ağın yoğunluğuna bağlıdır.
Kararlı yönlendirme tekniği ise; ağın durumundan
bağımsız olarak sadece hedef ve kaynağa dayanarak
yol seçer. Bu teknik, kaynak ve hedef arasındaki müsait
bant genişliğini verimsiz kullanır.
Yayınlama ve Çoğa Gönderim
Mesaj iletim sistemlerinde iki tip iletişim
işlemi vardır;

Birebir (uç uca veya tekyöne);


Bir düğüm bir mesajı sadece bir hedefe
gönderebilir
Kollektif;


Bir düğümden çok hedefe (Çoğa gönderim)
Bir düğümden tüm hedeflere (Yayınlama)
Yönlendirmede Potansiyel Problemler
Yönlendirme mekanizmalarının kullanımının
sebep olabildiği problemler;



Deadlock (Kördüğüm)
Livelock
Starvation (Beslenme Yetersizliği)
Yönlendirmede Potansiyel Problemler
Deadlock (Kördüğüm);


İki mesaj, devam etmek için, birbirlerinin ihtiyaç duydukları
kaynakları tutmaktadır ve iki mesaj da bloklanır.
Kaynaklara döngüsel bir bağımlılık var olduğu zamanlarda oluşan
bir durumdur.
Genel bir çözüm, kördüğüm oluşumundan kaçınmaktır. Bu
da ağ kaynaklarını ve talep eden mesajları monoton bir şekilde
sıralamakla sağlanır.
Kaynakların kullanımındaki bu sınırlı yöntem, döngüsel
beklemeyi ve kördüğüm oluşumunu engeller.
Yönlendirmede Potansiyel Problemler
Livelock;



Mesaj ağ içerisinde dolanıp durur, ancak, asla hedefe ulaşamaz.
Mesajların hedeflerine ulaşmak üzere tekrar yönlendirildiği
uyarlanabilir yönlendirme algoritmalarının kullanımından ortaya
çıkan bir fenomendir.
Düğümlerin, mesajlarını iletişim ağına rasgele zamanlarda
göndermesi durumunda ortaya çıkar.
Önlemek için gerekli politikalar;
1.
2.
Mesajlar önceliklerine göre yönlendirilmelidir.
Mesaj bir kere gönderildiğinde, eşit veya daha yüksek öncelikli
mesaj gönderimi sınırlı sayıda olmalıdır.
Yönlendirmede Potansiyel Problemler
Starvation (Beslenme Yetersizliği);
Bir düğümün ağa enjekte edecek bir mesajı var ve bunu
yapmasına asla izin verilmiyorsa o düğüm için beslenme
yetersizliğinden bahsedilir.
Bu durumun oluşumundan kaçınmak için uygulanacak
politikaların en basiti, her düğümün ağa enjekte etmek istediği
mesajları bulundurduğu kendi enjeksiyon kuyruğunun olmasıdır.
Mesaj enjeksiyon derecesi yüksek olan bir düğüm ağdaki
diğer düğümleri yavaşlaması oluşacak ana dezavantajdır.
3.
Mesaj Aktarımında Anahtarlama
Mekanizmaları

Giriş kanalından veriyi alıp çıkış kanalına yerleştiren mekanizmalardır.

Ağın gecikme süresi kullanılan anahtarlama mekanizmasına büyük
ölçüde bağlıdır.

Başlıca mekanizmalar;





Devre anahtarlama,
Sakla-ilet,
Sanal yol açma,
Solucan deliği,
Ardışık düzenli(boru hattı) devre anahtarlamadır
Mesaj Aktarımında Anahtarlama Mekanizmaları
Devre anahtarlamalı ağlar;

Kaynak ve hedef arasındaki yol kararlaştırılır.

Yol üzerindeki tüm bağlantılar rezerve edilir.

Düğümlerde tamponlara(buffer) ihtiyaç kalmaz.

Veri aktarıldıktan sonra, rezerve edilen bağlantılar başka mesajların
kullanması için serbest bırakılır.

Kaynak ve hedef arasında bağlantı kurulduğunda belli bir bant
genişliği ve maksimum gecikme süresi garanti edilmiştir.
Mesaj Aktarımında Anahtarlama Mekanizmaları
Sakla-ilet anahtarlama mekanizması;


Alternatif bir veri transfer tasarısı sağlar.
Dinamik bant genişliği tahsisi sunar, böylece devre
anahtarlama mekanizmasının temel eksikliği ortadan kalkar.
Genel olarak iki tip sakla-ilet ağı kullanılır. Bunlar;


Paket anahtarlamalı
Sanal yol açmalı
Mesaj Aktarımında Anahtarlama Mekanizmaları
Paket Anahtarlama;

Mesaj, paket adı verilen parçalar halinde gönderilir.

Düğümler paketleri tutmak üzere tamponlara sahip olmalıdır.

Paketler, hedefe doğru, müsait bağlantıları kullanarak düğümden
düğüme ilerler.

Bu süreçte, farklı yollar izlendiğinden paketler hedefe karışık sırayla
ulaşır.

Paketleri doğru sırayla birleştirmek için, uç uca mesaj bağlama
şemasına ihtiyaç duyulur.
Sanal Yol Açma;

Bir sonraki kanal meşgulse, paket ara düğümlerde saklanır.

Çıkış kanalı serbestse paket tamamen alınmadan diğer düğümlere
gönderilerek; boş bir kanaldaki gereksiz tamponlamadan dolayı
ortaya çıkacak gecikmeden kaçınılır.
Mesaj Aktarımında Anahtarlama Mekanizmaları
4.
Mesaj Aktarımı Programlama Modelleri
Bir mesaj iletim mimarisi işlemlerin birbirleriyle iletişim kurmasını
sağlamak için bir küme temel ilkeyi kullanır;

Gönderme


Bir hafıza tamponunu alır ve hedef düğüme gönderir.
Alma


Kaynak düğümden gelen bir mesajı kabul eder.
Belirlenmiş bir hafıza tamponunda tutar.

Yayınlama

Bariyer
Mesaj Aktarımı Programlama Modelleri
İşlemler arası gönder/al ‘ın uygulanması, 3-yönlü bir protokol gerektirir;



Gönderen işlem alan işleme gönderme isteği mesajı iletir.
Alıcı bu isteği tutar ve bir cevap mesajı gönderir.
Göndere karşı gelen bir al oluşturulduğunda, gönderen işlem cevabı alır ve sonunda
veriyi transfere başlar.
Blok kullanan gönder/al;




Ne kaynakta ne de hedefte tampon gerektirmez.
Gönder/al bloklamada kullanılan 3-yönlü el sıkışma, hem gönderen hem de alanın bir
tam tur zamanı kadar bloklanmasını gerektirir.
Bu süre esnasında işlemciler boş kalır.
Ağ iletişiminde gecikmeye sebep olur.
Ayrıca, bloklu gönder/al ile, ‘iletişim’ ile ‘işleme’ üst üste bindirilemediği için ağ bant
genişliğinden tam olarak yararlanılamaz.
Mesaj Aktarımı Programlama Modelleri
Mesaj Aktarımı Programlama Modelleri
Örnek :
n tane bileşene sahip bir vektörün, p işlemcileri kullanılarak, tüm
bileşenlerinin toplamı alınacaktır. (n, 2’nin bir kuvvetidir) vektör
bileşenleri p işlemcileri arasında dağıtılmıştır.

Başlangıç adımı : Her işlemci kendi sahip olduğu vektör bileşenlerin
toplamını icra eder.

2’nin kuvvetlerinden k = 1 den n/2 ‘ye kadar indeks kullanılarak
tekrarlanır.

j ve j+k işlemcileri ikili gruplar halinde veri alışverişi yapar ve
toplamı icra eder.
Mesaj Aktarımı Programlama Modelleri
5.
Mesaj Aktarımı İçin İşlemci Desteği
Mesaj iletimini destekleyen işlemciler, süreçler arası mesaj iletişimini
desteklemek için gerekli özel komutlar barındıran işlemcilerdir. Süreçler arası
iletişimi desketlemek için bir takım özellikler gereklidir. Bunların arasında şu
özelliklere ihtiyaç duyulur:



Port iletişim kanalıdır. Görevler ve iş parçacıkları için bir referans
nesnesidir. İki temel işlem gerçekleşebilir: gönder ve al
Mesajlar, nesneler arasında iletişim için kullanılır. Mesaj, bir başlık ve bir
gövde olarak ayrılır. Başlığın boyutu sabitken, gövdenin boyutu
değişkendir. Mesaj işlemler arasında takas edilen bilgileri barındırır.
Port kümeleri : Bir görev portlar üzerinde gönder ve al gibi birden fazla
erişim hakkı barındırabilir. Birden fazla görev tek bir porta gönder
erişimine sahip olabilir. Diğer yandan bir görev verilen bir zamanda al
erişimine sahip olabilir. Port kümesinde, bir görev, bir port grubunun
erişim haklarının tümüne ya da hiçbirine sahip olabilir. Portlar birbirinden
bağımsız olmak zorundadır yani bir port verilen bir zamanda iki farklı
kümede bulunamaz.
6.
Örnek Mesaj Aktarım Mimarileri

Caltech Hypercube

Meiko CS-2

Cosmic Cube

iPSC/2
Örnek Mesaj Aktarım Mimarileri
Caltech Hypercube (Cosmic Cube);

Global kontrol için Intermediate Host (IH) olarak bilinen tek
sunucusu olan n boyutlu bir hiperküp sistemidir.

Basit sakla-gönder yönlendirme mekanizması üzerine temel
alınmıştır.

Sistem, C ve FORTRAN destekleyen ve kristal işletim sistemi
(CrOS) olarak bilinen rutin kütüphaneler kümesi ile başlar.

Sistem sadece IH’ye/IH’den kolektif operasyonları destekler.
Örnek Mesaj Aktarım Mimarileri
Mekio Computing Surface CS-1;


ilk Inmos Transputer T800 temelli sistemdir.
Transputer, donanım haberleşmesinde hızlı görev anahtarlama
özelliğine sahip 32-bit mikroişlemcidir.

Sistem Occam adı verilen bir dille programlanmıştır.

Dil, kanal olarak bilinen soyut bağlantılar kullanılır.
Örnek Mesaj Aktarım Mimarileri
Intel iPSC;






Cosmic Cube’dan sonra geliştirilmiş en yaygın mesaj geçiş sistemidir.
iPSC/1’de Intel 286 işlemci ile Intel 287 yardımcı işlemci kullanılmıştır.
Her düğüm üzerinde bir adet işlem, bir adet de Girdi/Çıktı veri yolu olmak
üzere 2 adet veri yolu bulunan tek kartlı bilgisayarlardan ibarettir.
Düğümler “küp yöneticisi” tarafından yönetilmektedir.
Her düğüm, diğer düğümlerle ve küp yöneticisi ile farklı kanallardan
haberleşmesine olanak tanıyan yedi adet iletişim kanalından oluşmaktadır.
Fortran ın mesaj akratım rutinleri desteklenmektedir.
Download