Bé gi¸o dôc vµ §µo t¹o BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ QUỐC PHÒNG VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ PHAN THANH TOÀN CÁC PHƯƠNG PHÁP GẦN ĐÚNG DỰA TRÊN TỐI ƯU BÀY ĐÀN VÀ TIẾN HÓA VI PHÂN GIẢI BÀI TOÁN LẬP LỊ.
Trang 1PHAN THANH TOÀN
CÁC PHƯƠNG PHÁP GẦN ĐÚNG DỰA TRÊN TỐI ƯU BÀY ĐÀN VÀ TIẾN HÓA VI PHÂN
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
Chuyên ngành : Cơ sở toán học cho tin học
Mã số : 62 46 01 10
TÓM TẮT LUẬN ÁN TIẾN SĨ TOÁN HỌC
HÀ NỘI - 2018
Trang 2Người hướng dẫn khoa học:
1 TS Nguyễn Thế Lộc
2 TS Nguyễn Doãn Cường
Phản biện 1:PGS.TS Nguyễn Đức Nghĩa
Trường Đại học Bách khoa Hà Nội
Phản biện 2: PGS.TS Lê Trọng Vĩnh
Trường Đại học Khoa học tự nhiên
Đại học Quốc gia Hà Nội
Phản biện 3: PGS.TS Nguyễn Xuân Hoài
Trường Đại học Hà Nội
Luận án tiến sĩ được bảo vệ trước Hội đồng chấm luận án
cấp Viện, họp tại Viện KH&CNQS
Vào hồi giờ ngày tháng năm 2018
Có thể tìm hiểu luận án tại thư viện:
- Thư viện Viện Khoa học và Công nghệ quân sự
- Thư viện Quốc gia Việt Nam
Trang 3MỞ ĐẦU Tính cấp thiết của đề tài luận án
Điện toán đám mây hoạt động dựa trên nền tảng công nghệ ảo hóa và mạng internet Trong môi trường điện toán đám mây mọi tài nguyên phần cứng, phần mềm đều được cung cấp cho khách hàng dưới dạng dịch vụ và khách hàng sẽ phải trả chi phí cho các tài nguyên thực dùng Điện toán đám mây [1] là môi trường phân tán không đồng nhất với sự kết hợp của nhiều máy chủ vật lý tạo nên các máy chủ ảo để phục vụ khách hàng Bên cạnh các lợi ích mang lại như tài nguyên luôn sẵn dùng, giảm thiểu chi phí đầu
tư hạ tầng và đội ngũ nhân viên công nghệ thông tin, điện toán đám mây cũng phải đối mặt với những thách thức như an toàn và bảo mật dữ liệu, điều phối tài nguyên hiệu quả tại các trung tâm dữ liệu, lập lịch luồng công việc,…
Bài toán Lập lịch luồng công việc được ứng dụng trong nhiều lĩnh vực của khoa học và cuộc sống như lập lịch điều phối tài nguyên trong hệ điều hành, các hệ thống phân tán, lập lịch biểu cho các dây chuyền sản xuất Các nhà khoa học đã sử dụng dữ liệu dạng luồng công việc trong nhiều lĩnh vực khoa học như nghiên cứu vũ trụ, động đất, tin sinh, vật lý….Đặc trưng của các loại ứng dụng này là cần phải xử lý một số lượng lớn tác vụ , khối lượng dữ liệu trao đổi giữa các tác vụ cũng rất lớn do vậy các ứng dụng này thường được triển khai trên các hệ thống tính toán phân tán như điện toán lưới hay điện toán đám mây Thời gian hoàn thành và chi phí thực thi luồng công việc phụ thuộc vào nhiều yếu tố đầu vào như:
• Số lượng tác vụ của luồng công việc
• Số tài nguyên của môi trường tính toán
• Quan hệ thứ tự giữa các tác vụ trong luồng công việc
• Độ trù mật của đồ thị luồng công việc
Trang 4Rất nhiều trường hợp riêng của bài toán lập lịch đã được chứng minh
là thuộc lớp NP-Khó [2], do vậy để tìm ra lời giải tối ưu cho các bài toán với kích thước dữ liệu vào lớn nếu dùng phương pháp vét cạn sẽ mất rất nhiều thời gian Một số cách tiếp cận theo Heuristic truyền thống như Min-min, Max-min,… thường cho chất lượng lời giải không tốt Những giải pháp khác, chẳng hạn GA hay PSO, được các nhà nghiên cứu đề xuất cho tới nay đều không hướng tới mục tiêu là tối thiểu hóa thời gian thực hiện (makespan) như luận án này đặt ra Do vậy việc nghiên cứu và đề xuất các thuật toán lập lịch tìm được lời giải gần tối ưu trong thời gian ngắn sẽ giúp nâng cao hiệu năng của trung tâm điều phối đám mây trong việc cung cấp dịch vụ tới khách hàng
Cấu trúc luận án
Luận án gồm phần mở đầu, phụ lục, 03 chương, phần kết luận và hướng phát triển, danh mục các công trình khoa học đã công bố và tài liệu tham khảo
Phần mở đầu: trình bày tính cấp thiết của đề tài, những khái quát chung về mục tiêu, đối tượng, nội dung, phương pháp nghiên cứu, ý nghĩa khoa học và thực tiễn của luận án
Chương 1: Giới thiệu bài toán và các nghiên cứu liên quan
Chương này trình bày các khái niệm cơ bản về luồng công việc, cấu trúc và một số luồng công việc trong các ứng dụng khoa học thực tiễn Mục 1.4 trình bày mô hình 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 (từ đây gọi là CLOS - Cloud Scheduling), biểu diễn bài toán dưới dạng kí hiệu Graham và chứng minh độ phức tạp của bài toán Mục 1.6 trình bày một số nghiên cứu liên quan đến bài toán lập lịch và đánh giá ưu nhược điểm của các cách tiếp cận giải bài toán lập lịch
Chương 2: Giải bài toán CLOS theo phương pháp Tối ưu bày đàn
Trang 5Dựa theo phương pháp Tối ưu bày đàn, chương 2 trình bày hai thuật toán mới để giải bài toán CLOS là thuật toán PSOi_H và LPSO_H Mục 2.2 trình bày thuật toán đề xuất PSOi_H với các nội dung về phương pháp
mã hóa cá thể, cách thức cập nhật vector vị trí của các cá thể, phương pháp thoát khỏi cực trị địa phương, chi tiết thuật toán PSOi_H Phần này cũng đã trình bày các kết quả thực nghiệm và đánh giá chất lượng lời giải thuật toán PSOi_H Mục 2.3 trình bày chi tiết về thuật toán đề xuất LPSO_H và các kết quả thực nghiệm cùng với đánh giá chất lượng lời giải của thuật toán LPSO_H
Chương 3: Giải bài toán CLOS theo phương pháp Tiến hóa vi phân
Chương này trình bày tổng quan về phương pháp tiến hóa vi phân, phương pháp đối xứng, phương pháp lựa chọn theo vòng dựa trên xếp hạng của cá thể Mục 3.2 trình bày thuật toán đề xuất MODE để giải bài toán CLOS dựa theo phương pháp tiến hóa vi phân Phần cuối chương này đã trình bày các kết quả thực nghiệm và đánh giá chất lượng lời giải của thuật toán đề xuất MODE
Ý nghĩa khoa học và thực tiễn
Về mặt lý thuyết khoa học, trong số nhiều công trình nghiên cứu những dạng khác nhau của bài toán Lập lịch, theo hiểu biết của tác giả, luận
án là công trình đầu tiên giải quyết bài toán Lập lịch cho dạng dữ liệu luồng công việc DAG với mục tiêu duy nhất là tối thiểu hóa makespan Luận án
đã đề xuất mô hình toán học chặt chẽ và tường minh cho bài toán - lấy bối cảnh thực hiện là trung tâm điện toán đám mây - trên cơ sở đó đưa ra cách phân loại bài toán theo phương pháp Graham và chỉ ra bài toán thuộc lớp NP-Khó Luận án đã đề xuất ba thuật toán lập lịch mới dựa trên hướng tiếp cận metaheuristic bao gồm Tối ưu bày đàn, và Tiến hóa vi phân
Về thực tiễn, kết quả nghiên cứu của luận án là cơ sở khoa học để thực thi 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
Trang 6mây phù hợp cho từng loại đồ thị luồng công việc và các tham số của môi trường như tốc độ tính toán các máy chủ, băng thông giữa các máy chủ
Chương 1: Giới thiệu bài toán và các nghiên cứu liên quan
Chương này trình bày mô hình 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, phân lớp các phương pháp giải bài toán lập lịch và chứng minh bài toán đề xuất CLOS thuộc lớp NP-Khó
Mô hình 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
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)
• 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ư
Trang 7• 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: SS 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, 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 (t s , proc) trong đó
• ts: T R+; t s (T i ) là thời điểm mà tác vụ T i T bắt đầu được thực hiện
• proc: T S; proc(T i ) là máy tính được phân công thực hiện tác vụ T i
T
Từ các giả thiết trên suy ra:
Thời gian tính toán của tác vụ Ti:
proc T i M
P
W i
ik ; , 1 , 2 , ,
Makespan của lịch biểu F được biểu diễn theo công thức sau:
Trang 8( min{
)}
( max{
)
T T i f T T
T t T
t F
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 makespan(F)min
Xếp loại bài toán CLOS thông qua phân loại Graham
• Bài toán CLOS có thể được biểu diễn theo ký pháp Graham như sau: Q|outtree, cij |Cmax
Độ phức tạp của bài toán CLOS
Dựa theo bài toán SCHED đã được O Sinnen chứng minh thuộc lớp NP-khó, tác giả đã chứng minh bài toán CLOS cũng thuộc lớp NP-khó bằng cách qui dẫn bài toán SCHED về bài toán CLOS
Các nghiên cứu liên quan
Phân loại các phương pháp giải bài toán lập lịch
Hình 1.12: Phân loại các phương pháp lập lịch
Phân loại các phương pháp giải bài toán lập lịch Cấu trúc Cơ chế
Tập trung
Phân tán
Phân bậc
Tĩnh Động
Căn cứ ra quyết định Cục bộ Toàn cục
Trang 9Hình 1.13: Phân lớp các giải thuật lập lịch tĩnh
Các phương pháp giải bài toán lập lịch
Các thuật toán Heuristic giải bài toán lập lịch
Có nhiều thuật toán Heuristic giải bài toán lập lịch, điển hình trong họ này là các thuật toán Myopic, Min-min, Max-min, HEFT, TANH, Random, RRTSM
Các thuật toán Metaheuristic giải bài toán lập lịch
Đã có nhiều công trình nghiên cứu giải bài toán lập lịch dựa trên cách tiếp cận metaheuristic như thuật toán EGA, GATSM, GAPSO, PSO_H, MPSO, …
So sánh các thuật toán
Các thuật toán heuristic và metaheuristic thường cho chất lượng lời giải chấp nhận được trong thời gian đa thức, tuy nhiên các thuật toán heuristic thường hoạt động dựa vào các tính chất của từng tác vụ rời rạc trong qua trình xếp lịch do vậy chỉ hiệu quả trong một số luồng công việc
Lập lịch dựa trên bản sao các tác vụ Các giải thuật lập lịch tĩnh
Các giải thuật dựa trên heuristics Các giải thuật dựa trên Metaheuristics
Trang 10cụ thể như luồng công việc có cấu trúc đơn giản dạng tiến trình, đường ống (pipeline), và dữ liệu truyền qua lại giữa các tác vụ là nhỏ Các thuật toán metaheustic hoạt động dựa trên tri thức của cả quần thể do vậy có thường
có hiệu quả đối với nhiều dạng bài toán lập lịch và các cấu trúc luồng công việc phức tạp
Chương 2: Giải bài toán CLOS theo phương pháp tối ưu bày đàn
Chương này gồm hai nội dung chính:
(i) Đề xuất thuật toán PSOi_H giải bài toán CLOS
(ii) Đề xuất thuật toán LPSO_H giải bài toán CLOS
2.1 Thuật toán đề xuất PSOi_H
Thuật toán đề xuất hoạt động theo phương pháp tối ưu bày đàn, tuy nhiên thuật toán được cải tiến ở các điểm sau:
(i) Thay đổi phương pháp cập nhật vị trí cho các cá thể nhằm tăng tính
đa dạng cho quần thể
(ii) Đề xuất thủ tục Inverse nhằm giúp quần thể thoát khỏi cực trị địa phương
Mã hóa cá thể
Vector vị trí và vector dịch chuyển đều được biểu diễn bằng cấu trúc
dữ liệu bảng băm trong ngôn ngữ lập trình java
T1 T2 T3 T4 T5
S1 S2 S1 S3 S2
Phương thức cập nhật vị trí của cá thể
Định nghĩa 1: điểm năng lực tính toán cơ bản của máy chủ (base score) là
một đại lượng được sử dụng để đánh giá hiệu suất của máy chủ, được tính toán dựa trên điểm của các thành phần khác trong máy tính như tốc độ bộ
vi xử lý, dung lượng và tốc độ bộ nhớ RAM, tốc độ ổ đĩa cứng Trong luận
Trang 11án này điểm năng lực tính toán được ưu tiên theo tốc độ tính toán của bộ vi
xử lý trên máy chủ Công thức cập nhật các thành phần của vector vị trí và vector dịch chuyển như sau :
M t
S S t v t x S P t v t x S P
k i
k i j
k
M k
N
x x B x
P N
x x B x
P
jk S
(1
),()
Biện pháp thoát khỏi cực trị địa phương
Phương pháp tối ưu bày đàn nói riêng và các phương pháp tìm kiếm dựa trên heuristic và metaheuristic nói chung đôi khi bị mắc kẹt tại các lời giải cực trị địa phương mà không thể thoát ra để đi tới lời giải tốt hơn.Phần này
đề xuất thủ tục Inverse như một biện pháp được áp dụng mỗi khi vòng lặp chương trình sa vào một cực trị địa phương và các cá thể bị hút vào gần lời giải cực trị đó mà không thể thoát ra.
Hình 2.2:Thủ tục Inverse Thuật toán PSOi_H hoạt động theo phương pháp tối ưu bày đàn theo
đó tại mỗi bước lặp các cá thể cập nhật vị trí của mình hướng tới vị trí tốt
nhất của cả quần thể (gbest) đồng thời có dựa trên kinh nghiệm cá nhân
Trang 12(pbest i ) Nếu sau K thế hệ liên tiếp không cải thiện được một cách đáng kể giá trị gbest (mức chênh không vượt quá ) thì chứng tỏ quần thể đang hội
tụ tại một cực trị địa phương Khi đó thủ tục Inverse được áp dụng cho một nửa cá thể tồi nhất trong quần thể, và di cư chúng tới một vùng không gian mới, tại đó quá trình tìm kiếm được tái khởi động
Thực nghiệm
Để kiểm chứng thuật toán PSOi_H tác giả đã sử dụng các bộ dữ liệu thực nghiệm được xây dựng trong phụ lục PL1, PL2 và công cụ mô phỏng môi trường điện toán đám mây CloudSim [64], các hàm của gói thư viện Jswarm Kết quả của thuật toán được so sánh với các giá trị tối ưu tìm được bằng phương pháp vét cạn và các thuật toán heuristic và metaheuristic là Random [38], RRTSM [39], PSO_H [28], EGA [40] Chi tiết về kết quả thực nghiệm được trình bày trong các bảng 2-3, 2-4 và 2-5 của luận án
So sánh thuật toán PSOi_H với các thuật toán khác
Hình 2.4: So sánh thuật toán PSOi_H và các thuật toán khác với bộ dữ liệu
T1052
Trang 13Hình 2.5: So sánh thuật toán PSOi_H và các thuật toán khác với bộ dữ liệu
T2032
Đánh giá chất lượng lời giải thuật toán PSOi_H
Với mỗi bộ dữ liệu chuẩn chúng tôi đã tiến hành thực nghiệm các thuật toán một cách độc lập với 30 lần thử, các tham số về băng thông giữa các máy chủ, tốc độ tính toán của các máy chủ được thiết lập trong môi trường mô phỏng CloudSim một cách nhất quán cho tất cả các thuật toán trong các lần thử nghiệm Với hai thuật toán PSOi_H và PSO_H các tham
số về hệ số quán tính: ; hệ số gia tốc c1, c2; số cá thể trong quần thể và số thế hệ được thiết lập như nhau Kết quả thực nghiệm đã chỉ ra chất lượng lời giải của thuật toán PSOi_H luôn tốt hơn các thuật toán Random, RRTSM ở cả 3 tham số là độ lệch chuẩn, giá trị trung bình và giá trị tốt nhất trong tất cả các bộ dữ liệu thực nghiệm Kết quả thực nghiệm với các
bộ dữ liệu ngẫu nhiên trong bảng 2-3 đã chỉ ra thuật toán PSOi_H luôn cho chất lượng lời giải tốt hơn thuật toán PSO_H ở cả 3 tham số độ lệch chuẩn, giá trị trung bình và giá trị tốt nhất trong hầu hết các bộ dữ liệu thực nghiệm Một số bộ dữ liệu như T1035, T2051, T2053 thì thuật toán
Trang 14PSOi_H có giá trị trung bình và độ lệch chuẩn nhỏ hơn so với kết quả tìm được bởi thuật toán PSO_H Kết quả thực nghiệm với các bộ dữ liệu trong ứng dụng thực tiễn Montage, Epigenomics (xem bảng 2-4, 2-5) đã chỉ ra chất lượng lời giải của thuật toán PSOi_H tốt hơn thuật toán PSO_H ở cả 3 tham số độ lệch chuẩn, giá trị trung bình và giá trị tốt nhất So với thuật toán EGA thì thuật toán PSOi_H tốt hơn ở 2 tham số giá trị trung bình và giá trị tốt nhất
Độ lệch chuẩn tìm được bởi thuật toán PSOi_H nhỏ hơn độ lệch chuẩn tìm được bởi các thuật toán PSO_H từ 2% - 11% cho các bộ dữ liệu thực nghiệm có các tham số môi trường đám mây đồng đều về băng thông và tốc
độ tính toán, và nhỏ hơn từ 16% - 51% cho các bộ dữ liệu thực nghiệm có tham số môi trường đám mây không đồng đều về băng thông và tốc độ tính toán giữa các máy chủ
Giá trị trung bình tìm được bởi thuật toán PSOi_H nhỏ hơn giá trị trung bình tìm được bởi thuật toán PSO_H từ 1% - 7%, đặc biệt với các bộ
dữ liệu thực nghiệm có hệ số nhỏ (đồ thị luồng công việc có số cạnh ít, hay sự phụ thuộc dữ liệu giữa các tác vụ không nhiều) thì thuật toán PSOi_H có giá trị trung bình nhỏ hơn so với thuật toán PSO_H từ 8% - 16% So với thuật toán EGA giá trị trung bình tìm được bởi thuật toán PSOi_H nhỏ hơn từ 2% - 9%
Giá trị tốt nhất tìm được bởi thuật toán PSOi_H nhỏ hơn giá trị tốt nhất tìm được bởi các thuật toán Random và RRTSM với tất cả các bộ dữ liệu thực nghiệm So với thuật toán PSO_H thì giá trị tốt nhất tìm được bởi PSOi_H nhỏ hơn 2% - 7% , đặc biệt với các bộ dữ liệu thực nghiệm từ ứng dụng thực tiễn Epinogenmic thì giá trị tốt nhất tìm được bởi PSOi_H nhỏ hơn PSO_H từ 8% - 15% Giá trị tốt nhất tìm được bởi thuật toán PSOi_H nhỏ hơn giá trị tốt nhất tìm được bởi thuật toán EGA từ 2.3% - 8%