Mục tiêu chính của lập lịch là tối ưu hóa hai yếu tố về thời gian và chi phí. Hai yếu tố này bị ảnh hưởng trực tiếp bởi các ñặc trưng của ứng dụng: nhu cầu về khả
năng tính toán và nhu cầu về bộ nhớ. Do vậy, trong phần này, luận án nghiên cứu sự ảnh hưởng của hai ñặc trưng này ñến hiệu quả của việc lập lịch trong tính toán lưới và ñưa ra giải thuật tham lam ñể giải quyết. Các kết quả thực nghiệm chỉ ra rằng
75
trong các trường hợp cụ thể, giải thuật tham lam có ñược các phương án lập lịch tốt hơn so với giải thuật mô phỏng tôi luyện (SA).
Mục tiêu của giải thuật lập lịch là cung cấp phương thức quản lý tài nguyên hệ
thống một cách hiệu quả, mềm dẻo và thuật tiện ñể thỏa mãn các yêu cầu của các
ứng dụng khác nhau. Hầu hết các thuộc tính của tài nguyên ảnh hưởng ñến sự lựa chọn tài nguyên bởi các ứng dụng khác nhau có các yêu cầu tài nguyên khác nhau. Do vậy, không thể sử dụng cùng một luật ñể sắp ñặt các tài nguyên cho các kiểu khác nhau của ứng dụng. Ví dụ, một ứng dụng nặng về tính toán sẽ cần tài nguyên hệ thống là các CPU tốc ñộ cao, trong khi ứng dụng về truyền thông lại yêu cầu tài nguyên hệ thống là các mạng tốc ñộ cao. Do vậy, các luật về thứ hạng phải là khác nhau: tốc ñộ CPU, bộ nhớ là quan trọng hơn cho kiểu ứng dụng nặng về tính toán, trong khi băng thông mạng là quan trọng hơn trong các ứng dụng nặng về truyền thông.
Từ quan sát ở trên, thấy rằng: một giải thuật lập lịch cần quan tâm ñến việc sử
dụng các ñộ ño khác nhau cho các tài nguyên và các ñộ ño phải có sự ảnh hưởng khác nhau tùy thuộc vào kiểu của ứng dụng ñể có thể áp dụng cho nhiều kiểu ứng dụng khác nhau. Hiện tại, các ñộño: số lượng CPU, tốc ñộ CPU, kích thước bộ nhớ, băng thông mạng, ñộ trễ,… thường ñược sử dụng.
Không mất tính tổng quát, ta giả sử rằng: Mỗi một ứng dụng chỉ là một công việc và mỗi một công việc Ji chỉ quan tâm ñến hai yếu tố là tốc ñộ tính toán của
CPU (ci) và bộ nhớ (mi). Khi ñó tải trọng tính toán yêu cầu của công việc này ñược tính theo công thức sau:
Ji = αi ci + βi mi (3. 1)
trong ñó αi, βi là tham số thiết kế và là các trọng số như ñã trình bày ở trên. Tương tự vậy, mỗi một tài nguyên có hai thuộc tính quan trọng là khả năng tính toán của CPU (cm) và bộ nhớ (mm) và khả năng tính toán ñược tính theo công thức sau:
76
Mi = w1i cmi + w2i mmi (3. 2)
trong ñó w1i , w2i là các trọng số của các thuộc tính của tài nguyên và là các tham số thiết kế. Chú ý rằng, cách ñịnh nghĩa các tham số và công thức ở ñây là thực tế vì chúng ta có trả giá cho tốc ñộ tính toán của CPU bằng kích thước bộ nhớ
và ngược lại.
Mặt khác, hai yếu tố quan trọng nhất của công việc lập lịch trong một lưới tính toán ñó là: cực tiểu Makespan (khoảng thời gian hoàn thành toàn bộ các công việc) hoặc Flowtime (tổng thời gian thực hiện của các công việc). Tuy nhiên, các nghiên cứu trước ñây ñã chỉ ra rằng: Makespan là quan trọng hơn Flowtime. Vì vậy, giải thuật chỉ quan tâm ñến việc cực tiểu makespan.
Với bài toán tổng quát ñược phát biểu trong mục 2.2.1, bài toán ñặt ra ởñây là: Lập lịch ñể hệ thống tính toán thực hiện tất cả các công việc sao cho Makespan cực tiểu, nghĩa là biểu thức (2.2) cực tiểu: ( ) 1 ( ) ( ) 1.. { ,..., } min{ max { }} j i m j i m j i i n M M M i M T T J = ∈ = +
Ý tưởng của giải thuật như sau: Sắp xếp các tài nguyên tính toán theo thứ tự
giảm dần của khả năng tính toán hiện tại (tức là khả năng tính toán của hệ thống và thời gian kết thúc công việc trước ñó). Sau ñó, sắp xếp các công việc theo tải tính toán giảm dần và việc ấn ñịnh các công việc cho các tài nguyên sẽ theo thứ tự từ
trên xuống tương ứng. Sau mỗi lần ấn ñịnh các công việc, danh sách các tài nguyên tính toán sẽñược sắp xếp lại. Hình 3.1 dưới ñây là mã giả của giải thuật tham lam cho việc lập lịch.
Bắt_ñầu
77
JobList: Danh sách các công việc ñã ñược sắp
Lặp với mỗi Job TrongJobList Thực_hiện
Ấn ñịnh Job cho tài nguyên ResList[1];
Sắp xếp lại danh sách tài nguyên tính toán;
Hết_lặp Kết_thúc
Hình 3. 1. Mã giả cho giải thuật tham lam
Đánh giá ñộ phức tạp của giải thuật như sau: phải thực hiện n lần (n công việc),
ñộ phức tạp sắp xếp các m tài nguyên là O(m log m). Vì vậy, ñộ phức tạp của giải thuật tham lam trong trường hợp này là: O(nm log m).