PBS Betiği Hazırlama ve PBS Komutları I. Ulusal Yüksek Başarım ve Grid Konferansı 15-18 Nisan 2009, ODTÜ, Ankara http://www.grid.org.tr/basarim09/ www.grid.org.tr
İÇERİK PBS Betik Dili PBS Seçenekleri PBS Betiğinin Hazırlanması PBS Komutları Uygulamalar
PBS İşleri PBS in temel işlevi gönderilmiş olan işleri yönetmektir. Sisteme gönderilmiş olan her iş: İhtiyaç duyulan kaynakları tanımlayabilir, Öncelik belirtebilir, Çalışma zamanını belirleyebilir, Çalışmasının başlama ve bitiş zamanında e-posta gönderebilir, Diğer işler ile zamanlama uyumunu sağlayabilir.
PBS Kullanımı En basit anlamda, PBS ile birlikte iş çalıştırabilmek için: Bir PBS betiği oluşturmak (ornek.sh) qsub <pbs betik ismi> komutu yardımıyla hazırlanan işi kuyruk sistemine göndermek gerekmektedir. Gönderilen iş tamamlandıktan sonra, çalışma dizininizde, İşİsmi.eİşNumarası İşİsmi.oİşNumarası olmak üzere standart hata ve standart çıktı dosyaları oluşturur.
PBS Betik Dili PBS Betikleri, herhangi bir betik dilinde yazılabilir: csh, bash, tcsh, sh, perl, etc. Hazırlanan betiğin çalıştırılabilir olması önemli değil, göndermek istediğiniz işin çalıştırılabilir olması önemlidir. PBS betiğinin ana yapısını şu şekilde özetleyebiliriz: PBS seçenekleri Shell komutları Çalıştırmak istediğiniz dosyanız ve bu dosyanın parametreleri
PBS Seçenekleri #PBS V : İşin gönderildiği shellden çevre değişkenlerinin taşınmasını sağlar. #PBS l : İşin gereksinim duyduğu kaynakları listeler. #PBS l nodes=2:ppn=2 #PBS l mem=4gb #PBS l walltime=10:00:00 #PBS N: İşin ismini belirler. #PBS N hello_world #PBS q : İşin gönderildiği kuyruğu ve bu kuyruğun bulunduğu PBS sunucusunu tanımlar. #PBS q sgdemo@ce.ulakbim.gov.tr #PBS M : İş ile ilgili bilgilendirmelerin gönderileceği e-posta adresini belirler. #PBS M feyza@ulakbim.gov.tr #PBS m : İş ile ilgili bilgilendirme durumlarını belirler. #PBS m bae : [b]egin, [a]bort, [e]nd
PBS Betikleri - I SSH terminallerinden: Sunucu adı: lufer.ulakbim.gov.tr Kullanıcı Adı: egitimxx Kullanıcı Şifresi: xxxxxxx $ cd pbs $ ls -la
PBS Betikleri - II /home_palamut2/egitim/egitimxx/pbs/ornek_pbs1.sh Kendi derlediğimiz bir C kodu /home_palamut2/egitim/egitimxx/pbs/ornek_pbs2.sh Mevcut sistem komutlarından hostname komutu /home_palamut2/egitim/egitimxx/pbs/ornek_pbs3.sh Hello World MPI kodu
PBS Komutları qsub qstat f qstat u qdel Yığın işleri PBS sunucuya teslim eder Bir PBS işinin ayrıntılı durumunu gösterir Belirli bir kullanıcının PBS işlerini gösterir PBS işinin silinmesini sağlar
PBS Komutları - qsub qsub [seçenekler] betik_dosyası PBS betiği içinde yer alan, PBS seçeneklerini qsub komutu ile birlikte komut satırından da vermemiz mümkündür. qsub l nodes=4:ppn=2 betik_dosyasi qsub l mem=4gb betik_dosyasi... Detaylı bilgi için Torque PBS qsub yardım dosyalarından edinilebilir.
PBS Komutları - qstat qstat [seçenekler] Bir işin durumu: E : İş çalışmış ve bitti (ended) H : İş beklemeye alındı (held) Q : İş kuyrukta bekliyor (queued) R : İş çalışıyor (running) W: İş çalışma zamanını bekliyor (waiting)
PBS Komutları qstat, qdel qstat -u {kullanici_adi} qdel {is_numarasi}
Uygulamalar - I SSH terminallerinden: Sunucu adı: lufer.ulakbim.gov.tr Kullanıcı Adı: egitimxx Kullanıcı Şifresi: xxxxxxx $ cd pbs $ less helloworld.c $ gcc o helloworld helloworld.c $ less ornek_pbs1.sh $ qsub ornek_pbs1.sh $ qstat u egitimxx $ ls lrt $ less helloworld.out
Uygulamalar - II $ less ornek_pbs2.sh $ qsub ornek_pbs2.sh $ qstat u egitimxx $ ls lrt $ less hostname.out
Uygulamalar - III $ module avail $ module {un}load tr-10-ulakbim/library/mpich-1.2.7p1/gcc $ module list $ less MPItest.c $ mpicc o MPItest MPItest.c $ less ornek_pbs3.sh $ qsub ornek_pbs3.sh $ qstat u egitimxx $ ls lrt $ less mpitest.out
http://www.grid.org.tr http://wiki.grid.org.tr grid-teknik@ulakbim.gov.tr YEF @ TR-Grid Okulu, TAEK, ANKARA