KIẾN TRÚC HAIZEA
11.2.4. Slot Table:
Slot table là loại cấu trúc dữ liệu chính dùng trong Haizea. Slot table chứa sự cấp phát tài nguyên của tất cả các lease, do đó slot table có thể xác định khả năng chứa các node vật lý trong hiện tại và tương lai. Slot table được bộ phận VM scheduler và mapper truy vấn để xác định xem một allocation nào đó có thể cho thuê hay không và tại một thời điểm nào. Vì truy vấn allocation tài nguyên là thao tác thường xuyên nhất trong Haizea nên slot table cung cấp O(logn) lượt truy cập đến các allocation bắt đầu hay kết thúc tại một thời điểm xác định hay trong một khoảng thời gian nào đó (với n là số allocation tài nguyên). Có thể thực hiện được thời gian truy cập này là do Haizea lưu trữ allocation trong hai danh sách sắp xếp (một danh sách xếp theo thời gian bắt đầu và danh sách kia xếp theo thời gian kết thúc). Mặc dù thời gian xóa hay thêm allocation vào slot table khi sử dụng danh sách sắp xếp là
O(n), nhưng thao tác truy vấn slot table lại hữu ích hơn so với thao tác thêm
hay xóa allocation đó. Hơn nữa, các danh sách (là loại dữ liệu gốc trong Python và sự thực thi bên trong giống với loại cấu trúc dữ liệu mảng trong C) cũng thích hợp hơn vì thao tác lặp các allocation sẽ thực thi nhanh hơn cấu trúc cây (nếu allocation đầu tiên tại thời điểm bắt đầu được cho đã được xác định).
bên ngoài để xem xét những quyết định lập lịch, cho phép các lập trình viên đề ra những chính sách lập lịch bằng cách viết một lớp khác (thực thi interface thích hợp) để gắn vào Haizea mà không phải chỉnh sửa mã nguồn. Bốn loại chính sách có thể gắn hiện nay là : khả năng chiếm lấp lease ("Một lease L1 có thể chiếm lấp lease L2
hay không?"), lựa chọn host ("VM sẽ gán vào node vật lý nào?"), vé cho lease ("Có thể cấp phát tài nguyên cho một lease nào đó hay không?"), giá lease ("Giá cho lease đó là bao nhiêu?").