Giải thuật lập lịch tối ưu về thời gian

Một phần của tài liệu một số thuật toán lập lịch để phân phối tài nguyên trong hệ thống tính toán lưới (Trang 70 - 71)

Giải thuật lập lịch tối ưu về thời gian nhằm mục ñích hoàn thành công việc một cách nhanh nhất có thể với ñiều kiện giới hạn về kinh phí [15]. Các bước chính của giải thuật này như sau:

1. Đối với mỗi tài nguyên, xác ñịnh thời gian ñể tài nguyên hoàn thành công việc ñã ñược ấn ñịnh tiếp theo (ñồng thời có tính ñến các công việc ñã ấn ñịnh trước

ñó và tốc ñộ thực hiện công việc).

2. Sau ñó, sắp xếp tài nguyên theo thứ tự giảm dần của thời gian hoàn thành công việc ñã ñược ấn ñịnh tiếp theo.

3. Ấn ñịnh một công việc cho tài nguyên ñầu tiên trong danh sách tài nguyên

ñã ñược sắp xếp sao cho chi phí trên mỗi công việc nhỏ hơn hoặc bằng với kinh phí còn lại cho mỗi công việc.

4. Lặp lại các bước trên tới khi tất cả các công việc ñược ấn ñịnh. Một số nhận xét về giải thuật:

- Giải thuật lập lịch tối ưu về thời gian cho phép hoàn thành các công việc trong thời hạn sớm nhất có thể với chi phí nằm trong giới hạn cho phép ñã ñược ấn

72

công việc nhanh nhất có thểñể ñạt ñược mục ñích tối ưu về thời gian. Điều này có nghĩa là ở ñây người ta chỉ quan tâm ñến yếu tố về thời gian, như vậy thường là phải trả giá về chi phí.

- Nếu người dùng có một lượng ngân sách không hạn chế, khi ñó bài toán lập lịch trong tính toán lưới trở thành bài toán tối ưu cổñiển: cho một tập M tài nguyên

và một tập N công việc, tìm cách thực hiện nhanh nhất. Cách giải quyết bài toán này theo phương pháp cổ ñiển là dùng các giải thuật tối ưu tổ hợp. Đối với tính toán lưới hiện nay, người ta thường dùng các giải thuật như tìm kiếm Tabu, mô phỏng tôi luyện, di truyền, ... Tuy nhiên, ñiều này trong thực tế hiếm khi xảy ra vì người dùng ít khi ñạt ñược tình trạng dư giả về tài chính. Mặt khác nhưñã phân tích ở trên, do tính chất bất ñịnh của môi trường lưới, việc áp dụng các giải thuật tối ưu cổñiển sẽ trở nên kém hiệu quả.

- Độ phức tạp tính toán:

Giả sử số công việc ñầu vào là n và s tài nguyên là m. Thông thường ta có

n>>m. Giải thuật có một vòng lặp chính duyệt qua tất cả các tài nguyên và các công việc:

- Vòng lặp ngoài: duyệt tuần tự qua danh sách n công việc.

- Vòng lặp trong: duyệt tuần tự qua từng tài nguyên ñể thực hiện một số thao tác tính toán sau ñó sắp xếp tập tài nguyên. Như vậy, thời gian tính toán chủ yếu tập trung vào phần sắp xếp. Nếu áp dụng giải thuật Quicksort ñộ phức tạp tính toán là

O(mlogm). Như vậy, ñộ phức tạp tính toán của giải thuật là O(mnlogm).

Một phần của tài liệu một số thuật toán lập lịch để phân phối tài nguyên trong hệ thống tính toán lưới (Trang 70 - 71)