44
Grid Ortamında İş Gönderme Feyza Eryol, [email protected] Emrah Akkoyun, [email protected]

Grid Ortamında İş Gönderme - truba.gov.tr

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Grid Ortamında İş Gönderme - truba.gov.tr

Grid Ortamında İş Gönderme

Feyza Eryol, [email protected] Akkoyun, [email protected]

Page 2: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 2

İçerik İş 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

İnteraktif ve MPICH İşleri

Page 3: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 3

Grid'e İş 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

Page 4: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 4

Kullanıcı Arayüz Sunucularına ErişimKullanıcı arayüz sunucusuna SSH istemci programı ile bağlantının sağlanması

Linux: Terminal, Windows: SSH istemcisi (putty, v.b.) Sunucu Adı : egitim-ui.ulakbim.gov.tr Kullanıcı Adı: egitimxx Kullanıcı Şifresi: egitimxx

Yetkilendirilmenin sağlanması .globus dizinin kontrol edilmesi:

$ ls -laR .globus

Page 5: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 5

Kullanıcı Arayüz Sunucularına Erişim-II

$ ls -lrt

$ tar -zxvf egitim.tar.gz

Page 6: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 6

Geçici Sertifika Oluşturmak Grid ortamında yetkilendirilmeler X.509 standardındaki

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;

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ı

Açık AnahtarAçık Anahtar

$ grid-cert-info

Page 7: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 7

Geçici Sertifika Oluşturmak-II

Geçici olarak yetkilendirilmek için sertifika oluşturulaması: $ voms-proxy-init –voms sgdemo

Oluşturulan geçici sertifika hakkında bilgi edinilmesi: $ voms-proxy-info --all

Oluşturulan geçici sertifikanın iptal edilmesi: $ voms-proxy-destroy

Page 8: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 8

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 sanal organizasyonuna bağlı sitelerde ki hesaplama elemanı(ce) hakkında bilgi almak için:

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

$ lcg-infosites --vo sgdemo seSorgulanabilecek diğer özellikleri görmek için:

$ lcg-info --list-attrs

Page 9: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 9

İş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

Page 10: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 10

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 11: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 11

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 ve tab karakterlerine duyarlıdır.

Page 12: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 12

JDL Nitelikleri-I 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 13: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 13

JDL Nitelikleri-IIExecutable = < 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. Bu nitelik, etkileşimli işler için (interactive jobs) gerekli

değildir.

Page 14: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 14

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.

Page 15: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 15

JDL Nitelikleri-IVJob 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ı 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”;

Page 16: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 16

JDL Nitelikleri-V

Requirements Uygun kaynak koşullarının tanımlanmasını sağlar.Ö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 17: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 17

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.

Page 18: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 18

Ö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;

Page 19: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 19

İş Göndermeden Önce...

JDL dosyasında yer alan niteliklere göre, işin çalışabileceği siteleri görebilmek için:

$ glite-job-list-match <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"

Page 20: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 20

Uygulama-I

Page 21: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 21

İş Göndermek ve İşin Durumunu İzlemek

İş göndermek için;

glite-job-submit [--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-job-status –i <dosya_ismi> (veya işNumarası)

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

Page 22: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 22

Uygulama-I

Page 23: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 23

Uygulama-I

Page 24: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 24

İş Durumları

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

Page 25: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 25

İş DurumlarıWaiting – İş kabul edildi ve WMS sunucusunda beklemede

Page 26: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 26

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

Page 27: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 27

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

Page 28: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 28

İş Durumları

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

Page 29: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 29

İş Durumları

Done – İş tamamlandı

Page 30: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 30

İş Durumları

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

Page 31: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 31

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 32: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 32

Uygulama-I

Page 33: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 33

Uygulama-I

Page 34: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 34

Uygulama-II

Page 35: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 35

Uygulama-II

Page 36: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 36

Uygulama-II

glite-job-submit -o id.txt HelloWorld.jdl glite-job-status -i id.txt glite-job-cancel -i id.txt glite-job-submit -o id.txt HelloWorld.jdl glite-job-status -i id.txt glite-job-status –all glite-job-output -i id.txt

Page 37: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 37

Uygulama-III

Page 38: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 38

İ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 bulunmamaktadır. İnteraktif pencereye çıktılar gelecektir.

Page 39: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 39

Uygulama-IV

Page 40: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 40

Uygulama-IV glite-job-submit interactive.jdl***************************************

Interactive Job console started for https://wms.ulakbim.gov.tr:9000/PU4Y872m7uFIM_BFgukezA

Please press ^C to exit from the session

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

Welcome!

Please tell me your name: Feyza

That is all, Feyza.

Bye, .

Page 41: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 41

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 42: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 42

Uygulama-V

Page 43: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 43

Uygulama-V

$ cat MPItest.c $ cat MPItest.sh $ glite-job-submit -i id.txt MPItest.jdl $ glite-job-status -i id.txt $ glite-job-output -i id.txt

Page 44: Grid Ortamında İş Gönderme - truba.gov.tr

22/10/2007 TR-Grid Eğitimi 44

http://www.grid.org.tr

http://wiki.grid.org.tr

[email protected]