Thuận toán Mode giải bài toán lập lịch luồng công việc
Bài toán lập lịch luồng công việc là một bài toán
đã được nghiên cứu từ những năm 1950, và bài toán
này đã được chứng minh thuộc lớp NP-Khó. Trong
những năm gần đây đã có rất nhiều ứng dụng khoa
học được mô hình hóa bởi dạng đồ thị luồng công việc
như ứng dụng Montage [1], CyberShake [2],
Epigenomics [3], LIGO [4], v.v. một trong những
thách thức của bài toán lập lịch luồng công việc là
phải hoàn thành luồng công việc với thời gian nhỏ
nhất trong điều kiện giới hạn về nguồn tài nguyên. Sự
phát triển của môi trường điện toán đám mây (Cloud
Computing) đã tạo ra các cơ hội cho việc giải quyết
bài toán lập lịch luồng công việc, với khả năng về tài
nguyên dự phòng và luôn sẵn dùng sẽ giúp giảm bớt
thời gian chờ đợi giữa các tác vụ trong luồng công
việc, khả năng cung cấp tài nguyên theo nhu cầu
khách hàng cũng là một lợi thế lớn của điện toán đám
mây, khả năng này sẽ cho phép các ứng dụng dạng
luồng công việc có thể bắt đầu được thực hiện ngay
khi chỉ có một phần tài nguyên được đáp ứng mà
không cần phải chờ đợi cho đến khi đủ tất cả các tài
nguyên cần thiết. Ngoài ra, khả năng co giãn trong
môi trường điện toán đám mây cũng là một đặc trưng
hữu ích với các ứng dụng dạng luồng công việc vì nó
cho phép các hệ thống luồng công việc dễ dàng tăng,
giảm các tài nguyên của ứng dụng theo nhu cầu. Bản
chất của vấn đề lập lịch luồng công việc trong môi
trường điện toán đám mây là gán các tác vụ của luồng
công việc vào thực thi trên các tài nguyên của đám
mây sao cho thời gian hoàn thành luồng công việc
(Makespan) là nhỏ nhất.
Tóm tắt nội dung tài liệu: Thuận toán Mode giải bài toán lập lịch luồng công việc
Các công trình nghiên cứu phát triển CNTT và Truyền thông Tập V-1, Số 17 (37), tháng 6/2017
- 51 -
Thuận toán MODE giải bài toán lập lịch luồng
công việc
An Algorithm MODE for Workflow Scheduling
Phan Thanh Toàn, Nguyễn Thế Lộc, Nguyễn Doãn Cƣờng
Abstract: Cloud computing is a new trend of
information and communication technology that
enables resource distribution and sharing at a large
scale. The Cloud consists of a collection of virtual
machine that promise to provision on-demand
computational and storage resources when needed.
End-users can access these resources via the Internet
and have to pay only for their usage. Scheduling of
scientific workflow applications on the Cloud is a
challenging problem that has been the focus of many
researchers for many years. In this work, we propose
a novel algorithm for workflow scheduling that is
derived from the Opposition-based Differential
Evolution method. This algorithm does not only
ensure fast convergence but it also averts getting
trapped into local extrema. Our CloudSim-based
simulations show that our algorithm is superior to its
predecessors. Moreover, the deviation of its solution
from the optimal one is negligible.
Keyword: Workflow scheduling, Opposition-Based
Differential Evolution, cloud computing, Differential
Evolution.
I. GIỚI THIỆU
Bài toán lập lịch luồng công việc là một bài toán
đã được nghiên cứu từ những năm 1950, và bài toán
này đã được chứng minh thuộc lớp NP-Khó. Trong
những năm gần đây đã có rất nhiều ứng dụng khoa
học được mô hình hóa bởi dạng đồ thị luồng công việc
như ứng dụng Montage [1], CyberShake [2],
Epigenomics [3], LIGO [4], v.v. một trong những
thách thức của bài toán lập lịch luồng công việc là
phải hoàn thành luồng công việc với thời gian nhỏ
nhất trong điều kiện giới hạn về nguồn tài nguyên. Sự
phát triển của môi trường điện toán đám mây (Cloud
Computing) đã tạo ra các cơ hội cho việc giải quyết
bài toán lập lịch luồng công việc, với khả năng về tài
nguyên dự phòng và luôn sẵn dùng sẽ giúp giảm bớt
thời gian chờ đợi giữa các tác vụ trong luồng công
việc, khả năng cung cấp tài nguyên theo nhu cầu
khách hàng cũng là một lợi thế lớn của điện toán đám
mây, khả năng này sẽ cho phép các ứng dụng dạng
luồng công việc có thể bắt đầu được thực hiện ngay
khi chỉ có một phần tài nguyên được đáp ứng mà
không cần phải chờ đợi cho đến khi đủ tất cả các tài
nguyên cần thiết. Ngoài ra, khả năng co giãn trong
môi trường điện toán đám mây cũng là một đặc trưng
hữu ích với các ứng dụng dạng luồng công việc vì nó
cho phép các hệ thống luồng công việc dễ dàng tăng,
giảm các tài nguyên của ứng dụng theo nhu cầu. Bản
chất của vấn đề lập lịch luồng công việc trong môi
trường điện toán đám mây là gán các tác vụ của luồng
công việc vào thực thi trên các tài nguyên của đám
mây sao cho thời gian hoàn thành luồng công việc
(Makespan) là nhỏ nhất.
Nội dung tiếp theo của bài báo gồm những phần
chính như sau. Phần II trình bày một số công trình liên
quan đến bài toán lập lịch luồng công việc. Phần III
mô tả bài toán và trình bày mô hình toán học, sau đó
phát biểu bài toán và chứng minh rằng nó thuộc lớp
NP-Khó. Phần IV giới thiệu thuật toán đề xuất -
MODE. Để kiểm chứng hiệu năng của thuật toán
MODE, Phần V trình bày quá trình thực nghiệm trên
một số luồng công việc khoa học mẫu trong môi
trường đám mây thông qua công cụ mô phỏng
CloudSim và gói thư viện Jswarm [5] và phân tích số
liệu thu được, từ đó đưa ra những nhận xét so sánh.
Phần VI trình bày kết luận và hướng nghiên cứu tiếp
theo.
Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT Tập V-1, Số 17 (37), tháng 6/2017
- 52 -
II. NHỮNG CÔNG TRÌNH LIÊN QUAN
Bài toán lập lịch luồng công việc đã được chứng
minh là thuộc lớp NP-Khó [6] nghĩa là thời gian để
tìm ra lời giải tối ưu tăng rất nhanh theo kích cỡ dữ
liệu đầu vào, vì vậy đã có nhiều công trình nghiên cứu
nhằm tìm ra lời giải gần đúng trong thời gian ngắn.
Sadhasivam đã đề xuất thuật toán lập lịch luồng
công việc dựa trên sự cân bằng tải trong môi trường
điện toán đám mây [7]. Thuật toán không chỉ đáp ứng
các yêu cầu từ người sử dụng mà còn cung cấp khả
năng sử dụng tài nguyên một cách hiệu quả. Đây là
thuật toán theo hướng nâng cao hiệu quả dịch vụ dựa
trên Meta-heuristic. Burya đã trình bày một cách tóm
tắt về các chức năng của công cụ mô phỏng CloudSim
[8] - môi trường mô phỏng cho phép cài đặt và thực
nghiệm các thuật toán lập lịch luồng công việc trong
môi trường điện toán đám mây. Guo-Ning đã đề xuất
một thuật toán lập lịch luồng công việc dựa trên giải
thuật di truyền [9]. Trong đó đưa vào nhiều ràng buộc
dịch vụ khác nhau như thời gian hoàn thành, băng
thông, chi phí, độ tin cậy. Tác giả đã sử dụng kết hợp
với giải thuật luyện thép sau pha lựa chọn, trao đổi
chéo, đột biến nhằm tăng cường khả năng tìm kiếm
cục bộ của giải thuật di truyền.
Các tác giả trong bài báo [10] đã đề xuất thuật toán
EGA (Enhanced Genetic Algorithm) lập lịch bằng
phương pháp di truyền. Trong công trình các tác giả
sử dụng thuật toán Enhanced Max Min trong bước
khởi tạo quần thể nhằm tìm ra các cá thể tốt cho quá
trình tiến hóa.
Pandey [11] đã đề xuất thuật toán lập lịch luồng
công việc PSO Heuristic (Particle Swarm
Optimization Heuristic – PSO_H) trong môi trường
điện toán đám mây dựa trên chiến lược tối ưu bày đàn.
Rajkumar đã đề xuất một thuật toán lập lịch phân cấp
[12] và đưa vào các tham số dịch vụ khác nhau, chẳng
hạn như thời gian đáp ứng. Thuật toán sử dụng tham
số này như một quyền ưu tiên để lựa chọn các tác vụ
lập lịch. Cao và các đồng nghiệp đã trình bày thuật
toán lập lịch dựa trên giải thuật ABC (Activity Based
Costing) [13]. Thuật toán này gán mức ưu tiên cho
mỗi tác vụ trong luồng công việc theo các tham số về
thời gian, không gian, các tài nguyên và chi phí, quá
trình lập lịch sẽ sử dụng mức ưu tiên này để quyết
định các tác vụ được chọn trong quá trình lập lịch.
Selvi đã đề xuất thuật toán lập lịch luồng công việc
trong môi trường điện toán lưới (Grid) [14], tác giả đã
vận dụng thuật toán tiến hóa vi phân (DE) vào giải bài
toán lập lịch luồng công việc trên môi trường điện
toán lưới nhằm cực tiểu thời gian hoàn thành luồng
công việc (makespan). Tác giả đã chỉ ra giá trị
Makespan tìm được bởi thuật toán đề xuất là nhỏ hơn
so với thuật toán PSO. Xu đã đề xuất thuật toán
COODE [15] (Current Optimum Opposition-based
Differential Evolution) nhằm tìm giá trị tối ưu cho các
hàm số dựa theo phương pháp tiến hóa vi phân đối
xứng, tác giả đã đề xuất công thức tìm điểm đối xứng
của một điểm dựa theo giá trị tối ưu hiện tại nhằm
thay đổi toán tử đột biến trong phương pháp tiến hóa
vi phân và tác giả đã so sánh thuật toán COODE với
các thuật toán DE và ODE. Kết quả cho thấy thuật
toán đề xuất COODE tốt hơn các thuật toán đối sánh.
Các công trình nêu trên đều chưa hướng tới mục
tiêu duy nhất là giảm thiểu thời gian hoàn thành của
luồng công việc với các cấu trúc phức tạp và sự đa
dạng về dữ liệu truyền qua lại giữa các tác vụ trong
luồng công việc và chưa trình bày rõ ràng về mô hình
toán học của bài toán lập lịch luồng công việc.
III. MÔ HÌNH LÝ THUYẾT
Hệ thống tính toán
Giả thiết cho trước hệ thống tính toán bao gồm:
Tập hợp N máy chủ trong môi trường điện toán
đám mây S = {S1, S2, ... SN}.
Luồng công việc cần thực hiện biểu diễn bởi đồ thị
có hướng, không có chu trình G = (V, E), mỗi đỉnh
biểu thị một tác vụ, mỗi cạnh biểu diễn mối quan
hệ cha-con giữa một cặp tác vụ.
Tập các tác vụ T = {T1, T2, ... TM} với M là số
lượng tác vụ.
Khối lượng tính toán của tác vụ Ti ký hiệu là Wi ,
đo bằng đơn vị flop (floating point operations:
phép tính trên số thực dấu phảy động).
Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT Tập V-1, Số 17 (37), tháng 6/2017
- 53 -
Tốc độ tính toán của máy tính, đo bằng đơn vị
flop/s (số phép tính thực hiện được trên giây), ký
hiệu P( ), là hàm số được định nghĩa như sau:
P: S R+
Si P(Si)
Mọi cặp máy chủ (Si, Sk) bất kỳ đều có đường
truyền để trao đổi dữ liệu với nhau (1 ≤ i, k ≤ N).
Băng thông của đường truyền, ký hiệu B( ), là tốc
độ truyền dữ liệu giữa các máy chủ, đo bằng đơn vị
bit trên giây (bps), là hàm số được định nghĩa như
sau:
B: S S R+
(Si, Sk) B(Si, Sk)
Hàm băng thông B( ) tuân theo các ràng buộc sau:
+ B(Si, Si) = : thời gian truyền từ một máy chủ tới
chính nó bằng 0, nghĩa là nếu tác vụ cha và tác vụ con
được bố trí trên cùng một máy chủ thì không mất thời
gian để truyền dữ liệu giữa chúng vì dữ liệu đó được
lưu trữ và sử dụng ngay tại chỗ.
+ B(Si, Sk ) = B(Sk, Si): kênh truyền hoạt động từ hai
đầu với tốc độ tương đương nhau.
Khối lượng dữ liệu cần truyền giữa hai tác vụ Ti và
Tk, ký hiệu là Dik, là các giá trị cho trước, Dik 0
khi và chỉ khi Ti là tác vụ cha của Tk, trong trường
hợp ngược lại Dik = 0.
Khái niệm lịch biểu
Một phương án xếp lịch F, còn gọi là lịch biểu F,
được xác định bởi hai hàm (ts , proc) trong đó
; ts(Ti) là thời điểm mà tác vụ n T bắt
đầu được thực hiện.
; proc(Ti) là máy tính được phân công
thực hiện tác vụ Ti T.
Từ các giả thiết trên suy ra thời gian tính toán của
tác vụ Ti là:
i
i
TprocP
W (i = 1, ... , M) (1)
Thời gian truyền dữ liệu giữa tác vụ Ti và Tk là:
ki
ik
TprocTprocB
D
,
(i,k = 1, ... , M) (2)
Makespan của lịch biểu F biểu diễn theo như sau:
( ) { ( )} * ( )+
(3)
với tf(Ti) là thời điểm kết thúc và ts(Ti) là thời điểm
bắt đầu thực hiện của tác vụ Ti
Mục tiêu của bài toán
Mục tiêu của bài toán là tìm lịch biểu F sao cho
( )
Phát biểu và chứng minh độ phức tạp
Bài toán đang xét, từ đây ký hiệu là WSP -
Workflow Scheduling Problem, được phát biểu như
sau: giả sử cho trước tài nguyên của đám mây bao
gồm tập máy chủ S với tốc độ tính toán và băng thông
được biểu diễn như trên. Giả sử tập tác vụ T được
biểu diễn bởi đồ thị G = (V, E) như trên. Hàm mục
tiêu đặt ra là cực tiểu thời gian hoàn thành luồng
công việc
makespan → min
Bổ đề: WSP là bài toán thuộc lớp NP-Khó
Chứng minh:
Xét bài toán SCHED [16] sau đây: giả sử cho trước
tập máy chủ và tập tác vụ gồm các thành phần như đã
định nghĩa ở bài toán WSP trên đây, ngoài ra bổ sung
thêm điều kiện là tập S gồm các máy chủ giống hệt
nhau về tốc độ tính toán.
Sinnen đã chứng mình rằng bài toán SCHED thuộc
lớp NP-Khó [16]. Quay về bài toán WSP đang xét, dễ
thấy rằng bài toán SCHED chỉ là một trường hợp
riêng của bài toán WSP khi bổ sung thêm điều kiện
ràng buộc sau đây: P(Si) = P(Sj) i, j = 1..N.
Vì vậy, rõ ràng bài toán WSP cũng thuộc lớp NP-
Khó.
IV. GIẢI PHÁP ĐỀ XUẤT
Thuật toán tiến hóa vi phân dựa trên thông tin đối
xứng (Opposition-based differential evolution – ODE)
được đề xuất bởi Storn và Price [17]. Tương tự như
các thuật toán tiến hóa khác, thuật toán ODE gồm hai
bước chính: khởi tạo quần thể và sinh quần thể mới
bằng cách áp dụng các toán tử di truyền như đột biến,
trao đổi chéo và lựa chọn tự nhiên. Tuy nhiên, thuật
toán ODE nâng cao hiệu năng tìm kiếm trong hai bước
này bằng cách tìm kiếm thêm lời giải trong phần đối
Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT Tập V-1, Số 17 (37), tháng 6/2017
- 54 -
xứng của không gian tìm kiếm hiện tại. Để giải quyết
bài toán lập lịch luồng công việc đã đề xuất trong mô
hình phần III, chúng tôi sẽ đề xuất phương pháp tìm
phần tử đối xứng trong quần thể và kết hợp với
phương pháp bánh xe quay vòng dựa trên hạng cá thể
nhằm tìm ra các cá thể tốt cho quá trình đột biến qua
đó nâng cao hiệu năng của thuật toán.
Định nghĩa 1: Giả sử x là số thực và x [a, b], khi
đó phần tử đối xứng của x kí hiệu là ̅ và được tính
như sau:
̅ (3)
Định nghĩa 2: Gọi P(x1, x2,..,xD) là một véc tơ D-
chiều, với xi [ai, bi]; i = 1, 2, , D. Khi đó, véc tơ
đối xứng của P kí hiệu là ̅ ( ̅̅ ̅ ̅̅ ̅ ̅̅̅̅ ) và được
tính như sau:
̅ (4)
IV.1. Biểu diễn cá thể
Mỗi cá thể trong quần thể được biểu diễn bởi một
vec tơ có độ dài bằng số tác vụ trong luồng công việc.
Giá trị tương ứng với mỗi vị trí i trong véc tơ biểu
diễn số hiệu của máy chủ thực thi tác vụ i.
Ví dụ: Xét luồng công việc với 5 tác vụ T = {T1,
T2,,T5}, tập máy chủ gồm 3 máy S = {S1, S2, S3}.
Khi đó cá thể xi = (1, 2, 1, 3, 2) được biểu diễn như
sau:
T1 T2 T3 T4 T5
S1 S2 S1 S3 S2
IV.2. Phƣơng pháp tính đối xứng cho cá thể
Trong phương pháp ODE, ta cần phải tìm cá thể
đối xứng cho mỗi cá thể trong quần thể hiện tại. Trong
bài báo này, chúng tôi đề xuất phương pháp tìm cá thể
đối xứng như sau:
Gọi a = Max{P(Si)} và b = Min{P(Si)}; i = 1, 2,
.., N; với P(Si) là tốc độ tính toán của máy chủ Si
Giả sử ta có cá thể xi = (Si (1), Si (2),,Si (M)); Si (j)
S, j = 1, 2, .., M; cá thể đối xứng của xi kí hiệu là
̅
và ̅ ( ( ) ̅̅ ̅̅ ̅̅ ̅̅ ( )̅̅ ̅̅ ̅̅ ̅ ( )̅̅ ̅̅ ̅̅ ̅̅ ); (5)
( )̅̅ ̅̅ ̅̅ ( )
Sau đó sẽ gán các giá trị tương ứng với mỗi vị trí j
trong véc tơ ̅ bởi số hiệu máy chủ có tốc độ tính toán
gần giá trị ( )̅̅ ̅̅ ̅̅ ̅ nhất:
̅̅ ̅ | ( ) ( )̅̅ ̅̅ ̅̅ | | ( ) ( )| (6)
Algorithm: OP_Algorithm
Input: population p = (x1, x2,,xPopSize)
Output: opposite of population OP
1. for i=1 to PopSize do
2. ̅ ( ) ( )
3. Gán số hiệu máy chủ cho các vị trí
j của véc tơ ̅ theo(6)
4. end for
return OP
IV.3. Phƣơng pháp bánh xe quay vòng dựa trên
hạng cá thể
Bánh xe quay vòng dựa trên hạng cá thể là một
phương pháp lựa chọn cá thể cho các thế hệ kế tiếp.
Trong phương pháp này, mỗi cá thể được xếp hạng
theo một hàm xác định, sau đó sẽ tính xác suất lựa
chọn các cá thể theo hạng của chúng. Trong bài báo
này, chúng tôi đề xuất hàm tính hạng cho các cá thể
như sau:
( ) ( ( )
)
(7)
Trong đó: 1.0 SP 2.0; pos: vị trí cá thể cần tính
hạng
Algorithm: RBRWS algorithm
Input: population p = (x1, x2,,xPopSize)
Output: particle ps
Begin
1. Sắp xếp các cá thể theo chiều tăng
dần của hàm mục tiêu fi
2. for i=1 to PopSize do
3. pos[i] PopSize – 1
4. for i=1 to PopSize do
5. calculate ranki by equation (7)
6. rand Random(0,SP)
7. s PopSize
8. while(rank[s] 0)s—
return xs
End.
Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT Tập V-1, Số 17 (37), tháng 6/2017
- 55 -
IV.4. Thuật toán MODE
Kết hợp các nội dung trên chúng tôi đề xuất thuật
toán lập lịch luồng công việc trong môi trường điện
toán đám mây dựa trên thông tin đối xứng và gọi là
MODE như sau:
Algorithm MODE ( )
Input: T, S, size of workload W[1×M], P[1×N], B[N×N],
D[M×M], the constant K, the deviation , the number of
particle NoP
Output: the best position gbest
1. Khởi tạo quần thể P gồm PopSize cá
thể một cách ngẫu nhiên
2. OP OP_Algorithm ; tính quần thể
đối xứng của quần thể hiện tại
3. Chọn PopSize cá thể tốt nhất từ P
OP
4. while(Điều kiện lặp)do
5. for i=1 to PopSize do
6. Lựa chọn cá thể p1 theo thuật
toán RBRWS
7. Lựa chọn cá thể p2 theo thuật
toán RBRWS
8. F Random(1,0)
9. vi pbest + F (p1 – p2)
10. Gán số hiệu máy chủ cho mỗi vị
trí j của véc tơ vi theo (6)
11. randi,j Random(0,1)
12. Irand random(1,M)
13. {
14. if (makespan(ui) < makespan(xi))
15. xi ui
16. end if
17. end for
18. rand Random(0,1)
19. if(rand < Jr)
20. OP OP_Algorithm
21. Lựa chọn PopSize cá thể tốt nhất
tử P OP
22. end if
23. End while
Return gbest;
Bước khởi tạo: khởi tạo ngẫu nhiên quần thể P gồm
PopSize cá thể, quần thể đối xứng OP của P theo (5),
(6), chọn ra PopSize cá thể tốt nhất từ P OP.
Trong mỗi bước lặp chọn ra hai cá thể p1, p2 theo
phương pháp bánh xe quay vòng dựa trên hạng các cá
thể. Véc tơ đột biến của mỗi cá thể i được tính theo
công thức: vi pbest + F (p1 – p2)
Trong đó: pbest là cá thể tốt nhất hiện tại
Sau bước đột biến toán tử trao đổi chéo được áp
dụng cho mỗi cá thể xi để sinh ra cá thể mới ui
{
Trong đó randi,j [0,1], Irand [1,M], CR [0,1].
Toán tử lựa chọn được áp dụng để quyết định cá
thể nào được sống sót cho thế hệ kế tiếp
{
( ) ( )
}
Sau khi trao đổi chéo và lựa chọn, tính quần thể đối
xứng OP của P theo (5), (6) và chọn ra PopSize cá thể
tốt nhất từ P OP.
Quá trình tiến hóa của quần thể sẽ được thực hiện
qua các toán tử đột biến, trao đổi chéo và lấy đối xứng
quần thể. Sau mỗi thế hệ chúng ta sẽ tính giá trị hàm
mục tiêu (Makespan) của các phương án xếp lịch và
đối sánh với giá trị tốt nhất trong cá thể gbest, nếu có
một cá thể cho giá trị makespan tốt hơn thì cá thể đó
sẽ thay thế cá thể gbest hiện tại.
V. KẾT QUẢ THỰC NGHIỆM
Để kiểm chứng thuật toán đề xuất MODE chúng
tôi đã sử dụng công cụ mô phỏng Cloudsim [5] để tạo
lập môi trường đám mây. Đối tượng so sánh là thuật
toán tiến hóa mạnh như PSO Heuristic [14], và thuật
toán Random [18], và EGA [10].
Các chương trình mô phỏng được viết bằng ngôn
ngữ Java và chạy trên máy tính cá nhân với bộ vi xử lý
Intel Core i5 2.2 GHz, RAM 4 GB, hệ điều hành
Windows 7 Ultimate.
V.1. Phân nhóm dữ liệu thực nghiệm
Dữ liệu sử dụng trong các thực nghiệm bao gồm:
Dữ liệu về tốc độ tính toán của các máy chủ và
băng thông giữa các máy chủ được lấy từ các công
ty cung cấp dịch vụ cloud như Amazon [19].
Dữ liệu luồng công việc được lấy từ các bộ dữ liệu
thử nghiệm được xây dựng theo độ trù mật khác
Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT Tập V-1, Số 17 (37), tháng 6/2017
- 56 -
nhau và các luồng công việc từ các ứng dụng thực
tế như ứng dụng Montage [1].
Dựa theo tính chất của môi trường điện toán đám
mây, đây là một môi trường tính toán không đồng
nhất, tốc độ tính toán các máy chủ và băng thông
không đồng đều, đồng thời cũng dựa theo tính chất
các luồng công việc, số lượng tác vụ, độ trù mật
của đồ thị luồng công việc chúng tôi đã tiến hành
phân loại dữ liệu theo các nhóm với quan hệ về tốc
độ tính toán các máy chủ và băng thông khác nhau,
độ trù mật của đồ thị luồng công việc cũng được
thử nghiệm qua hệ số khác nhau. Chi tiết các
nhóm dữ liệu theo số lượng máy chủ N, số tác vụ
M và hệ số như sau:
Nhóm 1: M = 5, N = 3; Nhóm 2: M = 10, N = 3,
Nhóm 3: M = 20, N = 8, Nhóm 4: M = 25, N = 8
Mỗi nhóm lại bao gồm ba thực nghiệm khác nhau
về tỷ lệ số cạnh trên số đỉnh của đồ thị luồng công
việc, ký hiệu là và tính bởi công thức:
| |
( )
V.2. Tham số cấu hình
Các tham số cấu hình của đám mây được thiết lập
trong miền giá trị như sau:
Tốc độ tính toán P của các máy chủ: từ 1 đến 250
(million instructions/s); khối lượng dữ liệu D giữa
các tác vụ: từ 1 đến 1000 (MB); băng thông giữa
các máy chủ B:từ 10 đến 100 (Mega bit/s).
Hệ số vi sai F = 0.5; hệ số trao đổi chéo CR = 0.9;
Jr = 0.3; PopSize = 50; : từ 0.2 tới 0.7.
V.3. Quá trình tiến hành thực nghiệm
Để đánh giá hiệu năng của thuật toán đề xuất
MODE chúng tôi đã tiến hành thực nghiệm và so sánh
kết quả của MODE với các thuật toán tiến hóa mạnh
hiện nay như PSO_H và Random. Dữ liệu thực
nghiệm được lấy từ ứng dụng Montage và các luồng
công việc ngẫu nhiên theo độ trù mật khác nhau, các
tham số băng thông, tốc độ tính toán của máy chủ
được thiết lập thống nhất cho tất cả các thực nghiệm.
Với mỗi bộ dữ liệu chúng tôi tiến hành chạy chương
trình 30 lần độc lập. Kết quả thực nghiệm được trình
bày chi tiết trong Bảng 1, 2 và các Hình 1, 2. Các hình
này đã chỉ ra kết quả so sánh giữa giá trị trung bình
tính được bởi thuật toán MODE với các thuật toán đối
sánh, trong hầu hết các trường hợp thuật toán MODE
đều cho kết quả tốt hơn các thuật toán đối sánh, giá trị
trung bình tìm được bởi MODE nhỏ hơn giá trị trung
bình tìm được bởi PSO_H từ 8% - 29% và nhỏ hơn
giá trị trung bình tìm được bởi thuật toán EGA từ 6%
- 25%.
Hình 1, 2 cũng so sánh giữa giá trị tốt nhất tìm
được bởi thuật toán MODE với các thuật toán đối
sánh, qua đó ta thấy giá trị tốt nhất tìm được bởi
MODE nhỏ hơn giá trị tốt nhất tìm được bởi PSO_H
từ 3% - 19%, chỉ duy nhất trong bộ dữ liệu thực
nghiệm thứ 5 thuật toán MODE có giá trị tốt nhất nhỏ
hơn giá trị tốt nhất tìm được bởi PSO_H là 0.25%, giá
trị tốt nhất tìm được bởi MODE nhỏ hơn giá trị tốt
nhất tìm được bởi EGA từ 2% - 20%.
Bảng 1. Kết quả thực hiện các thuật toán với luồng công việc Montage (đơn vị tính: phút)
M N MODE PSO_H RANDOM EGA
Best Mean STD Best Mean STD Best Mean STD Best Mean STD
20 8 0.15 29.1 31.0 1.0 35.90 44.2 5.2 56.3 63.3 3.8 35.6 42.0 3.7
20 8 0.31 29.9 31.7 1.2 37.1 44.7 6.1 51.6 67.6 6.8 37.5 42.5 3.2
25 8 0.2 218.0 219.7 1.2 225.0 239.0 8.3 238.0 304.9 33.0 222.4 235.5 4.7
50 8 0.1 81.2 86.3 3.1 95.0 108.0 6.3 110.5 196.8 32.8 96.4 103.5 3.3
Bảng 2. Kết quả thực hiện các thuật toán với luồng công việc Epigenomics (đơn vị tính: giờ)
M N MODE PSO_H RANDOM EGA
Best Mean STD Best Mean STD Best Mean STD Best Mean STD
100 10 0.25 38.7 40.9 1.2 38.8 44.9 2.8 49.4 75.7 12.5 39.2 41.9 1.4
100 20 0.12 23.0 27.3 1.9 34.1 40.5 3.4 42.9 73.1 14.9 34.4 37.7 1.9
Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT Tập V-1, Số 17 (37), tháng 6/2017
- 57 -
Hình 1, 2, cũng so sánh giữa độ lệch chuẩn tìm
được bởi thuật toán MODE với các thuật toán đối
sánh. Giá trị độ lệch chuẩn của MODE luôn nhỏ hơn
độ lệch chuẩn của tất cả các thuật toán đối sánh,
chứng tỏ thuật toán MODE có chất lượng lời giải tốt
hơn các thuật toán đối sánh và độ ổn định trong các
lần chạy cũng tốt hơn.
Hình 1. So sánh các thuật toán với M=50, N=8
Hình 2. So sánh các thuật toán với M=100, N=20
VI. KẾT LUẬN
Lập lịch luồng công việc là một vấn đề phức tạp
nhưng rất quan trọng vì nó quyết định hiệu năng của
đám mây điện toán. Để đạt được mục tiêu lập lịch là
tối thiểu hóa thời gian thực thi, bài báo đã trình bày
những kết quả chính sau đây:
Đề xuất một mô hình lý thuyết cho bài toán lập lịch
luồng công việc trong môi trường điện toán đám
mây.
Đề xuất phương pháp tính đối xứng cho các cá thể.
Dựa trên phương pháp đó, bài báo đề xuất thuật
toán MODE hoạt động theo thuật toán tiến hóa vi
phân kết hợp với phương pháp đối xứng nhằm tìm
ra phương án thực thi tốt nhất.
Tiếp theo chúng tôi dự định sẽ cải tiến phương
pháp lựa chọn cá thể và cơ chế lai ghép nhằm tìm ra
cá thể tốt hơn cho các thế hệ kế tiếp.
TÀI LIỆU THAM KHẢO
[1] G. B. Berriman, et al, Montage: A Grid Enabled
Engine for Delivering Custom Science-Grade Mosaics
On Demand", in SPIE Conference, 2004.
[2] P. Maechling, et al, SCEC CyberShake
Workflows, Automating Probabilistic Seismic Hazard
Analysis Calculations”, Springer, 2006.
[3] "USC Epigenome Center".
[Online].
[4] LIGO Project. LIGO - Laser Interferometer
Gravitational Wave Observatory. [Online].
[5] R. N. Calheiros, R. Ranjan, A.
Beloglazov, Cesar A. F. De Rose, and R.
Buyya, CloudSim: A Toolkit for Modeling and
Simulation of Cloud Computing Environments and
Evaluation of Resource Provisioning Algorithms,
Software: Practice and Experience, volume 41,
Number 1, Pages: 23-50, Wiley Press, USA, 2011
[6] J.D. Ullman, NP-complete scheduling problems,
Journal of Computer and System Sciences, pages 384-
393, volume 10, issue 3, 1975
[7] R. Rajkumar, T. Mala, Achieving Service Level
Agreement in Cloud Environment using Job
Prioritization in Hierarchical Scheduling, Proceeding
of International Conference on Information System
Design and Intelligent Application, 2012, vol 132, pp
547-554.
[8] R. Burya, R. Calheiros, Modeling and
Simulation of Scalable Cloud Environment and the
Cloud Sim Toolkit: Challenges and Opportunities,
IEEE publication 2009,pp1-11.
[9] G. Guo-Ning and H. Ting-Lei, Genetic Simulated
Annealing Algorithm for Task Scheduling based on
Cloud Computing Environment, Proceedings of
International Conference on Intelligent Computing and
Integrated Systems, 2010, pp. 60-63
0
50
100
150
200
Best
Mean
STD
0
20
40
60
80
Best
Mean
STD
Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT Tập V-1, Số 17 (37), tháng 6/2017
- 58 -
[10] S. Singh, M.Kalra, Task scheduling optimization
of independent tasks in cloud computing using
enhanced genetic algorithm, International Journal of
Application or Innovation in Engineering &
Management, V.3, Issue 7, 2014.
[11] S. Pandey, L. Wu1, S. M. Guru, R. Buyya1, A
Particle Swarm Optimization (PSO)-based Heuristic
for Scheduling Workflow Applications in Cloud
Computing Environments, Proc. of 24th IEEE
International Conference on Advanced Information
Networking and Applications (AINA), pages 400-407,
2010
[12] R. Rajkumar, T. Mala, Achieving Service Level
Agreement in Cloud Environment using Job
Prioritization in Hierarchical Scheduling, Proceeding
of International Conference on Information System
Design and Intelligent Application, 2012, vol 132, pp
547-554.
[13] Q. Cao, W. Gong and Z. Wei, An Optimized
Algorithm for Task Scheduling Based On Activity
Based Costing in Cloud Computing, In Proceedings of
Third International Conference on Bioinformatics and
Biomedical Engineering, 2009, pp.1-3
[14] S.Selvi, Dr. D.Manimegalai,
Dr.A.Suruliandi, Efficient Job Scheduling on
Computational Grid with Differential Evolution
Algorithm, , International Journal of Computer Theory
and Engineering, Vol. 3, No. 2, April, 2011
[15] Q. XU, L.WANG, HE. Baomin, N.WANG,
Modified Opposition-Based Differential Evolution for
Function Optimization, Journal of Computational
Information Systems, pp. 1582-1591, 2011.
[16] O. Sinnen, Task Scheduling for Parallel Systems,
John Wiley & Sons, 2007, pp. 83
[17] R. Storn and K. Price, Differential Evolution-A
Simple and Efficient Heuristic for Global Optimization
over Continuous Spaces, Journal of Global
Optimization, 1997, pp. 341-359.
[18] M. Mitzenmacher, E. Upfal, Probability and
Computing: Randomized Algorithms and Probabilistic
Analysis, Cambridge University Press (2005)
[19] J. V. Vliet, F. Paganelli, Programming Amazon
EC2, O'Reilly Media, ISBN 1449393683, 2011
Nhận bài ngày: 21/04/2016
SƠ LƢỢC VỀ TÁC GIẢ
PHAN THANH TOÀN
Sinh năm 1974 tại Thái Nguyên.
Tốt nghiệp ĐH và Thạc sĩ tại
trường ĐH Bách khoa Hà Nội,
nghiên cứu sinh năm 2012 tại
Học viện Khoa học Công nghệ
Quân sự.
Hiện đang công tác tại trường ĐH Sư phạm Hà Nội
Lĩnh vực nghiên cứu: các phương pháp gần đúng giải
bài toán lập lịch luồng công việc trong môi trường
điện toán đám mây, xử lý song song và phân tán.
Điện thoại : 0912.069.762
E-mail: [email protected]
NGUYỄN THẾ LỘC
Tốt nghiệp ĐH khoa Toán Tin, ĐH
Sư phạm Hà Nội năm 1993, Tốt
nghiệp Thạc sĩ CNTT tại trường
ĐH Bách khoa Hà Nội, nhận bằng
tiến sỹ tại Viện Nghiên cứu Khoa
học Công nghệ Nhật Bản JAIST
năm 2007.
Lĩnh vực nghiên cứu: mạng máy
tính và truyền thông, xử lý song song và phân tán
Điện thoại : 0988.765.837
E-mail: [email protected]
NGUYỄN DOÃN CƢỜNG
Sinh năm 1977 tại Tuyên Quang.
Tốt nghiệp ĐH tại Học viện Kỹ
thuật Quân sự, nghiên cứu sinh tại
Trường ĐH Tổng hợp Kỹ thuật
điện Quốc gia Saint-Peterburg -
CHLB Nga năm 2006.
Hiện đang công tác tại Viện CNTT-
Viện Khoa học Công nghệ Quân sự.
Lĩnh vực nghiên cứu: Công nghệ phần mềm, Data
Mining and Knowledge Discovery, cơ sở dữ liệu lớn,
cơ sở dữ liệu chuỗi thời gian, bảo mật.
Điện thoại : 0976.210.686
E-mail: [email protected]
File đính kèm:
thuan_toan_mode_giai_bai_toan_lap_lich_luong_cong_viec.pdf

