Sau đây chúng tôi sẽ chứng minh rằng bài toán CLOS thuộc lớp NP-Khó. Trong số các bài toán kinh điển thuộc họ bài toán Lập lịch, chúng tôi chọn bài toán SCHED, đã được O. Chúng tôi sẽ q[r]
(1)88
JOURNAL OF SCIENCE OF HNUE DOI: 10.18173/2354-1059.2017-0011
Natural Sci 2017, Vol 62, No 3, pp 88-96
This paper is available online at http://stdb.hnue.edu.vn
ÁP DỤNG CHIẾN LƯỢC TIẾN HÓA VI PHÂN ĐỂ NÂNG CAO HIỆU SUẤT CỦA ĐIỆN TOÁN ĐÁM MÂY
Phan Thanh Toàn1, Đặng Quốc Hữu2, Nguyễn Thế Lộc3 Nguyễn Doãn Cường4 1
Khoa Sư phạm Kĩ thuật, Trường Đại học Sư Phạm Hà Nội
2
Trung tâm Công nghệThông tin, Trường Đại học Thương Mại 3
Khoa Công nghệThông tin, Trường Đại học Sư phạm Hà Nội 4
Viện Công nghệ Thông tin, Viện Khoa học Công nghệ Quân Sự
Tóm tắt Trong thực tiễn nghiên cứu khoa học có nhiều tốn biểu diễn dạng mơ hình luồng cơng việc lập lịch cho dây chuyền sản xuất, lập lịch điều phối tài nguyên hệ điều hành, lập lịch thời khóa biểu Lập lịch hoạt động nhằm gán tác vụ vào thực tài ngun tính tốn thảo mãn ràng buộc thứ tự tác vụ luồng công việc giới hạn tài nguyên Đa số toán thuộc họ lập lịch chứng minh thuộc lớp NP-Khó [1], việc tìm thuật tốn lập lịch nhằm cực tiểu hóa thời gian hồn thành luồng cơng việc lĩnh vực khó thu hút quan tâm nhiều nhà khoa học Bài báo đề xuất thuật toán lập lịch luồng cơng việc IODE nhằm cực tiểu hóa thời gian hồn thành luồng cơng việc mơi trường thực thi điện toán đám mây Các thực nghiệm chất lượng lời giải thuật toán IODE tốt thuật toán đối sánh Random, PSO_H EGA
Từ khóa: Lập lịch luồng cơng việc, ứng dụng luồng cơng việc, điện tốn đám mây, tiến hóa vi phân 1. Mở đầu
Luồng công việc (workflow) chuỗi có thứ tự tác vụ (task) thực đồng thời hay liệu đầu tác vụ đầu vào tác vụ Rất nhiều ứng dụng lĩnh vực khoa học khác yêu cầu phải xử lí lượng lớn liệu tổ chức theo dạng luồng công việc Montage [2], CyberShake [3], Epigenomics [4], LIGO [5],… Vấn đề lập lịch luồng cơng việc mơi trường điện tốn đám mây chất tìm phương án ánh xạ tác vụ luồng công việc tới máy chủ đám mây cho thời gian hoàn thành luồng công việc (makespan) nhỏ nhất, biết khối lượng tính tốn u cầu liệu tác vụ, tốc độ tính tốn truyền thơng máy chủ khác
Bài báo trình bày số cơng trình liên quan đến tốn lập lịch luồng cơng việc, mơ tả tốn trình bày mơ hình tốn học sau phát biểu tốn chứng minh thuộc lớp NP-Khó giới thiệu thuật tốn đề xuất IODE Để kiểm chứng hiệu thuật toán IODE báo trình bày trình thực nghiệm số luồng công việc khoa học mẫu môi trường đám mây thơng qua cơng cụ mơ CloudSim gói thư viện Jswarm [6] đồng thời phân tích số liệu thu được, từ đưa nhận xét so sánh
(2)Áp dụng chiến lược tiến hóa vi phân để nâng cao hiệu suất điện toán đám mây
89 2. Nội dung nghiên cứu
2.1 Những cơng trình nghiên cứu liên quan
Bài tốn lập lịch luồng cơng việc chứng minh thuộc lớp NP-Khó [1] tìm phương án lập lịch nhằm cực tiểu hóa thời gian hồn thành luồng cơng việc thường phức tạp, đặc biệt với toán lập lịch luồng công việc cho ứng dụng khoa học khó khăn ứng dụng thường phải xử lí số lượng lớn tác vụ với khối lượng liệu truyền qua lại tác vụ lớn Các thuật toán dựa hướng tiếp cận heuristic/metaheuristic nhiều nhà khoa học nghiên cứu đề xuất
Trong công trình [7] tác giả đề xuất thuật tốn lập lịch dựa phương pháp di truyền EGA (Enhanced Genetic Algorithm), nhóm tác giả sử dụng thuật tốn Enhanced Max Min bước khởi tạo nhằm tìm cá thể tốt cho q trình tiến hóa, qua nâng cao chất lượng tìm kiếm thuật toán
Năm 2010, S Pandey đề xuất thuật tốn lập lịch luồng cơng việc PSO Heuristic (PSO_H) [8] mơi trường điện tốn đám mây nhằm cực tiểu hóa chi phí thực thi luồng cơng việc Thuật toán PSO_H hoạt động theo phương pháp tối ưu bày đàn, tác giả tiến hành thực nghiệm thuật toán dựa số liệu dịch vụ cung cấp Amazon, tác giả chất lượng lời giải thuật toán PSO_H tốt so với thuật toán Random Round Robin
Kết hợp phương pháp tiến hóa vi phân giải thuật di truyền tác giả M Sridhar [4] đề xuất thuật tốn lai GAPSO nhằm cực tiểu hóa thời gian hồn thành tác vụ luồng cơng việc, cơng trình tác giả đề xuất tốn tử lựa chọn, đột biến lai ghép nhằm cải thiện hiệu thuật toán Tác giả thực nghiệm thuật toán nhiều liệu khác chất lượng thuật toán GAPSO tốt thuật toán Max-Min MCT (Minimum Execution Time)
R Buyya trình bày tổng quan chức phần mềm mơ mơi trường điện toán đám mây, CloudSim [9], phần mềm mô nhiều tác giả sử dụng để giả lập mơi trường điện tốn đám mây cơng trình nghiên cứu
L Guo đề xuất mơ hình cho tốn lập lịch luồng cơng việc thuật tốn lập lịch dựa phương pháp tối ưu bày đàn [10], cơng trình tác giả sử dụng luật SPV (Smallest Position Value) nhằm rời rạc hóa giá trị thực vector vị trí vector chuyển động q trình tiến hóa thuật tốn
2.2 Mơ hình tốn học
2.2.1.Hệ thống tính tốn
Giả thiết cho trước hệ thống tính tốn bao gồm:
- Tập hợp N máy chủ mơi trường điện tốn đám mây S = {S1, S2, SN}
- Luồng công việc cần thực biểu diễn đồ thị có hướng, khơng có chu trình G=(V,E), đỉnh biểu thị tác vụ, cạnh biểu diễn mối quan hệ cha-con cặp tác vụ - Tập tác vụ T={T1, T2, TM} với M số lượng tác vụ
- Khối lượng tính tốn tác vụ Ti kí hiệu Wi , đo đơn vị flop (floating point operations: phép tính số thực dấu phảy động)
- Tốc độ tính tốn máy tính, đo đơn vị flop/s (số phép tính thực giây), kí hiệu P(),là hàm số định nghĩa sau: P: S R+ ; Si P(Si)
- Mọi cặp máy chủ (Si, Sk) có đường truyền để trao đổi liệu với (1≤i, k≤N) - Băng thông đường truyền, kí hiệu B(), tốc độ truyền liệu máy chủ, đo
(3)Phan Thanh Toàn, Đặng Quốc Hữu, Nguyễn Thế Lộc Nguyễn Dỗn Cường
90
- Hàm băng thơng B() tuân theo ràng buộc sau:
+ B(Si,Si) = : thời gian truyền từ máy chủ tới 0, nghĩa tác vụ cha tác vụ bố trí máy chủ khơng thời gian để truyền liệu chúng
+ B(Si,Sk ) = B(Sk,Si): kênh truyền hoạt động từ hai đầu với tốc độ tương đương Khối lượng liệu cần truyền hai tác vụ Ti Tk, kí hiệu Dik, giá trị cho trước, Dik Ti tác vụ cha Tk, ngược lại Dik =0
2.2.2.Khái niệm lịch biểu
Một phương án xếp lịch F, gọi lịch biểu F, xác định hai hàm (ts , proc) - : → ; ts(Ti) thời điểm mà tác vụ Ti T bắt đầu thực
- : → ; proc(Ti) máy tính phân công thực tác vụ Ti T Từ giả thiết suy ra:
Thời gian tính tốn tác vụ Ti là:
procT i M
P W
i
i , 1,2, , (1)
Thời gian truyền liệu tác vụ Ti tác vụ Tk là:
procT procT i k M
B D
k i
ik ,, 1,2, ,
,
(2) Mục tiêu toán
Makespan lịch biểu F biểu diễn theo công thức sau:
( ) = ∈ ( ) − ∈ { ( )} (3)
với tf(Ti) thời điểm kết thúc ts(Ti) thời điểm bắt đầu thực tác vụ Ti Mục tiêu toán - từ kí hiệu CLOS - tìm lịch biểu F cho ( )→ Bổ đề: CLOS tốn thuộc lớp NP-Khó
Chứng minh:
Sau chúng tơi chứng minh tốn CLOS thuộc lớp NP-Khó Như Ullman [1] ra, cách làm thơng dụng để chứng minh tốn A thuộc lớp NP NP-Khó tìm tốn B, trước chứng minh thuộc lớp NP-Khó, quy dẫn tốn A, kí hiệu B∞A Trong số toán kinh điển thuộc họ toán Lập lịch, chúng tơi chọn tốn SCHED, O Sinnen chứng minh NP-Khó năm 2007 [11] Chúng tơi quy dẫn toán SCHED toán CLOS qua chứng minh CLOS thuộc lớp NP- Khó
Bài toán SCHED O Sinnen [11] phát biểu sau:
Giả sử tác vụ công việc biểu diễn đồ thịG=(V,E) chúng thực hệ thống tính tốn P bao gồm thành phần Hãy tìm lịch biểu S cho thời gian thực S P nhỏ
- Một tập hợp gồm hữu hạn máy tính có lực tính tốn ngang phục vụ tốn SCHED mà khơng dùng vào việc khác Tại thời điểm máy tính xử lí tối đa tác vụ Nếu tác vụ cha tác tác vụ thực máy thời gian truyền liệu chúng không
(4)Áp dụng chiến lược tiến hóa vi phân để nâng cao hiệu suất điện tốn đám mây
91 - Việc truyền thơng máy tính thực đồng thời Mọi cặp hai máy tính
đều kết nối đường truyền có tốc độ
Bài tốn SCHED cơng nhận "quy dẫn được" toán CLOS thỏa mãn điều kiện sau: có thuật tốn thời gian đa thức để giải tốn CLOS có thuật toán thời gian đa thức để giải toán SCHED
Giả sử tìm thuật tốn A để xây dựng lịch biểu tối ưu S cho toán CLOS Ta chứng minh A thuật toán để giải toán SCHED, điều kiện thỏa mãn
Rõ ràng toán SCHED trường hợp riêng toán CLOS bổ sung thêm hai ràng buộc sau:
- Tốc độ tính tốn máy tính nhau: P(Si) = P(Sj) (i,j = 1, , N)
- Mọi tuyến kết nối có tốc độ đường truyền nhau: B(Si, Sk)=B(Su, Sv) ( i,k,u,v = 1, , N) Như vậy, để tìm lịch biểu tối ưu cho toán SCHED ta thay đổi hệ thống tính tốn tốn CLOS cách gán số cho giá trị P(Si) số khác cho giá trị B(Si, Sk), cách ta thỏa mãn ràng buộc toán SCHED Áp dụng thuật toán A hệ thống tính tốn vừa xây dựng, thu lịch biểu S1 Theo giả thiết thuật toán A đảm bảo tìm lịch biểu tối ưu hệ thống tính tốn tổng qt nên áp dụng thuật tốn A cho hệ thống tính tốn toán SCHED (là trường hợp riêng hệ thống tổng quát) lịch biểu tìm S1 tối ưu Như thuật toán A thuật toán để giải toán SCHED, suy toán CLOS thuộc lớp NP-đầy đủ
2.3.Giải pháp đề xuất 2.3.1. Khái niệm đối xứng
Định nghĩa 1: giả sử x [a,b]; x R, phần tử đối xứng x kí hiệu ̅ tính sau:
̅= + − (4)
Định nghĩa 2: gọi P(x1, x2, ,xD) véc tơ D-chiều, với xi [ai, bi]; i=1,2,…,D Khi véc tơ đối xứng P kí hiệu = ( , , … , )và tính sau:
= + − (5)
2.3.2. Biểu diễn cá thể
Mỗi cá thể p quần thể biểu diễn vector p =(p1, p2,….,pM); pi {S1, S2,….,SN}
Ví dụ: xét luồng cơng việc với tác vụ T={T1, T2,…,T5}, tập máy chủ gồm máy S={S1, S2, S3} Khi cá thể xi =(1,2,1,3,2) biểu diễn sau:
T1 T2 T3 T4 T5 S1 S2 S1 S3 S2 2.3.3. Phương pháp tính đối xứng cho cá thể
Phương pháp ODE [12] yêu cầu phải tìm cá thể đối xứng cho cá thể, báo chúng tơi đề xuất phương pháp tìm cá thể đối xứng sau:
Gọi a = Max{P(Si)} b = Min{P(Si)}; i=1,2, ,N; P(Si) tốc độ tính tốn 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 xi kí hiệu
(5)Phan Thanh Toàn, Đặng Quốc Hữu, Nguyễn Thế Lộc Nguyễn Doãn Cường
92
= ( ), ( ), … , ( ) ; ( )= + − ( ); ∀ = 1,2, , (6) Sau gán giá trị tương ứng với vị trí j véc tơ số hiệu máy chủ có tốc độ tính tốn gần giá trị ( ) theo công thức (7):
← ế ( )− ( ) ≤ ( )− ( ) ∀ (7)
2.3.4. Phương pháp bánh xe quay vòng dựa hạng cá thể
Bánh xe quay vòng dựa hạng cá thể [13] phương pháp lựa chọn cá thể cho hệ Trong phương pháp cá thể xếp hạng theo hàm xác định, sau tính sắc xuất lựa chọn cá thể theo hạng chúng Trong báo chúng tơi đề xuất hàm tính hạng cho cá thể sau:
( ) = 2− + × ( −1) × (8)
trong đó: 1.0 SP 2.0; pos: vị trí cá thể cần tính hạng 2.3.5. Thuật tốn IODE
Kết hợp nội dung chúng tơi đề xuất thuật tốn lập lịch luồng công việc IODE môi trường điện tốn đám mây dựa thơng tin đối xứng, thuật tốn hoạt động theo phương pháp tiến hóa vi phân kết hợp với thông tin đối xứng cá thể quần thể Chi tiết thuật toán sau:
Algorithm IODE ( )
Input: T, S, khối lượng cơng việc cần thực W[1×M], P[1×N], B[N×N], D[M×M], số K, độ lệch chấp nhận , sốlượng cá thể NoP
Output: lời giải tốt gbest
1 Khởi tạo quần thể P gồm PopSize cá thể cách ngẫu nhiên OP OP_Algorithm ; tính quần thể đối xứng quần thể Chọn PopSize cá thể tốt từ P OP
4 while(Điều kiện lặp)do for i=1 to PopSize
6 Lựa chọn cá thể p1 theo thuật toán RBRWS Lựa chọn cá thể p2 theo thuật toán RBRWS F 0.5
9 K 0.5
10 vi = xi + K(xbest – xi)+F(xr1 – xr2)
11 Gán số hiệu máy chủ cho vị trí j véc tơ vi theo (7) 12 randi,j Random(0,1)
13 Irand random(1,M)
14 , = , ế , ≤ ℎ ặ =
, ế , ≥ ℎ ặ ≠
15 if (makespan(ui) < makespan(xi)) 16 xi ui
17 end if 18 end for
19 rand Random(0,1) 20 if(rand < Jr)
21 OP OP_Algorithm
(6)Áp dụng chiến lược tiến hóa vi phân để nâng cao hiệu suất điện toán đám mây
93 23 end if
24 End while 25 Return gbest;
Bước khởi tạo; thuật toán sinh quần thể P gồm Popsize cá thể cách ngẫu nhiên, sau tìm quần thể đối xứng P chọn lọc Popsize cá thể tốt từ quần thể ban đầu quần thể đối xứng
Véc tơ đột biến cá thể i thực theo chiến lược current to best /1; với công thức: vi = xi + K(xbest – xi)+F(xr1 – xr2);
Trong đó: xr1 – xr2 hai cá thể chọn theo phương pháp bánh xe quay vòng dựa hạng cá thể, x best cá thể tốt
Sau bước đột biến toán tử trao đổi chéo áp dụng cho cá thể xi để sinh cá thể ui , =
, ế , ≤ ℎ ặ =
, ế , ≥ ℎ ặ ≠
Trong đó: randi,j [0,1], Irand [1,M], CR [0,1]
Tốn tử lựa chọn áp dụng để định cá thể sống sót cho hệ
= , ( ) < ( )
, ℎ
Sau trình trao đổi chéo lựa chọn, thuật tốn tính quần thể đối xứng OP P theo công thức (6), (7) Cuối lựa chọn PopSize cá thể tốt từ P OP
Trong q trình tiến hóa thuật tốn tính tốn lưu lại giá trị gbest giá trị tốt theo hàm mục tiêu (Makespan)
2.3.6. Kết thực nghiệm
Để kiểm chứng hiệu thuật tốn đề xuất IODE chúng tơi tiến hành cài đặt thuật tốn ngơn ngữ lập trình Java, mơi trường điện tốn đám mây giả lập phần mềm mô CloudSim [6] Đối tượng so sánh thuật tốn tiến hóa mạnh PSO Heuristic [8], thuật toán Random [15], EGA [7] Các chương trình mơ chạy vi xử lí Intel Core i5 2.2 GHz, RAM 4GB, hệ điều hành Windows Ultimate
Dữ liệu thực nghiệm
Luồng công việc liệu thực nghiệm lấy từ luồng công việc ngẫu nhiên với đa dạng cấu trúc luồng công việc hai ứng dụng thực tiễn Montage [2] Epigenomics [4] Các tham số tốc độ tính tốn băng thông máy chủ lấy từ nhà cung cấp dịch vụ điện toán đám mây Amazon [15]
Tham số cấu hình
Các tham số cấu hình đám mây thiết lập miền giá trị sau: - Tốc độ tính tốn P máy chủ: từ đến 250 (million instructions/s)
- Khối lượng liệu D tác vụ: từ đến 10000 (Mega bit); băng thông máy chủ B:từ 10 đến 100 (Mega bit/s)
- Hệ số vi sai F=0.5; K=0.5; hệ số trao đổi chéo CR=0.9; Jr=0.3; PopSize=50 Quá trình tiến hành thực nghiệm
(7)Phan Thanh Toàn, Đặng Quốc Hữu, Nguyễn Thế Lộc Nguyễn Doãn Cường
94
trong Bảng 1, Hình 1-4 Kết thực nghiệm chất lượng lời giải thuật tốn IODE ln tốt thuật toán Random, PSO_H EGA tham số độ lệch chuẩn, giá trị trung bình giá trị tốt Giá trị trung bình tìm thuật tốn IODE nhỏ giá trị trung bình tìm thuật toán PSO_H từ 8% - 29% nhỏ giá trị trung bình tìm thuật tốn EGA từ 6% - 25%
Các Hình 1-4 so sánh giá trị tốt tìm thuật toán IODE với thuật toán đối sánh, qua ta thấy giá trị tốt tìm IODE tốt giá trị tốt tìm PSO_H từ 3% - 19%, giá trị tốt tìm thuật tốn IODE nhỏ giá trị tốt tìm EGA từ 1% - 18% giá trị tốt tìm IODE tốt giá trị tốt tìm Random từ 20% - 40% Các Hình 1-4 kết so sánh độ lệch chuẩn tìm thuật toán IODE với thuật toán đối sánh, giá trị độ lệch chuẩn IODE nhỏ so với độ lệch chuẩn tìm thuật tốn Random, PSO_H EGA, điều chứng tỏ thuật tốn IODE có chất lượng lời giải tốt thuật toán đối sánh độ ổn định lần chạy tốt
Bảng Kết quả thực nghiệm với luồng công việc Montage
M N IODE PSO_H RANDOM EGA
Best Mean STD Best Mean STD Best Mean STD Best Mean STD 20 32.1 35.0 1.2 35.90 44.2 5.2 56.3 63.3 3.8 35.6 42.0 3.7 20 28.9 31.7 1.4 37.1 44.7 6.1 51.6 67.6 6.8 37.5 42.5 3.2 25 219.0 219.7 1.5 225.0 239.0 8.3 238.0 304.9 33.0 222.4 235.5 4.7 50 82.4 87.3 3.1 95.0 108.0 6.3 110.5 196.8 32.8 86.4 103.5 3.3
Bảng Kết quả thực nghiệm với luồng công việc Epigenomics
M N IODE PSO_H RANDOM EGA