Các thành phần điều khiển

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 37 - 39)

Dưới đây liệt kê tất cả các thành phần điều khiển và chương trình có thể bắt đầu chạy với Condor và những gì chúng thực hiện.

+ condor_master: là thành phần điều khiển chủ, có trách nhiệm giữ cho tất cả các thành phần khác của Condor chạy trong mỗi máy trong vùng hoạt động của Condor. Nó sinh ra các thành phần điều khiển khác, và kiểm tra định kì để xem liệu có đối tượng nhị phân mới nào được cài trên một thành phần nào trong chúng hay không. Nếu có, nó sẽ khởi động lại các thành phần điều khiển bị ảnh hưởng. Và nếu bất kì thành phần điều khiển nào bị va chạm, thành phần chủ đó có thể thông báo đến người quản trị Condor và khởi động lại thành phần điều khiển đó. Thành phần điều khiển này hỗ trợ rất nhiều các lệnh quản trị cho phép người dùng khởi động, dừng hay cấu hình lại các thành phần điều khiển từ xa. Nó sẽ chạy trên mọi máy trong vùng hoạt động của Condor mà không quan tâm đến các chức năng nào mà mỗi máy thực hiện.

+ condor_startd: thành phần này mô tả một tài nguyên đã có cho vùng hoạt động Condor. Nó quảng bá (advertise) các thuộc tính xác định về tài nguyên mà được sử dụng để đáp ứng cho các yêu cầu tài nguyên. Thành phần này sẽ chạy trên bất kì máy nào của vùng hoạt động mà bạn muốn nó có thể thi hành công việc người dùng. Nó có trách nhiệm khẳng định chính sách mà người chủ tài nguyên thiết đặt mà sẽ quyết định xem dưới những điều kiện nào thì các công việc từ xa sẽ được bắt đầu, trì hoãn, trở lại, bỏ trống hay bị bóp chết. Khi thành phần này sẵn sàng để thi hành một công việc thì nó sẽ sinh ra thành phần condor_starter được mô tả dưới đây.

+ condor_starter: thành phần này thực tế sẽ sinh ra một công việc thực sự của Condor từ xa trên một máy cho trước. Nó thiết lập (set up) môi trường thực hiện và quản lí công việc một khi nó đang chạy. Khi công việc kết thúc, thành

phần này sẽ thông báo và gửi lại bất kì thông tin gì về tình trạng công việc đến máy đã đưa vào (submitting machine) và tự động thoát.

+ condor_schedd: thành phần này diễn tả các yêu cầu tài nguyên trong vùng hoạt động Condor. Bất kì máy nào người dùng được cho phép đưa công việc vào từ đó đều cần phải chạy thành phần điều khiển này. Khi người dùng đưa công việc vào, các công việc sẽ được dẫn sắp xếp tiến trình thực hiện và được lưu trong hàng đợi công việc (job queue) nơi mà thành phần này quản lí. Rất nhiều công cụ để hiện xem và thao tác với hàng đợi công việc (như là condor_ submit, condor_

q, condor_ rm) được liên hệ với tiến trình sắp xếp để làm việc. Nếu tiến trình sắp

xếp condor_schedd này bị lỗi trên một máy, sẽ không có lệnh nào trong các lệnh trên thực hiện được.

Tiến trình sắp xếp thông báo số lượng các công việc đang chờ trong hàng đợi công việc và có trách nhiệm ra quyết định yêu cầu tài nguyên có sẵn phục vụ cho các yêu cầu tài nguyên của công việc người dùng. Một khi sự sắp xếp đã phù hợp với một tài nguyên, tiến trình này sinh ra một thành phần theo dõi

condor_shadow (được mô tả dưới đây) để phục vụ cho yêu cầu cụ thể đó.

+ condor_shadow: chương trình điều khiển này chạy trên máy mà có yêu cầu công việc được đưa vào và hoạt động như một chương trình điều khiển tài nguyên cho yêu cầu đó. Chương trình này thực hiện yêu cầu về tài nguyên ở máy đưa vào công việc và gửi kết quả tới máy thi hành.

+ condor_collector: thành phần này có trách nhiệm thu thập tất cả thông tin về tình trạng của một vùng hoạt động Condor. Tất cả các thành phần điều khiển khác, ngoại trừ thành phần đàm phán thương lượng (negotiator) sẽ gửi định kì các chùm tin quảng bá ClassAd được cập nhật đến thành phần này. Những chùm tin này chứa tất cả thông tin về tình trạng của các thành phần điều khiển (daemons), tài nguyên được mô tả cũng như các yêu cầu tài nguyên trong vùng hoạt động. Lệnh condor_status có thể dùng để truy vấn thành phần thu thập thông tin này để xác định các thông tin về nhiều đối tượng trong hệ thống. Ngoài ra, các thành phần điều khiển Condor cũng có thể tự truy vấn (query) lấy các thông tin quan trọng như là địa chỉ nào được sử dụng để gửi lệnh tới một máy tính từ xa.

+ condor_negotiator: thành phần này có trách nhiệm thực hiện tất cả các việc nối ghép tài nguyên của hệ thống. Theo định kì, nó bắt đầu một chu kì thương

lượng (negotiation cycle), trong đó nó truy xuất thành phần thu thập thông tin (connector) để xác định tình trạng hiện tại của tất cả các tài nguyên trong vùng hoạt động. Nó liên hệ với mỗi thành phần sắp xếp (schedd) có yêu cầu tài nguyên đang chờ đợi theo thứ tự ưu tiên, và cố gắng nối các tài nguyên có sẵn với các yêu cầu đó. Thành phần này có trách nhiệm xác thực mức ưu tiên của người dùng trong hệ thống, nơi càng nhiều tài nguyên mà một người dùng đòi hỏi thì mức ưu tiên càng thấp, tức càng ít cơ hội để lấy được tài nguyên. Nếu một người dùng với mức ưu tiên cao hơn có các công việc đang đợi để thi hành, còn tài nguyên đang được đòi hỏi sử dụng bởi một người dùng có mức ưu tiên thấp hơn, thành phần điều khiển này sẽ có thể đặt quyền ưu tiên sử dụng tài nguyên cho người dùng có mức ưu tiên cao hơn.

Lưu ý: Một giá trị ưu tiên (dạng số) cao hơn của người dùng trong Condor

tương ứng với mức ưu tiên thấp hơn của người dùng đó. Mức ưu tiên tốt nhất của người dùng là 0,5 và mức ưu tiên càng giảm khi số này càng tăng lên.

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 37 - 39)