Lệnh globusrun-ws

Một phần của tài liệu NGHIÊN CỨU TỔNG QUAN VỀ TÍNH TOÁN LƯỚI VÀ ỨNG DỤNG MÔ HÌNH THỬ NGHIỆM TRÊN LINUX (Trang 53)

Lệnh này bao gồm các chức năng quản lý công việc thực thi như: gửi công việc để thực thi, theo dõi quá trình thực thi và quản lý các công việc và các chức năng tinh vi khác như: truy xuất file, ủy quyền, gửi công việc chỉ một lần, timeout, bảo mật thông điệp, và phân quyền.

* Chức năng Basic Job submission

Lệnh đệ trình thực thi chương trình "/bin/touch" với tham số vào "touched_it" được gõ lệnh như sau:

% globusrun-ws -submit -job-command /bin/touch touched_it

Nếu đệ trình thành công, ta sẽ nhận được thông tin trạng thái của chương trình này khi nó đang chạy và khi kết thúc như sau (các thông tin này được hiển thị ngay dưới lệnh vừa gõ):

Submitting job...Done.

Job ID: uuid:c51fe35a-4fa3-11d9-9cfc-000874404099

Termination time: 12/17/2004 20:47 GMT Current job state: Active Current job state: CleanUp Current job state: Done Destroying job...Done.

Nếu không thích gõ lệnh, ta có thể mô tả công việc cần đệ trình trong một file XML, và lệnh gửi thực thi công việc này như sau:

% cat touch.xml <job>

<executable>/bin/touch</executable> <argument>touched_it</argument> </job>

% globusrun-ws -submit -job-description-file touch.xml

Để xác định nơi chương trình sẽ thực thi, ta phải mô tả một tham chiếu tới điểm cuối trong một file.epr như:

% cat gram.epr <factoryEndpoint

mlns:gram = ht t p:/ / ww w .g l ob u s.o r g/ n am e sp a ces / 20 0 4/ 1 0/ g ram / job

xmlns:wsa="h t tp: / /s c he m as . xml s oa p .o r g/ w s/2 0 04 / 03 / ad d res s in g"> <wsa:Address> https://viz- login.isi.edu:9000/wsrf/services/ManagedJobFactoryService </wsa:Address> <wsa:ReferenceProperties> <gram:ResourceID>PBS</gram:ResourceID>

</wsa:ReferenceProperties> </factoryEndpoint>

% globusrun-ws -submit -job-description-file touch.xml - factory- epr-file gram.epr

Giá trị mặc định của -factory -factory-type lần lượt là

"localhost" và "fork". Trong ví dụ trên thì công việc sẽ được thực thi trên máy hiện tại bằng lời gọi fork() của hệ điều hành UNIX.

% globusrun-ws -submit -factory localhost -factory-type fork -job-command /bin/touch touched_it

* Tương tác với công việc đã gửi

Có 2 cách để tương tác với công việc sau khi gửi là: tương tác

Online, nghĩa là tạo và duy trì một liên kết liên tục với công việc đã gửi để nhận được thông tin về trạng thái công việc cũng như ra lệnh ngưng giữa

chừng; tương tác Offline hoặc Batch mode, nghĩa là không duy trì liên kết

liên tục mà trả về một tham chiếu đến điểm cuối EPR của công việc. Người dùng có thể yêu cầu cho biết trạng thái công việc khi cần. Để làm

điều này, ta dùng tùy chọn -job-epr-output-file tiếp theo là file sẽ chứa EPR

trong lệnh đệ trình công việc phía trên [6].

Để nhận được trạng thái hiện tại của công việc, ta gõ lệnh: % globusrun-ws -status -job-epr-file mj.epr

hoặc chuyển sang chế độ online:

% globusrun-ws -monitor -job-epr-file mj.epr hoặc ngưng (kill) công việc: (adsbygoogle = window.adsbygoogle || []).push({});

% globusrun-ws -kill -job-epr-file mj.epr * Trạng thái và chu kỳ sống của công việc

Hình sau mô tả sơ đồ dịch chuyển trạng thái trong chu kỳ sống của công việc.

Unsubmitted. Công việc chưa được gửi

StageIn. Đang đợi để truy xuất file input

Pending. Bộ lập lịch cục bộ vẫn chưa lập lịch cho công việc đệ thực thi.

Active. Công việc đang thực thi

Suspended. Tạm ngưng thực thi công việc

StageOut. Công việc đã thực thi xong, đang đợi để ghi kết quả ra

CleanUp. Đã thực thi xong, hoàn thành in kết quả, thực hiện dọn dẹp.

Done. Hoàn thành mọi việc

Failed. Bị lỗi

* Bố trí file vào, ra, lỗi và các đặc tính khác

Trong nhiều trường hợp, tập tin thực thi và dữ liệu vào cần được đưa đến máy đích và/hoặc dữ liệu ra phải được đưa ra. Việc bố trí tập tin này được đặc tả bằng các chỉ thị chuyển tập tin trong file mô tả công việc. Những chỉ thị này tuân theo cú pháp RFT gồm địa chỉ URL nguồn và đích [6].

* Đại diện tin cậy

Một công việc gửi tới máy chủ GRAM nhiều khi cần có ủy nhiệm thư nếu muốn:

− Thực hiện các thao tác từ xa, như gửi công việc GRAM, hay gọi các

dịch vụ Web khác. Trường hợp này cần có ủy nhiệm thư công việc – job credentials. Người dùng sẽ cung cấp uỷ nhiệm thư kèm với yêu cầu gửi thực hiện công việc. Ủy nhiệm sẽ hết tác dụng ngay khi công việc kết thúc

− Thực hiện các thao tác bố trí sắp xếp dữ liệu. Trường hợp này cần ủy

quyền bố trí – staging credentials. Người dùng sẽ gửi ủy nhiệm thư cho dịch vụ Delegation chạy trên máy chủ GRAM, và chúng có thể được dùng cho nhiều yêu cầu thực thi công việc

GT4 cung cấp các công cụ sau để áp dụng 2 chế độ uỷ quyền này:

− Câu lệnh globus-credential-delegate cho phép tạo cả 2 loại uỷ nhiệm

thư tới máy chủ GRAM và trả về một tham chiếu EPR tới ủy nhiệm mới được tạo. (client có thể dùng lệnh globus-credential-refresh để làm mới lại uỷ nhiệm thư).

− Sau khi đã có uỷ nhiệm thư bằng cách trên, clien có thể sử dụng uỷ nhiệm thư này bằng cách nhập tham chiếu EPR vào tập tin mô tả công việc trong các phần tử jobCredential, stagingCredential, và/hoặc transferCredential

Sử dụng các tuỳ chọn -job-delegate và -staging-delegate của lệnh gbusrun-ws để yêu cầu tạo ủy nhiệm thư đi kèm với một công việc. Ý nghĩa của các tuỳ chọn này như sau:

− job-delegate: Nếu trong tập tin mô tả công việc không chứa phần

tử jobCredential, globusrun-ws sẽ tạo uỷ nhiệm thư và đưa phần tử tương ứng vào file mô tả công việc.

− staging-delegate: Nếu trong file mô tả công việc có chứa các chỉ thị

staging hoặc cleanup và khôngcó các phần tử

stagingCredential hoặc transfer Credential, globusrun-ws sẽ tự động

tạo phần tử tương ứng và đưa vào trong file mô tả công việc (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu NGHIÊN CỨU TỔNG QUAN VỀ TÍNH TOÁN LƯỚI VÀ ỨNG DỤNG MÔ HÌNH THỬ NGHIỆM TRÊN LINUX (Trang 53)