Kullanıcı Pratik Eğitimi www.grid.org.tr
Kullanıcı Arayüzüne Erişim Kullanıcı arayüzüne ssh ile bağlanın ssh l egitim(1-20) somon.ulakbim.gov.tr.globus dizininin varlığını kontrol edin ls lar.globus.globus: total 16 drwxr-xr-x drwx------rw-r--r--rw-r--r--rw------- 2 root root 31 root root 1 root root 1 root root 1 root root 4096 Aug 15 13:57. 4096 Feb 10 15:32.. 0 Mar 14 2006 usercert.pem 1322 Mar 14 2006 usercert_request.pem 963 Mar 14 2006 userkey.pem Pratik eğitim için gerekli örnek dosyaları kullanıcı dizininize açın: cd ~ tar zxvf /home/egitim.tar.gz
Ç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> komutunu kullanabilirsiniz. sgdemo sanal organizasyonunda çalışılabilecek işlemcileri görmek için: lcg-infosites vo sgdemo ce sgdemo sanal organizasyonunda veri saklama alanını görmek için: lcg-infosites vo sgdemo se Sorgulanabilecek diğer özellikleri görmek için: Lcg-infosites list-attrs
Kullanıcı Sertifikanız Bir X.509 sertifikası şu bilgileri içerir: Kullanıcı açık anahtarı; Açık Anahtar Kullanıcı hakkında bilgi; Sertifika otoritesi bilgisi; Geçerlilik süresi; Sertifika otoritesinin imzası 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: openssl x509 in usercert.pem veya grid-cert-info Not Before: Feb 5 10:05:58 2007 GMT Not After : Feb 5 text 10:05:58 2008 GMT Sertifika Otoritesi İmzası
Globus Grid Security Infrastructure (GSI) GSI PKI kullanarak ortakatman yazılımları için bir güvenlik standardı oluşturur. Önemli bazı özellikler getirir: Single sign-on : Her seferinde şifre girmek gerekmez. Atama: Servisler kullanıcı adına çalışabilir. Proxy sertifikaları sayesinde çalışırlar.
GSI Çevre Değişkenleri Kullanıcı Sertifikaları: Açık Anahtar: X509_USER_CERT ($HOME/.globus/usercert.pem) Özel Anahtar: X509_USER_KEY ($HOME/.globus/userkey.pem) Proxy: X509_USER_PROXY (/tmp/x509up_u<id>) Sunucu Sertifikaları: Açık Anahtar: X509_USER_CERT (/etc/gridsecurity/hostcert.pem) Özel Anahtar: X509_USER_KEY (/etc/gridsecurity/hostkey.pem) Sertifika Otoriteleri: X509_CERT_DIR (/etc/grid-security/certificates)
Proxy Oluşturmak Çalışmak için proxy oluşturun: voms-proxy-init --voms sgdemo Oluşturduğunuz proxy hakkında bilgi edinin voms-proxy-info -all Oluşturduğunuz proxy i yok edin voms-proxy-destroy
İş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 ClassAd dili standardında geliştirilmiştir Bir JDL dosyası niteliklerle oluşturulur: <nitelik> = <anahtar>; # ile JDL içine açıklama satırları yazılabilir. Nitelikler temel olarak ikiye ayrılabilir: İş nitelikleri, işin kendini tanımlar Kaynak nitelikleri, işe uygun kaynakların bulunmasını sağlar.
JDL Dosyası Bir JDL dosyası en azından aşağıdaki nitelikleri içerir: Çalışacak uygulamanın adı İşin standart çıktısının ve hatasının yazılacağı dosyaları Gerekli ise iş için gerekli argümanları Girdi ve çıktı torbalarında yer alacak dosyaları ornek1.jdl Executable = ls ; StdError = stderr.log ; StdOutput = stdout.log ; Arguments = -al ; OutputSandbox = { stderr.log, stdout.log };
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ı
JDL Dosyası ornek2.jdl [ Executable = "/bin/sh"; Arguments = "HelloWorld.sh"; Stdoutput = "stdoutput"; StdError = "stderror"; InputSandbox = {"HelloWorld.c","HelloWorld.sh"}; OutputSandbox = {"stdoutput","stderror"}; Requirements = (other. GlueHostOperatingSystemName == linux") && (other.gluecepolicymaxwallclocktime > 10000); Rank = other.gluecestatefreecpus; ]
Bir İşin Hayat Hikayesi WMS (RB) ini t UI JDL LFC Veri Bilgisi İş D Expanded JDL u sı i si ba ilg or ab ıt kt l am Çı lan +P CE Bilg is ası İş Sorgulama ur um SE & rb i to rd Gi vom s-p rox y- Çıktı torbası İş Gönderme VOMS Girdi torbası BDII SE Globus RSL İş Durumu İş Gönderme LB Servisi İş Durumu i CE
İşi 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";
İş Göndermek glite-job-submit [-vo <VO>] [-o <dosya_ismi>] <job.jdl> -vo Sanal organizasyon, proxy oluşturulurken tanımlandı ise gerek yoktur -o Oluşacak JobID bu dosyaya yazılır glite-job-status i <dosya_ismi> (veya jobid) -i İş gönderilirken verilen dosya ismi burada kullanılabilir
İş Göndermek glite-job-submit testjob.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/2n33hig63qujxlkghg2m-a JobID *********************************************************************************************
İş Göndermek glite-job-cancel <jobid> Belirtilen işi iptal eder glite-job-status <jobid> İş hakkında bilgi verir glite-job-output <jobid> İşin çıktı torbasını getirir glite-job-logging-info <jobid> İş hakkında detaylı bilgi verir, hata gidermek için yararlı bir komuttur
İş Durumları Durum Anlamı SUBMITTED LB tarafından iş kabul edildi WAIT Kaynak planlaması yapılıyor READY Seçilen sitenin CE sunucusuna iş gidiyor SCHEDULED Seçilen sitenin iş kuyruğunda iş bekliyor RUNNING İş seçilen sitede çalışıyor DONE İş başarı ile tamamlandı CLEARED İşin çıktı dosyaları alındı ABORT Orta katman tarafından iş iptal edildi
Olası İş Durumları
İ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.
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
MPICH İşleri [ 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