MÔ HÌNH VÀ LẬP LỊCH THỜI GIAN TẠM TREO VÀ PHỤC HỒI MÁY ẢO
7.1. Mô hình thời gian tạm treo/phục hồi máy ảo:
Trong Chương 5, ta đã giả định thời gian tạm treo và phục hồi một máy ảo lần lượt là ts = m/hs và tr = m/hr (m là dung lượng của máy ảo tính bằng megabytes, hs và hr là số megabytes có thể tạm treo và phục hồi máy ảo trong một giây). Nếu loại bỏ giả định rằng
còn hợp lệ nữa vì ta không giả định được tất cả máy ảo có thể được tạm treo song song. Mặc dù mỗi máy đơn có thể tạm treo máy ảo một cách độc lập với những máy đơn khác nhưng thời gian tạm treo lúc này sẽ lại phụ thuộc vào số máy ảo được lập lịch trên mỗi máy đơn. Hơn nữa, kết quả tạm treo và phục hồi các máy ảo cùng nhau trong cùng một máy đơn vật lý sẽ khó dự tính được thời gian bởi vì chi phí này còn bị ảnh hưởng từ việc xuất nhập dữ liệu. Do đó, tạm treo và phục hồi phải được thực hiện tuần tự, mỗi tác vụ sẽ lần lượt truy cập vào hệ thống tập tin. Cụ thể hơn, nếu gọi ni là số máy ảo được phân phối
vào máy đơn vật lý i thì thời gian để tạm treo tất cả máy ảo trong máy đơn đó sẽ là ni. (m/hs). Hơn nữa, nếu ta cũng loại bỏ giả định tập tin trạng thái từ tạm treo lưu vào hệ
thống tập tin cục bộ, cho phép lưu vào hệ thống tập tin toàn cục thì các máy ảo trong mỗi máy đơn vật lý có thể không được tạm treo độc lập nữa mà trình lập lịch còn cần phải quan tâm đến sự tranh chấp khi truy cập hệ thống tập tin.
Do đó, thời gian tạm treo toàn bộ hợp đồng sẽ là: • ts = max(n0, n1, ..., np).m/hs nếu f = local;
• ts = N.m/hs nếu f = global;
Thời gian phục hồi tr cũng tương tự.
Tiếp theo, mỗi lệnh tạm treo/phục hồi gửi đến máy đơn vật lý cũng sẽ chịu một chi phí, ta gọi là chi phí liên lạc. Trong những thực nghiệm trước ta đã quan sát thấy rằng chi phí này không thể giả định là không có vì OpenNebula gởi những lệnh này đến máy đơn vật lý theo cách tuần tự qua giao thức TCP, và do đó nếu mỗi lệnh chỉ mất từ 1-2 giây để
xử lý thì khi tạm treo 64 máy ảo chi phí này sẽ tốn khoảng 64-128 giây. Do đó, nếu gọi e là chi phí ban hành lệnh tạm treo/phục hồi thì công thức sẽ là:
ngay khi kết thúc hợp đồng B sẽ là phục hồi hợp đồng A. Trước đây, thời gian kết thúc máy ảo không được tính vào thời gian tạm treo/phục hồi vì ta giả định việc phục hồi sẽ bắt đầu ngay khi hợp đồng trước bắt đầu kết thúc. Tuy nhiên, cho phép quá trình kết thúc
B lấn lên việc phục hồi A sẽ làm trì hoãn những thao tác phục hồi đầu tiên, kết quả là thời
gian phục hồi tr sẽ lâu hơn mong đợi. Mặc dù việc mô hình h không ảnh hưởng đến công thức ts và tr nhưng trình lập lịch vẫn quan tâm đến nó.
7.2. Kết quả thực nghiệm:
Để đánh giá độ chính xác và hiệu quả của mô hình trình bày trong chương này, ta sẽ tiến hành một số thực nghiệm trên hệ thống thực tế và cả ở chế độ mô phỏng. Các thực nghiệm đầu tiên tiến hành trên một cụm máy vật lý chạy trình quản lý máy ảo Xen với mục đích xác định nhân tố ảnh hưởng đến tính chính xác của mô hình, và trình bày kết quả lượng giá các giá trị hs và hr quá cao hoặc quá thấp trong thực tế. Các thực nghiệm còn lại sẽ tiến hành bằng cách mô phỏng luồng công việc trong 30 ngày để đánh giá hiệu quả lâu dài của các tham số khác nhau.