Kiểm soát công việc

Một phần của tài liệu KHÓA LUẬN TỐT NGHIỆP: TÍNH TOÁN THÔNG LƯỢNG CAO VỚI CONDOR (Trang 46 - 50)

Mục này cung cấp một bản tóm tắt tổng quát về những gì có thể được làm sau khi công việc đã được đưa vào. Những cơ chế cơ sở để kiểm soát một công việc được sẽ được giới thiệu còn các lệnh được mô tả ngắn gọn.

Khi các công việc được đưa vào, Condor sẽ cố gắng tìm các tài nguyên để chạy công việc đó. Một danh sách tất cả các công việc được đưa vào có thể lấy ra được bằng lệnh condor_status với lựa chọn submmitter. Một ví dụ của lệnh này được cho dưới đây:

C:\Condor\bin>condor_status -submitter

Name Machine Running IdleJobs HeldJobs

thuycq@hieudt hieudt 0 1 0 thuycq@linhntt linhntt 3 861 0 oanhply@vietdtm vietdtm 0 1 0

oanhply@vietdtm 0 1 0 thuycq@hieudt 0 1 0 thuycq@linhntt 3 861 0 Total 3 863 0 ™ Kiểm tra tiến trình công việc

Ở bất kì thời điểm nào, người dùng có thể kiểm tra trạng thái của công việc với lệnh condor_q. Lệnh này hiển thị tình trạng của tất cả các công việc.

™ Loại công việc ra khỏi hàng đợi

Một công việc có thể bị loại khỏi hàng đợi vào bất cứ lúc nào bằng cách sử dụng lệnh condor_rm. Nếu công việc được loại đi khi nó đang chạy, công việc đó sẽ bị bóp chết hay loại bỏ bất chấp mọi điều kiện (killed). Hàng đợi công việc cũng sẽ loại đi một đầu vào là đối tượng thi hành của công việc này.

™ Đặt một công việc vào trạng thái hold (bị nắm giữ)

Một công việc trong hàng đợi có thể được đặt vào trạng thái holdbằng cách dùng lệnh condor_hold. Một công việc trong trạng thái này sẽ không được thực

hiện và sẽ được duy trì trong tình trạng bị nắm giữ cho tới khi nó được giải phóng để có thể thi hành bằng lệnh condor_release.

Sử dụng lệnh condor_hold gây ra một tín hiệu ép buộc mạnh (hard kill signal) để gửi tới một công việc đang chạy, ép công việc đó vào trạng thái bị nắm

giữ. Sau khi được giải phóng, công việc đó có thể tiếp tục được thực hiện và sử dụng trạng thái (checkpoint) được lưu lại gần nhất nếu là công việc trong hệ thống

standard, hoặc thực hiện lại từ đầu với các hệ thống khác.

™ Thay đổi mức ưu tiên của công việc

Condor cũng cung cấp cho người dùng khả năng để đặt mức độ ưu tiên cho mỗi công việc được đưa vào. Những mức ưu tiên này của công việc được xác định cục bộ cho mỗi hàng đợi và có phạm vi từ -20 đến +20, trong đó giá trị cao hơn nghĩa là mức ưu tiên cao hơn. Giá trị ưu tiên mặc định của công việc là 0 và nó có

thể thay đổi bằng lệnh condor_prio. Ví dụ dưới đây sẽ thay đổi giá trị ưu tiên của công việc có thuộc tính ID= 2000.0 trở thành 10:

C:\condor\bin>condor_prio +10 2000.0

hoặc cũng có thể viết:

C:\condor\bin>condor_prio 2000.0 +10

Lưu ý là mức độ ưu tiên của công việc hoàn toàn khác với mức độ ưu tiên được thiết lập bởi Condor cho người dùng. Mức độ ưu tiên cho công việc không ảnh hưởng đến mức ưu tiên của người dùng. Chúng chỉ là một cơ chế cho người dùng xác định tầm quan trọng của mỗi công việc trong số tất cả các công việc được đưa vào một hàng đợi xác định.

™ Các log file (file ghi chép sự kiện)

Trong một log file của một công việc là một danh sách ghi chép các sự kiện theo thứ tự thời gian trong suốt quá trình sống của công việc từ lúc được đưa vào cho đến lúc bị loại ra khỏi hàng đợi. Định dạng của các sự kiện là giống nhau nên chúng có thể đọc được bởi các máy khác nhau. Có 4 trường thông tin luôn được xác định và hầu hết chúng được nối tiếp bằng các trường khác để đưa thêm thông tin xác định cho các loại sự kiện.

Trường đầu tiên trong sự kiện là một giá trị số miêu tả kiểu sự kiện với 3 chữ số. Trường thứ hai xác định mã số ID của công việc sinh ra sự kiện đó. Trong cặp ngoặc đơn là các thuộc tính đã được quảng bá của công việc (ClassAd job attributes) về giá trị ClusterID, ProcId, và phạm vi xác định MPI (MPI-specific rank), được phân cách nhau bởi dấu chấm. Trường thứ ba là ngày và giờ của sự kiện đó. Trường thứ tư là một xâu mô tả tóm tắt sự kiện. Các trường tiếp theo trường thứ tư đưa thêm thông tin cho kiểu sự kiện xác định đó.

Bảng sau liệt kê một số kiểu sự kiện thường gặp trong hệ thống Condor:

Bảng 2.2 Các sự kiện trong các log file

Mã số sự

000 Job submitted Đưa vào công việc 001 Job now running Công việc đang chạy 002 Error in executable Có lỗi thực hiện

003 Job was checkpointed Công việc thực hiện kiểm tra điểm trạng thái

004 Job evicted from machine Công việc bị bỏ trống (adsbygoogle = window.adsbygoogle || []).push({});

005 Job terminated Công việc kết thúc

006 Image size of job updated Công việc được cập nhật kích cỡ bộ nhớ

007 Shadow threw an exception Loại bỏ một ngoại lệ gặp phải

008 Generic Log Event Sự kiện ghi chép chung

009 Job Aborted Bỏ qua công việc

010 Job was suspended Công việc bị tạm dừng 011 Job was unsuspended Công việc thôi tạm dừng

012 Job was held Công việc bị nắm giữ

013 Job was released Công việc được giải phóng

™ Sự kết thúc công việc

Khi công việc của người dùng kết thúc (hoặc hoàn thành bình thường hoặc bởi tín hiệu kết thúc bất thường), Condor sẽ loại bỏ nó khỏi hàng đợi công việc và thêm nó vào trong file lịch sử của công việc (job history file). Người dùng có thể kiểm tra file đó với lệnh condor_history. Nếu người dùng xác định một log file

trong file mô tả việc đưa vào (submit description file) thì trạng thái kết thúc của công việc sẽ được ghi lại trong đó giống như thực tế đã diễn ra.

Một phần của tài liệu KHÓA LUẬN TỐT NGHIỆP: TÍNH TOÁN THÔNG LƯỢNG CAO VỚI CONDOR (Trang 46 - 50)