hạ tầng để lưu trữ một số website, nhưng chưa thể tính trước được cấu hình của máychủ, vì điều này còn phụ thuộc vào mức độ truy cập của người dùng vào các websiteđó.Nhu cầu cung cấp tài
Trang 1Trong quá trình thực hiện đề tài, nhóm xin chân thành cảm ơn GVHD, ThS.Trần Công Tú đã cung cấp các tài liệu cần thiết cho việc nghiên cứu; luôn theo dõi sát sao tiến độ thực hiện đề tài, kịp thời có những điều chỉnh và chỉ đạo hợp lý Chúng em xin gửi đến thầy lời cảm ơn chân thành vì thầy đã luôn động viên, củng cố tình thần cho nhóm, để nhóm hoàn thành đề tài tốt hơn! Với đặc điểm là một đề tài mới mẽ ở Việt Nam, việc thiếu thốn tài liệu và điều kiện thực nghiệm là điều không thể tránh khỏi Nhóm nghiên cứu rất biết
ơn TS Borja Stomayor, đại học Chicago, Hoa Kỳ đã cung cấp các tài liệu quý báu và phần mềm mô phỏng, cũng như tận tình chỉ dẫn, giải đáp các thắc mắc, giúp nhóm thực hiện các thí nghiệm liên quan đến những thuật toán được nêu
ra trong đề tài!
Lời cảm ơn cuối cùng xin được gửi tới KS Michael Rutter, người chịu trách nhiệm hỗ trợ cộng đồng người dùng của hệ thống phần mềm xử lý dữ liệu R-project vì đã giữ liên lạc và cung cấp các hướng dẫn sửa lỗi và tạo khóa xác nhận cho phần mềm trên hệ điều hành Ubuntu 10.10 (Maverick)!
Trang 2MỤC LỤC
MỤC LỤC 2
HỆ THỐNG CÁC DANH MỤC 5
MỞ ĐẦU 7
CHƯƠNG 1: ĐẶT VẤN ĐỀ 9
1.1 Grid và Cloud Computing: 9
1.2 Vấn đề phân phối tài nguyên điện toán: 10
CHƯƠNG 2: KHÔNG GIAN LÀM VIỆC ẢO 17
2.1 Không gian làm việc ảo dựa trên VM: 18
2.2 Triển khai không gian làm việc ảo dùng VM: 19
CHƯƠNG 3: KỊCH BẢN QUẢN TRỊ TÀI NGUYÊN 23
CHƯƠNG 4: CÁC MÔ HÌNH VÀ CHIẾN LƯỢC CẤP PHÁT TÀI NGUYÊN ĐÃ CÓ 28
4.1 Phương pháp VM-based: 31
4.3.1 Virtual cluster: 32
4.3.2 Giải pháp datacenter-based: 34
4.2 Phương pháp Lease-based: 36
4.3 Phương pháp Job-based: 38
4.3.1 Cung cấp advance reservation trên trung tâm dữ liệu: 39
4.3.2 Lập lịch phân cấp trên mô hình đa cấp độ: 42
4.3.3 Chất lượng dịch vụ và giá cả trong cấp phát tài nguyên: 43
4.4 Nhận xét những phương pháp hiện tại: 45
CHƯƠNG 5: MÔ HÌNH HÓA QUÁ TRÌNH PHÂN PHỐI TÀI NGUYÊN ẢO 48
5.1 Mô hình hóa tài nguyên ảo: 48
5.2 Các khái niệm sử dụng trong thuật toán lập lịch: 52
CHƯƠNG 6: LẬP LỊCH QUÁ TRÌNH CẤP PHÁT TÀI NGUYÊN SỬ DỤNG MÁY ẢO 57
6.1 Lập lịch các yêu cầu không có deadline và tạm chiếm: 57
Trang 36.1.1 Phân phối VM vào các node vật lý vào thời điểm cụ thể: 57
6.1.2 Best-effort lease 59
6.1.3 Advance-reservation và yêu cầu khẩn cấp 62
6.2 Sử dụng khả năng cho phép tạm chiếm: 62
6.3 Lập lịch với deadline: 65
6.4 Kết quả thực nghiệm: 68
6.4.1 Luồng công việc dùng trong thực nghiệm: 68
6.4.2 Kết quả: 69
CHƯƠNG 7: LẬP LỊCH CHUYỂN ẢNH ĐĨA 72
7.1 Chiến lược chuyển ảnh đĩa: 72
7.2 Sử dụng lại ảnh đĩa máy ảo: 74
7.3 Loại bỏ chuyển ảnh đĩa dư thừa: 76
7.4 Kết quả thực nghiệm: 76
7.5 Kết luận: 80
CHƯƠNG 8: MÔ HÌNH VÀ LẬP LỊCH THỜI GIAN 84
TẠM TREO VÀ PHỤC HỒI MÁY ẢO 84
7.1 Mô hình thời gian tạm treo/phục hồi máy ảo: 84
7.2 Kết quả thực nghiệm: 85
7.2.1 Cài đặt thực nghiệm: 86
7.2.2 Thực nghiệm 1: Tạm treo và phục hồi hợp đồng 86
7.2.3 Thực nghiệm 2: Hiệu quả lâu dài 92
7.3 Kết luận: 97
CHƯƠNG 9: CHIẾN LƯỢC ĐỊNH GIÁ HỢP ĐỒNG 98
9.1 Mô hình sử dụng: 98
9.2 Chiến lược định giá: 99
9.3 Thực nghiệm: 100
9.3.1 Số liệu: 101
9.3.2 Kết quả: 102
9.4 Kết luận: 104
CHƯƠNG 10: TỔNG QUAN VỀ HAIZEA 106
CHƯƠNG 11: KIẾN TRÚC HAIZEA 110
11.1 Request Frontends: 110
11.1.1 OpenNebula 110
Trang 411.1.2 XML-RPC 111
11.1.3 LWF 112
11.2 Scheduler: 113
11.2.1 VM Schedule: 113
11.2.2 Preparation Schedule: 113
11.2.3 Mapper: 114
11.2.4 Slot Table: 114
11.3 Policy Engine: 115
11.3.1 Lease Admission: 115
11.3.2 Lease Preemption: 115
11.3.3 Host Selection: 116
11.4 Enactment: 116
11.5 Utilities: 117
KẾT LUẬN 118
Hướng phát triển: 120
1 Cải thiện mô hình: 120
2 Tìm hiểu sâu hơn các chính sách dựa trên giá: 121
3 Đưa Haizea vào thực tế: 122
TÀI LIỆU THAM KHẢO 123
PHỤ LỤC: PHƯƠNG PHÁP THỰC NGHIỆM 129
1 Môi trường và phần mềm cần thiết: 129
2 Tải và xử lý cơ sở dữ liệu của Blue Horizon: 130
Trang 5HỆ THỐNG CÁC DANH MỤC
- Virtual Machine (VM hay máy ảo): là một kỹ thuật ảo hóa tài nguyên để tạo ra
nhiều môi trường làm việc trên một máy vật lý Mỗi máy ảo là một môi trường đóngvới đầy đủ hệ điều hành và cung cấp sự ánh xạ chính xác đến phần cứng Khi tạo ramột máy ảo, người dùng xác định cấu hình phần cứng và các thiết lập liên quan đếngiao tiếp mạng cho nó Mỗi máy ảo được lưu ở ổ đĩa cứng thành một tập tin ảnh đĩa -
VM image
- Virtual Workspace - Không gian làm việc ảo: là hình thức rộng hơn của máy ảo.
Một không gian ảo bao gồm một hoặc nhiều máy ảo, được liên kết chặt chẽ với nhau
để tạo ra một môi trường làm việc hợp nhất đáp ứng về cả yêu cầu phần cứng và môitrường phần mềm nghiêm ngặt Không gian làm việc ảo thường được triển khai trên
hệ thống các máy chủ lớn, thường là grid (sẽ được giới thiệu ở chương sau)
- Cluster: Cụm máy tính Là hình thức tổ chức không gian làm việc bao gồm nhiều
máy tính được kết nối chặt chẽ với nhau thông qua kết nội mạng cục bộ để cùng thựcthi một nhiệm vụ, ví dụ như xử lý một tập hợp các phần mềm liên quan lẫn nhau
- Virtual cluster: Là cụm máy tính được cấu thành từ các máy ảo.
- lease: hợp đồng thuê tài nguyên Mỗi hợp đồng thuê tài nguyên là một sự thỏa thuận
giữa nhà cung cấp tài nguyên và người thuê tài nguyên tuân theo các đặc tả từ phíangười dùng Trong đó, nhà cung cấp tài nguyên phải cung cấp khả năng sử dụng tàinguyên cho người thuê tài nguyên một cách chính xác cả về yêu cầu phần cứng, môitrường phần mềm và thời gian sử dụng
- best-effort lease: là loại hợp đồng thuê tài nguyên không ràng buộc về thời gian
chạy Thời gian này tùy thuộc vào quá trình lập lịch của nhà cung cấp tài nguyên.Trong tài liệu này, để đơn giản, ở một số phần, best-effort lease còn được gọi là yêucầu thuê tài nguyên dạng chạy nền
Trang 6- advance-reservation lease: là loại hợp đồng thuê tài nguyên có ràng buộc về thời
gian chạy, còn gọi là yêu cầu thuê tài nguyên đặt chỗ
- deadline: là mốc thời gian mà một công việc buộc phải được hoàn thành.
- backfilling: là một kỹ thuật trong chiến lược lập lịch Trong đó, nếu có nhiều công
việc cần được thực hiện trong hàng đợi công việc, kỹ thuật này cho phép một số côngviệc đơn giản, tốn ít chi phi có thể thực hiện trước để tận dụng tài nguyên rảnh, miễn
là nó không làm chậm trễ sự thực thi của những công việc đã đặt chỗ trước
- site: là thuật ngữ đại diện cho tài nguyên cục bộ của một nhà cung cấp.
- node: là thuật ngữ đại diện cho một máy tính vật lý trong hệ thống máy tính thuộc
một site
Trang 7hạ tầng để lưu trữ một số website, nhưng chưa thể tính trước được cấu hình của máychủ, vì điều này còn phụ thuộc vào mức độ truy cập của người dùng vào các websiteđó.
Nhu cầu cung cấp tài nguyên trong một thời gian ngắn phát sinh vấn đề tận dụngtài nguyên một cách hiệu quả ở các hệ thống cho thuê tài nguyên Có những yêu cầuthuê tài nguyên có thể chạy nền cho đến lúc hoàn thành, cũng có những yêu cầu thuêtài nguyên với yêu cầu khắt khe về thời gian chạy cũng như thời hạn hoàn thành, vàcác loại yêu cầu đó đều có những ràng buộc về phần cứng và phần mềm nhất định.Qua khảo sát các giải pháp phân phối tài nguyên hiện có, nhóm nghiên cứu nhậnthấy, hiện nay chưa có một giải pháp nào có thể phân phối tài nguyên đáp ứng cùnglúc nhiều trường hợp sử dụng khác nhau của người dùng, và vấn đề tận dụng tàinguyên cũng chưa được giải quyết một cách triệt để Cụ thể hơn, đề tài này tập trungchủ yếu vào việc kết hợp giữa các yêu cầu dạng chạy nền – người dùng có thể đợi tớikhi tài nguyên rảnh để chạy ứng dụng của mình, và yêu cầu dạng đặt chỗ - tài nguyênphải sẵn sàng tại một thời điểm định trước
Các yếu tố để đánh giá tính hiệu quả là thời gian chờ (hoặc một vài tham sốtương tự) của các yêu cầu chạy nền và độ chính xác của các yêu cầu đặt chỗ Và trong
cả 2 trường hợp, tài nguyên phải được tận dụng một cách tối đa Trước đây, cácnghiên cứu đáp ứng từng loại yêu cầu đã cho những kết quả hết sức chính xác, nhưng
Trang 8kết hợp chúng lại trong một hệ thống tổng quát lại làm cho các thước đo tính hiệu quảtrở nên mâu thuẫn với nhau.
Đề tài tập trung khảo sát các hệ thống định thời cấp phát tài nguyên đã có đểphân tích những hạn chế của chúng, đồng thời, tìm hiểu một hệ thống mới – Haizea,được giới thiệu vào 04 - 2010 bởi đại học Chicago, bang Illinois, Hoa Kỳ Hệ thốngmới cung cấp một kiến trúc quản trị tài nguyên có khả năng hỗ trợ các kịch bản phânphối tài nguyên ảo đồng thời một cách hiệu quả, sử dụng máy ảo (virtual machine)làm công cụ chính cùng với những thuật toán lập lịch để hiện thực các mục tiêu.Những điểm chính của kiến trúc này gồm có:
1 Một mô hình cung cấp tài nguyên theo dạng cho thuê sử dụng máy ảo
2 Hệ thống các thuật toán lập lịch yêu cầu có khả năng tận dụng tài nguyên vàđáp ứng nhiều loại yêu cầu cùng lúc
3 Một mô hình có thể tính toán trước các chi phí phát sinh trong quá trình sửdụng máy ảo và tìm cách hạn chế chúng một cách hiệu quả
Nhiều năm qua, điện toán lưới, điện toán đám mây đã không ngừng phát triểntrên thế giới, có thể nói là đã mở ra một kỷ nguyên mới cho ngành công nghiệp máytính, nhưng ở Việt Nam, các khái niệm này vẫn khá mới mẻ Do tất cả các bài báo, cáctrang web mà nhóm tham khảo đều sử dụng tiếng nước ngoài, với hệ thống các thuậtngữ mà nước ta chưa thể thống hóa, chính thức hóa, nên nhóm nghiên cứu xin được sửdụng các thuật ngữ này một cách nguyên bản
Phần tiếp theo trình bày sơ lược về hệ thống thuật ngữ tiếng Anh được sử dụngtrong bài nghiên cứu
Trang 9CHƯƠNG 1:
ĐẶT VẤN ĐỀ
1.1 Grid và Cloud Computing:
Từ thời điểm máy tính được ra đời, chúng đã được xác định phục vụ cho các yêucầu khoa học và quân sự với các hệ thống lớn và mạnh mẽ Máy tính cá nhân ra đời
mở ra một kỷ nguyên mới cho ngành công nghiệp này, nhưng các “siêu máy tính” vàcác hệ thống máy chủ lớn vẫn là yêu cầu hàng đầu với các vấn đề nguyên thủy: thựchiện các tính toán với tốc độ nhanh và dữ liệu cực lớn
Với các yêu cầu khắt khe về khả năng tính toán, một số giải pháp đã được triểnkhai, trong đó hiệu quả nhất là grid và cloud computing
Grid1 là thuật ngữ dùng để chỉ sự kết hợp nhiều tài nguyên máy tính từ các vùng(domain) khác nhau để cùng thực hiện một nhiệm vụ Hệ thống grid có thể được hiểunhư một hệ thống các máy vật lý kết hợp với nhau thông qua kết nối mạng để xử lýnhững luồng công việc (workload) lớn Khái niệm grid thường hay bị nhầm lẫn vớiCluster (cũng là hệ thống máy tính kết nối với nhau qua mạng cục bộ để xử lý cáckhối công việc với hiệu năng cao), tuy nhiên, grid được thiết kế dành cho những ứngdụng đơn chuyên biệt, ràng buộc lỏng hơn và không bị bó buộc về vị trí địa lý trong 1hoặc một vài mạng cục bộ (LAN)
Cloud computing2 là thuật ngữ khá rộng, được dùng để chỉ việc các tài nguyênmáy tính (dữ liệu, phần mềm, vv) được sử dụng thông qua đường truyền diện rộng(WAN hoặc internet) Các dịch vụ trực tuyến được cung cấp bởi các quản trị “đámmây” – hệ thống tài nguyên Đây là một bước ngoặc lớn mang tính đột phá trong thời
kỳ của máy tính cá nhân, khi mà các nhà cung cấp dịch vụ thực thi hầu hết các công
1 http://en.wikipedia.org/wiki/Grid_computing
Trang 10việc của người dùng, còn các máy tính cá nhân ngày càng giảm thiểu các yêu cầu vềphần cứng cũng như phần mềm Hiện nay, Google đang phát triển một thế hệ máy tínhxách tay mới sử dụng hệ điều hành Chrome3, hệ điều hành sử dụng khái niệm “điệntoán đám mây” để cung cấp khả năng tính toán và lưu trữ dữ liệu ở máy chủ máy trạmchỉ có nhiệm vụ cung cấp khả năng truy xuất và điều khiển tài nguyên “đám mây”.Hiện những mẫu thử nghiệm đầu tiên của Google Chromebook chỉ được phân phốicho các nhà phát triển ứng dụng và hứa hẹn mang lại một cuộc cách mạng cho máytính cá nhân thế hệ tiếp theo
Hình 1: Mô phỏng trực quan về hệ thống Điện toán đám mây
1.2 Vấn đề phân phối tài nguyên điện toán:
Từ khi các hệ thống máy tính cực lớn bắt đầu được chia sẻ cho nhiều người dùngvào những năm 50 của thế kỷ 20, nhiều nhà khoa học đã nổ lực để tìm ra 1 giải phápcho vấn đề “Phân phối tài nguyên” Phương pháp cấp phát tài nguyên điện toán là một
3 http://www.google.com/chromebook/
Trang 11trong những vấn đề thực tế kinh điển nhất trong khoa học máy tính và rất nhiều giảipháp đã được đưa ra qua hàng thập kỷ nay Từ những hệ điều hành có khả năng điềukhiển người dùng nào sẽ sử dụng CPU, cho đến những trình lập lịch tinh vi có thểquản lý đến mười ngàn vi xử lý trong một siêu máy tính để mô phỏng quỹ đạo củathiên thạch hoặc các diễn biến thời tiết, khí tượng học.
Bài nghiên cứu này tìm hiểu một số vấn đề phát sinh khi cung cấp tài nguyênđiện toán với một hệ thống grid, và phương pháp giải quyết các vấn đề đó sử dụngmáy ảo và các thuật toán lập lịch mới Phần giới thiệu này trình bày các ý dẫn nhập vàmột cái nhìn tổng quan về đề tài, cũng như cấu trúc và tóm lược từng chương của bàibáo cáo
Khi các hệ thống máy tính lưới được chia sẻ cho người dùng, yêu cầu đặt ra làphải xác định ai sử dụng tài nguyên, và tại thời điểm nào Nếu ta có một cụm máy tínhvới mười máy vật lý, và năm người dùng muốn dùng chúng vào cùng thời điểm, làmsao để quyết định ai sẽ được sử dụng trước? Chiến lược “First come, first serve” cóthể sẽ hợp lý, nhưng lại bất cập nếu một trong số người dùng phải giải quyết công việc
có deadline xác định
Trở lại những năm 50 của thế kỷ trước, một giải pháp rất sơ đẳng được áp dụng,
đó là người dùng in chương trình của họ lên các bìa đục lỗ và đệ trình lên người quảntrị Người này sẽ xem xét chương trình và thời gian nộp để quyết định xem chươngtrình nào sẽ được chạy Ngày nay, công việc đó được xử lý tự động hóa bằng phầnmềm Mặc dù nhiều giải pháp đã được đưa ra nhưng đều phải dựa vào trường hợpriêng biệt để phát triển, như hệ thống quản lý một vài cụm máy tính hoàn toàn khác sovới hệ thống dành cho một siêu máy tính với hàng triệu vi xử lý
Thời gian gần đây, việc quản lý thực thi trên hệ thống grid đa phần dựa vào kháiniệm “công việc”: người dùng đệ trình một tập tin thực thi (“công việc”) kèm với cácsiêu dữ liệu mô tả danh sách các tài nguyên điện toán cần thiết Nhà cung cấp tàinguyên sẽ lập lịch công việc dựa theo chính sách của mình Trong hầu hết các hệthống triển khai máy tính lưới hiện nay, người dùng chỉ có một số quyền rất hạn chế
Trang 12trên tài nguyên mà mình sử dụng Mặc dù các hạn chế này có thể chấp nhận được chomột số lượng lớn các ứng dụng, nhưng lại không khả thi trong các trường hợp đặcbiệt Khả năng điều khiển tài nguyên ngày càng trở nên quan trọng hơn, nhất là chonhững ứng dụng có deadline – tài nguyên phải khả dụng vào những thời điểm địnhtrước, hoặc phải xử lý sự kiện; xuất/nhập dữ liệu từ người dùng.
Qua khảo sát các hệ thống hiện có, nhóm nghiên cứu nhận thấy những hệ thốngnày tạo một hàng đợi theo thứ tự ưu tiên các công việc một cách hợp lý (đánh giá dựavào thời gian chờ hoặc mức độ tối ưu tài nguyên) Đây là những hệ thống lý tưởng chocác trường hợp người dùng có thể chờ tới lượt sử dụng tài nguyên và một khi đã có tàinguyên, họ sử dụng chúng trong một khoảng thời gian ngắn (có thể là vài phút, vàitiếng hoặc vài ngày, nhưng không phải là vô hạn) Tuy nhiên, những hệ thống nàyhoàn toàn không thích hợp với những trường hợp sử dụng khác, ví dụ như người dùngyêu cầu tài nguyên ở những thời điểm cụ thể hoặc cần những tài nguyên được đảmbảo trong một khoảng thời gian Nói đơn giản hơn, những phương pháp cung cấp tàinguyên tại thời điểm cụ thể hoặc ngay tức thời không tương thích với việc chạy cáccông việc khối
Có thể nhận ra rằng, không có một hệ thống cung cấp tài nguyên tổng quát nào
có thể đáp ứng được hết những trường hợp sử dụng tài nguyên điện toán khác nhauđồng thời Thêm vào đó, mỗi kịch bản lại có những thước đo khác nhau về mức độhiệu quả của việc cấp phát
Để giải quyết vấn đề này, bước đầu tiên là định nghĩa một hệ thống các yêu cầuđối với các trình cấp phát tài nguyên, mà yêu cầu đầu tiên là cung cấp tài nguyên chotất cả các mục đích sử dụng
Trong đề tài này, chúng ta sử dụng khái niệm “lease” để đại diện cho một hợpđồng giữa người thuê tài nguyên và nhà cung cấp tài nguyên Việc thuê tài nguyênđiện toán ở đây có thể được hiểu là yêu cầu sử dụng tài nguyên phần cứng (CPU, bộnhớ, băng thông mạng, …) và môi trường phần mềm cần thiết trong một khoảng thờigian nhất định (tính khả dụng)
Trang 13Tất nhiên là có rất nhiều kiểu cung cấp tài nguyên, như một trình lập lịch cho cáccông việc khối, hệ thống grid, điện toán đám mây, và các trung tâm dữ liệu cho thuêmáy chủ Khi thuê tài nguyên ở một trong những nhà cung cấp kể trên, chúng ta phảiđồng ý các điều khoản sử dụng của họ, và có quyền quy định một vài cấu hình chohợp đồng Ví dụ, cũng ta có thể chỉ định phần mềm nào sẽ được chạy (bằng cách cungcấp ảnh đĩa chứa phần mềm) khi yêu cầu tài nguyên từ hệ thống điện toán đám mâyIaaS, như Amazon EC2 Các trình lập lịch khối và grid cung cấp một số quyền điềukhiển trên các phần mềm được thực thi Tuy nhiên, hệ thống đám mây IaaS chỉ chophép người dùng yêu cầu tài nguyên sử dụng tức thời; không cung cấp khả năng đặtchỗ như các trình lập lịch công việc và trình lập lịch trên grid.
Khái niệm “lease” được đưa ra trong đề tài này có khả năng khắc phục đượcnhững thiếu sót trên Thực tế, khái niệm này đã được sử dụng trong nhiều lĩnh vựckhác nhau của khoa học máy tính, đa phần là ở lĩnh vực mạng, mặc dù chưa có chuẩnmực quốc tế nào cho khái niệm này
Để giải quyết vấn đề này, đề tài tìm hiểu một một hệ thống cho thuê tài nguyênmới hỗ trợ việc cung cấp tài nguyên đa mục đích đồng thời quản trị tài nguyên mộtcách hiệu quả theo nhiều tiêu chí khác nhau
Hệ thống này tập trung vào vấn đề cung cấp đồng thời những công việc khối cóthể chạy nền (khách hàng thuê tài nguyên có thể đợi tới khi tài nguyên rảnh) và đặtchỗ (tài nguyên được thuê phải khả dụng tại thời điểm được yêu cầu trong hợp đồng).Trong việc cung cấp tài nguyên dạng đặt chỗ, tiêu chí để xét tính hiệu quả đơn giản làtài nguyên có được cấp phát đúng hạn hay không Với các công việc chạy nền, tiêu chí
đó phụ thuộc vào tổng thời thời gian thực thi của công việc: nếu một công việc chạy
10 tiếng, và trình lập lịch công việc có khả năng cung cấp tài nguyên cho công việc đóthực thi nhanh hơn 1 tiếng, trình lập lịch đó được coi là hiệu quả Tuy nhiên, nếuchúng ta muốn cung cấp cả yêu cầu chạy nền và yêu cầu đặt chỗ, tiêu chí để xét tínhhiệu quả có thể sẽ mâu thuẫn với nhau Nếu chúng ta chấp nhận đặt chỗ cho tất cả tàinguyên từ 2 giờ chiều đến 4 giờ chiều, mọi yêu cầu chạy nền được gửi tới trước hoặc
Trang 14trong khoảng thời gian đó có thể có tổng thời gian thực thi cao hơn Thực tế, mặc dùrất nhiều trình lập lịch công việc có hỗ trợ đặt chỗ nhưng quản trị viên hệ thống chỉ sửdụng chúng một cách rất thận trọng bởi vì chúng ảnh hưởng không tốt đến hiệu năngcủa các công việc đang chạy nền.
Trong đề tài này, phương pháp tối ưu nhất để cung cấp nhiều kịch bản thuê tàinguyên đồng thời và hiệu quả đó là sử dụng máy ảo Các máy ảo có một số đặc tínhthích hợp với yêu cầu này Nếu ta muốn cung cấp phần cứng theo yêu cầu, kỹ thuật ảohóa sẽ được sử dụng để phân mảnh một máy tính vật lý thành nhiều máy ảo Thêmvào đó, cũng ta còn có thể cung cấp yêu cầu phần mềm bời vì mỗi máy ảo có hệ điềuhành và môi trường phần mềm riêng Cuối cùng, khả năng tạm treo, phục hồi và di dời(mà không ảnh hưởng tới các tính toán bên trong) của máy ảo hứa hẹn sẽ cung cấptính khả dụng cho nhiều kịch bản khác nhau (chạy nền, đặt chỗ, có deadline, vv).Tóm lại, nút thắt của vấn đề chính là lease và kỹ thuật ảo hóa Để hoàn thiện ýtưởng này cần trải qua 5 bước chính
Bước 1: Định nghĩa lease.
Bước 2: Sử dụng máy ảo để cung cấp tài nguyên theo yêu cầu; đánh giá một vài
thuật toán lập lịch khai thác khả năng tạm treo, phục hồi, di dời của máy ảo để cungcấp tài nguyên cho 3 loại lease: chạy nền, đặt chỗ và có deadline
Tuy nhiên, sử dụng máy ảo cũng phát sinh nhiều vấn đề, đặc biệt là các chi phíphát sinh có thể ảnh hưởng xấu đến hiệu năng hoạt động Đáng kể nhất là việc sửdụng máy ảo với môi trường phần mềm tùy chỉnh phải yêu cầu chuyển các ảnh đĩa lớntới máy tính vật lý Tương tượng như vậy, mặc dù chúng ta có thể tạm dừng máy ảocủa 1 lease để dành tài nguyên cho một lease khác, thao tác này cũng yêu cầu lưu toàn
bộ bộ nhớ và trạng thái vào đĩa cứng trước khi lease mới bắt đầu
Để thuận tiện cho bước đầu nghiên cứu, chúng ta đưa ra 2 giả thiết sau: (A) ảnhđĩa cho các máy ảo đã được triển khai trên các máy vật lý và (B) chỉ có 1 máy ảo chạy
Trang 15trên 1 máy vật lý mà thôi Thêm vào đó, chúng ta cũng giả định rằng (C) một leasekhông bao giờ bị từ chối nếu có đủ tài nguyên cho lease đó.
Bước 3: Các giả thiết trên đơn giản hóa việc nghiên cứu bước đầu Bước tiếp
theo là tìm cách loại bỏ giả thiết (A) Chúng ta sẽ nghiên cứu và lượng giá các chiếnlược chuyển và sử dụng lại ảnh đĩa nhằm đáp ứng thời gian của các lease (ảnh đĩa cầnthiết phải được chuyển tới máy vật lý trước khi lease bắt đầu được chạy) và giảm nhẹchi phí của việc triển khai các ảnh đĩa lớn
Bước 4: Tập trung vào giả thiết (B) nhằm hỗ trợ nhiều máy ảo chạy trên cùng
một máy vật lý Điều này sẽ ảnh hưởng tới việc tạm treo và phục hồi của các máy ảo,bởi vì sẽ có nhiều thao tác treo/phục hồi tranh giành thiết bị xuất nhập vật lý
Bước 5: Cuối cùng, chúng ta sẽ loại bỏ giả thiết (C): cho phép mọi lease miễn là
còn tài nguyên, nhằm hạn chế tối đa việc lãng phí tài nguyên khi nhiều người dùngyêu cầu nhiều tài nguyên hơn mức cần thiết Hệ thống mới sẽ cung cấp một cơ chế từchối lease khi có tín hiệu rằng tài nguyên đang quá tải
Đề tài này sử dụng trình mô phỏng Haizea4 Tất cả các thực nghiệm trong bàinghiên cứu này đều được chạy bằng Haizea Đây là một hệ thống mã nguồn mở đượcphát triển bởi đại học Chicago dùng để mô phỏng các thuật toán lập lịch hợp đồngthuê tài nguyên với nhiều tham số cấu hình khác nhau Haizea còn có thể được nhúngvào hệ thống quản lý kiến trúc ảo OpenNebula5 để chạy các thực nghiệm trên hệ thốngmáy thực Tuy nhiên, với khả năng và điều kiện hạn hẹp, đề tài chỉ dừng lại ở mức môphỏng
Tài liệu này trình bày kết quả khảo sát các hệ thống định thời cấp phát tàinguyên ảo đã có; tìm hiểu và thực nghiệm trên một mô hình mới Các chương đượcphân bố như sau:
4 http://haizea.cs.uchicago.edu
5 http://www.opennebula.org
Trang 16PHẦN A: VẤN ĐỀ PHÂN PHỐI TÀI NGUYÊN ĐIỆN TOÁN trình bày
những khái niệm nền tảng; khảo sát cơ chế và phát hiện những vấn đề bất cập trongcác hệ thống phân phối tài nguyên hiện tại
Trong đó, CHƯƠNG 1: ĐẶT VẤN ĐỀ cung cấp cái nhìn sơ lược và động lựcthực hiện đề tài CHƯƠNG 2: KHÔNG GIAN LÀM VIỆC ẢO và CHƯƠNG 3:KỊCH BẢN PHÂN PHỐI TÀI NGUYÊN trình bày các khái niệm, định nghĩa, thuậtngữ nền tảng nhằm phục vụ cho các khảo sát và đánh giá những hệ thống định thờicấp phát tài nguyên ảo ở CHƯƠNG 4: CÁC MÔ HÌNH VÀ CHIẾN LƯỢC CẤPPHÁT TÀI NGUYÊN ĐÃ CÓ Chương cuối của phần A, CHƯƠNG 5: VẤN ĐỀTẬN DỤNG TRONG CẤP PHÁT TÀI NGUYÊN, đưa ra một vài nhận xét và cácđiểm hạn chế cần được khắc phục của những hệ thống kể trên
PHẦN B: MÔ HÌNH QUẢN TRỊ VÀ PHÂN PHỐI TÀI NGUYÊN MỚI tập
trung vào nghiên cứu một mô hình quản trị và lập lịch tài nguyên mới Mô hình nàyđược đại học Chicago, bang Illinois, Hoa Kỳ đưa ra tháng 8 năm 2010 và hiện là một
đề tài được quan tâm rất nhiều trên cộng đồng điện toán Chương đầu tiên của phầnnày, MÔ HÌNH HÓA QUÁ TRÌNH PHÂN PHỐI TÀI NGUYÊN ẢO sẽ đưa ra cáckhái niệm hoàn toàn mới, phục vụ cho việc thiết kế mô hình quản lý phân phối tàinguyên ảo CHƯƠNG 7: LẬP LỊCH QUÁ TRÌNH CẤP PHÁT TÀI NGUYÊN SỬDỤNG MÁY ẢO là chương quan trọng nhất trong đề tài này, trình bày chiến lược lậplịch và phân phối tài nguyên mới Chương 8 của phần này trình bày kết quả thựcnghiệm dựa trên việc chạy mô phỏng trên phần mềm Haizea nhằm đưa ra những kếtquả cải tiến, tối ưu so với những hệ thống trước đó
PHẦN C: GIỚI THIỆU HAIZEA cung cấp 1 cái nhìn tổng quan về kiến trúc
của trình lập lịch Haizea Chương này tạo tiền đề cho việc phát triển Haizea theohướng mới vừa được đưa ra đầu năm nay (2011) của đại học Melbourne, VIC, Úc
PHẦN D: KẾT LUẬN trình bày lại một cách sơ lược những vấn đề đã tìm hiểu
được và những tồn tại chưa khắc phục được Đồng thời, chỉ ra hướng phát triển tiếptheo ở một đề tài quy mô hơn (Đề tài tốt nghiệp)
Trang 18CHƯƠNG 2:
KHÔNG GIAN LÀM VIỆC ẢO
Virtual workspace là môi trường thực thi có thể triển khai trên một grid Đây là
mô hình tổng quát hơn với trường hợp sử dụng yêu cầu triển khai động và bảo mậttrên môi trường thực thi Việc triển khai này có thể là động nếu khách hàng cần nhữngmôi trường có thể tạo và hủy theo yêu cầu, và môi trường này cũng cần phải bảo mậtbởi vì cả môi trường phần mềm trong một không gian làm việc và môi trường màkhách hàng tạo ra, quản lý hay là truy cập đều phải tin cậy được
Hai tiêu chuẩn của một không gian làm việc là:
Xác định môi trường hay còn gọi là Quality of life: Những không gian làm việc
cung cấp một môi trường thực thi đáp ứng toàn bộ nhu cầu phần mềm từ phía kháchhàng
Cấp phát tài nguyên hay còn gọi là Quality of Service: Tất cả tài nguyên mà
một không gian làm việc cần để hoạt động chính xác (CPU, RAM, ổ đĩa, băng thông)cần phải được cung cấp và bảo đảm trong suốt thời gian hoạt động, cho phép thay đổiyêu cầu hoặc điều kiện khi cần thiết
Đề xuất về việc tạo ra và quản lý một môi trường thực thi theo yêu cầu khôngphải là mới mẻ, có rất nhiều phương pháp để giải quyết vấn đề này, như quản lý cấuhình bcfg2[ CITATION Bcf \l 1033 ], hay quản lý gói Pacman[ CITATION Pac \l 1033 ] Tuynhiên, các phương pháp này không đáp ứng đầy đủ cho các tiêu chuẩn Xét về việcxác định môi trường của một không gian làm việc, phương pháp quản lý cấu hình lạigiới hạn về môi trường phần mềm mà khách hàng lựa chọn Còn về cấp phát tàinguyên, triển khai ảnh đĩa cứng đến các node trong cluster lại yêu cầu phải có thờigian chuẩn bị, và phương pháp quản lý gói thì mất thời gian khá lâu để cài đặt và cấu
Trang 19hình những gói cần thiết để tạo ra một môi trường phần mềm Vì thế, việc chuyển đổimôi trường phần mềm thường xuyên không có hiệu quả về chi phí bởi vì tài nguyên sẽdành cho cài đặt môi trường phần mềm mới thay vì đáp ứng nhu cầu điện toán.
2.1 Không gian làm việc ảo dựa trên VM:
Sử dụng công nghệ ảo hóa[ CITATION VirtualMachines \l 1033 ] có tiềm năng đáp ứnglớn cho grid computing Figueiredo[ CITATION RJF03 \l 1033 ] đã phát họa ra thuận lợi khi
sử dụng máy ảo trong grid computing Cụ thể là những thuận lợi sau:
Bảo mật và cô lập: Kỹ thuật ảo hóa giúp cô lập những hoạt động trong một VM
so với VM khác chạy trong cùng một máy vật lý Như vậy, các VM thêm một lớpkhác có khả năng tự hủy do những khách hàng nguy hiểm trước khi ảnh hưởng đếnhoạt động của VM cùng được cấp phát, và trước khi tài nguyên nguyên vẹn vật lý cóthể bị tổn thương Hơn nữa, một khách hàng còn có thể được đặc quyền quản trị bêntrong VM, vì bất kỳ những hoạt động xâm hại nào cũng chỉ cô lập trong VM chứkhông thể ảnh hưởng đến tầng dưới của máy vật lý được
Tùy chỉnh môi trường thực thi: VM có thể được tủy chỉnh theo những yêu cầu
phần cứng và phần mềm xác định mà không cần phải khởi động lại node vật lý.Chuyển đổi từ một môi trường thực thi chỉ cần khởi động một VM mới với môitrường phần mềm cần thiết đã được cấu hình sẵn trong đó thay vì phải cài đặt môitrường mới từ một môi trường cũ tạp nham nào đó đã được xóa đi Việc này giúpchuyển đổi liên tục giữa các môi trường thực thi với nhau một cách hiệu quả và nhanhchóng đến từng phút
Điều chỉnh tài nguyên: VM có khả năng cấp phát tài nguyên có yêu cầu chặt
chẽ được xác định khi tạo ra một VM, nhưng cũng phải thay đổi trong suốt thời gianchạy VM đó
Độc lập: VM kết hợp rất lỏng lẻo với những host vật lý, chỉ có một host có trình
giám sát VM đầy đủ và đủ tài nguyên để hỗ trợ thực thi Điều này giúp VM có thểđược khởi tạo từ nhiều phía, và di dời dễ dàng từ nơi này đến nơi khác
Trang 20Hai tiêu chuẩn về môi trường và tài nguyên của không gian làm việc ảo có thểphát triển lên nhờ tận dụng những tiện ích ở trên Bảo mật, cô lập, và khả năng điềuchỉnh tài nguyên đều có thể ảnh hưởng tích cực đến tiêu chuẩn về chất lượng môitrường bằng cách đảm bảo không gian làm việc có đủ tài nguyên (CPU, RAM ) để
hỗ trợ thực thi Khả năng độc lập cũng giúp cải thiện tiêu chuẩn về tài nguyên mở mởrộng pool của tài nguyên vật lý chạy không gian làm việc nào đó
Vì vậy, kỹ thuật VM được nhận định là một công cụ tiện ích cho việc phát triểnkhông gian làm việc ảo Trong một không gian làm việc ảo dựa trên VM, môi trườngphần mềm khách hàng yêu cầu sẽ được đóng gói trong một máy ảo, và việc cấp pháttài nguyên thì sẽ cho trình quản lý VM thi hành
2.2 Triển khai không gian làm việc ảo dùng VM:
Một không gian làm việc ảo dựa trên VM gồm có 2 phần chính: ảnh đĩa VM vàtập tin siêu dữ liệu của không gian làm việc (Hình 2 Không gian làm việc ảo)
Khi triển khai một không gian làm việc ảo dựa trên VM thì sẽ có một hay nhiều
VM được chạy Để tạo thể hiện cho một VM, cần phải có một ảnh đĩa với một hệ điều
hành và các phần mềm theo yêu cầu khách hàng Một ảnh đĩa VM bao gồm một haynhiều ảnh đĩa chứa từng phần của ảnh đĩa VM yêu cầu Khách hàng có thể tự cung cấpảnh đĩa VM hoặc là chọn một ảnh đĩa thích hợp nào đó từ nhà cung cấp tài nguyên.Thông tin cấu hình không chứa trong ảnh đĩa VM mà sẽ bỏ vào một tập tin siêu
dữ liệu định dạng XML Phương pháp này cho phép không gian làm việc có thể miêu
tả dùng ảnh đĩa VM khuôn mẫu, một ảnh đĩa VM có đặc điểm chung có thể sử dụng
lại phần mềm hay công cụ với một mục đích nào đó; nhưng ảnh đĩa khuôn mẫu này sẽkhông chứa thông tin chi tiết về quá trình triển khai mà sẽ chứa trong tập tin siêu dữ
liệu được nối với ảnh đĩa VM lúc chạy để tạo ra một ảnh đĩa thể hiện.
Trang 21Hình 2 Không gian làm việc ảo
Để minh họa cho một ảnh khuôn mẫu và tại sao thông tin trong tập tin siêu dữliệu là triển khai độc lập ta hãy phân tích các ví dụ sau:
1 Một khách hàng cần triển khai một không gian làm việc ảo với cluster OpenScience Grid (OSG) gồm 100 node con (trong trường hợp này, ta không cầnquan tâm đến node đầu mà chỉ quan tâm đến các node con) Giả định rằng cácnode con chỉ khác nhau về cấu hình mạng, và khách hàng muốn đặc tả địa chỉ
IP phân biệt cho mỗi node con bằng phương pháp thủ công (không phải bằng
kỹ thuật như DHCP) Vì mỗi node con sẽ có một cấu hình mạng khác nhau,nên khách hàng có thể phải chuẩn bị một 100 ảnh đĩa từ W1 W100 chỉ khácnhau về cấu hình mạng Bằng cách sử dụng ảnh khuôn mẫu và tập tin siêu dữ
liệu thì khách hàng chỉ cần cung cấp duy nhất một ảnh đĩa VM W và một tập tin siêu dữ liệu mf chứa thông tin cấu hình mạng cho mỗi node con (conf 1 conf 100 ).
2 Khi triển khai không gian làm việc ảo thì sẽ tạo ra những bản copy từ ảnhkhuôn mẫu và nối với từng thông tin cấu trong tập tin siêu dữ liệu để tạo ra
những ảnh thể hiện để chạy (có nghĩa là W(conf 100 ) = W 100) Chú ý rằng những
Trang 22ảnh khuôn mẫu có thể sử dụng lại bởi vì một bảng copy của một ảnh khuônmẫu có thể sinh ra rất nhiều ảnh thể hiện.
3 Tập tin siêu dữ liệu mf có thể được sử dụng lại cho những lần triển khai sau
trong cluster OSG Điều này có nghĩa là thông tin cấu hình chứa trong tập tinsiêu dữ liệu là mang tính triển khai độc lập
4 Nếu sau này có một khách hàng muốn triển khai 150 node cũng dùng ảnh đĩa
W giống như trên thì tập tin siêu dữ liệu không thể sử dụng lại vì chỉ chứa cấuhình mạng cho 100 node Để triển khai một không gian làm việc mới, khách
hàng cần tạo ra một tập tin siêu dữ liệu mf' mới chứa thông tin cấu hình của
150 node (conf 1 conf 150 ) Cũng giống như vậy, nếu khách hàng muốn triển khai 100 node nhưng địa chỉ mạng khác nhau được đặc tả trong tập tin mf thì
cũng cần phải có một tập tin siêu dữ liệu khác nữa Do đó, ta cần phải cânnhắc rằng bất kỳ thông tin cấu hình này không thay đổi trong quá trình triểnkhai thì sẽ là một thông tin triển khai độc lập Hơn nữa, ví dụ này cũng trìnhbày được một ảnh khuôn mẫu được sử dụng lại như thế nào không phải chỉmột lần (tạo nhiều ảnh thể hiện khác nhau) mà là trong toàn bộ quá trình triểnkhai vì tất cả thông tin có thể thay đổi được chứa trong tập tin siêu dữ liệu chứkhông phải là ảnh đĩa VM
Trang 23Hình 3: Dịch vụ không gian làm việc ảo
Nói tóm lại, khi triển khai một không gian làm việc ảo thì ta cũng cần phải đặc tảmột yêu cầu triển khai (Hình 2 Không gian làm việc ảo) Yêu cầu này sẽ là một tập tinXML miêu tả thông tin cấp phát tài nguyên mà không gian làm việc cần, bao gồm yêucầu phần cứng và tính sẵn sàng (số RAM và %CPU) Đây phải là một thông tin triểnkhai độc lập vì nhu cầu cấp phát tài nguyên thường sẽ biến đổi trong toàn bộ quá trìnhhay chỉ trong một lần triển khai
Trang 24CHƯƠNG 3:
KỊCH BẢN QUẢN TRỊ TÀI NGUYÊN
Sự đa dạng về trường hợp yêu cầu tài nguyên cũng như môi trường trong mộtkhông gian làm việc ảo đã gây tạo nhiều vấn đề cần tìm hiểu cho đề tài này Ví dụ:
Phòng thí nghiệm ảo: Một trường đại học muốn mở một khóa học về Lập trình
song song nhưng lại không có đủ cluster cho sinh viên chạy các bài tập hay là thínghiệm Trường hợp nếu có một cluster nào đó trong trường thì chưa chắc quản trịviên cluster đã đồng ý cho các sinh viên của trường có thể điều khiển toàn bộ clustertrong vài tiếng đồng hồ Trong trường hợp này, một không gian làm việc ảo có thểđược tạo ra một cách động đúng trong thời gian thí nghiệm của khóa học đó và cungcấp cho sinh viên môi trường thực thi để có thể làm bài tập được
Ứng dụng chịu tác động bởi sự kiện: Những ứng dụng yêu cầu một lượng lớn
tài nguyên điện toán khi có sự kiện đến (như nhận được dữ liệu từ một thực nghiệmnào đó) hoặc là những ứng dụng khẩn cấp (như mô hình hóa tình trạng lũ lụt) cần hệthống phải cung cấp tài nguyên tức thì, chiếm lấp bất kỳ những công việc khác đangdiễn ra trên tài nguyên điện toán Và một không gian làm việc ảo dựa trên VM có thểđáp ứng nhu cầu về chất lượng tài nguyên cho những ứng dụng chịu tác động bởi sựkiện này nhờ khả năng cấp phát động tài nguyên và tạm treo phục hồi các điện toánmột cách hoàn hảo
Công việc khối với yêu cầu khắc khe về phần mềm: Khách hàng cần chạy
công việc khối nhưng yêu cầu đặc tả môi trường phần mềm phải rất chính xác nhưngquản trị hệ thống không thể luôn sẵn sàng cung cấp được vì hệ thống này cần phải đápứng phần mềm cho tất cả khách hàng của họ nữa Với trường hợp này, không gian làm
Trang 25việc ảo có thể cung cấp cho khách hàng chính xác môi trường phần mềm cần thiết đểchạy các công việc đó.
Mục tiêu của đề tài là đi đến một mô hình quản trị tài nguyên có thể đáp ứng yêucầu trong tất cả các trường hợp sử dụng trên Cụ thể là phải đáp ứng tính khả dụngtrong tất cả các trường hợp đó Hệ thống Freeman [ CITATION TFr06 \l 1033 ] đã khảo sát
ra các giao thức và phương pháp buộc phải tuân theo các tiêu chí khác về tài nguyên(như CPU và băng thông mạng) để làm nổi bật những sự tương thuộc có thể nảy sinh
ra những tiêu chí về tài nguên khác nữa
Trước khi thảo luận về những kịch bản về tính khả dụng khác nhau nảy sinhtrong những trường hợp sử dụng trên, ta hãy đi vào việc phân tích những định nghĩasau:
Agreement – sự thỏa thuận: Ta sử dụng định nghĩa do WS-Agreement
[ CITATION AAn \l 1033 ] cung cấp: “Một agreement định nghĩa một mối quan hệ được tạo
ra và quản lý động giữa hai bên Đối tượng trong mối quan hệ này là ý kiến về mộtdịch vụ do một bên đề xuất trong ngữ cảnh của agreement Quản lý ý kiến sẽ đượcchấp thuận dựa trên những vai trò tương ứng, những quyền và nghĩa vụ của mỗi bên.Agreement có thể chỉ rõ không những thuộc tính chức năng để nhận định hay tạo ramột dịch vụ, mà còn có những thuộc tính phi chức năng để hiệu suất hay tính khảdụng […].” Trong ngữ cảnh đề tài này, hai bên có nghĩa là bên nhà cung cấp tàinguyên và bên sử dụng tài nguyên (hay còn gọi là khách hàng) Dịch vụ được nhắcđến như là việc truy cập tài nguyên điện toán, và ta sẽ tập trung vào đáp ứng nhữngyêu cầu khả dụng mà khách hàng đặc tả
Thời gian khả dụng: là khoảng thời gian mà tài nguyên khách hàng yêu cầu
được đảm bảo có thể truy cập được Thời gian bắt đầu và kết thúc của giai đoạn nàyđược xác định là lúc một sự kiện bắt đầu và kết thúc, cả hai thời điểm đều thuộcagreement, và chỉ được theo dõi trong khi agreement hợp lệ
Trang 26Thời gian thành lập agreement: là lúc mà khách hàng tạo ra agreement với nhà
cung cấp tài nguyên The period during which the agreement is valid need not start atthis time (an agreement for future use of resources)
Sự kiện: Một sự việc xảy ra có ảnh hưởng đến tính khả dụng Sự kiện có thể do
trình quản lý tài nguyên cục bộ nhận và xử lý tự động, và không có bất kỳ sự can thiệpnào của con người nào từ phía nhà cung cấp tài nguyên Các sự kiện có thể đến bất kỳlúc nào nhưng chỉ đảm bảo sẽ được xử lý trong thời gian hợp lệ của agreement Ví dụtrong sự kiện gồm có:
- Yêu cầu phía khách hàng: Khách hàng yêu cầu một cách trực quan thời điểm
bắt đầu hay kết thúc khoảng thời gian khả dụng
- Những sự kiện bất đồng bộ: Khách hàng tự định nghĩa một sự kiện bất đồng
bộ (như lúc dữ liệu thực nghiệm đến) mà sẽ làm bắt đầu thời gian khả dụng(bởi vì ta cần tài nguyên điện toán để phân tích dữ liệu thực nghiệm đó)
- Sự kiện tính giờ: Là sự kiện xảy ra tại một thời điểm xác định do thiết bị bấm
giờ trình quản lý tài nguyên quản lý gây ra, như thiết bị gởi tín hiệu tại thờiđiểm bắt đầu hay kết thúc của khoảng thời gian khả dụng Một trình lập lịch
sẽ xác định những thời điểm này dựa vào chính sách cục bộ của nhà cung cấptài nguyênhay thời điểm trước khi thỏa thuận
Dựa vào mức độ khắc khe của tính khả dụng mà ta gặp phải những kịch bản về tính khả dụng khác nhau Những kịch bản này sẽ được miêu tả trong các thuật ngữ
như “Advance reservation”, “batch submission”, “best-effort scheduling”… Ta sẽphân tích từng thuật ngữ một thông qua những định nghĩa sau: (Hình 4: Những kịchbản về tính khả dụng)
Trang 27Hình 4: Những kịch bản về tính khả dụng
Advance reservation đóng: Tính khả dụng trong trường hợp này phải được xác
định rõ ràng với những vết về thời gian bắt đầu và kết thúc trước khi thỏa thuận trùngvới thời điểm bắt đầu và kết thúc của agreement Không gian làm việc ảo cho phòngthí nghiệm ảo là một ví dụ, sẽ có thời điểm bắt đầu và kết thúc xác định (như phòngthí nghiệm sẽ được dạy từ 2pm đến 4pm)
Advance reservation mở: Với những ứng dụng chịu tác động bởi sự kiện, yêu
cầu khả dụng được định nghĩa lỏng lẻo hơn vì khách hàng chỉ có thể xác định thời
Trang 28gian hiệu lực dựa vào những sự kiện bất đồng bộ Tuy nhiên, khi nhận được sự kiện,tính khả dụng phải được đảm bảo chính xác bắt đầu tại thời điểm đó và trong mộtkhoảng thời gian xác định Như trường hợp sử dụng điện toán khẩn cấp là ví dụ vềadvance reservation mở.
Đặt chỗ best-effort: Cũng giống như advance reservation mở, kịch bản về tính
khả dụng này định nghĩa yêu cầu khả dụng cũng lỏng lẻo Khách hàng chấp thuận một
sự khả dụng nào đó từ phía nhà cung cấp, và nhà cung cấp sẽ cung cấp tài nguyên trên
cơ sở best-effort, có nghĩa là quan tâm đến những chính sách cục bộ đánh giá vềquyền ưu tiên hay những chỉ tiêu, và những yêu cầu được hàng đợi nếu cầu thiết Cáccông việc khối là một ví dụ về kịch bản về tính khả dụng này
Đặt chỗ tức thì: Trong trường hợp này, những yêu cầu khả dụng sẽ không được
biết đến cho đến khi nhà cung cấp nhận được yêu cầu, nghĩa là tài nguyên sẽ phảiđược cung cấp ngay tức thì Không giống như kiểu advance reservation mở, trìnhquản lý tài nguyên sẽ không có cách nào để chiếm lấp tài nguyên trước, và yêu cầunày sẽ bị từ chối nếu tài nguyên không thể cung cấp tức thì được Có thể cho rằng đây
là trường hợp đặc biệt của loại advance reservation đóng, khi mà hiệu giữa thời gianlập ra agreement và thời gian bắt đầu là 0
Trong đề tài này, ta tập trung vào loại advance reservation đóng Và ta cũng cóbàn về đặt chỗ best-effort, cụ thể là làm thế nào để lập lịch kết hợp cả advancereservation và best-effor một cách thỏa đáng nhất
Trang 29dự kiến được vì còn phải phụ thuộc vào tình trạng truy cập website, nghĩa là những tàinguyên đó phải sẵn sàng phục vụ bất cứ khi nào có thông báo.
Những trường hợp sử dụng tài nguyên tạm thời ở trên đã nảy sinh ra vấn đề làm
sao để “Cấp phát tài nguyên điện toán được chia sẻ một cách hiệu quả” Vấn đề này
đã được nghiên cứu hàng thập kỷ nay, và những phương pháp tìm được thì ứng dụngcho nhiều trường hợp sử dụng tài nguyên riêng Ví dụ vấn đề chạy đa công việc trênmột cluster được chia sẻ đã được nghiên cứu rộng rãi, và những hệ thống quản lý côngviệc được ra đời như Sun Grid Engine6, LoadLeveler7… có thể sắp xếp các yêu cầucông việc vào một hàng đợi và xét ưu tiên các công việc đó một cách hiệu quả (hiệuquả về tận dụng tài nguyên, thời gian đợi đáp ứng…) Hệ thống như thế sẽ đáp ứngđược yêu cầu của nhà khoa học chạy các chương trình mô phỏng ở trên Nhưng trongtrường hợp khác, như yêu cầu của giảng viên đại học hay công ty viễn thông đã được
6 http://gridengine.sunsource.net/
7 http://www.ibm.com/systems/clusters/software/loadleveler.html
Trang 30nhắc đến thì hệ thống quản lý công việc hay các số liệu sẽ không đáp ứng hiệu quảđược Trong khi đó, những phương pháp cấp phát tài nguyên khác lại không hoàn toànphù hợp với những yêu cầu tài nguyên điện toán hướng công việc đó
Như vậy, không có một giải pháp tổng quát nào có thể cấp phát tài nguyên đápứng những trường hợp sử dụng khác nhau cùng một lúc được Đặc biệt, đề tài này chỉ
chủ yếu nghiên cứu việc phục vụ phối hợp hai yêu cầu tài nguyên loại best-effort (loại tài nguyên có thể đợi với một deadline xác định để đáp ứng) và advance reservation
(loại tài nguyên yêu cầu phải có sẵn tại một thời điểm nhất định) Trước đây, mức độhiệu quả chủ yếu được xác định bằng số lần đợi (hoặc những số liệu tương tự nhưmức giảm tốc độ hay tổng số thời gian đợi), trong khi sau này lại được xác định bằngviệc cấp phát tài nguyên tại thời điểm chính xác mà không bị ngắt, và cả hai cách xácđịnh đều liên quan đến việc sử dụng tối đa tài nguyên phần cứng và mức lợi nhuậnhợp lý Mặc dù các cách cấp phát tài nguyên loại best-effort và advance reservationđều được nghiên cứu riêng biệt, nhưng cả hai đều liên quan đến vấn đề tận dụng tàinguyên
Đề tài này chủ yếu tìm hiểu một mô hình cấp phát tài nguyên có thể hỗ trợ nhiềutrường hợp cấp phát tài nguyên một cách hiệu quả và đồng thời, mà tập trung chủ yếuvào trường hợp best-effort và advance reservation được nhắc ở trên, và thảo luận về
mô hình lease-based thực thi bằng virtual machine (VM) Mô hình này phải đáp ứng
được những mục tiêu sau:
1- Cung cấp một hệ thống lý thuyết tập trung duy nhất vào việc cấp phát tài nguyên (MT1)
Mặc dù lease đã và đang được dùng trong nhiều lĩnh vực của khoa học máytính, đặc biệt là lĩnh vực mạng, nhưng không có một định nghĩa chung nàocho từ “lease” Tuy nhiên, lease nói chung trước tiên luôn cung cấp một kháiniệm về cấp phát tài nguyên (băng thông mạng, tài nguyên phần cứng thôtrong các trung tâm dữ liệu) được tổ chức bởi một chủ cho thuê (hay một nhàcấp phát tài nguyên) và được cung cấp cho người thuê (hay khách hàng sử
Trang 31dụng tài nguyên), với một vài hạn chế liên quan tới việc sử dụng tài nguyênnhư thế nào Vì vậy, khi đề xuất mô hình lease-based, mục tiêu đề ra làkhách hàng có thể sử dụng khả năng cấp phát tài nguyên với mục đích tổngquát (có nghĩa không phải một mà là kết hợp nhiều trường hợp sử dụng đặcbiệt).
2- Cung cấp phần cứng, phần mềm và tính khả dụng (MT2)
Cấp phát tài nguyên bao gồm 3 chỉ tiêu: tài nguyên phần cứng, phần mềmsẵn có trên tài nguyên đó, và thời gian những tài nguyên đó được bảo đảmkhả dụng Một mô hình cấp phát tài nguyên hoàn chỉnh phải cho phép ngườithuê xác định yêu cầu thông qua 3 chỉ tiêu trên, và nhà cấp phát tài nguyên
có thể đáp ứng yêu cầu đó một cách hiệu quả
3- Điều hòa yêu cầu từ những loại lease khác nhau (MT3)
Cấp phát tài nguyên loại best-effort và advance reservation có những cáchđánh giá hiệu quả khác nhau Trong một vài trường hợp, những cách đánhgiá này có thể mâu thuẫn với nhau Ví dụ chấp nhận những advancereservation một cách không điều kiện có thể làm trì hoãn hoặc ngay cảchiếm lấp các best-effort Trong khi đó, chính sách không cho phép các leaseloại best-effort bị trì hoãn hay chiếm lấp thì có thể lại giảm đi khả năng đápứng loại advance reservation Việc điều hòa những mức độ hiệu quả này yêucầu phải phát triển thuật toán có khả năng kết hợp nhiều loại lease, nhữngkhả năng khác, và các chính sách giúp điều hướng các quyết định lập lịchtheo đúng mục tiêu và yêu cầu của nhà cấp phát tài nguyên Hơn nữa, cũngcần phải phát triển các chính sách phê duyệt lease để xác định xem có nênchấp nhập hay từ chối thanh toán trước một lease hay không, bất chấp lease
đó có được lập lịch hay không (có nghĩa là một nhà cung cấp có thể từ chốiđối với những advance reservation yêu cầu thời gian ít hơn 24 giờ) Ngoài
ra, tính đến tổng chi phí phải trả cho các VM cũng làm nảy sinh thêm phứctạp trong vấn đề lập lịch cho các lease loại VM-based
Trang 324- Mô hình tài nguyên ảo chính xác và lập lịch hiệu quả (MT4)
Lựa chọn VM để thực thi lease đòi hỏi phải mô hình tài nguyên được ảo hóa
và hoạt động trên tài nguyên đó Đặc biệt, sử dụng VM nảy sinh nhiều loạichi phí khác nhau (phần lớn là chi phí triển khai ảnh đĩa VM, và chi phí phụchồi hay tạm treo VM) cần phải được mô hình chính xác nên phải cân nhắcđến khi lập lịch cho VM
Tiếp theo là phần xem xét những phương pháp giải quyết hiện nay, gồm cóphương pháp VM-based (2.1), Lease-based (2.2), và Job-based (2.3) Phần sau cùng làthảo luận về thiếu sót cơ bản của những phương pháp đó (2.4)
4.1 Phương pháp VM-based:
VM được coi là phương tiện thích hợp trong việc quản lý tài nguyên bởi khảnăng cấp phát tài nguyên phần cứng, phần mềm và sự hiệu lực (MT3):
Tài nguyên phần cứng: VM có thể ánh xạ tới tất cả các phần trong phần cứng
của một node vật lý, cho phép người dùng yêu cầu những tài nguyên có yêu cầu chặcchẽ Ngoài ra, VM còn có thể cho phép việc cấp tài nguyên có thể thi hành một cáchnghiêm ngặt
Môi trường phần mềm: Một môi trường phần mềm bất kỳ có thể được đóng gói
trong một VM, cho phép người dùng hỗ trợ các ứng dụng hiện hành mà không cầnphải thay đổi gì cả Nhà cung cấp tài nguyên còn có thể cấp cho người dùng quyềnquản trị các VM và giảm hiểu được những mối nguy hại nhờ vào tính bảo mật và côlập của VM Ngoài ra, những hệ thống VM phổ biến như Xen và VMWare chủ yếu hỗtrợ kiến trúc x86, giúp việc ảo hóa tài nguyên điện toán x86 dễ dàng hơn Mặc dùnhững hệ thống này cũng đòi hỏi VM sử dụng kiến trúc x86, nhưng một mô hình VM-based vẫn có thể hỗ trợ những kiến trúc thêm vào một cách dễ dàng một khi nhà cungcấp hỗ trợ chúng
Trang 33Sự hiệu lực: VM có thể được tạm treo, di dời, và phục hồi mà không làm thay
đổi bất kỳ ứng dụng nào trong VM đó Chức năng này có khả năng cho phép tính hiệulực của những lease loại best-effort và advance reservation phối hợp một cách hiệuquả, bằng cách tạm treo những loại lease best-effort trước khi bắt đầu những leaseadvance-reservation Mặc dù có những kỹ thuật khác để tạm treo/phục hồi/di dời cácđiện toán (như kỹ thuật lưu vết phần mềm và lập lịch chiếm trước) nhưng VM lại cungcấp giải pháp linh hoạt hơn bởi vì VM không đòi hỏi những ứng dụng hay ngay cả hệđiều hành chạy trong đó phải có khả năng nhận ra những vết lưu
Mặc dù VM là một lựa chọn hấp dẫn, nhưng vẫn nảy sinh những khó khăn nhấtđịnh liên quan đến chi phí sử dụng chính nó
Chi phí chuẩn bị: Khi dùng VM để thực thi lease, ảnh đĩa của VM đó cần phải
được chuẩn bị hoặc được chuyển đến node vật lý cần thiết Bởi vì dung lượng ảnh đĩacủa VM có thể lên đến hàng gigabyte nên chi phí chuẩn bị có thể trì hoãn đáng kể thờigian bắt đầu lease Trong một vài trường hợp, sự trì hoãn này thể không chấp nhậnđược đối với lease advance reservation bởi vì yêu cầu của advance reservation là phảibắt đầu tại thời điểm xác định
Chi phí chạy: Khi một VM chạy, các thao tác như lưu vết phần mềm hay phục
hồi có thể mắc phải những chi phí đáng kể bởi vì toàn bộ bộ nhớ trống của VM phảilưu vào đĩa và sau đó lại phục hồi từ đĩa Sự di dời còn bao gồm việc chuyển bộ nhớnày theo với ảnh đĩa Cũng giống như chi phí triển khai, chi phí này có thể gây ranhững trì hoãn đáng kể
Một vài nhóm đã nghiên cứu việc sử dụng VM như một kỹ thuật cấp phát tàinguyên Những phương pháp này sử dụng VM để tạo thành các “virtual cluster” trêncác trung tâm dữ liệu lớn
4.3.1 Virtual cluster:
Một số nhóm đã áp dụng giải pháp dùng VM để tạo virtual cluster tại đỉnh
cơ sở hạ tầng hiện hành Như hệ thống của Nishimura[ CITATION SMe08 \l 1033 ]có
Trang 34thể triển khai một cluster gồm 190 node với thời gian rất thấp 40 giây bằng cáchcoi những môi trường phần mềm là những gói nhị phân khi cài đặt trên nhữngảnh đĩa cùng loại Ngoài ra việc lưu trữ những gói nhị phân ngay trên các nodegiúp hệ thống có thể giảm thiểu số lần vận chuyển ảnh đĩa từ nơi chứa gói khác.Phương pháp này chỉ giới hạn với những môi trường phần mềm có thể cài đặtthành các gói nhị phân nhưng vẫn có thể cung cấp khả năng khác triển khai ảnhđĩa VM nhanh hơn nếu thời gian cài đặt đủ ngắn Yamasaki [ CITATION SYa07 \l
1033 ] đã cải tiến hệ thống này bằng cách phát triển một mô hình dự tính trướcthời gian cài đặt môi trường phần mềm mới trên một node, cho phép trình lậplịch lựa chọn những node có thể giảm tối thiểu thời gian cài đặt một virtualcluster mới Mô hình này có quan tâm đến tính không đồng nhất của các node,
sử dụng các tham số cho mỗi node (tần suất CPU và tốc độ đọc/ghi đĩa) và hệ sốkinh nghiệm để tính trước thời gian chuyển và cài đặt tất cả những gói được yêucầu, rồi sau đó khởi động lại node đó Tuy nhiên, mô hình này không tính đếnchỉ tiêu hiệu lực khi cấp phát tài nguyên mà giả định rằng tất cả tài nguyên đềuđược yêu cầu tức thì
Bộ công cụ Nimbus [ CITATION KKe08 \l 1033 ] có khả năng triển khai virtualcluster với tốc độ “one-click” với những cấu hình mạng và phần mềm khác nhau,ngoại trừ việc cần phải ráp ảnh đĩa VM vào một cách thủ công mỗi khi triển khaivào một site mới (ví dụ server NFS có thể có địa chỉ khác, hay những dịch vụtrên mạng có thể mong muốn một chứng chỉ host số của một tổ chức cấp chứngchỉ uy tín cục bộ) Cấu hình tự động này được thực hiện bằng cách sử dụng bốicảnh một nhà môi giới bối cảnh hóa ảnh đĩa để làm việc cho một site cụ thể.Fallenbeck [ CITATION NFa06 \l 1033 ] đã mở rộng trình lập lịch Sun GridEngine để sử dụng chức năng lưu/phục hồi VM của Xen, cho phép bắt đầunhững công việc lớn song song sớm hơn bằng cách tạm treo những VM chạytheo kỳ và phục hồi lại chúng sau khi hoàn thành những công việc đó CònEmeneker [ CITATION WEm07 \l 1033 ] thì đã mở rộng trình lập lịch Moab để hỗ trợchạy công việc trong VM, và khảo sát những chiến lược lưu trữ khác nhau đểtriển khai ảnh đĩa trong cluster nhanh hơn Tuy nhiên, hai cách đó sử dụng VM
Trang 35chỉ để hỗ trợ thực thi các công việc best-effort, không lập lịch cho việc truyềnảnh đĩa một cách riêng biệt; hơn nữa, trình lập lịch Moab đã không tích hợp việclưu trữ thông tin vào những quyết định lập lịch.
Walters [ CITATION JPW08 \l 1033 ] đã đề xuất một trình lập lịch coi VM làtrung tâm gọi là UBIS Trình lập lịch này có khả năng lập lịch cho cả hai loạicông việc khối truyền thống và công việc tương tác có độ ưu tiên cao bằng cáchtận dụng khả năng tạm treo/phục hồi của VM để chiếm đóng những công việckhối đang chạy và cung cấp yêu cầu sắp đến cho những công việc tương tác.Trình lập lịch UBIS không chỉ hỗ trợ loại công việc tương tác dễ dàng mà còncung cấp những cải thiện đáng kể (đến 500%) trong việc tận dụng tài nguyên vàthời gian đáp ứng cho loại công việc khối Tuy nhiên UBIS không hỗ trợ loại tàinguyên advance reservation, thay đó tập trung vào hỗ trợ loại công việc tươngtác với những yêu cầu tài nguyên gần như là tức thì (loại yêu cầu hoàn toàn chophép UBIS chiếm đóng khi có yêu cầu loại công việc tương tác) Việc hỗ trợadvance reservation theo cách đảm bảo thời gian bắt đầu phải mô hình chi phí sửdụng và lập lịch cho những thao tác chiếm lấp hoàn thành trước khi bắt đầu đặtchỗ
Những nhóm khác cũng nghiên cứu nhiều thách thức mới về triển khai vàchạy một virtual cluster, bao gồm cả mạng ảo và load cân bằng giữa nhiềucluster vật lý (VIOLIN/VioCluster [ CITATION PRu06 \l 1033 ][ CITATION PMc05 \l
1033 ], cấu hình tự động và tạo ra VM (InVIGO [ CITATION SAd05 \l 1033 ]vàVMPlants [ CITATION IKr04 \l 1033 ]), và sự liên lạc giữa trình lập lịch virtual cluster
và trình lập lịch cục bộ chạy trong một virtual cluster (Maestro-trình lập lịch 2cấp của virtual cluster [ CITATION NKi06 \l 1033 ]) Tuy nhiên, các nhóm đó khôngkhảo sát được số công việc phối hợp yêu cầu best-effort và advance reservation,
và cũng không lập lịch được tổng chi phí triển khai VM một cách riêng biệt.Tóm lại, những giải pháp ở trên dùng máy ảo để đạt hiệu quả cao đã đápứng được mục tiêu 2 (MT2) hay cao hơn nữa là mục tiêu 4 (MT4) Tuy nhiên, tất
cả đều hướng đến cấp phát tài nguyên cho loại công việc khối (không cấp cungcấp khả năng về cấp phát tổng quát ở MT1), và tập trung vào trường hợp có hiệu
Trang 36lực đơn lẻ (hầu hết là thực thi khối công việc trên một virtual cluster, ngăn cảnkhả năng đạt được MT3), ngoại trừ Walter đã có cân nhắc đến số công việc phốihợp cả công việc khối và công việc tương tác với những yêu cầu có hiệu lực gầnnhư là tức thì Với mức MT4 thì chỉ có Nishimura và Yamasaki có thể mô hình
và lập lịch được tổng chi phí triển khai VM, trong khi các nhóm khác chỉ là giảđịnh chi phí này không tồn tại (bằng cách giả định các ảnh đĩa VM đã được triểnkhai trước) hoặc có thể cho qua
4.3.2 Giải pháp datacenter-based:
Trong khi những giải pháp đã trình bày ở trên tập trung vào việc tạo ravirtual cluster và hầu hết là với mục đích xử lý khối dựa trên công việc, thìnhững giải pháp khác lại tập trung vào việc cấp phát theo kiểu cho thuê nghĩa lànhà cung cấp quản lý một trung tâm dữ liệu và cho phép khách hàng thuê từngphần và sử dụng VM; Bên cạnh đó, một virtual cluster chỉ là một ứng dụng củatài nguyên mà người dùng có thể tác động đến VM Trên khu vực lưu trữ củamáy chủ, các trung tâm dữ liệu gồm những tài nguyên ảo đã trở thành sự lựachọn phổ biến hàng năm nay Ở đây, người dùng được cấp phát một bộ điềukhiển hoàn chỉnh toàn bộ tài nguyên mà không cần yêu cầu một server chuyêndụng trên mỗi client Các trung tâm dữ liệu là sự lựa chọn phổ biến để host cácserver web/mail/DNS với giá cả thấp, nhưng thường họ yêu cầu những lease vớikhoảng thời gian tối thiểu trong một tháng Gần đây hơn, EC2 của Amazon đãgiới thiệu một khái niệm mới về điện toán đám mây (cloud computing), một kháiniệm cho phép cấp phát máy ảo tức thì với môi trường phần mềm được tùy chỉnh
và tính phí sử dụng theo giờ Ngoài ra, còn có OpenNebula [ CITATION BSt06 \l 1033], Nimbus, và Eucalyptus [ CITATION DNu08 \l 1033 ] là những phần mềm mã nguồn
mở có khả năng thay thế cho EC2 của Amazon, sử dụng lại giao diện webservice và cung cấp những chức năng giống nhau
Từ khi phương pháp dựa trên trung tâm dữ liệu chủ yếu quản lý từ hàngtrăm tới hàng ngàn cả server ảo và vật lý, thì việc quản lý cơ sở hạ tầng ảo trongtrung tâm dữ liệu đã trở thành một mối quan tâm lớn Một vài giải pháp như
Trang 37VMWare VirtualCenter, Platform Orchestrator, Enomalism, hay OpenNebulacũng đã nảy ra vấn đề quản lý cơ sở hạ tầng ảo, cung cấp một platform điềukhiển tập trung việc triển khai và giám sát tự động VM trong trung tâm dữ liệu.Những giải pháp này nổi trội ở chỗ cung cấp cho người dùng môi trường phầnmềm chính xác với yêu cầu của họ, và nhất là cung cấp rất nhiều sự lựa chọn vềphần cứng Tuy nhiên, giải pháp đó lại phụ thuộc vào mô hình cấp phát tức thì,tức là tài nguyên được phân phối ngay lúc được yêu cầu mà không được yêu cầutrước cho một thời điểm nào đó, và trong trường hợp tài nguyên không sẵn sàngthì sẽ được đặt vào hàng đợi first-come-first-serve
Khi số công việc trong trung tâm dữ liệu chủ yếu bao gồm các server chạytrong thời gian dài (khoảng chừng vài tháng) với yêu cầu tài nguyên có thể biếnđổi, thì có một vài nhóm thì lại khảo sát vấn đề làm thế nào để dùng ít server hơnbằng cách hợp nhất nhiều server ảo thành những máy vật lý đơn Giải pháp nàyđòi hỏi phải mô tả công việc của máy chủ, dự đoán trước yêu cầu tài nguyên[ CITATION NBo07 \l 1033 ], và hợp nhất nhiều máy chủ lại thành một máy đơn dựatrên những thông tin đã tìm được theo cách khả năng vi phạm thỏa thuận cấpdịch vụ là thấp nhất Việc hợp nhất có thể thực hiện được khi xử lý yêu cầu dànhcho server mới (hợp nhất tĩnh) hay trong khi máy đang chạy (hợp nhất động[ CITATION KKe08 \l 1033 ], [ CITATION SMe081 \l 1033 ]), chủ yếu là sử dụng khả năng
di dời mạnh mẽ của VM để ánh xạ VM đến máy vật lý
Mặc dù tất cả giải pháp trên sử dụng mô hình cho thuê tổng quát (theoMT1) cho phép người dùng yêu cầu cả phần cứng và môi trường phần mềm xácđịnh (theo MT2), nhưng thuật ngữ “Lease” lại giới hạn trong sự hiệu lực tức thì;không thể yêu cầu tài nguyên trước đó hoặc đợi chờ, nghĩa là những giải phápnày không cần phải tập trung vào MT3 Tất cả Nimbus, Eucalyptus, OpenNebula
và Enomalism đều sử dụng mô hình cơ bản không lập lịch dứt khoát cho chi phí
sử dụng VM (MT4)
Trang 384.2 Phương pháp Lease-based:
Grit [ CITATION LEG07 \l 1033 ] và các thành viên khác của nhóm Jeff Chase đã đềxuất ra phương pháp cho thuê tài nguyên dựa trên Lease Tuy nhiên, hệ thống của họlại tập trung chủ yếu vào lease thuộc các liên hệ thống do hệ thống ORCA và Shirakoquản lý Trong một hệ thống, những nhà cung cấp tài nguyên có thể đóng góp cácphần tài nguyên cho một hay nhiều nhà môi giới, và những nhà môi giới này thayphiên nhau giao cho khách hàng các vé để nhận được tài nguyên thực khi trình chonhà cung cấp Việc liên bang nhiều lease qua nhiều hướng là lạc hướng so với mụcđích của bài nguyên cứu này, vì nhóm nghiên cứu chỉ tập trung vào quản lý tài nguyênngay trong nhà cung cấp đó
Hầu hết những hệ thống này đều coi VM do hệ thống Cluster-On-Demand quản
lý như là một ví dụ về tài nguyên có khả năng phân chia (mặc dù được nhấn mạnhrằng các hệ thống đó thích hợp với bất kỳ tài nguyên phân chia được nào), và gần đâynhững hệ thống đó đã tập trung vào thực thi công việc khối Tuy nhiên, những môhình đó lại giả định rằng chi phí triển khai và quản lý VM sẽ bị trừ đi từ giá trị củalease thay vì lập lịch một cách riêng biệt (MT4) Hơn nữa, mặc dù cung cấp một hệthống lý thuyết dành cho mô hình cho thuê tài nguyên nhưng mô hình này lại tậptrung vào những liên hệ thống, trong khi nhóm nghiên cứu chỉ tập trung vào cho thuê
ở mức cục bộ (có nghĩa là trong một miền quản trị đơn độc) cho phép giả định rằngtrình lập lịch lease sẽ điều khiển tuyệt đối toàn bộ tài nguyên
Trang 394.3 Phương pháp Job-based:
Trong các ngành khoa học, giới học viện và các ngành công nghiệp, cấp phát tàinguyên hầu hết được dùng để chạy các công việc và do đó, nhiều trình lập lịch côngviệc được phát triển hàng năm nay như Maui8 [ CITATION DBJ01 \l 1033 ], Moab9, LFS10,LoadLeveler11, PBS Pro12 , và SGE13 Tuy nhiên, hệ thống job-based chỉ cung cấp tàinguyên có lợi khi chạy một công việc Do đó, mặc dù những hệ thống này có thể hỗtrợ cả tài nguyên loại best-effort và advance reservation, nhưng khách hàng vẫn yêucầu tương tác với những tài nguyên đó sử dụng mô hình quản lý công việc (không đápứng được MT1) Ngoài ra, những hệ thống này còn hỗ trợ giới hạn những môi trườngphần mềm tùy chỉnh (MT2), cụ thể là chỉ giới hạn những môi trường phần mềm thíchhợp với tài nguyên phần cứng mà hệ thống cung cấp Ngoại lệ duy nhất là Moab, hệthống này chỉ hỗ trợ khởi động máy ảo đã chứa môi trường phần mềm công việc yêucầu Tuy nhiên, hệ thống Moab chỉ cho phép truy cập hạn chế số môi trường phầnmềm dựa trên VM mà vẫn còn yêu cầu bối cảnh hóa phần mềm lớn trên phần quản trịcluster, và Moab cũng không quan tâm đến chi phí cài đặt các VM đó (MT4)
Tuy nhiên, nhiều đề tài nghiên cứu về vấn đề lập lịch công việc theo hướng chútrọng vào các thuật toán đã xác lập một số kết quả lập lịch best-effort khả thi như làmthế nào để lập lịch những lease advance reservation hòa hợp với best-effort Trình lậplịch công việc chủ yếu phụ thuộc vào hàng đợi để ưu tiên truy cập tài nguyên, sử dụng
kỹ thuật backfilling [ CITATION DAL95 \l 1033 ], [ CITATION AWM01 \l 1033 ], [ CITATIONDFe04 \l 1033 ] để đánh giá sắp xếp hàng đợi Khi sử dụng kỹ thuật backfilling, trình lậplịch có thể đặt chỗ trước đối với yêu cầu không thể đặt chỗ tức thì, cho phép những
Trang 40yêu cầu đến sau nhảy lên trước hàng đợi miễn là sẽ hoàn thành trước những đặt chỗ đã
có Các thuật toán lập lịch sử dụng trong nghiên cứu này phụ thuộc vào kỹ thuậtbackfilling, nhưng được mở rộng nhờ tận dụng khả năng tạm treo/phục hồi của VM.Phần sau đây trình bày cách hỗ trợ advance reservation vào hệ thống job-based
và cách tận dụng tài nguyên hợp lý Mặc dù kỹ thuật lập lịch chiếm đóng có giải quyếtđược một ít vấn đề tận dụng của advance reservation nhưng không thể đáp ứng hết cácmục tiêu đã đặt ra ở trên Cuối cùng là phần thảo luận về các giải pháp lập lịch đa cấpdùng hệ thống dựa trên công việc làm công cụ cấp phát tài nguyên thuần (sẽ đáp ứngđược MT1)
4.3.1 Cung cấp advance reservation trên trung tâm dữ liệu:
Mặc dù có thể lập lịch cho advance reservation cùng với best-effort nhưngnhững advance reservation này lại mắc phải một vài hạn chế Trước tiên là phụthuộc vào mô hình quản lý công việc - không đáp ứng được các mục tiêu đã nêu
Và đặc biệt, khi khách hàng yêu cầu loại advance reservation trên hệ thống based thì sẽ không có quyền truy cập trực tiếp vào tài nguyên mà thay vào đó chỉđược phép submit các công việc lên đó thôi Ví dụ PBS Pro đã tạo ra một hàngđợi gồm các tài nguyên đã đặt chỗ để có thể đảm bảo rằng những công việcsubmit lên đó chắc chắn sẽ được thực hiện không sớm thì muộn (giả định rằngcác quyền đã được phê duyệt) Mặc khác Maui và Moab lại cho phép người dùngchỉ định rõ những công việc sẽ sử dụng tài nguyên đã đặt chỗ (nếu người đó cóquyền) Người dùng không thể trực tiếp login vào tài nguyên đã đặt chỗ ngoạitrừ phải thông qua công việc tương tác, nhưng cũng không thể truy cập tàinguyên một cách tự do được (như không được truy cập root), hoặc cũng có thể
job-sử dụng ad-hoc để yêu cầu quyền login từ người quản trị cluster trong thời gianđặt chỗ
Hơn nữa, vấn đề tận dụng tài nguyên khi hỗ trợ advance reservation[ CITATION IFo99 \l 1033 ], [ CITATION QSn00 \l 1033 ], [ CITATION SYa07 \l 1033 ] cũng cầnphải giải quyết do phải bỏ trống tài nguyên trước khi đặt chỗ bắt đầu Không