PBS Betik Dili Kullanılarak TR-Grid Sitelerine İş Gönderme
TR-Grid, özgür ansiklopedi
Bu belge, TR-Grid sitelerinden küme olarak kullanılabilecek sitelerde, konsol aracılığı ile nasıl iş gönderilebileceğini anlatmaktadır. Anlatımlarda kullanılan arayüz sunucusunun egitim-ui.ulakbim.gov.tr ve kullanıcı kodunuzun egitim20 olduğu kabul edilmiştir.
Aşağıda, öncelikle TR-Grid sitelerinde PBS betiğini hazırladıktan sonra kullanabileceğiniz, PBS komutları ile ilgili bilgi edinip, sonra örnek bir iş takibinin nasıl yapılabileceğini bulabilirsiniz.
PBS Komutları :
qsub [seçenekler] betik_dosyası"
İşinizin PBS betik dosyası içerisinden verilen parametrelerle birlikte, PBS sunucusuna gönderilmesini sağlar. PBS betiği içinde yer alan seçeneklerin, komut satırından da verilmesi mümkündür.
qsub -l nodes=4:ppn=2 betik_dosyasi
Gönderilen işin, 4 ayrı hesaplama düğümünde, her bir düğümden 2'şer adet işlemci kullanmasını sağlayarak çalışmasını sağlar.
qstat [seçenekler]
PBS sunucusuna gönderilen bir işin ayrıntılı durumunu gösterir.
egitim20@egitim-ui:~# qstat Job id Name User Time Use S Queue ------------------- ---------------- --------------- -------- - ----- 112275.kalkan1 dos eakturk 481:54:0 R trgridb 113640.kalkan1 bbtptbp2 aviye 720:22:4 R trgrida 113693.kalkan1 groove eakturk 0 Q trgridb 116171.kalkan1 fo1 berdinc 00:00:00 R trgride 116909.kalkan1 bdg73anssp cozdogan 0 Q trgridb
Burada qstat komutu ile mevcut PBS sunucusunda çalışmakta olan tüm işleri listeleyebilirsiniz. qstat komutunun çıktısından sırası ile, iş numarası, iş ismi, işin sahibi olan kullanıcı adı, kullanılan işlemci zamanını, işin durumunu ve işin çalıştığı kuyruk ismini listelemeniz mümkündür.
Bir işin durumu 5 farklı biçimde gösterilebilmektedir:
E: İş çalışmış ve bitmiş (ended) H: İş beklemeye alındı (holding) Q: İş kuyrukta bekliyor (queued) R: İş çalışıyor (running) W: İş çalışma zamanını bekliyor (waiting)
qstat komutu ile sadece kendi işlerinizi görüntülemek isterseniz, qstat komutunu -u parametresi ile kullanbilirsiniz.
qstat -u kullanici_adi
qdel is_numarasi
PBS sunucusunda kuyrukta bulunan ya da çalışmakta olan bir işin silinmesini sağlar.
PBS Betiği ile İş Gönderilmesi :
1. Kullanıcı arayüz makinesine ssh ile bağlanınız.
ssh -l egitim20 egitim-ui.ulakbim.gov.tr
Şifrenizi de girdikten sonra artık giriş yapmış olmaktasınız.
2. PBS betiğinizi hazırlayacağınız ve PBS sistemine gödereceğiniz çalışma dizinine gidiniz.
cd pbs
3. $HOME/pbs dizininiz altında bir helloworld.c isimli C kodunuzun olduğunu varsayalım. Bu C dosyanızdanızdan, çalıştırılabilir dosyanızı oluşturalım.
gcc –o helloworld helloworld.c
4. helloworld çalıştırılabilir dosyanız için aşağıdaki PBS betiğini hazırlayalım.
#!/bin/sh
#
#sh dili ile hazirlanmis bir betik
#
#
#PBS –q sgdemo@ce.ulakbim.gov.tr
#PBS –n ornek_pbs
#PBS –l nodes=1:ppn=1
#PBS –V
#
#
#Isinizin bulundugu calisma dizinini belirtir
#
export CALISMA_DIZINI=“$HOME/egitim20/pbs”
#
#Isin calisacagi hesaplama dugumlerinin PBS sunucusu tarafından belirlenmesinin ardından,
#bu belirlenen sunucularin kaydedilmesini saglar. Ozellikle MPI isi calistiracaklar icin
#onemlidir
#
if [ "x$PBS_NODEFILE" != "x" ] ; then
echo "PBS Nodefile: $PBS_NODEFILE“ HOST_NODEFILE=$PBS_NODEFILE
fi
if [ "x$LSB_HOSTS" != "x" ] ; then
echo "LSF Hosts: $LSB_HOSTS"
HOST_NODEFILE=`pwd`/lsf_nodefile.$$
for host in ${LSB_HOSTS}
do
echo $host >> ${HOST_NODEFILE}
done
fi
if [ "x$HOST_NODEFILE" = "x" ]; then
echo "No hosts file defined. Exiting..."
exit
fi
#
#Isin calisacagi dizine girilmesini saglar
#
cd $CALISMA_DIZINI
#
#Isinizin calistigi hesaplama dugumlerinin isimlerini calisma dizininide nodes isimli dosyada saklar
#
cat $HOST_NODEFILE > nodes
#
#Calistiracaginiz isin calistirilabilir dosyasi olan helloworld dosyasini belirtir, isin standart
#ciktisini calisma dizininiz icinde out dosyasina ve standart hata dosyasini calisma dizininizde
#err dosyasina kaydeder
#
$PATH/egitim20/pbs/helloworld >out 2>err
#
5. PBS betiğinizi ornek_is.sh dosya ismi ile kaydedelim.
6. qsub komutunun yardımı ile işinizi PBS sunucusuna gönderelim.
qsub ornek_is.sh 192503.ce.ulakbim.gov.tr
qsub komutunun ardından ekranda görüğümüz 192503 numaralı iş olarak işimizin göderildiğini öğrenmiş olduk.
7. qstat komutu yardımı ile işimizi takip edebiliriz.
qstat -f 192503
Komutu ile işimizin detay bilgilerine ulaşabiliriz.
qstat -u egitim20
Komutu ile egitim20 olan kullanıcı ismimizle çalışan tüm işlerimizin durumunu öğrenebiliriz.
8. qdel komutu ile, işimizin çalışmasına son verebiliriz.
qdel 192503
NOT : PBS komutları ile ilgili detaylı bilgilere Torque PBS komutlarının yardım sayfalarından ulaşabilirsiniz.





