Nội dung của bài viết gồm những phần chính sau đây. Phần I giới thiệu bối cảnh thực tế tại trung tâm điện toán đám mây nơi cung cấp dịch vụ workflow. Phần II trình bày một số công trình liên quan và các hạn chế, Phần III phát biểu bài toán và xây dựng mô hình toán học bài toán tối thiểu chi phí thực thi luồng công việc trong môi trường điện toán đám mây. Phần IV giới thiệu thuật toán đề xuất.
Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-2, Số 14 (34), tháng 12/2015 Thuật toán lập lịch luồng cơng việc mơi trƣờng điện tốn đám mây dựa chiến lƣợc tối ƣu bày đàn A Particle Swarm Optimization-Based Workflow Scheduling Algorithm in the Cloud Environment Phan Thanh Tồn, Nguyễn Thế Lộc, Nguyễn Dỗn Cƣờng, Đỗ Nhƣ Long Abstract: Workflow is the series of tasks that are necessary to complete a goal Workflow scheduling, the most important problem which the cloud controllers deal with, focuses on mapping and managing the execution of tasks on servers so that the expenses is the minimum In this paper, we build a workflow scheduling framework which run on the cloud computing environments In order to solve the mentioned problem, we propose a PSO-based algorithm for scheduling workflow tasks in the cloud environments so that the total cost is minimized Keywords: workflow scheduling, applications, cloud computing workflow I GIỚI THIỆU Điện tốn đám mây tích hợp nhiều công nghệ thuộc lĩnh vực công nghệ thông tin truyền thơng, mơi trường điện tốn đám mây cho phép người sử dụng truy cập cách thuận tiện, nhanh chóng đến tài ngun tính tốn (máy chủ, thiết bị lưu trữ, ứng dụng, dịch vụ…), điện tốn đám mây mơ hình phân tán khơng đồng với tập hợp nhiều máy tính làm việc môi trường mạng internet nhằm tận dụng sức mạnh chung hệ thống ứng dụng lớn Một số ứng dụng phổ biến mơi trường điện tốn đám mây tốn luồng công việc (từ viết tắt workflow), hiệu trung tâm điện toán phụ thuộc nhiều vào việc xếp tác vụ luồng để thực thi máy tính mơi trường đám mây nhằm hồn thành luồng cơng việc cách “tối ưu” Nội dung báo gồm phần sau Phần I giới thiệu bối cảnh thực tế trung tâm điện toán đám mây nơi cung cấp dịch vụ workflow Phần II trình bày số cơng trình liên quan hạn chế, Phần III phát biểu tốn xây dựng mơ hình tốn học tốn tối thiểu chi phí thực thi luồng cơng việc mơi trường điện tốn đám mây Phần IV giới thiệu thuật toán đề xuất Phần V để kiểm chứng hiệu thuật toán đề xuất, thực thực nghiệm ứng dụng workflow môi trường đám mây thông qua công cụ mô CloudSim [1] Các kết thu thập so sánh với giải thuật PSO Heuristic [2] giải thuật lập lịch giải thuật Random [3,4] Round Robin [5] II NHỮNG CƠNG TRÌNH 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-đầy đủ [6] nghĩa thời gian để tìm lời giải tối ưu lớn, có nhiều giải thuật metaheuristic nghiên cứu nhằm tìm lời giải gần thời gian ngắn S Parsa [7] đề xuất thuật toán lập lịch nhằm tối thiểu thời gian thực thi mơi trường lưới tính tốn Grid J.M Cope đồng nghiệp phân tích hiệu giải thuật FRMTL FRMAS [8] mơi trường lưới tính tốn TeraGrid A Agarwal đề xuất thuật tốn - 15 - Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT tham lam [9] tác vụ gán thứ tự ưu tiên dựa vào khối lượng công việc tác vụ, máy chủ gán thứ tự ưu tiên theo tốc độ xử lý máy chủ sau gán tác vụ vào máy chủ theo thứ tự ưu tiên tính tốn Cách làm có nhược điểm khiến tác vụ có mức ưu tiên thấp phải chờ đợi lâu bỏ qua yếu tố tốc độ truyền liệu máy chủ đám mây Một số tác giả khác M.Wieczorek [10] nghiên cứu đề xuất thuật tốn lập lịch thực thi luồng cơng việc theo thuật toán di truyền (Genetic Algorithm - GA), nhiên nghiên cứu [11,12] nhận định phương pháp PSO (Particle Swarm Optimization - Tối ưu bày đàn) có ưu so với phương pháp GA giải tốn lập lịch luồng cơng việc mơi trường tính tốn phân tán Lưới (Grid Computing) hay Đám mây (Cloud Computing) Theo hướng đó, S Pandey [12] đề xuất thuật toán theo phương pháp PSO nhằm cực tiểu hóa chi phí thực thi luồng cơng việc Thay tìm phương án có tổng chi phí thực thi máy chủ bé nhất, S Pandey lại định nghĩa hàm mục tiêu để tìm phương án có chi phí thực thi máy chủ tốn (máy có tổng chi phí lớn máy khác) nhỏ so với phương án khác Cách làm có xu hướng “cào bằng” nghĩa thiên lời giải có chi phí thực thi máy chủ xấp xỉ Chúng nhận thấy, qua lý thuyết thực nghiệm kiểm chứng, cách làm thường khiến chương trình sớm hội tụ giá trị cực tiểu địa phương thay tìm cực trị tồn cục III BÀI TỐN TỐI THIỂU HĨA CHI PHÍ Chúng tơi phát biểu toán sau: giả sử cần xếp lịch biểu cho luồng công việc gồm m tác vụ (task), mơi trường điện tốn đám mây với yêu cầu sau : - Luồng công việc gồm có M tác vụ - Các tác vụ có quan hệ thứ tự trước sau - Mỗi tác vụ cần khối lượng liệu vào xuất lượng liệu xác định Tập V-2, Số 14 (34), tháng 12/2015 - Luồng cơng việc có tác vụ gốc - Môi trường thực thi luồng cơng việc mơi trường điện tốn đám mây với N máy chủ tính tốn K máy chủ lưu trữ - Mỗi tác vụ thực thi máy chủ thực thi máy - Chi phí máy chủ thực thi máy chủ lưu trữ liệu tính theo đơn giá nhà cung cấp dịch vụ ấn định Ký hiệu - Tập máy chủ S = {S1, S2,….,SN} - Luồng công việc biểu diễn đồ thị G=(V, E), với V ={T1, T2,…,TM} tập đỉnh, đỉnh biểu thị tác vụ, E tập cạnh thể mối quan hệ tác vụ Cạnh e =(Ti, Tj) E có nghĩa tác vụ Ti cha tác vụ Tj, thực trước, sau chuyển cho tác vụ Tj khối lượng liệu làm đầu vào cho tác vụ Tj Hình 1: Đồ thị luồng công việc với tác vụ - Khối lượng tính tốn (Workload) Ti kí hiệu Wi, đơn vị đo flop (floating point operations- phép tính số thực dấu phảy động) - Tốc độ tính toán (đơn vị flop/s) máy Si ký hiệu P(Si) - Đơn giá cước tính tốn (đơn vị dolar/flop) máy Si ký hiệu E(Si) - Mỗi cặp máy chủ Si, Sj (1≤i,j≤N) có kênh truyền kết nối chúng, băng thông kênh truyền kí hiệu B hàm số: B : SxS -> R+ - 16 - Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT (Si, Sj) -> B(Si, Sj) Thời gian tính tốn tác vụ Ti là: Hàm B thỏa mãn điều kiện sau: B(Si, Si) = (chi phí truyền chỗ 0) Wi (1) P f Ti (i=1,2, M) B(Si, Sk) + B(Sk, Sj) ≤ B(Si, Sj) Chi phí tính tốn tác vụ Ti là: Wi E(f(Ti)) (2) B(Si, Sj ) = B(Sj, Si) Tập giá trị hàm băng thông B( ) máy chủ cung cấp nhà cung cấp dịch vụ biểu diễn dạng Bảng Bảng Băng thông máy chủ B Tập V-2, Số 14 (34), tháng 12/2015 B(1,2) B(1,1)= B(2,1) B(2,2)= N B(N,1) B(N,2) B(N,N)= Thời gian truyền liệu tác vụ Ti tác vụ Tk Dik B f Ti , f Tk (3) Chi phí truyền thơng tác vụ Ti tác vụ Tk là: DikC(f(Ti), f(Tk)) (4) N B(1,N) Chi phí thực thi Ti máy chủ f(Ti) chi phí tính tốn cộng với tổng chi phí truyền thơng tác vụ Tj với Ti tác vụ Tj tác vụ cha tác vụ Ti Chi phí thực thi tồn luồng cơng việc tổng chi phí thực thi tất tác vụ luồng Chúng ta đặt hàm mục tiêu là: M M M W E f T D - Khối lượng liệu truyền từ Ti tới Tk kí hiệu Dik cho Bảng Bảng Khối lượng liệu tác vụ D M D11 D21 DN1 D12 D22= DN2 M D1N DNN = - Đơn giá cước truyền thông (đơn vị dolar/bit) máy kí hiệu C hàm số C : SxS -> R+ (Si, Sk) -> C(Si, Sk) Hàm C( ) thỏa mãn điều kiện: C(Si, Sk) = C(Sk, Si) - Mỗi phương án xếp lịch thực thi luồng công việc ánh xạ f f : T -> S Ti -> f(Ti) f(Ti) máy chủ chịu trách nhiệm thực thi tác vụ Ti Từ suy ra: i 1 i i i 1 k 1 ik C f Ti , f Tk Min (5) V THUẬT TỐN ĐỀ XUẤT Dựa mơ hình tốn học đề xuất mục III nêu trên, đề xuất giải thuật tìm kiếm theo kiểu bày đàn PSO PSO chiến lược tìm kiếm tiến hóa đề xuất R Eberhart J Kennedy [13], cá thể ln có xu hướng dịch chuyển tới vị trí tốt dựa vào kinh nghiệm cá nhân kinh nghiệm quần thể Giải thuật Scheduling_Heuristic mô tả chi tiết sau 1) Trước hết biểu diễn cá thể quần thể thành phần véc tơ vị trí véc tơ dịch chuyển Véc tơ vị trí có số chiều số tác vụ luồng công việc mô tả cấu trúc liệu bảng băm: Hashtable position Véc tơ dịch chuyển biểu diễn cấu trúc liệu bảng băm: Hashtable velocity - 17 - Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-2, Số 14 (34), tháng 12/2015 Ví dụ: xét luồng cơng việc gồm tác vụ T1, T2, T3, T4, T5 máy chủ PC1, PC2, PC3 cá thể mã hóa sau : T1 T2 T3 T4 T5 PC1 PC2 PC1 PC3 PC2 Nghĩa tác vụ T1, T3 thực PC1, tác vụ T2, T5 thực PC2 tác vụ T4 thực PC3 2) Mã hóa tác vụ: tác vụ xác định đại lượng: (i) số lệnh cần thực (ii) kích thước liệu đầu tác vụ (iii) danh sách tác vụ phụ thuộc, danh sách tác vụ biểu diễn cấu trúc danh sách ArrayList 3) Biểu diễn liệu chi chí thực thi tác vụ máy chủ, chi phí truyền thơng máy chủ khối lượng liệu vào/ra tác vụ Chi phí thực thi tác vụ máy chủ biểu diễn ma trận ta sử dụng cấu trúc bảng băm sau để lưu trữ chi phí thực thi tác vụ máy chủ Hashtable TH_matrix; Bảng Chi phí thực thi Ti máy PCj TP[5 x3] T1 T2 T3 T4 T5 PC2 1.12 1.17 1.11 1.12 1.14 PC3 1.15 1.28 1.11 1.14 1.22 PC2 PC3 PC1 0.17 0.21 PC2 PC3 0.17 0.21 0.22 0.22 Trong đó: PP[i,j]=chi phí truyền thơng PCi PCj (đơn vị dolar/Mb) Dữ liệu vào/ra tác vụ luồng công việc biểu diễn ma trận ta sử dụng cấu trúc liệu bảng băm sau để lưu trữ : Hashtable edge_weight Bảng Kích thước input/output task i DST2,T3,T4 [2x2] total data Input 10 Output 10 DST5 [2x2] Input Output total data 30 60 Trong Input liệu vào, Output liệu tác vụ (đơn vị MB) Thuật toán đề xuất sau: Input: - Luồng công việc gồm n tác vụ - Chi phí thực thi tác vụ máy chủ (bảng 4) - Chi phí truyền thơng máy chủ (bảng 5) - Khối lượng liệu vào/ra tác vụ (bảng 6) Output: phương án lập lịch cực tiểu hóa chi phí thực thi luồng công việc theo hàm mục tiêu công thức (5) Algorithm Scheduling_Heuristic Chi phí truyền thơng PC biểu diễn ma trận ta sử dụng cấu trúc bảng băm sau để lưu trữ : Hashtable HH_matrix; PC1 PP[3x3] Bảng Minh họa cách mã hóa cá thể PC1 1.23 1.17 1.13 1.26 1.19 Bảng Chi phí truyền thơng PCj Tính ma trận chi phí thực thi task host Tính ma trận chi phí truyền thơng host Tính ma trận khối lượng liệu vào/ra task Khởi tạo danh sách task sẵn sàng danh sách tất task Khởi tạo danh sách task chưa lập lịch danh sách tất task repeat - 18 - Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT foreach ti in readyTasks Gán ti cho thực PCj theo thuật toán PSO_Algorithm end for 10 Chờ xử lý công việc (phụ thuộc liệu đầu vào đầu task cha-con) 11 Cập nhật lại task trạng thái “ready” 12 Cập nhật lại chi phí giao tiếp tài nguyên theo trạng thái mạng 13 Tính tốn PSO({ ti }) Tập V-2, Số 14 (34), tháng 12/2015 Thuật toán thực tính tốn ma trận chi phí thực thi tác vụ host, ma trận chi phí truyền thơng host ma trận liệu vào/ra tác vụ cha-con, sau khởi tạo ngẫu nhiên quần thể với số cá thể xác định, thực việc gán tác vụ vào host sau cực tiểu hóa chi phí theo hàm mục tiêu đặt VI KẾT QUẢ THỰC NGHIỆM Tính ma trận chi phí đầu vào Để thực mô việc lập lịch workflow môi trường đám mây, cài đặt giải thuật Scheduling_Heuristic ngôn ngữ Java với trợ giúp gói thư viện JSwarm [1,14] cơng cụ mơ CloudSim [1] Hình cho thấy kết thực nghiệm so sánh giải thuật Scheduling_Heuristic với giải thuật: PSO_Heuristic [ 2], Random [3,4], RoundRobin [5] với liệu tính tốn Khởi tạo task Bảng Ma trận liệu TP, PP, DS cho liệu Test 14 Until khơng có task chưa lập lịch end procedure Sơ đồ thuật toán Scheduling_Heuristic BEGIN Còn task chưa lập lịch? sai TP[5x3] T1 T2 T3 T4 T5 PSO_Algorithm(readyTasks) PP[3x3] Xử lý công việc(phụ thuộc liệu vào/ra task cha-con) DST2,T3,T4 [2x2] Cập nhật task trạng thái ready Cập nhật lại chi phí END PC1 PC2 PC3 Input Outp ut PC1 0.1*25 0.1*25 0.1*25 0.1*25 0.1*25 PC1 0.1 0.1 Data Size (MB) 10 10 PC2 0.2*25 0.2*25 0.2*25 0.2*25 0.2*25 PC2 0.1 0.1 DST5 [2x2] = PC3 0.3*25 0.3*25 0.3*25 0.3*25 0.3*25 0.3*25 0.1 0.1 DataSiz e (MB) Input Output 30 60 Giá trị bảng lấy từ bảng giá sử dụng dịch vụ Amazon EC2 [ 15] cho tài nguyên phạm vi 1.1$ - 1.28$/giờ Các tham số giải thuật : Số cá thể = 25; số hệ = 30; số lần lặp = 30; Trọng số quán tính w = 0.85 hệ số gia tốc C1 = 1.5 C2 = 0.5 - 19 - Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Bảng Kết tính tốn chi phí thực thi workflow sau 30 lần chạy Round Lần Scheduling PSO_ Rando Robin lặp _Heuristic Heuristic m 30 12.500 18.500 46500 40000 Tập V-2, Số 14 (34), tháng 12/2015 V KẾT LUẬN Bài báo xây dựng mơ hình tốn học cho tốn luồng cơng việc 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, yêu cầu cần thiết mơi trường điện tốn đám mây điện tốn đám mây mơi trường dịch vụ tích hợp cung cấp nhà cung cấp dịch vụ người sử dụng phải trả chi phí cho dịch vụ mà họ sử dụng Đồng thời đề xuất giải thuật lập lịch heuristic dựa chiến lược tối ưu bày đàn cài đặt thử nghiệm môi trường mô cloudSim, kết việc tính tốn chi phí tốt thuật tốn có Random hay Round Robin PSO_Heuristic TÀI LIỆU THAM KHẢO [1] Công cụ mô cloudbus.org/cloudsim/ CloudSim http://www [2] S Pandey, L.Wu, S.Guru, and R.Buyya, A Hình Chi phí luồng cơng việc tìm qua giải thuật Particle Swarm Optimization (PSO)-based Heuristic for Scheduling Workflow Applications in Cloud Computing Environments, The 24th IEEE International Conference on Advanced Information Networking and Applications AINA, Australia, April, 2010 Nhận xét Thực nghiệm tiến hành số liệu thực tế chi phí xử lý liệu chi phí truyền thơng tin vị trí địa lý khác Những số liệu thu thập cung cấp công ty Amazon [15], nhìn chung kết thực nghiệm khẳng định hiệu vượt trội giải thuật đề xuất so với giải thuật đối sánh Cụ thể, giải thuật đề xuất Scheduling_Heuristic cho kết phụ thuộc vào việc thiết lập hệ số quán tính w, hệ số gia tốc C1, C2 Trong báo sử dụng trọng số quán tính w = 0.85, hệ số gia tốc C1 = 1.5 C2 = 0.5, kết thử nghiệm với số cá thể 25, số lần lặp 30 lần, bảng kết chi phí luồng cơng việc tính tốn thuật tốn Scheduling_Heuristic có giá trị thấp so với thuật toán Random, Round Robin PSO_Heuristic [3] M.Michael, E.Upfal, Probability and Computing: Randomized Algorithms and Probabilistic Analysis, April 2005 Cambridge University Press [4] Don Fallis The Reliability of Randomized Algorithms, British Journal for the Philosophy of Science 51:255–271 [5] Silberschatz, Abraham, Galvin, B.Gagne, Greg, Process Scheduling Operating System Concepts John_Wiley_&_Sons (Asia), pp 194 ISBN 978-0-470-23399-3 [6] J.D.Ullman, NP-complete scheduling problems, Journal of Computer and System Sciences, Volume 10, Issue 3, 1975 [7] S Parsa, R E Maleki, RASA A New Task - 20 - Scheduling Algorithm in Grid Environment, International Journal of Digital Content Technology and its Applications, Vol 3, No 4, 2009 Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT [8] J.M Tập V-2, Số 14 (34), tháng 12/2015 Tufo, [12] S Pandey, A Barker, K K Gupta, R P.Beckman, Robust data placement in urgent computing environments, IEEE International Symposium on Parallel & Distributed Processing, IPDPS 2009 Buyya, Minimizing Execution costs when using globally distributed cloud services, 24th IEEE International Conference on Advanced Information Networking and Applications, 2010 [9] A Agarwal, S Jain, Efficient Optimal Algorithm [13] J Kennedy, R Eberhart, Particle Swarm of Task Scheduling in Cloud Computing Environment, International Journal of Computer Trends and Technology (IJCTT), vol 9, 2014 Optimization IEEE International Conference on Neural Networks, ICNN.1995 Cope, N Trebon, H.M [10] M.Wieczorek, Marek Scheduling of Scientific [14] Thư viện JSwarm http://jswarm-pso.sourceforge.net [15] http://aws.amazon.com/ec2 Workflows in the ASKALON Grid Environment, ACM SIGMOD Record Journal, Vol 34, Issue 3, 2005 [11] A Salman, Particle swarm optimization for task assignment Problem, Microsystems, 2002 Microprocessors and Ngày nhận : 15/11/2014 SƠ LƢỢC VỀ TÁC GIẢ NGUYỀN THẾ LỘC PHAN THANH TOÀN Sinh năm 1974 Thái Nguyên Sinh năm 1972, Hà Nội Tốt nghiệp đại học thạc sĩ Trường ĐH Bách Khoa Hà Nội, nghiên cứu sinh năm 2012 học viện Khoa học công nghệ quân Tốt nghiệp đại học khoa Toán Tin đại học Sư Phạm Hà Nội năm 1993, thạc sĩ CNTT đại học Bách Khoa Hà Nội Nhận tiến sỹ viện nghiên cứu khoa học công nghệ Nhật Bản Hiện công tác Trường ĐH Sư Phạm Hà Nội Lĩnh vực nghiên cứu: phương pháp gần giải tốn lập lịch luồng cơng việc mơi trường điện tốn đám mây, xử lý song song phân tán JAIST năm 2007 Điện thoại : 0912.069.762 Điện thoại : 0988.765.837 E-mail: pttoan@hnue.edu.vn E-mail: locnt@hnue.edu.vn Lĩnh vực nghiên cứu nay: mạng máy tính truyền thơng, xử lý song song phân tán - 21 - Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT NGUYỄN DOÃN CƢỜNG Tập V-2, Số 14 (34), tháng 12/2015 ĐỖ NHƢ LONG Sinh năm 1977 Tuyên Quang Sinh năm 1984 Sơn Tây, Hà Nội Tốt nghiệp đại học học viện kĩ thuật quân sự, nghiên cứu sinh Trường Đại học Tổng hợp Kỹ thuật điện Quốc gia Saint-Peterburg - CHLB Nga 2006 Tốt nghiệp đại học Trường ĐH Sư phạm Hà Nội, tốt nghiệp thạc sĩ Trường ĐH Công nghệ - ĐH Quốc Gia Hà Nội Hiện công tác : Viện CNTT – Viện Khoa học công nghệ Quân Lĩnh vực công tác hướng nghiên cứu: Công nghệ phần mềm, Data Mining and Knowledge Discovery, sở liệu lớn, sở liệu chuỗi thời gian, Bảo mật Hiện công tác trường đại học Sư phạm Hà Nội Lĩnh vực nghiên cứu : An Ninh Mạng, Bảo mật hệ thống mạng không dây Điện thoại : 0983.120.984 E-mail: Longdn@hnue.edu.vn Điện thoại : 0976.210.686 E-mail: cuongvncntt@yahoo.com - 22 - ... tốn học cho tốn luồng cơng việc 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, u cầu cần thiết mơi trường điện tốn đám mây điện tốn đám mây mơi trường dịch vụ... V-2, Số 14 (34), tháng 12/2015 - Luồng công việc có tác vụ gốc - Môi trường thực thi luồng công việc môi trường điện tốn đám mây với N máy chủ tính tốn K máy chủ lưu trữ - Mỗi tác vụ thực thi máy... sử dụng Đồng thời đề xuất giải thuật lập lịch heuristic dựa chiến lược tối ưu bày đàn cài đặt thử nghiệm môi trường mô cloudSim, kết việc tính tốn chi phí tốt thuật tốn có Random hay Round Robin