Cấu hình cluster-based PBS

Một phần của tài liệu NGHIÊN CỨU TỔNG QUAN VỀ TÍNH TOÁN LƯỚI (Trang 78)

Công việc cấu hình cluster-based PBS được thực hiện trên nút chủ của cluster. PBS đã cung cấp cho chúng ta môt lệnh quản lý cấu hình

PBS dùng cho việc cấu hình trên giao diện dòng lệnh đó là lệnh qmgr.

Các lệnh cấu hình cho PBS thường có cấu trúc như sau: command

server [names] [attr OP value[,...]] command queue [names] [attr OP

value[,...]] command node [names] [attr OP value[,...]]

Ở đậy “command” thực hiện một tác động lên các đối tượng “server”, “queue”, “node”. Các lệnh này bao gồm:

1. Active: dùng để kích hoạt đối tượng

2. Create: tạo một đối tượng mới như hàng đợi hoặc nút 3. Delete: xóa một đối tượng hàng đợi hoặc nút

4. Help: hiển thị thông tin chi tiết của lệnh

5. List: liệt kê các thuộc tính và giá trị của đối tượng

6. Print: hiển thị các hàng đợi đã được thiết lập và các thuộc tính của server.

7. Set: định nghĩa hoặc thêm các thuộc tính cho đối tượng, ngược lại Unset

* Cấu hình cho đối tượng Server

Sử dụng các thuộc tính của lệnh cấu hình PBS như: 1. scheduling: kích hoạt hoặc tắt bộ lập lịch

2. max_user_run: số công việc tối đa một người có thể thực hiện cùng lúc

3. acl_host_enable: cho phép server sử dụng danh dách máy trong acl_hosts

4. acl_hosts: danh sách các máy có thể yêu cầu từ server

5. default_queue: hàng đợi mặc định dùng khi ko được chỉ rõ tên 6. log_events: độ dài xâu kỹ tự sẽ ghi lại các sự kiện xảy ra trong hệ thống.

7. mail_from: định danh của người dùng mà server sẽ dùng để gửi thư 8. queue_other_job: cho phép người dùng không sở hữu công việc nhưng xem được tình trạng của nó

9. resources_default: tập các giá trị mặc định

10. scheduler_interation: khoảng thời gian giữa các lần lập lịch

11. default_node: nút tính toán mặc định dùng khi không chỉ rõ tên nút để cấu hình cho server.

Toàn bộ việc cấu hình cho đối tượng Server được thực hiện bằng các lệnh như trong shell script ở [17].

* Cấu hình đối tượng hàng đợi (queue)

Trong PBS có hai kiểu hàng đợi khác nhau [14]: hàng đợi định tuyến (routing) và hàng đợi thực thi (execution). Một hàng đợi định tuyến dùng để chuyển công việc từ hàng đợi này sang một hàng đợi khác trong PBS Server. Còn hàng đợi thực thi dùng để thực hiện công việc, công việc tồn tại trong nó suốt quá trình chạy. Thông thường một PBS Server muốn

hoạt động tốt phải có cả hai loại hàng đợi này. Các thuộc tính của hàng

đợi chia thành ba nhóm:

- Nhóm thuộc tính chỉ áp dụng với hàng đợi thực thi

- Nhóm thuộc tính chỉ áp dụng với hàng đợi định tuyến

- Nhóm thuộc tính áp dụng với cả hai kiểu hàng đợi

Các thuộc tính của hàng đợi định tuyến (adsbygoogle = window.adsbygoogle || []).push({});

1. queue_type_route: là kiểu hàng đợi định tuyến, dùng để phân công việc.

2. max_running: số công việc tối đa có thể năm trong hàng đợi cùng lúc.

3. route_destination: các hàng đợi mà công việc sẽ được chuyển đến 4. enable: cho phép nhận/không nhận công việc mới

5. started: công việc được lập lịch sẽ được thực thi từ hàng đợi này

Các thuộc tính của hàng đợi thực thi

1. queue_type_excecute: kiểu hàng đợi thực thi

2. priority: mức độ ưu tiên của hàng đợi này so với các hàng đợi . 3. max_running: số công việc tối đa đồng thời có trong hàng đợi

4. resource_max: lượng tài nguyên lớn nhất có thể được yêu cầu cho một công việc, ngược lại là resource_min

5. resource_default: tài nguyên mặc định

6. enable: cho phép nhận/không nhận công việc mới

Việc cấu hình đối tượng hàng đợi định tuyến và hàng đợi thực thi được thực hiện thông qua các lệnh trong shell script ở [17].

Để tạo ra các loại hàng đợi khác nhau ra chỉ cần thay đổi các giá trị nhập cho các thuộc tính của lệnh trong shell script dùng để tạo một hàng đợi thực thi có tên là small, mức độ ưu tiên 100, dùng để thực hiện các công việc có thời gian yêu cầu ít hơn 20 phút.

# Create and define queue small Qmgr: create queue small

Qmgr: set queue small queue_type = Execution Qmgr: set queue small Priority = 100

Qmgr: set queue small max_running = 10

Qmgr: set queue small resources_max.cput = 00:20:00 Qmgr: set queue small resources_default.cput = 00:20:00 Qmgr: set queue small enabled = True

Qmgr: set queue small started = True

Tất cả các shell script ở [17] đã được dùng và kiểm thử trên trung tâm tính toán hiệu năng cao, và cho kết quả khá tốt.

Một phần của tài liệu NGHIÊN CỨU TỔNG QUAN VỀ TÍNH TOÁN LƯỚI (Trang 78)