1. paylaşımlı bellek mimarisi

Download Report

Transcript 1. paylaşımlı bellek mimarisi

TRAKYA ÜNIVERSITESI
FEN BILIMLERI ENSTITÜSÜ
BILGISAYAR MÜHENDESLIĞI
BÖLÜMÜ
EREN BAKAÇ
1. PAYLAŞIMLI BELLEK MİMARİSİ
PAYLAŞIMLI BELLEK MİMARİSİ

Paylaşımlı bellek mimarisi, bilgisayar sistemlerindeki
bellek maliyetlerini azaltmak için kullanılan bir
yaklaşımdır.

Paylaşımlı bellek tasarlarken karşımıza 2 temel
problem çıkmaktadır.
1-)Rekabete Dayalı Performans Azalması
Performans düşüklüğü yaşanabilir.
Cache kullanımı ile bu sorun düzeltilebilir.
2-)Tutarlılık Problemi
1.1 PAYLAŞIMLI BELLEKLERİN
SINIFLANDIRILMASI
En basit paylaşımlı bellek modeli 2 işlemci tarafından erişilebilen bir
bellek içerir.



İstek servis edilirken bellek modülü durumunu meşgul
olarak atar. Eğer bu durumda yeni bir istek gelirse bellek
modülü istekte bulunan işlemciye beklemesine dair bir
sinyal gönderir.
Cevap olarak istekte bulunan işlemci , belleğin kendi
durumunu boşta olarak değiştirinceye kadar isteğini sırada
bekletir yada aradan bir süre geçtikten sonra isteğini
yeniler.
Eğer karar verici birime aynı anda 2 istek birden gelirse bu
birim bunlardan birini seçer ve “memory controller” a iletir.
Diğer istek için ise yukarıda ki kurallar uygulanır.
1.1.1UNIFORM MEMORY ACCESS (UMA)


UMA sistemde ,paylaşımlı bellek
“interconnection network” aracılığıyla işlemcilere
bağlıdır.
Eşit erişim zamanlarına sahiptir
-tekli yol(single bus) ,
-çoklu yol(multiple bus)
- crossbar olabilir.
1.1.2NONUNIFORM MEMORY ACCESS (NUMA)



NUMA sistemde her bir işlemci şekildeki gibi paylaşımlı
belleğin bazı bölümlerine sahiptir.
Bellek tek bir “address space” ine sahiptir.
NUMA nın kullanıldığı sistemler BBN TC 2000 ve CRAY
Y3E server’lar.
1.1.3CACHE-ONLY MEMORY ARCHITECTURE
(COMA)
NUMA ya benzer olarak her bir işlemci
paylaşımlı belleğin bir kısmına sahiptir.
 bellek cache’ler den oluşmaktadır.
 Bellek hiyerarşisi yoktur
 Diğer cache’ lere erişmek için kullanılan “cache
directory”(D) adı verilen bir birim
bulunmaktadır.
 Kendall Square Research's KSR-1

1.2 BUS-BASED SYMMETRIC
MULTIPROCESSORS
 Paylaşımlı
bellekli sistemler 2 farklı
şekilde tasarlanırlar.
-Bus-Based interconnection
-Switch-Based interconnection
1.2.1 BUS-BASED INTERCONNECTION
1.2.1.1 Single Bus Based
Single Bus, birden fazla işlemciyi bağlamak için
kullanılan en basit yöntemdir.
 birbirlerine bir bus ile bağlıdır.
 2 ila 50 adet işlemci

1.2.1.2MULTIPLE BUS SISTEM
 Birden
fazla birbirine paralel bus kullanarak
birden fazla işlemci ve bellek modüllerini
birbirine bağlar.4 farklı bağlantı şekli vardır.




multiple bus with full bus memory connection (MBFBMC)
(all),
multiple bus with single bus memory connection (MBSBMC)
(specific),
multiple bus with partial bus memory connection (MBPBMC)
(subset),
multiple bus with class-based memory connection (MBCBMC)
(classes, subset).
1.2.2 SWITCHED BUS

Basit switchler kullanarak işlemci ve bellek
modüllerini birbirine bağlar.
1.2.2.1 CROSSBAR
Crossbar aynı anda birden fazla bağlantı imkanı verir.
 Switching Element(SE) olarak adlandırılan birimler
yer almaktadır.

1.3 CACHE TUTARLILIK YÖNETMLERI(BASIC CACHE
COHERENCY METHODS)

Cache Coherence 2 ana kategoriye ayrılır.
-Snooping
-Directory-Based
1.3.1Cache-Memory Coherence
Tek cache içeren sistemlerde bellek ile cache arasındaki tutarlılık
aşağıda belirtilen 2 yöntemle sağlanır.
- write-through
- write-back
1.3.2 CACHE-CACHE COHERENCE

Bunun için 2 yöntem vardır.
-
write-invalidate
write-update