Fullscreen
Location : EUAsiaGrid-ITB Wiki »
Print

Job Submission Sederhana


slides: JobManagement09.pdf


Tujuan

Tutorial ini berisi langkah-langkah Job submission yang sederhana. Sebelum melanjutkan dengan tutorial ini pastikan anda sudah memiliki proxy yang valid, jika belum ada maka buatlah terlebih dahulu. Lihat panduan tentang login ke user interface.

Untuk informasi lebih lanjut pada halaman-halaman berikut:
http://training.omii-europe.org/Tutorials/glite3.0/aa.html (external link)
https://edms.cern.ch/file/722398/1.1/gLite-3-UserGuide.pdf (external link)


Job Submission sederhana: perintah glite-wms


Persiapan

Login ke User Interface
Silakan login terlebih dahulu ke user interface sebelum melakukan Job Submission.
Create VOMS Proxy
Inisiasi proxy menggunakan perintah voms-proxy-init --voms euasia lalu masukkan passphrase untuk user proxy anda.

[pelita@glite-ui ~]$ voms-proxy-init --voms euasia
Cannot find file or dir: /home/pelita/.glite/vomses
Enter GRID pass phrase:
Your identity: /C=TW/O=AP/OU=GRID/CN=Pelita Fajarhati 130169
Creating temporary proxy ............................................... Done
Contacting  voms.grid.sinica.edu.tw:15015 [/C=TW/O=AS/OU=GRID/CN=voms.grid.sinic                                                                             a.edu.tw] "euasia" Done
Creating proxy ............................ Done
Your proxy is valid until Wed Oct 28 18:14:08 2009


File JDL Sederhana

{*} Submit job ke Workload Management System (WMS) dilakukan menggunakan file teks yang berisi Job Description Language (JDL). JDL berisi deskripsi job dan kebutuhannya.
Berikut ini contoh file JDL paling sederhana untuk menjalankan job sederhana pada grid:

[pelita@glite-ui ~]$ cat hostname.jdl
Type = "Job";
JobType = "Normal";
Executable = "/bin/hostname";
StdOutput = "hostname.out";
StdError = "hostname.err";
OutputSandbox = {"hostname.err","hostname.out"};
Arguments = "-f";
ShallowRetryCount = 3;
[pelita@glite-ui ~]$

Atribut Executable berisi perintah yang akan dijalankan oleh Worker Node (WN).
Atribut OutputSandbox menindikasikan file yang ingin anda ambil kembali setelah job dieksekusi, normalnya yang disebitkan disini adalah file-file yang digunakan untuk me-redirect stream output dan stream error, dan namanya secara berurutan ditentukan pada StdOutput¬¬ dan StdError__.
Jumlah percobaan andaikan terjadi kegagalan juga disebutkan secara spesifik (ShallowRetryCount).

{*} Buatlah file hostname.jdl tersebut untuk mencoba job submission.

Delegasi Credential

Perintah yang ditampilkan pada halaman ini menggunakan WMProxy, sebuah service yang berinteraksi dengan WMS atas nama anda. Model autentikasi didalam WM Proxy dapat dijelaskan seperti berikut ini. Sebagai tambahan untuk proxy yang calid, diperlukan juga untuk mendelegasikan credential ke WM Proxy Server.
User dapat menyebutkan secara spesifik delegationID yang akan diasosiasikan dengan proxy yang akan didelegasikan dengan menggunakan opsi --delegationid (atau bisa disingkat –d) seperti berikut ini:

glite-wms-job-delegate-proxy -d myfirstdelegationid

Dengan menggunakan opsi -d, delegasi dibuat kemudian namanya di-hold sehingga pemanggilan berikutnya terhadap glite-wms-job-submit dan glite-wms-job-list-match dapat diberi nama delegasi tersebut, melewatkan delegasi proxy baru. Dengan demikian, saat memanggil glite-wms-job-submit and glite-wms-job-list-match nama delegasi-nya diberikan dengan opsi –d.
Daripada membuat delegasi, bsia juga menggunakan opsi -a yang akan menyebabkan proxy yang telah didelegasikan akan dibangun secara otomatis. Ketika menggunakan opsi -a, anda tidak perlu menjalankan glite-wms-job-delegate-proxy –d, tetapi anda harus menyebutkan secara spesifik opsi -a untuk setiap penggunaan glite-wms-job-submit dan glite-wms-job-list-match. Akan tetapi, penggunaan opsi ini secara besar-besaran sangat tidak disarankan, karena akan mendelegasikan proxy baru setiap kali setiap perintah dikeluarkan, dan delegasi adalah operasi yang memakan waktu cukup lama. Jadi, akan lebih baik menggunakannya sekali saja dengan glite-wms-job-delegate-proxy dan kemudian menggunakannya kembali (reuse).

Untuk melanjutkan tutorial ini, buatlah delegasi ke WMProxy menggunakan username anda sebagai identifier. Username anda dapat diperoleh dari environment variable $USER

[pelita@glite-ui ~]$ echo $USER
pelita
[pelita@glite-ui ~]$ glite-wms-job-delegate-proxy -d $USER

Connecting to the service https://wms01.grid.sinica.edu.tw:7443/glite_wms_wmproxy_server


================== glite-wms-job-delegate-proxy Success ==================

Your proxy has been successfully delegated to the WMProxy:
https://wms01.grid.sinica.edu.tw:7443/glite_wms_wmproxy_server

with the delegation identifier: pelita

==========================================================================


Job List Match

Sebuah file JDL (Job Description Language) berisi deskripsi job yang bisa dijalankan. Sebelum menjalankan suatu job, akan sangat berguna untuk memeriksa Computing Element (CE) mana yang dapat menerimanya. Lakukan pemeriksaan ini menggunakan perintah glite-wms-job-list-match . Seperti yang dapat anda lihat, dengan menggunakan opsi -d memungkinkan anda untuk menspesifikkan identifier delegasi yang telah anda buat. Karena tadi kita melakukannya menggunakan username (yang diperoleh dari variabel $USER), maka niali inilah yang akan kita berikan pada opsi.

[pelita@glite-ui ~]$ glite-wms-job-list-match -d $USER hostname.jdl

Connecting to the service https://wms01.grid.sinica.edu.tw:7443/glite_wms_wmproxy_server

==========================================================================

                     COMPUTING ELEMENT IDs LIST
 The following CE(s) matching your job requirements have been found:

        *CEId*
 - ce.ioit.vngrid.vinaren.vn:2119/jobmanager-lcgpbs-euasia
 - ce.keylab.ioit-hcm.vngrid.org:2119/jobmanager-lcgpbs-euasia
 - cladonia.geranium.um.edu.my:2119/jobmanager-pbs-euasia
 - grid010.ct.infn.it:2119/jobmanager-lcgpbs-euasia
 - iceage-ce-01.ct.infn.it:2119/jobmanager-lcgpbs-euasia
 - liknayan.pscigrid.gov.ph:2119/jobmanager-lcgpbs-euasia
 - razi.biruni.upm.my:2119/jobmanager-pbs-euasia
 - ce01.knowledgegrid.net.my:2119/jobmanager-lcgpbs-euasia
 - ce2.egee.cesnet.cz:2119/jobmanager-pbs-euasia
 - khaldun.biruni.upm.my:2119/jobmanager-pbs-euasia
 - lcg00125.grid.sinica.edu.tw:2119/jobmanager-lcgpbs-euasia
 - w-ce01.grid.sinica.edu.tw:2119/jobmanager-lcgpbs-euasia
 - ce.haii.or.th:2119/jobmanager-lcgpbs-euasia
 - lion.lsr.nectec.or.th:2119/jobmanager-lcgpbs-euasia

==========================================================================

Daftar Computing Element (CE) membuktikan bahwa sintaks JDL benar dan bahwa job dapat dijalankan pada satu atau lebih CE yang ditampilkan.

Job Submission

Sebuah job sederhana dapat di-submit menggunakan perintah glite-wms-job-submit -d delegationId -o jobidfile jdlname

[pelita@glite-ui ~]$ glite-wms-job-submit -d $USER -o jobid hostname.jdl

Connecting to the service https://wms01.grid.sinica.edu.tw:7443/glite_wms_wmproxy_server


====================== glite-wms-job-submit Success ======================

The job has been successfully submitted to the WMProxy
Your job identifier is:

https://wms01.grid.sinica.edu.tw:9000/gpXIcXcXysGmAktqwvbeng

The job identifier has been saved in the following file:
/home/pelita/jobid

==========================================================================

File /home/pelita/jobid adalah output dari proses submit. File tersebut menerima satu atau lebih JobID yang dihasilkan dari proses submission (penyerahan job). Jika ada job lain di-submit (dengan mengulangi baris perintah submit job) maka jobID-nya akan ditambahkan (append) ke file JobID yang sama. Silakan anda mencoba untuk Submit satu atau lebih Job.

Job Status

Untuk mengetahui status Job yang anda submit, gunakan perintah glite-wms-job-status. Perintah ini akan meminta status job mana saja yang tercantum pada file yang disebutkan, dalam hal ini jobid , ke LB (Logging and Bookkeeping service).

[pelita@glite-ui ~]$ glite-wms-job-status -i jobid

------------------------------------------------------------------
1 : https://wms01.grid.sinica.edu.tw:9000/gpXIcXcXysGmAktqwvbeng
2 : https://wms01.grid.sinica.edu.tw:9000/yPlXICFTuduVkNPf3vdDcg
3 : https://wms01.grid.sinica.edu.tw:9000/aIJfmRDm2YEA1gOpZBJ8rw
4 : https://wms01.grid.sinica.edu.tw:9000/uEq5x_CXIFB-fm2WjQMZ7w
a : all
q : quit
------------------------------------------------------------------

Choose one or more jobId(s) in the list - [1-4]all:3



*************************************************************
BOOKKEEPING INFORMATION:

Status info for the Job : https://wms01.grid.sinica.edu.tw:9000/aIJfmRDm2YEA1gOpZBJ8rw
Current Status:     Ready
Status Reason:      unavailable
Destination:        iceage-ce-01.ct.infn.it:2119/jobmanager-lcgpbs-euasia
Submitted:          Wed Oct 28 10:14:39 2009 UTC
*************************************************************

[pelita@glite-ui ~]$

Perintah yang sama dapat dijalankan dengan langsung menyebutkan jobID seperti pada contoh berikut ini:

[pelita@glite-ui ~]$ glite-wms-job-status https://wms01.grid.sinica.edu.tw:9000/yPlXICFTuduVkNPf3vdDcg


*************************************************************
BOOKKEEPING INFORMATION:

Status info for the Job : https://wms01.grid.sinica.edu.tw:9000/yPlXICFTuduVkNPf3vdDcg
Current Status:     Ready
Status Reason:      unavailable
Destination:        liknayan.pscigrid.gov.ph:2119/jobmanager-lcgpbs-euasia
Submitted:          Wed Oct 28 10:14:30 2009 UTC
*************************************************************

{!} Perhatikan bahwa perintah tersebut tidak memerlukan identifier untuk delegasi disebutkan secara spesifik.

Perintah tersebut, berdasarkan isi file ¬jobid, menunjukkan daftar job terkait yang telah di-submit yang bisa dilihat statusnya baik untuk satu job maupun untuk semua job. Opsi -i menyatakan file yang berisi satu atau lebih jobID yang akan diperiksa statusnya. Pada contoh diatas, status job pertama sudah selesai, dan job 2 dan 3 sedang dijalankan. CE yang digunakan juga ditampilkan.
Nilai flag status dan maknanya secara lengkap adalah sebagai berikut:

  • SUBMITTED : Job telah di-submit ke RB/WMS.
  • WAIT : job match making untuk mencari sumber daya yang tersedia.
  • READY : job telah dikirim ke CE yang akan menjalankan nya.
  • SCHEDULED : job telah dijadwalkan didalam sistem antrian CE.
  • RUNNING : job sedang dijalankan di WN.
  • DONE : job telah diselesaikan tanpa kesalahan.
  • CLEARED : output dari job telah diambil
  • ABORT : job dihentikan
  • CANCELLED : job dibatalkan


Job Output

Ketika hasil dari glite-job-status menyatakan bahwa job telah selesai, hasilnya dapat diambil menggunakan perintah glite-wms-job-output . Anda tidak perlu menyebutkan identifier delegasi secara spesifik.

[pelita@glite-ui ~]$ glite-wms-job-output -i jobid
------------------------------------------------------------------
1 : https://wms01.grid.sinica.edu.tw:9000/gpXIcXcXysGmAktqwvbeng
2 : https://wms01.grid.sinica.edu.tw:9000/yPlXICFTuduVkNPf3vdDcg
3 : https://wms01.grid.sinica.edu.tw:9000/aIJfmRDm2YEA1gOpZBJ8rw
4 : https://wms01.grid.sinica.edu.tw:9000/uEq5x_CXIFB-fm2WjQMZ7w
a : all
q : quit
------------------------------------------------------------------

Choose one or more jobId(s) in the list - [1-4]all (use , as separator or - for a range): 1

Connecting to the service https://wms01.grid.sinica.edu.tw:7443/glite_wms_wmproxy_server


Warning - JobPurging not allowed
 (HTTP Error)


================================================================================

                        JOB GET OUTPUT OUTCOME

Output sandbox files for the job:
https://wms01.grid.sinica.edu.tw:9000/gpXIcXcXysGmAktqwvbeng
have been successfully retrieved and stored in the directory:
/tmp/jobOutput/pelita_gpXIcXcXysGmAktqwvbeng

================================================================================


[pelita@glite-ui ~]$

Dalam rangka memeriksa output dari suatu job, lihat daftar file pada direktori yang disebutkan kemudian lihat isi dari file-file output tersebut.

[pelita@glite-ui ~]$ ls -la /tmp/jobOutput/pelita_gpXIcXcXysGmAktqwvbeng
total 12
drwxr-xr-x  2 pelita pelita 4096 Oct 28 10:39 .
drwxrwxrwt  3 root   root   4096 Oct 28 10:39 ..
-rw-rw-r--  1 pelita pelita    0 Oct 28 10:39 hostname.err
-rw-rw-r--  1 pelita pelita   24 Oct 28 10:39 hostname.out
[pelita@glite-ui ~]$

[pelita@glite-ui ~]$ cat /tmp/jobOutput/pelita_gpXIcXcXysGmAktqwvbeng/hostname.out
wn-gb-026.biruni.upm.my
[pelita@glite-ui ~]$

Direktori output dapat dipilih oleh user dengan menggunakan opsi –dir:

[pelita@glite-ui ~]$ glite-wms-job-output -i jobid --dir jobdir
------------------------------------------------------------------
1 : https://wms01.grid.sinica.edu.tw:9000/gpXIcXcXysGmAktqwvbeng
2 : https://wms01.grid.sinica.edu.tw:9000/yPlXICFTuduVkNPf3vdDcg
3 : https://wms01.grid.sinica.edu.tw:9000/aIJfmRDm2YEA1gOpZBJ8rw
4 : https://wms01.grid.sinica.edu.tw:9000/uEq5x_CXIFB-fm2WjQMZ7w
a : all
q : quit
------------------------------------------------------------------

Choose one or more jobId(s) in the list - [1-4]all (use , as separator or - for a range): 1

Connecting to the service https://wms01.grid.sinica.edu.tw:7443/glite_wms_wmproxy_server


Warning - JobPurging not allowed
 (HTTP Error)


================================================================================

                        JOB GET OUTPUT OUTCOME

Output sandbox files for the job:
https://wms01.grid.sinica.edu.tw:9000/gpXIcXcXysGmAktqwvbeng
have been successfully retrieved and stored in the directory:
/home/pelita/jobdir

================================================================================


[pelita@glite-ui ~]$

[pelita@glite-ui ~]$ ls -la jobdir
total 12
drwxr-xr-x  2 pelita pelita 4096 Oct 28 10:43 .
drwx------  6 pelita pelita 4096 Oct 28 10:43 ..
-rw-rw-r--  1 pelita pelita    0 Oct 28 10:43 hostname.err
-rw-rw-r--  1 pelita pelita   24 Oct 28 10:43 hostname.out
[pelita@glite-ui ~]$


Membatalkan Job

Jika terjadi suatu kesalahan, suatu job dapat dibatalkan menggunakan perintah glite-wms-job-cancel. Sekali lagi, opsi -i bisa digunakan (bermanfaat terutama untuk membatalkan lebih banyak file dengan satu perintah).

[pelita@glite-ui ~]$ glite-wms-job-cancel -i jobid
------------------------------------------------------------------
1 : https://wms01.grid.sinica.edu.tw:9000/gpXIcXcXysGmAktqwvbeng
2 : https://wms01.grid.sinica.edu.tw:9000/yPlXICFTuduVkNPf3vdDcg
3 : https://wms01.grid.sinica.edu.tw:9000/aIJfmRDm2YEA1gOpZBJ8rw
4 : https://wms01.grid.sinica.edu.tw:9000/uEq5x_CXIFB-fm2WjQMZ7w
a : all
q : quit
------------------------------------------------------------------

Choose one or more jobId(s) in the list - [1-4]all (use , as separator or - for a range): 4

Are you sure you want to remove specified job(s) [y/n]y : y

Connecting to the service https://wms01.grid.sinica.edu.tw:7443/glite_wms_wmproxy_server


============================= glite-wms-job-cancel Success =============================

The cancellation request has been successfully submitted for the following job(s):

- https://wms01.grid.sinica.edu.tw:9000/uEq5x_CXIFB-fm2WjQMZ7w

========================================================================================

Job yang telah selesai tidak dapat dibatalkan, jika mencoba membatalkan job yang telah selesai maka akan ditampilkan status “done” yang berarti job telah selesai atau “cleared” yang berarti kita telah mengambil output dari job tersebut.

[pelita@glite-ui ~]$ glite-wms-job-cancel -i jobid
------------------------------------------------------------------
1 : https://wms01.grid.sinica.edu.tw:9000/gpXIcXcXysGmAktqwvbeng
2 : https://wms01.grid.sinica.edu.tw:9000/yPlXICFTuduVkNPf3vdDcg
3 : https://wms01.grid.sinica.edu.tw:9000/aIJfmRDm2YEA1gOpZBJ8rw
4 : https://wms01.grid.sinica.edu.tw:9000/uEq5x_CXIFB-fm2WjQMZ7w
a : all
q : quit
------------------------------------------------------------------

Choose one or more jobId(s) in the list - [1-4]all (use , as separator or - for a range): 1

Are you sure you want to remove specified job(s) [y/n]y : y

Error - Cancel not allowed
Current Job Status is Done


Referensi

Halaman ini merupakan saduran bebas dengan beberapa penyesuaian dari:
http://www.euasiagrid.org/wiki/index.php/GLite_Job_Management (external link)
http://aproc.twgrid.org/index.php?option=com_content&task=view&id=14&Itemid=33 (external link)
https://grid.ct.infn.it/twiki/bin/view/GILDA/SimpleJobSubmission (external link)


Last edited by admin , based on work by pelita .
Page last modified on Friday 12 of March, 2010 12:57:58 WIT.