Скачать презентацию Grid İş Gönderme Emrah Akkoyun emrah ulakbim gov tr Скачать презентацию Grid İş Gönderme Emrah Akkoyun emrah ulakbim gov tr

25a6ff3bc7bfc61d805b3e87b6870acb.ppt

  • Количество слайдов: 32

Grid İş Gönderme Emrah Akkoyun, emrah@ulakbim. gov. tr Feyza Eryol, feyza@ulakbim. gov. tr Grid İş Gönderme Emrah Akkoyun, [email protected] gov. tr Feyza Eryol, [email protected] gov. 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 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.

Kullanıcı Arayüzüne Erişim • Kullanıcı arayüzüne ssh ile bağlanın - Terminal, Putty, . . 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 egitim 20 egitim-ui. ulakbim. gov. tr • globus dizininin varlığını kontrol edin ls –la. R. globus drwxr-xr-x 2 root drwx------ 31 root -rw-r--r-- 1 root -rw------- 1 root 4096 Aug 15 13: 57. 4096 Feb 10 15: 32. . 5577 Mar 14 2006 usercert. pem 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

Geçici Sertifika Oluşturmak Bir X. 509 sertifikası şu bilgileri içerir: Kullanıcı açık anahtarı; Kullanıcı Geçici Sertifika Oluşturmak 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ı Açık Anahtar Subject: C=TR, O=TRGrid, OU=TUBITAK-ULAKBIM, CN=Onur Temizsoylu Issuer: C=TR, O=TRGrid, CN=TRGrid CA Validity Sertifikanızı incelemek için: grid-cert-info Not Before: Feb 5 10: 05: 58 2007 GMT Not After : Feb 5 10: 05: 58 2008 GMT Sertifika Otoritesi İmzası

Ç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 Ç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 [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 se lcg-infosites --vo sgdemo close. SE Sorgulanabilecek diğer özellikleri görmek için: lcg-info –list-attrs

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

İşinizi Çalıştırmadan Önce Bilmeniz gerekenler: Hangi programlar gönderilecek? Hangi veriye erişilecek, veri program ile İş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.

Grid Dünyasının Dili: JDL Job Description Language (JDL) Condor Class. Ad dili standardında geliştirilmiştir. Grid Dünyasının Dili: JDL Job Description Language (JDL) Condor Class. Ad dili standardında geliştirilmiştir. Bir JDL dosyası niteliklerle oluşturulur: = ; 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.

JDL Dosyası • JDL parçalayıcının(parser) hatasız bir şekilde çözümleme yapması için gerekli nitelikler: • 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: [ ] • Her tanım satırı noktalı virgul ile ayrılmalıdır. • JDL boşluk karakteri ve tablara duyarlıdır.

JDL Nitelikleri(1) Job. Type – Normal (basit, seri iş), Interactive, MPICH, Checkpointable Executable – JDL Nitelikleri(1) Job. Type – Normal (basit, seri iş), Interactive, MPICH, Checkpointable Executable – Çalıştırılacak komut Arguments – Komuta verilecek argümanlar Std. Input, Std. Output, Std. Error – Standart girdi, çıktı ve hata dosyaları Environment – Çevre değişkenleri Input. Sandbox – Kullanıcı arayüzünden çalışacağı siteye gönderilecek dosyalar Output. Sandbox – İş bitiminde alınacak dosyalar Requirements – Gerekli kaynak nitelikleri Rank – Bulunan kaynakların sıralanması

JDL Nitelikleri(2) Executable = < string > • Çalıştırılacak programı göstermektedir. - Aynı dosya JDL Nitelikleri(2) Executable = < string > • Çalıştırılacak programı göstermektedir. - Aynı dosya ismi Input. Sandbox da da belirtilmelidir. • Özel karakterler izin verilmez. . (Örnek: Executable = {“/opt/sw/sgdemo/test. sh”}; ) Std. Output, Std. Error, Std. Input = < string > • Çıktı, hata ve giriş dosyaları - Aynı dosya isimleri Output. Sandbox da da belirtilmelidir. • Bu nitelik, etkileşimli işler için (interactive jobs) gerekli değildir.

JDL Nitelikleri(3) Input. Sandbox, Output. Sandbox = < string | string listesi > • JDL Nitelikleri(3) Input. Sandbox, Output. Sandbox = < string | string listesi > • Input. Sandbox, çalıştırılacak işin ihtiyacı olan giriş dosyaları - UI (User Interface) den WN (Worker Node) • Output. Sandbox, Sonuç dosyaları - WN (Worker Node) dan UI (User Interface) Input. Sandbox da gösterilen dosyaların toplam boyutu 20 MB dan az olmalıdır.

JDL Nitelikleri(4) Job Type • Normal (simple, sequential job), Interactive, MPICH, Checkpointable, – Checkpointable, JDL Nitelikleri(4) Job Type • Normal (simple, sequential job), Interactive, MPICH, Checkpointable, – Checkpointable, Interactive – Checkppointable, MPI • MPICH ve Node. Number - RB (Resource Broker) uygun CE leri seçmek için kullanır. Örnek: Node. Number = 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”; )

JDL Nitelikleri(5) Requirements • Uygun kaynak koşulları Örnek: Requirements=other. Glue. CEUnique. ID == “adc JDL Nitelikleri(5) Requirements • Uygun kaynak koşulları Örnek: Requirements=other. Glue. CEUnique. ID == “adc 006. cern. ch: 2119/jobmanager-pbs-infinite” Rank • Requirements niteliğindeki koşullara uygun CE ler sıralanır. Örnek: Rank = other. Glue. CEState. Free. CPUs;

JDL Nitelikleri(6) Input. Data • Giriş (input) dosyalarını gösteren (LFN) Logical File Name veya JDL Nitelikleri(6) Input. Data • Giriş (input) dosyalarını gösteren (LFN) Logical File Name veya (GUID) Global Unique Identifier belirtilir. Örnek: Input. Data = {“lfn: cmstestfile”, “guid: 135 b 7 b 23 -4 a 6 a-11 d 7 -87 e 79 d 101 f 8 c 8 b 70”}; ) Data. Access. Protocol • SE (Storage Element) ulaşmak için kullanılacak protokol ya da protokoller Örnek: Data. Access. Protocol = {“file”, “gsiftp”}; Storage. Element • Çıkış (output) dosyalarını tutmak için depolama elemanı

Örnek JDL Dosyası ornek. jdl Executable = Örnek JDL Dosyası ornek. jdl Executable = "/bin/sh"; Arguments = "Hello. World. sh"; Stdoutput = "stdoutput. txt"; Std. Error = "stderror. txt"; Input. Sandbox = {"Hello. World. c", "Hello. World. sh"}; Output. Sandbox = {"stdoutput. txt", "stderror. txt"}; Requirements = (other. Glue. Host. Operating. System. Name == “linux"); Rank = other. Glue. CEState. Free. CPUs;

İş Göndermeden Önce • JDL dosyasında yer alan niteliklere göre işin çalışabileceği siteleri görebilirsiniz. İş Göndermeden Önce • JDL dosyasında yer alan niteliklere göre işin çalışabileceği siteleri görebilirsiniz. glite-job-list-match • İşinizin belli bir sitede çalışması için Requirement satırı ekliyebilirsiniz. Requirements = other. Glue. CEUnique. ID == "ce. ulakbim. gov. tr: 2119/jobmanager-lcgpbs-sgdemo";

İş Göndermek JDL dosyasında yer alan niteliklere göre işin çalışabileceği siteleri görebilirsiniz. glite-job-list-match <job. İş Göndermek JDL dosyasında yer alan niteliklere göre işin çalışabileceği siteleri görebilirsiniz. glite-job-list-match İş göndermek için; glite-job-submit [--vo ] [-o ] --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 (veya işNumarası) -i İş gönderilirken verilen dosya ismi burada kullanılabilir

İş Göndermek glite-job-submit Hello. World. jdl **** Warning: UI_VOMS_OVERRIDE **** The Virtual Organisation name İş Göndermek glite-job-submit Hello. World. jdl **** Warning: UI_VOMS_OVERRIDE **** The Virtual Organisation name "dteam" you have specified with the UI conf file will be overriden by the default VO in your proxy credentials: "sgdemo" Selected Virtual Organisation name (from proxy certificate extension): sgdemo Connecting to host wms. ulakbim. gov. tr, port 7772 Logging 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/2 n 33 HIg 63 qu. JXLKg. HG 2 m-A Job. ID ***********************************************

Diğer İş Komutları glite-job-cancel <işNumarası> Belirtilen işi iptal eder glite-job-status <işNumarası> İş hakkında bilgi Diğer İş Komutları glite-job-cancel Belirtilen işi iptal eder glite-job-status İş hakkında bilgi verir glite-job-output İşin çıktı torbasını getirir glite-job-logging-info İş hakkında detaylı bilgi verir, hata gidermek için yararlı bir komuttur

İş Durumları İş Durumları

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

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

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

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

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

İş Durumları Done – İş tamamlandı İş Durumları Done – İş tamamlandı

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

İnteraktif İşler İnteraktif iş, standart girdi, çıktı ve hataları iş gönderilen istemciye yönlendiren iş İnteraktif İşler İnteraktif iş, standart girdi, çıktı ve hataları iş gönderilen istemciye yönlendiren iş tipidir: Kullanıcı Job. Type 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, Listener. Port niteliği ile değiştirilebilir. DISPLAY çevre değişkeni düzgün ayarlanmalı veya –nogui parametresi kullanılmalıdır. Output. Sandbox niteliğini tanımlamaya gerek yoktur. İnteraktif pencereye çıktılar gelecektir.

MPICH İşleri Paralel iş koşturmak için birçok kütüphane vardır. g. Lite orta katmanında MPICH MPICH İşleri Paralel iş koşturmak için birçok kütüphane vardır. g. Lite orta katmanında MPICH tercih edilmiştir. Kullanıcı Job. Type niteliğini MPICH olarak ayarlamalı ve Node. Number 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.

MPICH İşleri [ Job. Type = “MPICH MPICH İşleri [ Job. Type = “MPICH"; Executable = "cpi"; Node. Number = 2; Std. Output = "test. out"; Std. Error = "test. err"; Input. Sandbox = {"cpi"}; Output. Sandbox = {"test. out", "test. err"}; ] Node. Number 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.

http: //www. grid. org. tr http: //wiki. grid. org. tr grid-teknik@ulakbim. gov. tr http: //www. grid. org. tr http: //wiki. grid. org. tr [email protected] gov. tr