Küme Bilgisayarlarda PBS Kuyruk Sistemi Aslı Zengin asli@ulakbim.gov.tr Ankara, Ekim 2007 www.grid.org.tr
İÇERİK Küme Bilgisayar Bileşenleri Küme Bilgisayar Kuyruk Sistemi PBS Kuyruk Sistemi Özellikleri Bileşenleri İş Akışı TR-Grid Kümeleri Önemli Notlar
Küme Bilgisayar Bileşenleri (donanım)
Küme Bilgisayar Kuyruk Sistemi Kuyruk Sistemi Hesaplama Kaynakları Kuyruk A Kuyruk B A B Planlayıcı Kuyruk C C D Kuyruk D
Küme Bilgisayarlarda İş Akışı (Örnek: TR-03-METU)
PBS (Portable Batch System) PBS (Portable Batch System) Taşınabilir Yığın Sistemi Neden Taşınabilir? Çünkü işinizi sizin için uygun hesaplama kaynağına gönderip sonucunu tekrar size aktarır. Neden Yığın? Çünkü farklı kullanıcılardan kuyruğa gönderilmiş iş yığınlarının yönetimini yapar.
PBS... Yığın iş ve hesaplama kaynak yönetimi paketidir. Gönderilen iş çalışana kadar işi kuyrukta bekletir, çalıştırır ve sonucunu gönderene geri iletir. PBS tek bir sistemde olduğu gibi heterojen kümelerde de iş yönetimi yapabilir. Günümüzde iki versiyonu vardır: OpenPBS : açık kaynak kodlu orijinal versiyon PBSPro : ticari versiyon
PBS in Özellikleri İş önceliği İşler arası bağımlılık Tek veya çok kuyruk desteği Çoklu iş planlama algoritmaları Otomatik yük dengeleme Güvenlik ve yetkilendirme (ACL tabanlı) Unix kullanıcı adlarıyla eşleştirme Paralel iş desteği Çalışmış işlerin hesabını tutma Yeni komutlar yazmak, uygulamaları entegre etmek için kapsamlı API
PBS Bileşenleri Komutlar Sunucu (pbs_server) İş çalıştırıcısı (pbs_mom, MOM: Machine Oriented Mini-Server) İş planlayıcısı (pbs_sched veya Maui)
Bileşen I - Komutlar 3 çeşit komut: Kullanıcı komutları Operatör komutları Admin komutları Kullanıcı komutları işleri göndermede, gönderilen işlerin durumunu izlemede, gönderilmiş işte değişiklik yapmada veya gönderilmiş bir işi silmede kullanılır.
Bileşen II pbs_server IP ağı üzerinden bütün komutlar ve diğer bütün servisler bu sunucu ile haberleşir. İşlerin çalıştırılması, kullanıcı istediğinde modifiye edilmesi, sistem çökmelerine karşı korunması gibi servisleri yönetir. Oluşturulmuş kuyrukların yöneticisi ve sahibidir, bir kuyruğa erişim hakkı sadece pbs_server da vardır.
Bileşen III pbs_mom Her nod üzerinde bulunması gereken iş çalıştırıcısıdır Sunucudan işin kopyasını aldıktan sonra işin çalışmasını başlatır. Sunucu tarafından o şekilde yönlendirildiyse, iş sonucunun kullanıcıya iletilmesinden sorumludur.
Bileşen IV MAUI PBS her kümenin kendi iş planlayıcısını oluşturmasına izin verir. pbs_sched kaynak ayırma, iş önceliği gibi küme politikasının uygulanmasını sağlayan servistir. İş planlayıcı, sistem kaynaklarının durumunu öğrenmek için nodlardaki mom larla sürekli haberleşir. İş planlayıcı, iş yükü durumunu öğrenmek için pbs_server ile sürekli haberleşir.
PBS te İş Akışı - 1. Olaylar sunucuya (pbs_server) yeni bir planlama döngüsü başlatmasını söyler. - 2. pbs_server planlama komutunu iş planlayıcıya (MAUI) gönderir. - 3. İş planlayıcı mom lardan kaynakların durumuyla ilgili bilgi toplar. - 4. Mom lar istenen bilgiyi geri döner. - 5. MAUI sunucudan çalışacak işin bilgisini ister. - 6. pbs_server ilgili işin bilgisini, kuyruktaki durumunu MAUI ye bildirir. MAUI kümenin kaynak ayırma politikasını gözeterek işin çalışacağı kaynağa karar verir. - 7. MAUI pbs_server a iş için çalıştırma isteği gönderir. - 8. pbs_server karar verilen mom a işi gönderir.
TR-Grid Kümeleri TR-Grid altyapısında TR-01-ULAKBIM (32 bit), TR-10- ULAKBIM (64 bit) ve TR-03-METU (64 bit) küme bilgisayar olarak çalışabilen sitelerdir. Bu kümelerinin bileşenleri: - İşletim sistemi: Scientific Linux 4.5 - Orta katman: MPI (Nodlar arası haberleşme) - Geliştirme ortamları: Derleyiciler: Gnu, Intel Kütüphaneler: MPICH, Lam/MPI, FFTW, ATLAS - Paket Programlar: Lisanssız: Gamess, CPMD, NAMD, Espresso, Abinit, Gromacs... Lisanslı: Gaussian, Vasp, Amber, Gromos...
Kullanıcı Arayüzüne Erişim ULAKBİM ve ODTÜ'de 2 ayrı kullanıcı arayüzü: levrek.ulakbim.gov.tr, rower.grid.metu.edu.tr SSH yardımı ile bağlantı Hesaplama düğümleri (WN) ile paylaşılan ortak kullanıcı dizinleri Küme üzerinde iş çalıştırmaya olanak sağlanması Özel uygulama derleyebilme olanağı Mevcut işlerin takibinin sağlanabilmesi
Önemli Notlar Kullanıcıların uygulamaları için gereken PATH ve LD_LIBRARY_PATH tanımlarını (derleyici ve kütüphaneler) kullanıcı hesapları altındaki.profile dosyasında yapmaları gerekmektedir. Örneğin CPMD paket programı için.profile dosyasına eklenecekler: export PATH=/opt/exp_soft/lam- 7.1.3/bin:/opt/exp_soft/intel/bin:/opt/exp_soft/fftw-2.1.5/bin: $PATH export LD_LIBRARY_PATH=/opt/exp_soft/lam- 7.1.3/lib:/opt/exp_soft/intel/lib/32:/opt/exp_soft/intel/lib:/opt/exp_ soft/fftw-2.1.5/lib:$ld_library_path export LAMRSH="ssh -x"
Önemli Notlar Kullanıcılar kullanacakları paket programları kendi kullanıcı dizinlerine kurarlar. Rower ve levrek arayüz makinaları 32 bittir, kullanıcılar uygulamalarını 32 bit olarak bu arayüz makinalarında derleyebilirler. 64 bit kümelerde daha iyi performans almak için uygulamaların 64 bit başka bir sunucuda (lüfer) derlenmesi gerekir..profile dosyasında derleyici ve kütüphane path lerinin doğruluğu kontrol edilmelidir. (32 bit mi, 64 bit mi?)