Thực nghiệm 1: Tạm treo và phục hồi hợp đồng

Một phần của tài liệu TÌM HIỂU CÁC HỆ THỐNG ĐỊNH THỜI CẤP PHÁT TÀI NGUYÊN ẢO (Trang 85 - 91)

MƠ HÌNH VÀ LẬP LỊCH THỜI GIAN TẠM TREO VÀ PHỤC HỒI MÁY ẢO

7.2.2.Thực nghiệm 1: Tạm treo và phục hồi hợp đồng

Trong thực nghiệm này, có hai hợp đồng được lập lịch trên một cụm máy: một hợp đồng chạy nền (BE_LEASE) được lập lịch trước và sử dụng tất cả tài nguyên rảnh, có thể bị chiếm đóng để giải phóng tài nguyên cho hợp đồng đặt chỗ (AR_LEASE), tức là tạm treo tất cả máy ảo của BE_LEASE và phục hồi lại khi AR_LEASE kết thúc. Mục đích thực nghiệm này là đo độ chính xác của thời gian tạm treo và phục hồi đã ước lượng, so sánh giá trị mơ hình dự đốn với giá trị thực đo được. Mặc dù những kết quả này chỉ làm nổi bật việc các hợp đồng được lập lịch trong trường hợp cá biệt này như thế nào nhưng cũng một phần nào giúp ta hiểu được những nhân tố nào ảnh hưởng đến tính chính xác của mơ hình.

sử dụng tài nguyên, cần thiết phải chiếm lấp tài nguyên chạy nền. Hợp đồng chạy nền được tạm treo trước đặt chỗ và sau đó được phục hồi lại khi kết thúc hợp đồng đặt chỗ.

Cả hai hợp đồng đều được yêu cầu tại thời điểm bắt đầu thực nghiệm và cần tất cả tài nguyên vật lý có được. AR_LEASE yêu cầu thời gian 5 phút và cần bắt đầu sau khi chạy thực nghiệm 15 phút. BE_LEASE yêu cầu thời gian 20 phút, khi khơng có hợp đồng nào tại thời điểm bắt đầu thực nghiệm, BE_LEASE có thể bắt đầu tức thì (nhưng sẽ bị AR_LEASE chiếm lấp khi chạy được 15 phút (hình 15)). Trong thực nghiệm này, ta sẽ khảo sát ba loại tham số:

• c {1, 2, 4, 8}: Số máy ảo trong một máy đơn. Vì mỗi hợp đồng đều dùng hết tất cả tài nguyên khả dụng nên tổng số máy ảo sẽ là N = c.4.

• f {local, global}: Tập tin trạng thái bộ nhớ sẽ được lưu ở hệ thống tập tin cục bộ (local) hay là tồn cục (global).

• m {512, 768, 1024}: Tổng số bộ nhớ trên một máy ảo.

Thực nghiệm này thi hành 22 cấu hình (mỗi cấu hình là một tổ hợp các tham số, ngoại trừ c = 8 và m = 1024; bởi vì miền Xen Dom0 sử dụng 512MB bộ nhớ nên

• ts: Thời gian tạm treo BE_LEASE theo dõi được. Ta đo thời gian này bằng cách ping đến máy ảo chạy hợp đồng 2 giây mỗi lần và lưu lại phản hồi. Ta phân tích chuỗi trả lời để xác định thời gian hợp đồng dành để tạm treo.

as: Mức chính xác của thời gian tạm treo (độ chênh lệch giữa thời gian đo được so với

thời gian dự đoán). Ta định nghĩa as bằng . Giá trị 1.0 được coi là mức chính xác hoàn hảo. Giá trị nhỏ hơn 1.0 chứng tỏ việc lượng giá quá cao: máy ảo trong hợp đồng hoàn thành sớm hơn thời gian được dự đốn trong mơ hình; làm tài nguyên lãng phí trong khoảng thời gian kết thúc tạm treo để bắt đầu hợp đồng đặt chỗ. Nếu as lớn hơn 1.0 nghĩa là hợp đồng mất lâu hơn để tạm treo hơn thời gian ước lượng, làm trì hỗn thời gian bắt đầu hợp đồng đặt chỗ.

vs: Thời gian tạm treo một máy ảo thuộc hợp đồng BE_LEASE. Ta đã phân tích các tập

tin log của Xen để xác định thời gian này.

tr, ar, vr: Định nghĩa tương tự đối với quá trình phục hồi.

Hình 16 trình bày các giá trị trung bình của ts, tr, as, và ar trong mỗi cấu hình thực nghiệm. Mỗi giá trị được lấy sau 5 lần chạy một cấu hình. Độ lệch chuẩn khơng trình bày trong biểu đồ nhưng giá trị cao nhất là 13.9% (phần lớn giá trị đều nhỏ hơn 10%). Những biểu đồ này cho thấy thời gian tạm treo và phục hồi tăng lên tỉ lệ thuận với số bộ nhớ yêu cầu, tỉ lệ gia tăng càng thấy rõ hơn khi f = global. Thời gian đo được cho thấy mơ hình có khuynh hướng ước lượng thời gian tạm cao thấp hơn so với thực tế, 6 cấu hình có độ chính xác lớn hơn 1.0 và giá trị lớn nhất là 1.39 (hợp đồng dành thời gian tạm treo lớn hơn 39% so với ước lượng). Mặt khác, tất cả thời gian phục hồi đều được lượng giá thấp, lớn hơn 1.0 và có một giá trị lớn nhất là 1.64.

giá trị được đo đạc) từ 45 giây đến 370 giây. Bằng cách kiểm tra tập tin log của Xen, ta nhận ra rằng các giá trị ngoại lai xuất hiện do q trình tạm treo bị Xen chặn mà khơng có lý do rõ ràng. Nói cách khác, Xen đã nhận và xử lý chính xác lệnh tạm treo, bao gồm tạm dừng máy ảo nhưng không thật sự lưu trạng thái bộ nhớ vào đĩa sau một khoảng thời gian bất định (mặc dù khơng chặn những thao tác khác). Hiện nay chưa có nghiên cứu nào nhắc đến vấn đề này.

Nói cách khác, các giá trị vr có xu hướng phân tán khi c tăng. Nguyên nhân trực tiếp là do sự tranh chấp tài nguyên giữa các lần phục hồi gối đè lên nhau. Mặc dù trình lập lịch lập lịch cho các lần phục hồi theo kiểu khơng gối lên nhau (cả tồn cục hay cục bộ) nhưng đơi khi các q trình phục hồi có thể lâu hơn dự đốn, ảnh hưởng đến thời gian của kế hoạch phục hồi tiếp theo và trì hỗn cả q trình. Ta nhận ra rằng nguyên nhân cơ bản gây ra các trì hỗn này là:

1. Quá trình tắt các AR_LEASE có thể đè lên các lần phục hồi đầu tiên: Nếu

AR_LEASE vẫn đang trong quá trình tắt hẳn khi q trình phục hồi bắt đầu thì sẽ có sự tranh chấp tài ngun làm trì hỗn lần phục hồi đầu tiên. Trong thực nghiệm này, h (15) là giá trị cố định và không liên quan đến số máy đơn trong một hợp đồng và sẽ thiếu khi c = 8 (ngay cả khi giả sử một máy ảo có thể tắt hẳn trong 1 giây với chi phí ban hành là 1 giây thì kết quả vẫn tới 64 giây).

2. Trì hỗn trong q trình ban hành các lệnh: Thỉnh thoảng, các lệnh ban

hành gởi từ OpenNebula (dùng SSH) bị trì hỗn do chính server SSH, và có thể lên đến 10 giây.

3. Giá trị c càng lớn, tác dụng càng cao: Ở hai trường hợp trên, giá trị c càng

lớn, lần phục hồi bị trì hỗn càng ảnh hưởng đến các q trình phục hồi khác. Kết quả là tồn bộ các giá trị bị phân tán rõ hơn. Ảnh hưởng này càng rõ ràng hơn khi tắt những phần đè lên lần phục hồi đầu tiên làm trì hỗn 31

thuộc vào các hợp đồng phải bị chiếm đóng trước khi bắt đầu.

Một phần của tài liệu TÌM HIỂU CÁC HỆ THỐNG ĐỊNH THỜI CẤP PHÁT TÀI NGUYÊN ẢO (Trang 85 - 91)