Tải bản đầy đủ (.pdf) (21 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.03 MB, 21 trang )

ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜ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


Bài thu hoạch môn Tính Toán Lưới
Đỗ Đì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ủ










Bài thu hoạch môn Tính Toán Lưới
Đỗ Đì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


Bài thu hoạch môn Tính Toán Lưới
Đỗ Đì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
Bài thu hoạch môn Tính Toán Lưới
Đỗ Đì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.



Bài thu hoạch môn Tính Toán Lưới
Đỗ Đì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
Bài thu hoạch môn Tính Toán Lưới
Đỗ Đì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 = (a
1
, a
2
, a
3
,…, a
M
) 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
gởi một yêu cầu ứng dụng a
i
(1≤ i ≤ M), với yêu cầu tài nguyên được miêu tả trong 1
bộ 3 thành phần là (t
i

, n
i
, d
i
) với:
t
i
là thời gian chuyển ứng dụng vào các máy ảo, các thành phần tính
toán ảo hóa trong điện toán đám mây theo công nghệ ảo hóa.
n
i
là số lượng máy ảo cần thiết cho công việc a
i

d
i
là deadline, thời hạn giải quyết công việc a
i

Vấ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.
Bài thu hoạch môn Tính Toán Lưới
Đỗ Đình Thủ _ CH1101140 Trang 8

2.1.3. Hàm mục tiêu (Objective function)
Giả sử ứng dụng a
i

được điều phối và thực thi trên đám mây C
j
, với p
j
là điện
năng cho mỗi máy ảo tại C
j
, như vậy điện năng tiêu thụ khi chạy a
i
cho bởi:
E
ij
= p
j
n
i
t
i
(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à:
R
ij
= n
i
t
i
pr - co
ij

Vớ pr là giá đơn vị thu được của nhà cung cấp cho ứng dụng a

i
và co
ij
là chi phí
của nhà cung cấp khi thực thi ứng dụng a
i
.
Kết hợp E
ij
và R
ij
, hàm mục tiêu có thể được viết như sau:
min E = min (
 





) và
max R = max(
 





)
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 a
i
phải hoàn thành trước thời hạn d
i
, 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.
Bài thu hoạch môn Tính Toán Lưới
Đỗ Đì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ệ.


Bài thu hoạch môn Tính Toán Lưới
Đỗ Đì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ể s
1
và s
2
để tạo ra 2 cá thể s’
1
và s’
2
. Với cá
thể s
1
đầ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
s
i
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 s
1
m

tương ứng với kết quả phân bố tác vụ trong s
2
. Cuối cùng chép các tác vụ trong s
1
m

và vị trí tương ứng trong s’
1
. Cơ chế chung là từ 2 cá thể sau khi trao đổi phần phân

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
Bài thu hoạch môn Tính Toán Lưới
Đỗ Đình Thủ _ CH1101140 Trang
11

(4) Thao tác đột biến (Mutation Operation)
Thao tác đột biến chọn hai tác vụ trong một cá thể ngẫu nhiên và hoán đổi vị trí
cấp phát của chúng để tạo ra một cá thể mới mới.
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)
Kết quả của thuật toán MO-GA là một tập hợp các lời giải Pareto, cung cấp một
biên độ rộng cho nhiều chọn lựa trong khi làm giảm hiệu quả của các tiến trình điều
phối. Trong thực tế, người dùng đôi khi cần phải năng động điều chỉnh mức độ ưa
thích cho một mục tiêu cụ thể nào đó. Bước này cung cấp một cách tiếp cận để nhận
một lời giải (giải pháp) tối ưu trong các kho lưu trữ bên ngoài Pareto theo yêu cầu
hiện tại. Véc tơ hai chiều đã được giới thiệu đại diện cho trọng lượng một mục tiêu
cụ thể, có điểm định hướng các lời giải thuận lợi nhất.
Hinh 4 minh họa 3 véc tơ 3 chiều, ở đây p
1
– p
5
đại diện cho kết quả bên ngoài
sau khi chạy thuật toàn MO-GA. v
1
= (0,1) , v

2
= (







) và v
3
= (1,0) đại diện cho
ba loại yêu cầu tương ứng. Ví dụ, chọn lựa tối ưu của véc tơ v
1,
v
2,
v
3
lần lượt là p
1,
p
3,

p
5

Hình 4. Sơ đồ ngữ nghĩa của chọn lọc tối ưu

Bài thu hoạch môn Tính Toán Lưới
Đỗ Đình Thủ _ CH1101140 Trang

12

2.2.5. Các bước triển khai (mplementation Steps)
Như trên, các bước thực hiện bước thuật toán được liệt kê sau đây:
(1) Khởi tạo quần thể ban đầu theo phương pháp tham lam và ngẫu nhiên;
(2) Hiệu chỉnh các cá thể trong quá trình tiến hóa của thuật toán MO-GA theo các
thao tác đã nói trong phần 2.2.3 (đánh giá, chọn lọc, trao đổi chéo, đột biến) và lưu
trữ các kết quả bên ngoài Pareto
(3) Chọn giải cá thể tối ưu theo vector và thực hiện các kết quả lập lịch trình điều
phối để phân phối vào liên đoàn đám mây phân bố (distributed cloud federation).
2.3. Giả lập và phân tích (Simulations and analysis)
Các thí nghiệm mô phỏng dựa trên nền tảng của CloudSim được thực hiện, để xác
nhận tính hiệu quả của thuật toán đề xuất.
2.3.1. Thiết lập thí nghiệm (Experimental Settings)
Các thiết lập tham số cho thí nghiệm này như sau:
(1) Thông số cho liên bang đám mây: hình 5 cho thấy đặc điểm của các máy ảo
tạo ra cả liên bang đám mây trong CloudSim. Trong thí nghiệm này có tám đám mây,
và các máy ảo trong đám mây cùng là đồng nhất.
(2) Cài đặt ứng dụng. Yêu cầu bao gồm 10.000 ứng dụng, tỷ lệ tác vụ đến trong
các thí nghiệm được chia thành 3 mức là thấp, trung bình và cao (trong cùng một
khoảng thời gian tỷ lệ cao có nhiều gấp mười lần các ứng dụng xuất hiện so với trung
bình, tỷ lệ như vậy với trung bình và thấp).
(3) Quy mô quần thể là 20, số lượng các thế hệ là 1000, trao đổi chéo và đột biến
tỷ lệ tương ứng là 0,95 và 0,1. Người sử dụng phải trả 2¥ cho mỗi máy ảo mỗi giờ, và
các nhà cung cấp phải trả 0,5¥ cho mỗi kWh điện.

Bài thu hoạch môn Tính Toán Lưới
Đỗ Đình Thủ _ CH1101140 Trang
13



Hình 5. Đặc trưng của máy ảo trong mỗi đám mây
2.3.2. Đánh giá hiệu quả (Performance Evaluation)
Tiến hành một số thí nghiệm và với các thông số khác nhau của thuật toán MO-
GA. So sánh kết quả với các thuật toán điều phối tối đa ứng dụng và thuật toán điều
phối ngẫu nhiên:
- Các thuật toán điều phối tối đa ứng dụng nhằm mục đích tối đa hóa số lượng các
ứng dụng theo lịch trình.
- Các thuật toán điều phối ngẫu nhiên giao ngẫu nhiên các ứng dụng điện toán
đám mây. Kết quả của mỗi thí nghiệm của MO-GA đã được rút ra từ 30 lần chạy độc
lập. Hình 6 cho thấy sự so sánh của MO-GA với vector lựa chọn v = (







) với hai
thuật toán khác, theo tỷ lệ đến khác nhau.
Bài thu hoạch môn Tính Toán Lưới
Đỗ Đình Thủ _ CH1101140 Trang
14


Hình 6. Thí nghiệm so sánh 3 thuật toaán khác nhau
Từ hình 6 ta có thể có kết luận như sau:
(1) So với các thuật toán khác, phương pháp điều phối MO-GA có thể có được lợi
nhuận cao hơn, trong khi tiêu thụ năng lượng thấp hơn. Khi tỷ lệ xuất hiện thấp,
phương pháp MO-GA tiêu thụ ít năng lượng hơn 44.46%, và có được lợi nhuận cao

hơn 5,73%, nhưng mức tăng đã giảm bớt khi tỷ lệ ứng dụng tăng.
(2) Khi tỷ lệ ứng dụng cao, điều tồi tệ là kết quả và số lượng lớn ứng dụng bị thất
bại (tuy là nhỏ nhất)
(3) Giữa 2 thuật toán MO-GA và Các thuật toán điều phối tối đa ứng dụng có ít
sự khác biệt về lợi nhuận nhưng số ứng dụng thất bại thì có sự chênh lệch lớn.
(4) Phương pháp điều phối ngẫu nhiên tiêu tốn ít tài nguyên nhất nhưng lại có tỷ
lệ thất bại quá cao.
(5) Với sự gia tăng của tỷ lệ xuất hiện ứng dụng, nhiều ứng dụng bị từ chối. Điều
này là do tất cả các đám mây trở nên bão hòa và bận rộn tại các tỷ lệ xuất hiện cao,
không có khả năng chấp nhận thêm các ứng dụng mới đến.
Để điều tra ảnh hưởng của véc tơ lựa chọn đến kết quả lịch MO-GA, chúng tôi
tiến hành một thử nghiệm và so sánh kết quả của thuật toán MO-GA với ba vector
khác nhau. Kết quả được trình bày trong hình 7
Bài thu hoạch môn Tính Toán Lưới
Đỗ Đình Thủ _ CH1101140 Trang
15



Hình 7. Thí nghiệm so sánh với 3 véctơ lựa chọn khác nhau
(1) Định hướng vectơ ủng hộ một mục tiêu cụ thể, được cải thiện đáng kể vào
mục tiêu này, đặc biệt là ở mức tỷ lệ ứng dụng đến thấp và trung bình.
(2) Véctơ v
2
tương ứng thích hợp với điều phối không có mục tiêu,và kết quả
cũng ở mức trung bình so với hai véc tơ còn lại.








Bài thu hoạch môn Tính Toán Lưới
Đỗ Đình Thủ _ CH1101140 Trang
16

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
Phần này gồm có 2 phần:
- Mô hình điều phối công việc dựa trên thuật toán di truyền (GA) cho điện toán
đám mây và miêu tả làm sao thiết kế các thành phần chức năng điều phối tác vụ theo
giải thuật di truyền.
- Cấu hình giả lập và các kết quả ngắn gọn
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
3.1.1. Mã hóa và khởi tạo (Encoding and Initiation)
Một chromosome ch
k
đại diện cho thông tin cấp phát tác vụ, ví dụ: một phân
lịch tác vụ. k có giá trị từ 1 tới z là số ký hiệu của chromosome (nhiễm sắc thể) trong
một quần thể (population). Xét tính hài lòng của người sử dụng và lợi ích của nhà
cung cấp, bộ điều phối công việc xác định không gian nào để phân phối cho từng tác
vụ trong mỗi chu khì phân lịch. Mỗi chromosome ch
k
gồm có α[i] và β[i] chúng biểu
thị thông tin xử lý tác vụ và máy ảo cấp phát xử lý. Chiều dài của 1 chromosome
bằng với số tác vụ nhập vào.


Hình 8. Phân loại công việc theo ràng buộc về thời gian và ngân sách
Bài thu hoạch môn Tính Toán Lưới
Đỗ Đình Thủ _ CH1101140 Trang
17

Thao tác mã hóa để diễn tả một điều phối công việc bằng một chromosome.
Một tập tác vụ đầu vào được sắp xếp trước khi tạo nên các chromosomes. Không
giống như các môi trường điện toán phân bố hiện tại, người dùng dịch vụ điện toán
đám mây trả tiền cho dịch vụ điện toán tùy theo người. Do đó, các tác vụ nhận từ
người dùng dịch vụ điện toán đám mây với chi phí cao hơn phải được cấp phát tới
các máy ảo nhanh hơn các tác vụ khác. Trong bài báo này chúng tôi phân loại thành
4 nhóm tác vụ theo ràng buộc về thời gian và ngân sách như trong hình 8.
3.1.2. Hàm thích nghi và sự chọn lọc (Fitness Function and Selection
Hàm thích nghi sinh ra 1 giá trị thích nghi cho mỗi chromosome. Giá trị chỉ ra
mức phù hợp như thế nào cho việc giải bài toán điều phối công việc cho một
chromosome. Hàm thích nghi tổng quát dựa trên thời gian thực thi của tác vụ. Nhưng
bài toán điều phối công việc trên điện toán đám mây thì khác với bài toán điều phối
công việc tổng quát bởi vì dịch vụ tính toán trên điện toán đám mây được cung cấp
thông qua một SLA (thỏa thuận) giữa người dùng và nhà cung cấp dịch vụ. Sự tối
thiểu thời gian thực thi chính là mục tiêu của điều phối. Nhưng mục tiêu chính là tăng
mức độ hài lòng của người dùng và tăng lợi nhuận của nhà cung cấp. Như vậy, hàm
thích nghi trong giải thuật di truyền của chúng ta được định nghĩa dựa trên các thành
phần đó.
Sự hài lòng của người dùng được bảo đảm QoS (chất lượng dịch vụ) đã định sẵn
trong tài liệu SLA. Thời gian đáp ứng và chi phí xử lý là các thuộc tính điển hình
trong một SLA, được sử dụng để định nghĩa sự hài lòng của người dùng. Trong thuật
toán phân lịch GA của chúng ta, việc sử dụng “bánh xe roulette” một phương pháp
lựa chọn ngẫu nhiên, được sử dụng để tạo ra các cơ sở cho thế hệ tiếp theo. Chúng ta
giả định có 3 bánh xe roulette, kích thước của chúng là tổng của tất cả các giá trị
thích nghi trong quần thể

3.1.3. Trao đổi chéo và đột biến (Crossover and Mutation)
Thao tác trao đổi chéo crossover là một cơ chế đơn giản nhằm hoán đổi 1 phần
của một chromosome cho một chromosome khác. Ở đây, có 2 điểm trao đổi chéo
được sử dụng để chuyển đổi vật liệu di truyền từ thế hệ cha mẹ cho thế hệ con.
Bài thu hoạch môn Tính Toán Lưới
Đỗ Đình Thủ _ CH1101140 Trang
18

Thao tác đột biến chính là việc mở rộng thông tin tìm kiếm bằng cách thay đổi một
phần của chromosome. Trong gian đoạn đầu của giải thuật di truyền, chất lượng của
các chromosome sinh ra không phải là đặc biệt tốt. Trải qua thời gian, chất lượng của
các chromosome được nâng lên cao hơn. Triển vọng trong việc nâng cao chất lượng
là các thao tác đột biến được thực thi sớm trong các bước đầu của giải thuật di truyền.
Nhưng thật khó khi nâng chất lượng của các chromosome bằng các thao tác đột biến
khi mà chất lượng đạt được tới 1 giá trị chuẩn. Trong trường hợp này, thao tác đột
biến sẽ làm tăng thời gian thực thi của giải thuật di truyền. Cho nên chúng tôi dùng
phương pháp, đột biến không đồng nhất, dần dần giảm tỷ lệ đột biến bằng số bản sao.
3.1.4. Điều kiện khởi tạo lại và dừng (Restart and Stop Condition)
Nếu giá trị thích nghi cao nhất của quần thể hiện tại không đạt ngưỡng thích
nghi tối thiểu, các chromosome với giá trị thích nghi cao trong quần thể hiện tại lọc
và cho ra một nữa của thế hệ tiếp, phần còn lại của quần thể sẽ được sinh ra một cách
ngẫu nhiên. Thao tác restart giúp cho hàm điều phối di truyền việc tối ưu cục bộ và
mở rộng không gian tìm kiếm khác. Thao tác khởi tạo lại:
Restart () //Restart operation
Input: a population po, a set of n tasks T, and a set of m processors P
Output: new population po′
{
1. find the chromosome b
ch
with the best fitness value in po;

2. if (b
ch
.fitness < f
t
) { // f
t
is the minimum fitness threshold
3. sort po by fitness value in descending order;
4. for (i=1; i≤|po|/2; i++) {
5. copy po[i] to po′ [i]; }
6. for (j=(|po|/2)+1; j≤|po|; j++) {
7. po′ [j] = encoding(T,P); }
}
8. else {
Selection(po); }
}

Và điều kiện dừng của hàm phân lịch di truyền là công thức (1). Khi bf
c
là giá
trị thích nghi cao nhất trong quần thể hiện tại, bf
p
là giá trị thích nghi cao nhất của
quần thể trước, θ là giá trị biên, và f
t
là ngưỡng thich nghi tối thiểu:
|bf
c
– bf
p

| ≤ θ (f
t
≤ bf
c
) (1)
Nếu điều kiện dừng trên thỏa, hàm phân lịch di truyền dừng lại và xuất ra
chromosome với giá trị thích nghi cao nhất, ví dụ các điều phối, lịch trình công việc
Bài thu hoạch môn Tính Toán Lưới
Đỗ Đình Thủ _ CH1101140 Trang
19

tốt nhất. Nếu không, hàm phân lịch di truyền tiếp tục restart để phát sinh ra một quần
thể.
3.2. Các kết quả giả lập

Hình 9. Kết quả giả lập
Trong phần này trình bày giả lập mô hình điều phối công việc dựa trên thuật
toán di truyền (GATSM) trên mô hình hóa hệ thống các sự kiện rời rạc và môi trường
giả lập và đã xây dựng các thí nghiệm khác nhau để so sánh GATSM với mô hình
điều phối công việc Round Robin (Round Robin Task Scheduling Model (RRTSM)),
the Load Index-based Task Scheduling Model (LITSM) và the Activity Based
Costing-based Task Scheduling Model (ABCTSM). RRTSM phân phối vào các máy
ảo theo cách xem xét tuần tự thông tin của các tác vụ hay các máy ảo. LITSM sử
dụng một bộ chỉ mục (load index) của các máy ảo cho điều phối công việc. Trong
LITSM, một bộ phân lịch cấp phát các tác vụ vào máy ảo được nạp nhanh thông tin.
Và ABCTSM sử dụng chi phí yêu cầu để giải quyết tác vụ trên mỗi máy ảo và phân
Bài thu hoạch môn Tính Toán Lưới
Đỗ Đình Thủ _ CH1101140 Trang
20


phối các tác vụ vào máy ảo theo chi phí. Các hiệu quả so sánh dựa trên throughput,
thời gian đáp ứng, sử dụng máy ảo, chi phí xử lý và độ hài lòng của người dùng.
Trong các thí nghiệm, 12 máy ảo với các khả năng tính toán khác nhau được giả lập.
Tổng cộng 2000 tác vụ được sinh ra từ người dùng dịch vụ điện toán đám mây cho
mỗi giả lập. Một người dùng dịch vụ điện toán đám mây sinh ra một tác vụ với yêu
cầu gồm có ràng buộc về thời gian và ngân sách. Thí nghiệm đã phân loại các tác vụ
vào 4 kiểu như đã trình bày trong hình 8. Hình 9 trình bày các kết quả giả lập ngắn
gọn.
4. Kết luận
Bài thu đã trình bày các bài toán về điều phối trong điện toán đám mây, trong đó
có trình bày một mô hình điều phối vĩ mô, 2 thuật toán di truyền cho bài toán điều
phối công việc theo 2 hướng tiếp cận khác nhau. Một cho mức độ hài lòng của người
sử dụng, một cho giảm điện năng tiêu thụ, cả 2 hướng đều xem nặng lợi nhuận của
nhà cung cấp dịch vụ đám mây.
Thực nghiệm chứng minh rằng mô hình điều phối công việc (theo hướng hài
lòng của người dùng) đề xuất chạy nhanh hơn các mô hình phân lịch tác vụ đang có
như mô hình phân lịch round-robin, load index-based và activity based costing based.
Còn giải thuật MO-GA qua thực nghiệm cũng cho thấy tỷ lệ tiêu thụ điện năng
thấp hơn, lợi nhuận cao hơn và số ứng dụng thất bại cũng ít hơn, tuy rằng các tỷ lệ
này khác nhau xa.
Như vậy, qua hai bài báo được trích dẫn, liệu chúng ta có thể tổng hợp cả 2
phương pháp, cùng dùng thuật toán di truyền để xây dựng một bộ điều phối công
việc sao cho người dùng hài lòng nhất, tiết kiệm năng lượng và lợi nhuận cho nhà
cung cấp là cao nhất. Đây là vấn đề luôn quan trọng, nếu ta có được một lời giải tốt,
rõ ràng công nghệ điện toán đám mây sẽ còn phát triển và mở rộng ra nhiều hơn nữa.






Bài thu hoạch môn Tính Toán Lưới
Đỗ Đình Thủ _ CH1101140 Trang
21

Tài liệu tham khảo:
[1] Sung Ho Jang, Tae Young Kim, Jae Kwon Kim and Jong Sik Lee, “The Study
of Genetic Algorithm-based Task Scheduling for Cloud Computing”, International
Journal of Control and Automation, Vol. 5, No. 4, December, 2012,pp 157-162.
[2] Jing Liu, Xing-Guo Luo, Xing-Ming Zhang, Fan Zhang, Bai-Nan Li, “Job
Scheduling Model for Cloud Computing Based on MultiObjective Genetic
Algorithm”, IJCSI International Journal of Computer Science Issues, Vol. 10, Issue
1, No 3, January 2013, pp 134-139
[3] Nguyễn Phi Khứ, Bài giảng môn Tính toán lưới, Chương trình đào tạo thạc sĩ
CNTT qua mạng, tháng 6 2013

×