240 likes | 498 Views
K üme Bilgisayarlar. Onur Temizsoylu Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODT Ü , Ankara. İçerik. Neden hesaplamada k ümeleme? Kümeleme nedir? Yüksek kullanılabilirlik kümeleri Yük dengeleme kümeleri Veritabanı kümeleri Yüksek başarımlı hesaplama kümeleri
E N D
Küme Bilgisayarlar Onur Temizsoylu Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODTÜ, Ankara
İçerik • Neden hesaplamada kümeleme? • Kümeleme nedir? • Yüksek kullanılabilirlik kümeleri • Yük dengeleme kümeleri • Veritabanı kümeleri • Yüksek başarımlı hesaplama kümeleri • YBH küme mimarileri • Sunucular • Ağ bağlantısı • Depolama • İşletim sistemi • Orta katman yazılımları • Uygulama programlama arayüzleri Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
Neden kümeleme? • Fiyat / performans • Standardı oturmuş işletim sistemi, mesajlaşma gibi yazılım katmanları (Linux, MPI, OpenIB) • Genişleyebilir, standardı oturmuş bağlantı teknolojileri (Gigabit Ethernet, Infiniband, 10 Gigabit Ethernet) • Son senelerde süperbilgisayarların büyük bir kısmı küme bilgisayarlardan oluşmaktadır: Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
Kümeleme nedir? • Kümeleme iki veya daha fazla bilgisayarı: • Uygulama veya servis kullanılabilirliğini arttırmak için, • Yük dengelemek için, • Dağıtık ve yüksek başarımlı hesaplama için ağ ile birleştirmektir. • Kümeleme değişik sistem katmanlarında gerçekleştirilebilir: • Depolama: Paylaşılmış disk, ikizlenmiş disk, paylaşılmayan veri • İşletim Sistemi: UNIX/Linux kümeleri, Microsoft (?) kümeleri • Uygulama Programlama Arayüzü: PVM, MPI • Uygulamalar Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
Dezavantajları • Küme bilgisayarların önemli mimari dezavantajları vardır: • Ortak bellek yoktur. • İletişim bellek okuma/yazma hızına göre yavaştır. • Bu kısıtlamalar uygulama için önemlidir. Uygulamanın bunlara göre de geliştirilmesi gerekebilir. • Güç ve klima için genelde daha fazla miktarda bütçe gerekir. • Ölçeklenebilirlik yakalamak bazı uygulamalar için zordur. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
HA – Yüksek Kullanılabilirlik Kümeleri • HA kümeleri, servislerin ayakta kalma sürelerini arttırmak içindir. • Aynı servisin birden fazla kopyası çevrimiçi veya çevrimdışı bekletilir. Serviste bir sorun olduğu zaman devreye alınır. • Linux-HA projesi, sıklıkla bu amaçla kullanılan bir yazılımdır. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
Yük Dengeleme için Kümeleme • Yük dengeleme kümeleri, ön arayüzden gelen bütün iş yükünü karşılayıp arkadaki sunuculara aktarırlar. • Bu kümeler, sunucu çiftliği olarakta adlandırılırlar. • LSF, MAUI, Sun Grid Engine gibi birçok yük dengeleyici yazılım vardır. • “Linux Virtual Server” projesi de oldukça sık kullanılan bir yük dengeleyici çözümüdür. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
Veritabanı Kümeleri • Son senelerde birçok veritabanı üreticisi, yüksek kullanılabilirlik, genişleyebilirlik ve yüksek başarımlılık için kümeleme teknolojisini için ürün çıkarmıştır. • Bu çözümlerin bir kısmı paylaştırılmış disk alanı, bir kısmı ayrık veri alanları ile çözüm sunmaktadır. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
YBH Kümeleri • Bu kümeler, zaman kritik paralel, seri veya parametrik hesaplama işlerini çalıştırmak için kullanılır. • Normal bir bilgisayarda inanılmaz sürede bitebilecek işlemci kritik uygulamaları çalıştırırlar. • Genellikle normal PC veya sunucular ve Linux ile oluşturulan kümeler Beowulf ismini alırlar. • MPI, YBH kümelerinde en çok tercih edilen haberleşme kütüphanesidir. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
YBH Küme Mimarileri • Yüksek başarımlı hesaplama ihtiyacını karşılamak isteyen bir kullanıcının önünde iki seçenek vardır: • Uygulamasına göre küme bilgisayarı edinmek. • Erişebildiği küme bilgisayarın özelliklerine göre uygulamasını geliştirmek, değiştirmek veya optimize etmek. • Her iki durumda da bilinmesi veya hesaplanması gerekenler: • Uygulamanın özellikleri, gereksinimleri (yüksek bellek, her sunucuda yüksek miktarda geçici disk alanı, özel kütüphaneler ...), • Kümenin büyüklüğü (işlemci, bellek, disk), • Ağ bağlantı biçimi (gigabit ethernet, infiniband), • İşletim sistemi (Linux, Microsoft (?) ...), • Birçok kullanıcı veya grubun birlikte çalışabilirliği, • Derleyiciler (GNU, Intel, Portland Group ...) Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
Mimari Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
Sunucular • Günümüzde 1U boyutta 16 çekirdekli sunucular almak mümkün olmaktadır. • Küme bilgisayarlarda sunucu seçimi konusunda birçok faktör vardır: • İşlemciler : Tek çekirdek, çok çekirdek, çoklu işlemci soketi ... • Anakart : PCI-X, PCI-Express, HyperTransport ... • Sunucu form faktörü : Blade, rack monte, PC ... • Bellek : Boyutu, DDR-2, DDR-3, FBDIMM … • Disk : Boyutu, SATA, SCSI, SAS … • Ağ bileşenleri : Gigabit Ethernet, Infiniband, Quadrics ... Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
Bileşenlerin bant genişliği Infiniband DDR 4x 2 GB/s SATA-300 300 MB/s PC2-5300 5.3 GB/s Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
Gecikme Süreleri Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
Ağ Bağlantısı • Genellikle tek bir kümede birden fazla ağ bulunur: • Kullanıcı ağı: • İş göndermek, görselleştirme, sonuç görüntüleme için kullanılır. • Grid haberleşmesi için de kullanılabilir. • Kümelere bağlanmak için genellikle ssh kullanılır. • Yönetim ağı: • İş planlamak, sunucuları izlemek, kurmak için kullanılır. • Genellikle IP üzerinden çalışırlar. • Ganglia gibi yazılımlar multicast çalışırlar. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
IPC Ağı • Küme bilgisayar performansı ve verimi IPC ağı tarafından belirlenir. Haberleşmede harcanan her fazla süre daha az işlem zamanı demektir. • Günümüzde küçük kümeler ve gevşek bağlı uygulamalar için gigabit ethernet ideal bir çözümdür. • Büyük kümeler ve sıkı bağlı uygulamalar için Infiniband, Quadrics gibi çözümler vardır. • Uygulama gereksinimlerini anlamak teknoloji seçiminde çok önemlidir. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
RDMA Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
Depolama • Küme bilgisayarlarda çalışan kullanıcıların farklı depolama ihtiyaçları bulunur. • Ev dizini, uygulamalar için ortak veri alanı • Yığın veri saklamak için veri ambarları • Yedekleme ve yığın veriler için tape üniteleri • Bazı uygulamalar için sunucularda geçici paylaşılmayan disk alanları • Küme bilgisayarlarda hesaplama yapılan sunucularda kurulum diski veya geçici disk alanı bulundurmak gerekli değildir. Ancak çoğu durumda maliyeti düşüren bu çözüm tercih edilmemektedir. • Uygulama performansı için özellikle paylaşılan disk alanlarının ihtiyaca uygun tasarlanması gerekir. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
Seri ve Paralel G/Ç • P0 bütün işlemcilerden veriyi toplar. • G/Ç işlemcisi darboğazdır. • Sistemde açık dosya sayısı limitlidir. • Parçalanmış dosyalar birleştirilmelidir. • MPI G/Ç, paralel dosya sistemi ihtiyacı duyar. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
Dosya Sistemleri • Paralel olmayanlar: • NFS, CIFS • Paralel (“Metadata”) • Lustre : Ölçeklenebilir • Panasas : Ölçeklenebilir • Paralel (“Metadata” olmadan) • XFS • IBM GPFS : Ölçeklenebilir • PVFS • Oracle Cluster FS Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
Mimari - Yazılım Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
MPI • MPI mesajlaşarak çalışan bir kütüphanedir. • Ne bir dil veya derleyici spesifikasyonudur. • Ne bir ürüne özeldir. • Ne de bir işletim sistemi sürücüsüdür. • Çok işlemcili bilgisayar ve kümelerde paralel uygulamaların çalışması için tasarlanmıştır. • Heterojen birçok hesaplama ortamını destekler. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
Küme Bilgisayarlar- Örnek: Deniz Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi
Örnek: TR-10-ULAKBIM Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi