Grid Ortamında İş Gönderme

Transkript

Grid Ortamında İş Gönderme
Grid Ortamında
İş Gönderme
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
–
–
–
–
–
–
–
–
İş gönderme yöntemleri
Kullanıcı arayüz sunucularına bağlanma
Kullanıcı yetkilendirme
İşi tanımlama
Grid Dili: JDL
JDL Nitelikleri
Örnek JDL Dosyası
İş Gönderme
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Gride İş Gönderme Yöntemleri
– Konsol aracılığı ile;
– Linux/Windows masaüstü bilgisayarlarınızdan SSH istemci
programı
– Kullanıcı arayüz sunucularına erişim
– Web portalı yardımı ile: P-Grade uygulaması
– Tarayıcı bir program
– Java plug-in
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Kullanıcı Arayüz Sunucularına Erişim
– Kullanıcı arayüz sunucusuna SSH istemci programı ile
bağlantının sağlanması:
– Linux: Terminal, Windows: SSH istemcisi (putty, v.b.)
– Sunucu Adı : lufer.ulakbim.gov.tr
– Kullanıcı Adı: egitimxx
– Kullanıcı Şifresi: xxxxxxxxx
– .p12 uzantılı açık/kapalı anahtar ikilisinin ayrıştırılması
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Kullanıcı Arayüz Sunucularına Erişim - II
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Kullanıcı Arayüz Sunucularına Erişim - III
– .globus dizinin kontrol edilmesi:
$ ls -laR ~egitimxx/.globus
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Kullanıcı Arayüz Sunucularına Erişim - IV
$ ls –la is-gonderme
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Geçici Sertifika Oluşturmak
– Grid ortamında yetkilendirilmeler X.509 standardında sayısal
sertifikalar ile yapılmaktadır.
– X.509 sertifikaları aşağıdaki bilgileri içerir:
– Kullanıcı açık anahtarı,
– Kullanıcı hakkında bilgi,
– Sertifika otoritesi bilgisi,
– Geçerlilik süresi,
– Sertifika otoritesinin imzası
– Sertifikanızı incelemek için;
$ grid-cert-info
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Geçici Sertifika Oluşturmak - II
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Geçici Sertifika Oluşturmak - III
– Geçici olarak yetkilendirilmek için sertifika oluşturulması:
$ voms-proxy-init –voms sgdemo
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Geçici Sertifika Oluşturmak - IV
– Oluşturulan geçici sertifika hakkında bilgi edinilmesi:
$ voms-proxy-info –all
– Oluşturulan geçici sertifikanın iptal edilmesi:
$ voms-proxy-destroy
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Kullanılabilen Kaynakların Listelenmesi
– Herhangi bir sanal organizasyon için o an geçerli çalışılabilir
kaynakları görüntülemek için:
$ lcg-infosites --vo <VO> [option(s)]
– sgdemo/trgridb sanal organizasyonuna bağlı sitelerdeki
hesaplama elemanı(ce) hakkında bilgi almak için:
$ lcg-infosites --vo sgdemo ce
– sgdemo/trgridb sanal organizasyonuna bağlı sitelerdeki
depolama elemanı(ce) hakkında bilgi almak için:
$ lcg-infosites --vo sgdemo se
– Sorgulanabilecek diğer özellikleri görmek için:
$ lcg-info --list-attrs
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
İşin Gereksinimlerini Belirlemek
– Bilmemiz gerekenler:
– Hangi programlar gönderilecek?
– Hangi veriye erişilecek?
– Veri programla birlikte mi gönderilecek?
– Herhangi bir işletim sistemi bağımlılığı var mı?
– Herhangi bir kütüphane bağımlılığı var mı?
– Gönderdiğimiz uygulama:
– Bilinmeyen bir sistemde çalışabilmeli
– Çalışma dizini dışında yer alacak şekilde sabit olarak
belirlenmiş dizinler ve dosyalar içermemeli
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Grid Dünyasının Dili: JDL
– Job Description Language (JDL)
– Condor ClassAd dili standardında geliştirilmiştir.
– Bir JDL dosyası niteliklerle oluşturulur:
– <nitelik> = <anahtar>;
– Nitelikler temel olarak ikiye ayrılabilir:
– İş nitelikleri: işin kendini tanımlar.
– Kaynak nitelikleri: işe uygun kaynakları bulunmasını
sağlar.
– #, // veya /* */ ile JDL içine açıklama satırları yazılabilir.
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
JDL Dosyası
– JDL parçalayıcının(parser) hatasız bir şekilde çözümleme
yapması için gerekli nitelikler:
– Tüm iş tanımlar köşeli parantezler içinde olmalıdır.
Örnek: [ <iş tanımı>]
– Her tanım satırı noktalı virgül ile ayrılmalıdır.
– JDL boşluk ve tab karakterlerine duyarlıdır.
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
JDL Nitelikleri
– JobType – Normal (basit, seri iş), Interactive, MPICH,
Checkpointable
– Executable – Çalıştırılacak komut
– Arguments – Komuta verilecek argümanlar
– StdInput, StdOutput, StdError – Standart girdi, çıktı ve
hata dosyaları
– Environment – Çevre değişkenleri
– InputSandbox – Kullanıcı arayüzünden çalışacağı siteye
gönderilecek dosyalar
– OutputSandbox – İş bitiminde alınacak dosyalar
– Requirements – Gerekli kaynak nitelikleri
– Rank – Bulunan kaynakların sıralanması
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
JDL Nitelikleri - II
– Executable = < string >
– Çalıştırılacak programı göstermektedir.
– Aynı dosya ismi InputSandbox niteliğinde de
belirtilmelidir.
– Özel karakterlere izin verilmez.
Örnek: Executable = {“/opt/sw/sgdemo/test.sh”};
– StdOutput, StdError, StdInput = < string >
– Çıktı, hata ve giriş dosyalarını göstermektedir.
– Aynı dosya isimleri OutputSandbox niteliğinde de
belirtilmelidir.
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
JDL Nitelikleri - III
– InputSandbox, OutputSandbox = < string | string listesi >
– InputSandbox, çalıştırılacak işin ihtiyacı olan giriş
dosyalarını göstermektedir.
UI (User Interface) -> WN (Worker Node)
– OutputSandbox, çalıştırılan işin çıktı dosyalarını
göstermektedir.
WN (Worker Node) -> UI (User Interface)
InputSandbox'da gösterilen dosyaların toplam boyutu 20
MB'ı geçmemelidir.
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
JDL Nitelikleri - IV
– Job Type
– Normal (simple, sequential job), Interactive, MPICH,
Checkpointable
– Arguments
– Komut satırı parametrelerini vermek için kullanılır.
Örnek: Executable = “/bin/sh”;
Örnek: Arguments = “Merhaba Grid Dünyası”;
– Environment
– Çevre değişkenlerinin tanımlanmasını sağlar.
Örnek: Environment = “JAVABIN=/usr/local/java”;
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
JDL Nitelikleri - V
– Requirements
– Uygun kaynak koşullarının tanımlanmasını sağlar.
Örnek: Requirements=other.GlueCEUniqueID ==
“se.ulakbim.gov.tr:2119/jobmanager-lcgpbs-sgdemo”
– Rank
– Requirements niteliğindeki koşullara uygun CE ler
sıralanır.
Örnek: Rank = other.GlueCEStateFreeCPUs;
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
JDL Nitelikleri - VI
– InputData
– Giriş (input) dosyalarını gösteren (LFN) Logical File Name
veya (GUID) Global Unique Identifier belirtilir.
Örnek: InputData = {“lfn:cmstestfile”,
“guid:135b7b23-4a6a-11d7-87e7-9d101f8c8b70”};
– DataAccessProtocol
– SE (Storage Element) ulaşmak için kullanılacak protokol
ya da protokoller belirlenir.
Örnek: DataAccessProtocol = {“file”,“gsiftp”};
– StorageElement
– Çıkış (output) dosyalarını tutmak için depolama elemanı
belirlenir.
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Örnek JDL Dosyası
Executable = "/bin/sh";
Arguments = "HelloWorld.sh";
Stdoutput = "stdoutput.txt";
StdError = "stderror.txt";
InputSandbox = {"HelloWorld.c","HelloWorld.sh"};
OutputSandbox = {"stdoutput.txt","stderror.txt"};
Requirements = (other.GlueHostOperatingSystemName == “linux");
Rank = other.GlueCEStateFreeCPUs;
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
İş Göndermeden Önce...
– JDL dosyasında yer alan niteliklere göre, işin
çalışabileceği siteleri görebilmek için:
$ glite-wms-job-list-match –a <job.jdl>
– İşin belli bir sitede çalışması için Requirement satırı
kullanılabilir:
Requirements = other.GlueCEUniqueID ==
"ce.ulakbim.gov.tr:2119/jobmanager-lcgpbs-sgdemo"
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
İş Göndermeden Önce - II
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
İş Göndermek ve İşin Durumunu İzlemek
– İş göndermek için;
glite-wms-job-submit –a [--vo <VO>] [-o <dosya_ismi>] <job.jdl>
--vo Sanal organizasyon, geçici sertifika oluşturulurken
sanal organizasyon tanımı yapıldı ise, kullanılmasına
gerek yoktur.
-o Oluşacak işNumarası'nın yazılması istenilen dosya
ismi
– İşin durumunu öğrenmek için;
glite-wms-job-status –i <dosya_ismi> (veya işNumarası)
-i İş gönderilirken verilen dosya ismi burada
kullanılabilir.
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Uygulama-I
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Uygulama-I
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
İş Durumları
Submitted
–
İş
makinası
aracılığı
yollandı.
UI
ile
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
İş Durumları
Waiting – İş kabul edildi
ve WMS sunucusunda
beklemede
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
İş Durumları
Ready – İş WMS tarafında
incelendi ve uygun CE
sunucusuna gönderilmek
için hazır
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
İş Durumları
Scheduled
–
İş
CE
sunucusuna gönderildi ve
kuyrukta bekliyor
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
İş Durumları
Running – İş çalışmaya
başladı
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
İş Durumları
Done – İş tamamlandı
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
İş Durumları
Cleared – İş için “Çıktı
Torbası” UI sunucusuna
alındı
veya
zaman
aşımından dolayı silindi
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Diğer İş Komutları
glite-wms-job-cancel <işNumarası>
– Belirtilen işi iptal eder.
glite-wms-job-status <işNumarası>
– İş hakkında bilgi verir.
glite-wms-job-output <işNumarası>
– İşin çıktı torbasını getirir.
glite-wms-job-logging-info <işNumarası>
– İş hakkında detaylı bilgi verir, hata gidermek için yararlı
bir komuttur.
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Uygulama-I
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Uygulama-I
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Uygulama-II
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Uygulama-II
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Uygulama-II
.
–
–
–
–
–
–
–
glite-wms-job-submit –a -o id.txt HelloWorld.jdl
glite-wms-job-status -i id.txt
glite-wms-job-cancel -i id.txt
glite-wms-job-submit -o id.txt HelloWorld.jdl
glite-wms-job-status -i id.txt
glite-wms-job-status –all
glite-wms-job-output -i id.txt
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
Uygulama-III
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara
http://www.grid.org.tr
http://wiki.grid.org.tr
[email protected]
@ TR-Grid
Okulu,
TAEK, ANKARA
I. Ulusal YüksekYEF
Başarım
ve Grid
Konferansı,
ODTÜ, Ankara

Benzer belgeler