Hệ thống điều phối công việc phân phối các tài nguyên cho các tác vụ yêu cầu dựa trên các ràng buộc của SLA, nó là vấn đề nền tảng của việc đạt được hiệu quả cao trong điện toán đám mây
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Bài thu hoạch môn học:TÍNH TOÁN LƯỚI
Đề tài:
SỬ DỤNG GIẢI THUẬT DI TRUYỀN
TRONG BÀI TOÁN ĐIỀU PHỐI CÔNG VIỆC
CHO ĐIỆN TOÁN ĐÁM MÂY
Cán bộ giảng dạy: PGS TS NGUYỄN PHI KHỨ
Học viên: ĐỖ ĐÌNH THỦ
Mã số: CH1101140
Lớp CH06
Tp.HCM, 07-2013
Trang 2Đỗ Đình Thủ _ CH1101140 Trang 2
Lời nói đầu
Ngày nay, trong thời đại bùng nổ internet, mô hình điện toán đám mây đang đáp ứng ngày càng nhiều nhu cầu của con người đa dạng về ứng dụng và tần suất sử dụng Điện toán đám mây cũng đang phải đối mặt với một thách thức to lớn khi như cầu tăng lên của người sử dụng và mức độ đòi hỏi về chất lượng càng cao Để đảm bảo mức độ hài lòng của người dùng và duy trì cũng như tăng dần lợi nhuận, nhà cung cấp dịch vụ đám mây phải chọn một mô hình điều phối hiệu quả nhất Trong khuôn khổ bài thu hoạch môn học, em xin giới thiệu 2 mô hình điều phối công việc dùng thuật toán di truyền Mô hình điều phối nhắm tới mục tiêu tăng mức độ hài lòng của người dùng, đảm bảo chất lượng, tiết kiệm điện năng và mang lại lợi ích cao nhất cho nhà cung cấp dịch vụ
Xin chân thành cảm ơn thầy, PGS TS Nguyễn Phi Khứ đã tận tình hướng dẫn, cung cấp cho chúng em các kiến thức quan trong về mô hình điện toán lưới, điện toán đám mây và các mô hình tính toán hiệu năng cao khác
Xin thầy nhận nơi chúng em lời cảm ơn sâu sắc!
Học viên Đỗ Đình Thủ
Trang 3
Đỗ Đình Thủ _ CH1101140 Trang 3
1 GIỚI THIỆU 4
2 THUẬT TOÁN DI TRUYỀN ĐA MỤC TIÊU CHO BÀI TOÁN ĐIỀU PHỐI TÁC VỤ VÀ TỐI ƯU LỢI NHUẬN, GIẢM THIỂU ĐIỆN NĂNG 6
2.1 Mô hình điều phối vĩ mô 6
2.1.1 Kiến trúc mô hình (Model architecture) 6
2.1.2 Xây dựng bài toán (Problem Formulation) 7
2.1.3 Hàm mục tiêu (Objective function) 8
2.1.4 Ràng buộc (Constraints) 8
2.2 Thuật toán phân lịch, điều phối di truyền đa mục tiêu (MO-GA Scheduling Algorithm) 8
2.2.1 Luật mã hóa (Encoding rule) 8
2.2.2 Khởi tạo quần thể (Population Initialization) 9
2.2.3 Thuật toán di truyền (Genetic Algorithm) 9
2.2.4 Chọn lọc tối ưu theo tiếp cận kho lưu trữ Pareto (Optimal Selection in Pareto Archive) 11
2.2.5 Các bước triển khai (mplementation Steps) 12
2.3 Giả lập và phân tích (Simulations and analysis) 12
2.3.1 Thiết lập thí nghiệm (Experimental Settings) 12
2.3.2 Đánh giá hiệu quả (Performance Evaluation) 13
3 THUẬT TOÁN DI TRUYỀN CHO BÀI TOÁN ĐIỀU PHỐI TÁC VỤ THEO HƯỚNG TỐI ƯU SỰ HÀI LÒNG CỦA NGƯỜI DÙNG VÀ LỢI NHUẬN CỦA NHÀ CUNG CẤP 16
3.1 Điều phối công việc dựa trên giải thuật di truyền cho điện toán đám mây 16
3.1.1 Mã hóa và khởi tạo (Encoding and Initiation) 16
3.1.2 Hàm thích nghi và sự chọn lọc (Fitness Function and Selection 17
3.1.3 Trao đổi chéo và đột biến (Crossover and Mutation) 17
3.1.4 Điều kiện khởi tạo lại và dừng (Restart and Stop Condition) 18
3.2 Các kết quả giả lập 19
4 KẾT LUẬN 20
Trang 4Đỗ Đình Thủ _ CH1101140 Trang 4
1 Giới thiệu
Với sự phát triển của hệ thống ảo và công nghệ Internet, điện toán đám mây
đã nổi lên như một nền tảng điện toán mới (new computing plaform) Điện toán đám mây cung cấp các tài nguyên IT đã ảo hóa như là các dịch vụ đám mây bằng cách sử dụng công nghệ internet Trong điện toán đám mây, người dùng dịch vụ (cloud users) sẽ gởi 1 giao ước gọi là Service Level Agreement (SLA) với nhà cung cấp dịch vụ đám mây (cloud provider) Người dùng dịch vụ đám mây sử dụng tài nguyên
IT như lưu trữ và máy chủ như là một dịch vụ và sẽ thanh toán tiền dịch vụ này Nhà cung cấp dịch vụ đám mây xây dựng một hệ thống máy tính gọi là đám mây, gồm nhiều máy ảo riêng biệt kết nối với nhau và tạo ra sản phẩm từ việc xử lý các yêu cầu
từ người dùng trên hệ thống máy tính đó Về mặt kinh tế, sự hấp dẫn chính của điện toán đám mây là khách hàng chỉ sử dụng những gì họ cần, và chỉ phải trả cho những
gì họ thực sự sử dụng Nguồn lực có sẵn để được truy cập từ điện toán đám mây tại bất kỳ thời điểm nào và từ bất kỳ vị trí thông qua internet Tuy nhiên, trung tâm dữ liệu sử dụng một năng lượng đáng kể và ngày càng tăng, một trung tâm dữ liệu tiêu thụ trung bình một lượng năng lượng bằng 25.000 hộ gia đình Do đó, năng lượng là rất quan trọng cho tính toán của các hệ thống điện toán đám mây nơi tiêu thụ số lượng đáng kể năng lượng Tài nguyên yêu cầu cho nhiều công việc dao động theo thời gian Hệ thống điều phối công việc phân phối các tài nguyên cho các tác vụ yêu cầu dựa trên các ràng buộc của SLA, nó là vấn đề nền tảng của việc đạt được hiệu quả cao trong điện toán đám mây và nó có ý nghĩa to lớn trong việc cải thiện cân bằng tải về tài nguyên, bảo mật, đáng tin cậy và giảm năng lượng tiêu thụ trong toàn
hệ thống Tuy nhiên, nó là vấn đề thách thức lớn cho việc thiết kế thuật toán điều phối, phân lịch hiệu quả và triển khai trên môi trường điện toán đám mây
Để giảm tiêu thụ năng lượng, Pinheiro và cộng sự đề xuất một mô hình tối thiểu tiêu thụ năng lượng tiêu thụ bằng việc gom nhóm không đồng nhất các nút tính toán phục vụ cho nhiều ứng dụng web, mà định kỳ giám sát về tải tài nguyên (load resources) và ra quyết định về chuyển đổi các nút bật / tắt để giảm thiểu tiêu thụ điện năng tổng thể; Raghavendra và cộng sự kết hợp năm chính sách quản lý điện năng khác nhau và khám phá những vấn đề về lý thuyết điều khiển, nhưng hệ thống không
hỗ sự đa dạng của SLAs cho các ứng dụng khác nhau; Lee và cộng sự đề xuất hai
Trang 5Đỗ Đình Thủ _ CH1101140 Trang 5
thuật toán dựa trên mô hình giá cả, sử dụng bộ xử lý chia sẻ để cân bằng giữa lợi nhuận và sử dụng tài nguyên; Gang và cộng sự đề xuất một chương trình điều khiển thuật toán di truyền tuyến tính, nhằm thiết lập lịch trình tốt nhất trong một tính năng lưới bằng cách giảm thiểu chi phí kết hợp của tất cả người dùng trong một cách thích hợp.Tất cả các phương pháp nêu trên xem xét lợi nhuận hoặc năng lượng trong nghiên cứu của họ nhưng không có mối quan hệ giữa chúng
Hiện nay có rất nhiều mô hình phân công tác vụ được phát triển bởi nhiều nhà nghiên cứu để sử dụng tài nguyên tính toán trong môi trường điện toán phân bố, nhưng các mô hình hiện tại không thích hợp cho điện toán đám mây Bởi vì các mô hình hiện tại chính vẫn là đang tập trung vào làm tăng hiệu quả của hệ thống Hầu hết các mô hình điều phối công việccho Cluster computing cố gắng vào việc tối thiểu thời gian hoàn thành của các tác vụ batch Các mô hình điều phối công việc cho điện toán lưới, tổ tiên của điện toán đám mây, nhằm mục đích tăng cường số lượng hiệu suất (performance metrics) giống như tốc độ tính toán và khả năng lưu trữ Bên cạnh
đó, sự hài lòng của khách hàng và lợi ích của nhà cung cấp phải được xem xét đến để giải quyết bài toán điều phối công việc trong điện toán đám mây Nói cách khác, một
bộ phân lịch (scheduler) thực hiện các điều phối công việc đáp ứng các QoS đã đồng
ý trên SLA giữa người dùng dịch vụ điện toán đám mây với nhà cung cấp dịch vụ điện toán đám mây làm tăng lợi ích cho họ
Trong phần sau của bài thu hoạch sẽ giới thiệu một mô hình lập kế hoạch vĩ mô với các thành phần nhận thức và quyết định cho điện toán đám mây, trong đó xem xét cả các yêu cầu của công việc khác nhau và hoàn cảnh của cơ sở hạ tầng máy tính, sau đó đưa ra một thuật toán dựa điều phối công việc dựa trên thuật toán di truyền nhiều mục tiêu (MO-GA), có tính đến tiêu thụ năng lượng và lợi nhuận của các nhà cung cấp dịch vụ, nhằm cung cấp một cơ chế lựa chọn động phù hợp nhất với các chương trình điều phối cho người sử dụng theo yêu cầu thời gian thực Phần cuối là một thuật toán di truyền khác ứng dụng cho bài toán điều phối công việc cho điện toán đám mây nhưng hướng tiếp cận là tăng mức hài lòng của người dùng cùng với lợi nhuận của nhà cung cấp
Trang 6Đỗ Đình Thủ _ CH1101140 Trang 6
2 Thuật toán di truyền đa mục tiêu cho bài toán điều phối tác vụ và tối ưu lợi nhuận giảm thiểu điện năng
Trong phần này sẽ trình bày:
- Mô hình điều phối vĩ mô với các thành phần nhận thức và quyết định cho điện toán đám mây
- Một thuật toán điều phối công việc dựa trên thuật toán di truyền nhiều mục tiêu (MO-GA), có tính đến tiêu thụ năng lượng và lợi nhuận của các nhà cung cấp dịch vụ
- Một số thí nghiệm để xác nhận thiết kế đã trình bày và so sánh mô hình
MO-GA với các mô hình truyền thống
2.1 Mô hình điều phối vĩ mô
Trong điện toán đám mây, các yêu cầu dịch vụ cần dùng lượng tài nguyên không đồng nhất, vài dịch vụ có thể yêu cầu CPU chuyên sâu, cái khác lại cần tài nguyên I/O chuyên sâu Các tài nguyên điện toán đám mây cấp phát không chỉ làm hài lòng người dùng bởi theo các yêu cầu cụ thể QoS thông qua SLA mà còn phải giảm năng lượng tiêu thụ và tăng lợi ích của nhà cung cấp dịch vụ
2.1.1 Kiến trúc mô hình (Model architecture)
Hình 1 mô tả kiến trúc chức năng của mô hình điều phối mà ta muốn thiết kế, các chức năng chi tiết của các thành phần chính được mô tả sau đây
Hình 1 Kiến trúc chức năng của mô hình điều phối công việc cho điện toán đám mây
Trang 7Đỗ Đình Thủ _ CH1101140 Trang 7
- “Request cognition component” phải nhận biết đầy đủ yêu cầu cụ thể cho tất cả các công việc, trong đó có thể là tính toán, lưu trữ hay yêu cầu thông tin tính toán, liên quan luật pháp và điều kiện đồng thời, bảo mật, các yêu cầu riêng, QoS, v.v
- “Service decomposition component” phân rã các yêu cầu dịch vụ vào mức độ khác nhau với bộ vi xử lý khác nhau thích hợp Trong các thủ tục tiếp theo, “Task manager” sẽ phân tích các yêu cầu tài nguyên của mỗi yêu cầu và ánh xạ vào những
bộ xử lý tối ưu để đạt được một giải pháp hiệu quả
- “Task manager” chịu trách nhiệm quản lý trạng thái công việc (bắt đầu, dừng, hủy…), xác định thứ tự phân lịch, tài nguyên liên kết và tài nguyên thích hợp cấp phát cho mỗi yêu cầu dưới sự giúp đỡ của thuật toán điều phối tác vụ
- “Resource cognition component” thực thi vai trò quản lý tài nguyên rảnh rỗi, giám sát hiệu quả tài nguyên, tối ưu động theo chiến lược điều phối và thông báo lỗi
2.1.2 Xây dựng bài toán (Problem Formulation)
Trong mô hình của chúng ta, một ứng dụng điện toán đám mây được xem như tập hợp các mẫu công việc hay các công việc mang lại từ những tính toán phức tạp bằng cách sử dụng tài nguyên của điện toán đám mây Tập A = (a1, a2, a3,…, aM) là một chuỗi ứng dụng đến theo thời gian Trong suốt quá trình xử lý phân lịch, người dùng
bộ 3 thành phần là (ti, ni, di) với:
toán ảo hóa trong điện toán đám mây theo công nghệ ảo hóa
ni là số lượng máy ảo cần thiết cho công việc ai
di là deadline, thời hạn giải quyết công việc aiVấn đề cần giải quyết của thuật toán là làm sao điều phối M ứng dụng tới N “đám mây” dưới các ràng buộc và làm cho các đối tượng chức năng được tối ưu Trong đó
N đám mây lại được phân bố trên nhiều vùng địa lý khác nhau trên toàn thế giới và thường không đồng nhất, trong mỗi đám mây, tất cả các máy ảo được xem như không đồng nhất với công nghệ ảo hóa
Trang 8Đỗ Đình Thủ _ CH1101140 Trang 8
2.1.3 Hàm mục tiêu (Objective function)
Giả sử ứng dụng ai được điều phối và thực thi trên đám mây Cj, với pj là điện năng cho mỗi máy ảo tại Cj, như vậy điện năng tiêu thụ khi chạy ai cho bởi:
Eij = pjniti (tích của thời gian cung cấp, số máy ảo, và năng lượng 1 máy) Lợi ích của nhà cung cấp dịch vụ là:
Rij = nitipr - coij
của nhà cung cấp khi thực thi ứng dụng ai
Kết hợp Eij và Rij, hàm mục tiêu có thể được viết như sau:
Với E là tổng năng lượng tiêu thụ và R là tổng lợi nhuận của nhà cung cấp dịch
vụ khi thực thi M ứng dụng trên N đám mây
2.1.4 Ràng buộc (Constraints)
Các ràng buộc được liệt kê sau đây:
(1) Ứng dụng ai phải hoàn thành trước thời hạn di, ngược lại thì điều phối này xem như thất bại
(2) Mỗi ứng dụng chỉ có thể được phân phối vào chỉ một đám mây
2.2 Thuật toán phân lịch, điều phối di truyền đa mục tiêu
(MO-GA Scheduling Algorithm)
2.2.1 Luật mã hóa (Encoding rule)
Mỗi điều phối biểu diễn bằng ma trận 2 x M Trong đó M là chiều dài của chromosome (nhiễm sắc thể) Dòng đầu tiên là số ứng dụng yêu cầu, dòng thứ 2 là số đám mây tương ứng nơi các ứng dụng được thực thi Hình 2 là ví dụ của một kết quả điều phối, trong đó ứng dụng 2 được liên kết với đám mây 0 và ứng dụng 5 được liên kết với đám mây 1
Trang 9Đỗ Đình Thủ _ CH1101140 Trang 9
Hình 2 Ví dụ mã hóa kết quả điều phối
Theo luật trên ta thấy mỗi ứng dụng chỉ có thể liên kết với 1 đám mây, còn mỗi đám mây có thể xử lý nhiều ứng dụng
2.2.2 Khởi tạo quần thể (Population Initialization)
Quần thể khởi tạo có tác động tới các thế hệ tương lai, nó là bước quan trọng trong toàn bộ thuật toán Bước này được xây dựng bằng cách kết hợp ngẫu nhiên và các phương pháp khởi tạo tham lam (greedy initialization) Với phương pháp khởi tạo tham lam, bộ điều phối từ chối các ứng dụng không hợp ràng buộc về thời hạn, đó có thể là nguyên nhân của toàn bộ việc điều phối sai Loại này của phương thức khởi tạo giúp thêm nhiều quần thể ban đầu và tránh xu hướng tìm kiếm của MO-GA
2.2.3 Thuật toán di truyền (Genetic Algorithm)
Thuật toán di truyền là một tìm kiếm heuristic bắt chước quá trình tiến hóa tự nhiên dựa trên quần thể của các giải pháp ứng cử viên Nó thường được sử dụng để tạo ra các giải pháp hữu ích để tối ưu hóa Trong quá trình tiến hóa, một sửa đổi được thực hiện bởi thao tác tác động riêng trên mỗi cá nhân của quần thể Mỗi nhiễm sắc thể đại diện cho một kết quả điều phối và thao tác đánh giá dựa vào hàm thích nghi (fitness function)
(1) Đánh giá cá thể (Individual Evaluation):
Tính thích nghi được rút ra từ năng lượng tiêu thụ và lợi nhuận của các nhà cung cấp dịch vụ Sau khi đánh giá chỉ các giải pháp (cá thể) với thứ hạng tốt nhất được chọn từ hàm thích nghi và được lưu trong các kho lưu trữ Pareto trong đó chứa các cá thể “không thống trị” khác nhau (the different non-dominated solutions) được sinh ra
từ nhiều thế hệ
Trang 10Đỗ Đình Thủ _ CH1101140 Trang
10
(2) Thao tác chọn lọc (Selection operation)
Thao tác chọn lọc được dựa trên việc đấu tranh của k cá thể, với hai chiến lược: chủ nghĩa tinh hoa và đông đúc Chiến lược chủ nghĩa tinh hoa sử dụng của cá nhân trong kho Pareto và lựa chọn những cá nhân tốt nhất theo quan niệm không thống trị cho các thế hệ tiếp theo, cho phép sự hội tụ của quá trình tiến hóa Chiến lược đông đúc lợi dụng khoảng cách gần để ước tính cường độ của các cá thể xung quanh và loại bỏ các cá thể đã quá đông đúc bằng cách xếp hạng khoảng cách số đông của mỗi
cá nhân Khoảng cách số đông được định nghĩa là chu vi của hình chữ nhật được xác định bởi các láng giềng trái và bên phải của nó, và bằng vô cùng nếu không có hàng xóm láng giềng
(3) Thao tác trao đổi chéo (Crossover Operation)
Thao tác trao đổi chéo sử dụng 2 cá thể s1 và s2 để tạo ra 2 cá thể s’1 và s’2 Với cá thể s1 đầu tiên ta tạo ngẫu nhiên 2 số nguyên i,j với 1 ≤ i ≤ j ≤ N Sau đó ta chép phần
si trước i và sau j thành s’1 Ánh xạ các tác vụ giữa i và j thành cá thể trung gian s1m
bố trong môt đoạn nào đó của chúng ta sẽ có thêm 1cá thể mới Trong hình 3 mô tả
cá thể s’2 cũng được tạo ra theo cách tương tự
Hình 3 Cơ chế trao đổi chéo