32
Grid İş Gönderme Emrah Akkoyun, [email protected] Feyza Eryol, [email protected]

Grid İş Gönderme Emrah Akkoyun, [email protected] Feyza Eryol, [email protected]

Embed Size (px)

DESCRIPTION

Grid İş Gönderme Emrah Akkoyun, [email protected] Feyza Eryol, [email protected]. Grid'e İş Gönderme Yöntemleri. Konsol Aracılığıyla iş gönderebilirsiniz. - PowerPoint PPT Presentation

Citation preview

Page 1: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

Grid İş Gönderme

Emrah Akkoyun, [email protected] Eryol, [email protected]

Page 2: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

Grid'e İş Gönderme Yöntemleri

Konsol Aracılığıyla iş gönderebilirsiniz.

Linux işletim sistemlerinden açtığınız terminalden işlerinizi gönderebileceğiniz gibi, Windows gibi işletim sistemlerinde Putty gibi araçlar kullanarak da işlerinizi gönderebilirsiniz.

Kullanıcı ara yüzüne ssh ile bağlantı yapılır.

Web portalı aracılığıyla işlerinizi gönderebilirsiniz. P- Grade portalı bu araçlardandır.

Page 3: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

Kullanıcı Arayüzüne Erişim

• Kullanıcı arayüzüne ssh ile bağlanın

- Terminal, Putty, ...

- Kullanıcılar: egitim(1-20)

- Sunucu: egitim-ui.ulakbim.gov.tr (193.140.99.19)

ssh -l egitim20 egitim-ui.ulakbim.gov.tr

• globus dizininin varlığını kontrol edin

ls –laR .globus

drwxr-xr-x 2 root root 4096 Aug 15 13:57 .drwx------ 31 root root 4096 Feb 10 15:32 ..-rw-r--r-- 1 root root 5577 Mar 14 2006 usercert.pem-rw------- 1 root root 963 Mar 14 2006 userkey.pem

• Pratik eğitim için gerekli örnek dosyaları kullanıcı dizininize açın:cd ~tar -xzvf egitim.tar.gz

Page 4: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

Geçici Sertifika Oluşturmak

Açık AnahtarAçık Anahtar

Subject: C=TR, O=TRGrid, Subject: C=TR, O=TRGrid, OU=TUBITAK-ULAKBIM, OU=TUBITAK-ULAKBIM, CN=Onur TemizsoyluCN=Onur Temizsoylu

Issuer: C=TR, O=TRGrid, Issuer: C=TR, O=TRGrid, CN=TR-Grid CACN=TR-Grid CAValidityValidity Not Before: Feb 5 Not Before: Feb 5 10:05:58 2007 GMT10:05:58 2007 GMT Not After : Feb 5 Not After : Feb 5 10:05:58 2008 GMT10:05:58 2008 GMT

Sertifika Otoritesi İmzasıSertifika Otoritesi İmzası

Bir X.509 sertifikası şu 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

Page 5: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

Çalışabileceğiniz Kaynakları Görüntülemek

Herhangi bir sanal organizasyon için o an geçerli çalışabileceğiniz kaynakları görüntülemek için:

lcg-infosites --vo <VO> [option(s)] sgdemo sanal organizasyonuna bağlı sitelerde ki hesaplama elemanı(ce) hakkında bilgi almak için:

lcg-infosites --vo sgdemo ce sgdemo sanal organizasyonuna bağlı sitelerde ki depolama elemanı(se) hakkında bilgi almak için::lcg-infosites --vo sgdemo selcg-infosites --vo sgdemo closeSE

Sorgulanabilecek diğer özellikleri görmek için:

lcg-info –list-attrs

Page 6: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

Proxy Oluşturmak

Çalışmak için geçici sertifika oluşturun:

voms-proxy-init --voms sgdemo

Oluşturduğunuz geçici sertifika hakkında bilgi edinin:

voms-proxy-info –all

Oluşturduğunuz geçici sertifikyı yok etmek için:

voms-proxy-destroy

Page 7: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

İşinizi Çalıştırmadan Önce

Bilmeniz gerekenler: Hangi programlar gönderilecek? Hangi veriye erişilecek, veri program ile birlikte mi gidecek? Herhangi bir işletim sistemi, kütüphane bağımlılığı var mı?

Gönderdiğiniz uygulama: Bilinmeyen bir sistemde çalışabilmeli Çalışma dizini dışında yer alacak şekilde sabit olarak belirlenmiş dizinler ve dosyalar içermemelidir.

Page 8: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

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.

Page 9: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

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ı virgul ile ayrılmalıdır.

• JDL boşluk karakteri ve tablara duyarlıdır.

Page 10: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

JDL Nitelikleri(1)

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ı

Page 11: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

JDL Nitelikleri(2)

Executable = < string >

• Çalıştırılacak programı göstermektedir.

- Aynı dosya ismi InputSandbox da da belirtilmelidir.

• Özel karakterler izin verilmez. . (Örnek: Executable = {“/opt/sw/sgdemo/test.sh”}; )

StdOutput, StdError, StdInput = < string >

• Çıktı, hata ve giriş dosyaları

- Aynı dosya isimleri OutputSandbox da da belirtilmelidir.

• Bu nitelik, etkileşimli işler için (interactive jobs) gerekli değildir.

Page 12: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

JDL Nitelikleri(3)

InputSandbox, OutputSandbox = < string | string listesi >

• InputSandbox, çalıştırılacak işin ihtiyacı olan giriş dosyaları

- UI (User Interface) den WN (Worker Node)

• OutputSandbox, Sonuç dosyaları

- WN (Worker Node) dan UI (User Interface)

InputSandbox da gösterilen dosyaların toplam boyutu

20 MB dan az olmalıdır.

Page 13: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

JDL Nitelikleri(4)

Job Type • Normal (simple, sequential job), Interactive, MPICH, Checkpointable,

– Checkpointable, Interactive – Checkppointable, MPI

• MPICH ve NodeNumber - RB (Resource Broker) uygun CE leri seçmek için kullanır.

Örnek: NodeNumber = 5;

Arguments • Komut satırı parametreleri vermek için kullanılır. Örnek:

Executable = “/bin/sh”; Arguments = “Merhaba Grid Dünyası”;

Environment • Çevre ayarları listesini. Örnek: Environment = “JAVABIN=/usr/local/java”;)

Page 14: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

JDL Nitelikleri(5)

Requirements • Uygun kaynak koşulları Örnek: Requirements=other.GlueCEUniqueID ==

“adc006.cern.ch:2119/jobmanager-pbs-infinite”

Rank • Requirements niteliğindeki koşullara uygun CE

ler sıralanır. Örnek: Rank = other.GlueCEStateFreeCPUs;

Page 15: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

JDL Nitelikleri(6)

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

Örnek: DataAccessProtocol = {“file”,“gsiftp”};

StorageElement

• Çıkış (output) dosyalarını tutmak için depolama elemanı

Page 16: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

Örnek JDL Dosyası

ornek.jdl

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;

Page 17: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

İş Göndermeden Önce

• JDL dosyasında yer alan niteliklere göre işin çalışabileceği siteleri görebilirsiniz.

glite-job-list-match <job.jdl>

• İşinizin belli bir sitede çalışması için Requirement satırıekliyebilirsiniz.

Requirements = other.GlueCEUniqueID == "ce.ulakbim.gov.tr:2119/jobmanager-lcgpbs-sgdemo";

Page 18: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

İş Göndermek

JDL dosyasında yer alan niteliklere göre işin çalışabileceği siteleri görebilirsiniz.

glite-job-list-match <job.jdl>

İş göndermek için;

glite-job-submit [--vo <VO>] [-o <dosya_ismi>] <job.jdl>

--vo Sanal organizasyon, geçici oluşturulurken tanımlandı ise gerek yoktur

-o Oluşacak işNumarası bu dosyaya yazılır

glite-job-status –i <dosya_ismi> (veya işNumarası)

-i İş gönderilirken verilen dosya ismi burada kullanılabilir

Page 19: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

İş Göndermek

glite-job-submit HelloWorld.jdl

**** Warning: UI_VOMS_OVERRIDE ****The Virtual Organisation name "dteam" you have specified with the UI conf file will be overriden by thedefault VO in your proxy credentials: "sgdemo"

Selected Virtual Organisation name (from proxy certificate extension): sgdemoConnecting to host wms.ulakbim.gov.tr, port 7772Logging to host wms.ulakbim.gov.tr, port 9002

********************************************************************************************* JOB SUBMIT OUTCOME The job has been successfully submitted to the Network Server. Use glite-job-status command to check job current status. Your job identifier is:

- https://wms.ulakbim.gov.tr:9000/2n33HIg63quJXLKgHG2m-A JobID

*********************************************************************************************

Page 20: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

Diğer İş Komutları

glite-job-cancel <işNumarası>

Belirtilen işi iptal eder glite-job-status <işNumarası>

İş hakkında bilgi verir glite-job-output <işNumarası>

İşin çıktı torbasını getirir glite-job-logging-info <işNumarası>

İş hakkında detaylı bilgi verir, hata gidermek için yararlı bir komuttur

Page 21: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

İş Durumları

Page 22: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

İş Durumları

Submitted – İş UI makinası aracılığı ile yollandı.

Page 23: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

İş Durumları

Waiting – İş kabul edildi ve WMS sunucusunda beklemede

Page 24: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

İş Durumları

Ready – İş WMS tarafında incelendi ve uygun CE sunucusuna gönderilmek için hazır

Page 25: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

İş Durumları

Scheduled – İş CE sunucusuna gönderildi ve kuyrukta bekliyor

Page 26: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

İş Durumları

Running – İş çalışmaya başladı

Page 27: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

İş Durumları

Done – İş tamamlandı

Page 28: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

İş Durumları

Cleared – İş için “Çıktı Torbası” UI sunucusuna alındı veya zaman aşımından dolayı silindi

Page 29: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

İnteraktif İşler

İnteraktif iş, standart girdi, çıktı ve hataları iş gönderilen istemciye yönlendiren iş tipidir: Kullanıcı JobType niteliğini interactive olarak ayarlamalıdır. Bir interaktif iş gönderildiğinde glite-job-submit komutu arka planda bir gölge

konsol işi başlatır. Konsolun kullanacağı port, ListenerPort niteliği ile değiştirilebilir. DISPLAY çevre değişkeni düzgün ayarlanmalı veya –nogui parametresi

kullanılmalıdır. OutputSandbox niteliğini tanımlamaya gerek yoktur. İnteraktif pencereye

çıktılar gelecektir.

Page 30: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

MPICH İşleri

Paralel iş koşturmak için birçok kütüphane vardır. gLite orta katmanında MPICH tercih edilmiştir.

Kullanıcı JobType niteliğini MPICH olarak ayarlamalı ve NodeNumber niteliği ile gerekli işlemci sayısını ayarlamalıdır.

Bir sitede MPICH işi çalışması için sitenin uygun şekilde düzenlenmesi dışında: Sitenin MPICH desteklediğinin işaretlenmesi

gerekmektedir. İstenen işlemci miktarı sitedeki mevcut işlemci

sayısından az olmalıdır.

Page 31: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

[JobType = “MPICH";Executable = "cpi";NodeNumber = 2;StdOutput = "test.out";StdError = "test.err";InputSandbox = {"cpi"};OutputSandbox = {"test.out","test.err"};]

NodeNumber işin çalışacağı işlemci sayısını belirtir. İşlemci sayısı arttıkça işin kuyrukta bekleme süresi de

artacaktır.

MPICH İşleri

Page 32: Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim.tr Feyza Eryol, feyza@ulakbim.tr

http://www.grid.org.tr

http://wiki.grid.org.tr

[email protected]