Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Grid Ortamında İş Gönderme Feyza Eryol, Emrah Akkoyun,

Benzer bir sunumlar


... konulu sunumlar: "Grid Ortamında İş Gönderme Feyza Eryol, Emrah Akkoyun,"— Sunum transkripti:

1 Grid Ortamında İş Gönderme Feyza Eryol, feyza@ulakbim.gov.tr Emrah Akkoyun, emrah@ulakbim.gov.tr

2 22/10/2007TR-Grid Eğitimi2 İç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

3 22/10/2007TR-Grid Eğitimi3 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

4 22/10/2007TR-Grid Eğitimi4 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ı : egitim-ui.ulakbim.gov.tr  Kullanıcı Adı: egitimxx  Kullanıcı Şifresi: egitimxx  Yetkilendirilmenin sağlanması .globus dizinin kontrol edilmesi: $ ls -laR.globus

5 22/10/2007TR-Grid Eğitimi5 Kullanıcı Arayüz Sunucularına Erişim-II $ ls -lrt $ tar -zxvf egitim.tar.gz

6 22/10/2007TR-Grid Eğitimi6 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, OU=TUBITAK-ULAKBIM, CN=Onur Temizsoylu Issuer: C=TR, O=TRGrid, CN=TR-Grid CA Validity Not Before: Feb 5 10:05:58 2007 GMT Not Before: Feb 5 10:05:58 2007 GMT Not After : Feb 5 10:05:58 2008 GMT Not After : Feb 5 10:05:58 2008 GMT Sertifika Otoritesi İmzası Açık Anahtar $ grid-cert-info

7 22/10/2007TR-Grid Eğitimi7 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

8 22/10/2007TR-Grid Eğitimi8 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 [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ı(ce) hakkında bilgi almak için:  $ lcg-infosites --vo sgdemo se  Sorgulanabilecek diğer özellikleri görmek için:  $ lcg-info --list-attrs

9 22/10/2007TR-Grid Eğitimi9 İş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

10 22/10/2007TR-Grid Eğitimi10 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:  = ;  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.

11 22/10/2007TR-Grid Eğitimi11 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 ve tab karakterlerine duyarlıdır.

12 22/10/2007TR-Grid Eğitimi12 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ı

13 22/10/2007TR-Grid Eğitimi13 JDL Nitelikleri-II Executable =  Ç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 =  Çı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.

14 22/10/2007TR-Grid Eğitimi14 JDL Nitelikleri-III InputSandbox, OutputSandbox =  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.

15 22/10/2007TR-Grid Eğitimi15 JDL Nitelikleri-IV 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ı 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”;

16 22/10/2007TR-Grid Eğitimi16 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;

17 22/10/2007TR-Grid Eğitimi17 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.

18 22/10/2007TR-Grid Eğitimi18 Ö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;

19 22/10/2007TR-Grid Eğitimi19 İş 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  İşin belli bir sitede çalışması için Requirement satırı kullanılabilir: Requirements = other.GlueCEUniqueID == "ce.ulakbim.gov.tr:2119/jobmanager-lcgpbs-sgdemo"

20 22/10/2007TR-Grid Eğitimi20 Uygulama-I

21 22/10/2007TR-Grid Eğitimi21 İş Göndermek ve İşin Durumunu İzlemek  İş göndermek için; glite-job-submit [--vo ] [-o ] --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 (veya işNumarası)‏ -i İş gönderilirken verilen dosya ismi burada kullanılabilir.

22 22/10/2007TR-Grid Eğitimi22 Uygulama-I

23 22/10/2007TR-Grid Eğitimi23 Uygulama-I

24 22/10/2007TR-Grid Eğitimi24 İş Durumları Submitted – İş UI makinası aracılı ğ ı ile yollandı.

25 22/10/2007TR-Grid Eğitimi25 İş Durumları Waiting – İş kabul edildi ve WMS sunucusunda beklemede

26 22/10/2007TR-Grid Eğitimi26 İş Durumları Ready – İş WMS tarafında incelendi ve uygun CE sunucusuna gönderilmek için hazır

27 22/10/2007TR-Grid Eğitimi27 İş Durumları Scheduled – İş CE sunucusuna gönderildi ve kuyrukta bekliyor

28 22/10/2007TR-Grid Eğitimi28 İş Durumları Running – İş çalı ş maya ba ş ladı

29 22/10/2007TR-Grid Eğitimi29 İş Durumları Done – İş tamamlandı

30 22/10/2007TR-Grid Eğitimi30 İş Durumları Cleared – İş için “Çıktı Torbası” UI sunucusuna alındı veya zaman a ş ımından dolayı silindi

31 22/10/2007TR-Grid Eğitimi31 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

32 22/10/2007TR-Grid Eğitimi32 Uygulama-I

33 22/10/2007TR-Grid Eğitimi33 Uygulama-I

34 22/10/2007TR-Grid Eğitimi34 Uygulama-II

35 22/10/2007TR-Grid Eğitimi35 Uygulama-II

36 22/10/2007TR-Grid Eğitimi36 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

37 22/10/2007TR-Grid Eğitimi37 Uygulama-III

38 22/10/2007TR-Grid Eğitimi38 İ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.

39 22/10/2007TR-Grid Eğitimi39 Uygulama-IV

40 22/10/2007TR-Grid Eğitimi40 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,.

41 22/10/2007TR-Grid Eğitimi41 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.

42 22/10/2007TR-Grid Eğitimi42 Uygulama-V

43 22/10/2007TR-Grid Eğitimi43 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

44 22/10/2007TR-Grid Eğitimi44 http://www.grid.org.tr http://wiki.grid.org.tr grid-teknik@ulakbim.gov.tr


"Grid Ortamında İş Gönderme Feyza Eryol, Emrah Akkoyun," indir ppt

Benzer bir sunumlar


Google Reklamları