LẬP LỊCH QUÁ TRÌNH CẤP PHÁT TÀI NGUYÊN SỬ DỤNG MÁY ẢO
6.3. Lập lịch với deadline:
Hệ thống lập lịch cho các yêu cầu có deadline bằng cách nâng cấp các thuật toán trước. Tùy thuộc vào deadline, thuật toán phân phối (5) sẽ tìm cách lập lịch lease đó dự vào thuật toán best-effort hoặc advance-reservation. Hệ số để xem xét tính khẩn cấp của lease được định nghĩa là slack: (hệ số này càng nhỏ, thể hiện yêu cầu càng khẩn cấp. Nếu slack dưới một ngưỡng cho phép, thuật toán sẽ lập lịch lease này như một yêu cầu dạng đặt chỗ chính xác tại thời điểm start[l] và cho phép yêu cầu này tạm chiếm những lease khác. Nếu việc này thất bại, hoặc slack ở mức cho phép, thuật toán sẽ lập lịch vào thời điểm sớm nhất khi tài nguyên rảnh mà không cần tạm chiếm.
Chính sách tạm chiếm cho phép một lease có thể bị tạm chiếm chỉ khi nó có thể được lập lịch trở lại mà vẫn đảm bảo deadline. Sâu hơn, khi tạm chiếm 1 lease, trình lập lịch sẽ chọn lease nào có slack cao nhất.
Thuật toán 5: Lập lịch một lease l với deadline
slack[l] ←
if slack[l] SLACK_THRESHOLD then {SLACK_THRESHOLD: ngưỡng slack } Lập lịch ngay lập tức tại thời điểm start[l] với quyền tạm chiếm
if không thể lập lịch then
Lập lịch tại bất kỳ thời điểm nào sau start[l] không dùng tạm chiếm end if
else
Lập lịch tại bất kỳ thời điểm nào sau start[l] không dùng tạm chiếm end if
if không thể lập lịch then
ls ← Tập các lease được lập lịch sau start[l] Thêm l vào ls
Sắp xếp các lease trong ls theo thứ tự slack từ nhỏ đến lớn. Với mỗi lease l' ls, nếu l' được lập lịch lại, nó sẽ phải bắt đầu muộn nhất vào thời điểm submit[l], vậy giá trị slack sẽ bằng
Lập lịch lại tất cả các lease trong ls không dùng tạm chiếm if không thể lập lịch tất cả các lease then
Phục hồi thứ tự lập lịch cũ. Từ chối l else Chấp nhận l end if else Chấp nhận l end if
Hình 9: Dành chỗ các node trước những AR
Hình 11: Tạm treo trước và phục hồi sau một AR