Depolama ve G/Ç Sistemleri
Depolama ve G/Ç sistemleri, işlemci ve belleği dış dünyaya ve kalıcı verilere bağlamaktadır. Bu sistemler; veri yollarını (bus) ve ara bağlantıları (interconnect), disk ve flash depolamayı, güvenilirlik için yedekliliği ve verileri cihazlar ile bellek arasında verimli bir şekilde taşıyan mekanizmaları kapsamaktadır.
Tanım
Depolama ve G/Ç sistemleri, bir bilgisayarın çevre birimlerinden veri aktardığı ve bu birimlere veri aktardığı, ayrıca verileri kalıcı olarak depoladığı donanım ve mimari mekanizmalardır; bu mekanizmalar ara bağlantıları, denetleyicileri, depolama ortamlarını ve ilgili güvenilirlik ve sanallaştırma tekniklerini içermektedir.
Kapsam
Bu alan, bilgisayarların çevre birimleriyle nasıl iletişim kurduğunu ve verileri kalıcı olarak nasıl depoladığını ele almaktadır: G/Ç mimarisi ve veri yolları, kesme (interrupt) ve DMA (doğrudan bellek erişimi) güdümlü aktarım, ikincil depolama cihazları (manyetik diskler ve katı hal sürücüleri), RAID gibi yedeklilik yoluyla depolama güvenilirliği ve G/Ç sanallaştırması. Giriş/çıkış ve kalıcılığın donanım ve mimari mekanizmalarını incelemektedir. Dosya sistemi yazılım soyutlamasını (işletim sistemleri) ve yonga üzerindeki önbellekleri ile ana belleği (bellek hiyerarşisi ve önbellekler) kapsam dışı bırakmaktadır; ancak bu alanlarla yakın bir şekilde çalışmaktadır.
Alt konular
Temel sorular
- Cihazlar, veri yolları ve ara bağlantılar aracılığıyla işlemciye ve belleğe nasıl bağlanmaktadır?
- Veriler, meşgul yoklama (busy polling) yerine kesmeler ve doğrudan bellek erişimi kullanılarak nasıl verimli bir şekilde aktarılmaktadır?
- Manyetik ve katı hal depolamanın performans ve güvenilirlik özellikleri nelerdir?
- RAID gibi yedeklilik, kapasiteyi güvenilirlik ve performans karşılığında nasıl takas etmektedir?
- G/Ç, sanal makineler ve süreçler arasında güvenli bir şekilde nasıl sanallaştırılmakta ve paylaşılmaktadır?
Anahtar kavramlar
- G/Ç veri yolları ve ara bağlantılar
- Kesme güdümlü G/Ç
- Doğrudan bellek erişimi (DMA)
- Manyetik disk ve SSD
- Cihaz denetleyicileri
- RAID ve yedeklilik
- Depolama güvenilirliği ve MTTF
- G/Ç sanallaştırması
- Verim (throughput) ve gecikme süresi (latency)
- Bellek eşlemeli G/Ç
Temel kuramlar
- Ucuz disklerin yedekli dizileri (RAID)
- Çok sayıda ticari diskin veri şeritlendirme (data striping) ve eşlik (parity) veya aynalama (mirroring) ile birleştirilmesi, tek bir diskten daha büyük, daha hızlı ve daha güvenilir bir depolama sağlamaktadır; RAID seviyeleri, kapasite, performans ve hata toleransı arasındaki dengeyi resmileştirmektedir.
- Ayrık G/Ç aktarımı
- Doğrudan bellek erişimi ve kesme güdümlü G/Ç, cihazların sürekli işlemci müdahalesi olmaksızın belleğe veri aktarmasına olanak tanımakta, G/Ç işlemlerini hesaplama ile çakıştırmakta ve genel sistem verimini artırmaktadır.
Mekanizmalar
Çevre birimleri, veri yolları ve denetleyiciler aracılığıyla sisteme bağlanmakta ve kesmeler (interrupt) ile işlemciye sinyal göndermektedir. Yığın veriler, doğrudan bellek erişimi (DMA) ile taşınmaktadır; bu yöntem, cihaz ile bellek arasında blokları, işlemcinin her kelimeye müdahalesi olmaksızın aktarmaktadır. İkincil depolama, verileri manyetik disklerde veya flash belleklerde kalıcı olarak saklamaktadır ve cihaz dizileri, performansı artırmak ve arızalara tolerans göstermek için şeritlendirme (striping), aynalama (mirroring) ve eşlik (parity) (RAID) kullanmaktadır. Sanallaştırma katmanları, bu cihazları sanal makineler (guests) arasında çoğullamaktadır.
Klinik önem
Depolama ve G/Ç, genellikle uçtan uca sistem performansını ve dayanıklılığını belirlemektedir: veritabanları, dosya sunucuları ve veri yoğun uygulamalar, genellikle hesaplama yerine depolama verimi (throughput) ve gecikme süresi (latency) tarafından kısıtlanmaktadır. RAID ve ilgili yedeklilik şemaları, veri merkezlerindeki cihaz arızalarına karşı koruma sağlamaktadır ve verimli G/Ç sanallaştırması, birçok kullanıcının fiziksel donanımı paylaştığı bulut bilişim için temel bir öneme sahiptir.
Tarihçe
İlk makineler programlanmış G/Ç ve özel kanallar kullanmıştır; kesme güdümlü G/Ç ve doğrudan bellek erişimi, G/Ç işlemlerini hesaplama ile çakıştırmak için ortaya çıkmıştır. Manyetik diskler, onlarca yıl boyunca ikincil depolamaya hakim olmuştur ve Patterson, Gibson ve Katz'ın 1988'deki RAID önerisi, yedekliliği standart bir güvenilirlik tekniği olarak kabul ettirmiştir. Flash tabanlı katı hal sürücüleri daha sonra depolama hiyerarşisini yeniden şekillendirmiş ve bulut bilişimin yükselişiyle G/Ç sanallaştırması merkezi bir rol oynamaya başlamıştır.
Tartışmalar
- Ayrıştırılmış depolama ile yerel depolama
- Depolamanın hesaplama birimine yerel olarak mı bağlanması gerektiği yoksa hızlı ağlar üzerinden mi ayrıştırılması gerektiği konusunda süregelen bir tartışma bulunmaktadır; ayrıştırma, veri merkezlerinde kullanımı ve esnekliği artırmakta ancak gecikme süresini artırmakta ve yüksek performanslı ara bağlantılara bağımlılık yaratmaktadır.
Öne çıkan isimler
- David A. Patterson
- Garth Gibson
- Randy H. Katz
- John L. Hennessy
İlgili konular
Temel eserler
- hennessy2019
- patterson1988raid
- silberschatz2018
Sıkça sorulan sorular
- Doğrudan bellek erişimi nedir ve neden faydalıdır?
- Doğrudan bellek erişimi (DMA), bir cihazın ana belleğe veya ana bellekten veri bloklarını, işlemcinin her kelimeyi kopyalamasına gerek kalmadan aktarmasına olanak tanımaktadır. Bu durum, aktarım sırasında işlemcinin başka işler yapmasını sağlamakta, G/Ç işlemlerini hesaplama ile çakıştırmakta ve yığın veri hareketleri için verimi büyük ölçüde artırmaktadır.
- RAID verilerimin güvenliğini garanti eder mi?
- Hayır. RAID, yedekli bilgi depolayarak erişilebilirliği artırmakta ve belirli cihaz arızalarına tolerans göstermektedir, ancak bir yedekleme (backup) değildir: kazara silinmelere, bozulmalara, toleransının ötesindeki çoklu cihaz arızalarına veya site düzeyindeki felaketlere karşı koruma sağlamaz, bu nedenle ayrı yedeklemeler gerekli olmaya devam etmektedir.