Đề tài này giới thiệu thuật toán FOA có hiệu chỉnh và áp dụng để giải quyết bài toán lập lịch các công việc độc lập trên lưới tính toán với mục tiêu cực tiểu hóa makespan. Kết quả cho thấy FOA có thể áp dụng tốt cho việc giải bài toán tối ưu hóa trên.
UED Journal of Sciences, Humanities & Education – ISSN 1859 - 4603 TẠP CHÍ KHOA HỌC XÃ HỘI, NHÂN VĂN VÀ GIÁO DỤC Nhận bài: 12 – 01 – 2015 Chấp nhận đăng: 25 – 03 – 2015 http://jshe.ued.udn.vn/ SỬ DỤNG GIẢI THUẬT TỐI ƯU HÓA RỪNG CÂY RỜI RẠC CHO BÀI TỐN LẬP LỊCH CÁC CƠNG VIỆC ĐỘC LẬP TRONG LƯỚI TÍNH TỐN Đỗ Vĩnh Trúc Tóm tắt: Lưới tính tốn (Computational Grid-CG) tốn xuất gần Việc lập lịch (scheduling) với công việc độc lập (independent jobs) CG với mục tiêu cực tiểu makespan tốn khó hấp dẫn Đóng góp vào nhóm giải thuật tiến hóa tiếng giải thuật di truyền (Genetic Algorithm-GA), tối ưu bầy đàn (Particle Swarm Optimization-PSO), giải thuật tối ưu hóa đàn kiến (Ant Colony Optimization-ACO)… để giải toán toán lĩnh vực tối ưu hóa tối ưu hóa rừng (Forest Optimization Algorithm-FOA) [1] Đề tài giới thiệu thuật toán FOA có hiệu chỉnh áp dụng để giải tốn lập lịch cơng việc độc lập lưới tính tốn với mục tiêu cực tiểu hóa makespan Kết cho thấy FOA áp dụng tốt cho việc giải tốn tối ưu hóa Từ khóa: giải thuật tối ưu hóa rừng cây; lưới tính tốn; cơng việc độc lập; lập lịch; makespan Đặt vấn đề Một CG hệ tính tốn phân tán theo địa lý bao gồm tập hợp tài ngun máy tính đa dạng, quy mơ rộng lớn độc lập [2][3][4][5], chúng nối kết với mạng băng thông cao [6] Việc chia sẻ cơng việc tính tốn ứng dụng tính tốn lưới Trong CG, nguồn tài nguyên động, đa dạng thêm vào rút lúc CG coi tiếp cận hiệu để giải ứng dụng giới thực phân tán, quy mô lớn [7] Lập điều độ môi trường CG, có nghĩa phân bổ cơng việc cho tài ngun tính tốn lưới, cơng việc quan trọng nhiệm vụ tính tốn khó khăn chí cơng việc độc lập yêu cầu thực tế [3] Xét toán lập lịch tính tốn lưới cho cơng việc độc lập [7][8] Với số lượng n công việc (job) m máy móc (machine) cho trước, mục tiêu tìm giải pháp tối ưu để phân bổ cơng việc cho máy nhằm cực tiểu hóa makespan Cmax=Max{Ci}, với Ci thời gian hoàn thành máy i=1,…m Trong tốn cơng việc * Liên hệ tác giả Đỗ Vĩnh Trúc Trường Đại học Quốc tế, Đại học Quốc Gia TP HCM Email: dvtruc@hcmiu.edu.vn Điện thoại: 0919067281 xử lý máy máy xử lý cơng việc thời điểm Các giả định công việc độc lập ưu tiên Braun cộng [9] so sánh 11 heuristics cho lập lịch tính tốn lưới (Grid Computating Scheduling- GCS) với công việc độc lập Một tập liệu lớn [9] phát triển dựa ma trận thời gian kỳ vọng cho tính tốn (Expected Time to Compute-ETC) nhằm đánh giá hiệu suất heuristics đề xuất Từ thực nghiệm dựa thuật toán di truyền, [9] cung cấp hiệu suất tốt hầu hết trường hợp, mà heuristic MinMin phương pháp tốt để nhanh chóng tạo giải pháp với makespan ngắn hợp lý Hai tác giả Page Naughton [10] đề xuất phương pháp GA khác cho GCS có sử dụng danh sách heuristic lập lịch để khởi tạo tổng thể ngẫu nhiên ban đầu tốt Các toán tử đột biến đề xuất chuyên biệt hóa nhằm cải thiện hiệu suất GA Ritchie Levine [11] phát triển giải thuật tối ưu hóa đàn kiến lai (Hybrid ACO) để lập lịch tính tốn lưới Tìm kiếm Tabu [12] dùng để hoàn thiện giải pháp đạt ACO Các ACO lai tạo đánh giá tốt phương pháp GA heuristics khác Thuật toán cellular memetic (Cellular Memetic Algorithm-CMA) Xhafa cộng [13] giảm thiểu makespan flowtime Heuristics địa Tạp chí Khoa học Xã hội, Nhân văn & Giáo dục, Tập 5, số (2015), 15-20 | 15 Đỗ Vĩnh Trúc phương khác kiểm tra báo [13] Kết cho thấy CMA cách tiếp cận hiệu cho GCS Xhafa cộng [3] phát triển phương pháp tìm kiếm Tabu cho GCS Chiến lược đa dạng hóa chuyên biệt khác xem xét phương pháp tìm kiếm Tabu nhằm nâng cao hiệu Phương pháp nhanh so với giải thuật Tabu Search [12], ACO lai [11], CMA [13] mà cung cấp lời giải tốt Các heuristics khác đề xuất cho GCS giải thuật luyện kim (Simulated Annealing-SA) [9][14], giải thuật di truyền đấu tranh (Struggle GA-SGA) [13], sufferage [15], GA lai [16] Gần đây, số phương pháp PSO [2][17] đề xuất để giải tốn GCS với cơng việc độc lập Liu cộng [2] đề xuất phương pháp PSO liên tục (Continuous PSO-CPSO) cho GCS Trong phương pháp này, vị trí tốc độ cá thể biểu diễn ma trận số thực (n×m) Để xây dựng lịch trình vị trí, ma trận phải chuyển đổi thành lịch trình cách gán cho cơng việc vào máy mà có giá trị chuẩn hóa cao cột tương ứng cơng việc ma trận vị trí Ma trận vị trí phương pháp coi ma trận mờ yếu tố đại diện cho mức độ thành viên cơng việc máy tương ứng Các thí nghiệm cho thấy CPSO tốt so với SA GA Izakian cộng [17] đưa cách tiếp cận PSO rời rạc (Discrete PSO-DPSO) để lập lịch lưới Trong phương pháp [17], cá thể đại diện ma trận vận tốc số thực cho công việc máy Giá trị vị trí cơng việc/máy cho trước ma trận xác định cơng việc có liên quan đến máy khác Vị trí cá thể mảng số nguyên, vị trí danh sách cơng việc số ngun vị trí máy mà công việc phân công đến Trong giai đoạn cập nhật cho cá thể này, vận tốc cá thể thay đổi hướng phía vận tốc cá thể tốt toàn cục tốc độ cá thể tốt dựa thành phần xã hội công nhận tự nhận, tương ứng Khi vận tốc cập nhật, vị trí cá thể thiết lập để cơng việc giao cho máy có giá trị cao cột cơng việc ma trận vận tốc Thí nghiệm [17] cho thấy DPSO tốt so với chẩn đoán khác Min-Min, GA, ACO lai [11] 16 Giải thuật Tối ưu hóa rừng cây- Forest Optimization Algorithm (FOA) [1] 2.1 Giới thiệu Thuật toán FOA bao gồm ba giai đoạn chính: 1- Gieo mầm địa phương 2- Giới hạn quần thể 3- Gieo mầm toàn cục Sơ đồ thuật tốn sau Hình Lưu đồ FOA FOA bắt đầu với quần thể ban đầu Mỗi đại diện cho giải pháp tốn Một gồm có giá trị biến độ tuổi (Age) Độ tuổi ban đầu gán Sau khởi tạo, nẩy mầm từ có tuổi chúng thêm vào rừng Sau đó, tất cũ tăng thêm tuổi 2.1.1 Khởi tạo Tạo có Age=0 Hình cho thấy có Nvar chiều, giá trị biến Age độ tuổi Hình Biểu diễn lời giải FOA Một coi mảng 1x(Nvar+1), với Nvar số chiều toán Age đại diện cho tuổi Tree=[Age,v1,v2,v3…,vnvar] ISSN 1859 - 4603 - Tạp chí Khoa học Xã hội, Nhân văn & Giáo dục, Tập 5, số (2015),15-20 Tuổi tối đa cho phép một tham số xác định trước đặt tên tuổi thọ (life time) Tuổi thọ xác định vào lúc bắt đầu thuật toán Khi Age đạt đến “tuổi thọ”, bị loại khỏi rừng thêm vào danh sách ứng viên Nếu tham số lớn, lần lặp thuật toán làm tăng độ tuổi rừng chứa nhiều già nua mà không tham gia vào giai đoạn gieo mầm địa phương Nếu tham số nhỏ già sớm chúng bị bỏ qua giai đoạn đầu khởi tạo Vì vậy, tham số cung cấp hội tốt cho tìm kiếm địa phương 2.1.2 Gieo mầm địa phương Gieo mầm địa phương cố gắng mơ q trình tạo thiên nhiên Chỉ có với Age= cho nảy sinh non thành láng giềng tạo thành rừng Hai lần tạo non minh họa Hình Sau lần vậy, có Age= thành có Age=0, già thêm tuổi Hình Ví dụ gieo mầm địa phương cho lần lặp, với LSC=3 Các vượt “tuổi thọ” xem xét Nếu đầy tiềm năng, Age gán 0, đưa thành láng giềng tốt vào rừng Ngược lại, không hứa hẹn chết Số non tạo từ tham số “Sự thay đổi gieo mầm địa phương” (Local Seeding ChangesLSC) định Giá trị tham số LSC trong Hình Kết quả, thực gieo mầm địa phương với Age nảy mầm non Tham số nên xác định tùy theo kích thước tốn Gieo mầm địa phương mơ tìm kiếm cục cho thuật tốn Hình minh họa ví dụ cơng đoạn gieo mầm địa phương cho tốn thực khơng gian liên tục chiều giá trị “LSC” coi Nếu (a+r) hay (c+r’) nằm giới hạn biến liên quan điều chỉnh để để thuộc giới hạn cho phép Hình Một ví dụ gieo mầm địa phương cho không gian liên tục, r r’ thuộc [-Δx, Δx] 2.1.3 Giới hạn quần thể Số rừng phải giới hạn để ngăn chặn mở rộng vô hạn rừng tham số “giới hạn diện tích” (“area limit”) Xếp hạng từ tốt đến xấu, số lượng lớn “giới hạn diện tích”, tốt giữ lại, xấu bị loại khỏi rừng thêm vào nhóm ứng viên Các khởi tạo ban đầu với “giới hạn diện tích” Sau hạn chế số rừng, giai đoạn gieo mầm toàn cục thực tỷ lệ phần trăm nhóm ứng viên mơ tả sau 2.1.4 Gieo mầm toàn cục Động vật, chim rừng ăn hạt trái làm hạt giống phát tán toàn khu rừng kết môi trường sống trở nên rộng Đó giai đoạn gieo mầm toàn cục Giai đoạn thực tỷ lệ phần trăm xác định qua tham số có tên “tốc độ lan truyền” (tranfer rate) Đầu tiên, từ nhóm ứng viên lựa chọn theo “tốc độ lan truyền” Sau đó, số biến lựa chọn ngẫu nhiên Giá trị biến lựa chọn thay giá trị ngẫu nhiên Bằng cách này, không gian tìm kiếm tồn cục xem xét khơng bị hạn chế Kết có tuổi thêm vào rừng Số lượng biến có giá trị bị thay đổi tham số thuật toán đặt tên “Thay đổi gieo mầm tồn cục” (Global Seeding Changes-GSC ) Hình ví dụ thực cơng đoạn gieo hạt tồn cầu cho không gian liên tục Trong Hình 6, GSC= 2, biến lựa chọn ngẫu nhiên giá trị chúng thay giá trị tạo ngẫu nhiên khác r r' Hình Ví dụ gieo mầm tồn cục 17 Đỗ Vĩnh Trúc Ví dụ Hình cho thấy giá trị tham số GSC=2 phạm vi [-5,5] Kết là, giá trị biến lựa chọn ngẫu nhiên thay giá trị khác phạm vi [-5, 5] -0.7 1.5 Hình Ví dụ số gieo mầm toàn cục với GCS=2 2.1.5 Cập nhật giá trị tối ưu Sau phân loại theo giá trị phù hợp chúng, có giá trị phù hợp cao chọn làm tốt nhất, Age tốt thiết lập Như tốt đạt tối ưu hóa địa phương giai đoạn gieo mầm địa phương 3.1 Mơ tả tốn Trong giải thuật đề nghị này, x=(Age,x1,…,xn) mảng số nguyên Mỗi phần tử xj đại diện cho công việc j gán cho máy cụ thể Bất kỳ cơng việc j xử lý máy tùy ý Vì công việc độc lập mục tiêu tốn cực tiểu hóa makespan nên lời giải tốn cơng việc khơng bị ràng buộc theo thứ tự Xét ví dụ hình sau, x1=2, x2=3 có nghĩa cơng việc 1, xử lý máy 2, với thời gian xử lý p12 p23 biểu diễn sơ đồ Hình 2.1.6 Điều kiện dừng Ba điều kiện dừng áp dụng: 1) số bước lặp xác định trước; 2) thay đổi giá trị tối ưu sau số lần lặp; 3) đạt đến cấp độ định xác Các giai đoạn FOA hiển thị mã giả phần sau 2.2 Giải thuật FOA Giải thuật FOA(life time, LSC, GSC, tranfer rate, area limit) Nhập: giá trị tối ưu gần tối ưu hàm mục tiêu f(x) Xuất: trả giá trị gần tối ưu hay tối ưu f(x) Khởi tạo rừng với tạo ngẫu nhiên Mỗi vec tơ x có (n+1) chiều, ứng với toán n chiều, x=(age,x1,x2,…,xn) Age=0 lúc khởi tạo Trong điều kiện dùng chưa thỏa 2.1 Thực gieo mầm cục với có Age=0 For i=1:LSC Chọn ngẫu nhiên biến xét Thêm giá trị dx thuộc [-Δx, Δx] vào biến ngẫu nhiên Tăng tuổi lên tuổi ngoại trừ mọc 2.2 Giới hạn quần thể Loại bỏ có tuổi vượt “Life time” đưa chúng vào nhóm ứng viên Sắp xếp theo độ phù hợp fitness Loại bỏ nằm ngồi “area limit” có độ phù hợp thấp đưa chúng vào nhóm ứng viên 2.3 Gieo mầm tồn cục Chọn tỉ lệ “tranfer rate” từ nhóm ứng viên Với ứng viên Chọn ngẫu nhiên “GCS” biến Thay giá trị biến với giá trị ngẫu nhiên miền giới hạn tạo với Age=0, sau đưa vào rừng 2.4 Cập nhật giá trị tối ưu Sắp xếp theo fitness Gán trị Age=0 cho tốt Trả giá trị tốt Giải thuật đề nghị 18 Hình Biểu diễn lời giải FOA đề xuất 3.2 Giải thuật tổng thể Khởi tạo rừng tạo ngẫu nhiên Mỗi vec tơ x có (d+1) chiều, x=(age,x1,x2,…,xD) Gán age=0 Trong điều kiện dừng chưa thỏa Thực gieo mầm cục với có Age=0 số rời rạc Thực giới hạn quần thể Gieo mầm toàn cục Cập nhật tốt Trả tốt Thiết kế thực nghiệm kết Để minh họa, báo sử dụng liệu lấy từ [2] Thực nghiệm bắt đầu với toán có máy 13 cơng việc, ký hiệu (3,13) Tốc độ xử lý máy 4,3,2 đơn vị thời gian 13 cơng việc có thời gian xử lý 6, 12, 16, 20, 24, 28, 30, 36, 40, 42, 48, 52, 60 đơn vị thời gian Kết thực tế từ giải thuật với 10 lần chạy (46, 47, 46, 47, 47, 47, 47, 47, 47, 46) Giá trị nhỏ giá trị trung bình 46 46.67 Thơng số giải thuật cho toán với số chiều =5 “life time”=15, LSC=20%*số chiều tốn, GSC=10%*số chiều ISSN 1859 - 4603 - Tạp chí Khoa học Xã hội, Nhân văn & Giáo dục, Tập 5, số (2015),15-20 toán, “tranfer rate”=10, “area limit”=10) Hình cho thấy kết tốn (3,13) Hình Kết tốn (3,13) Với toán (5,100), thực 10 lần thử nghiệm kết (100, 100, 100, 101, 100, 100, 101, 100, 100, 100) Giá trị nhỏ giá trị trung bình 100 100.2 Với toán (8,60), thực 10 lần thử nghiệm kết (40, 39, 40, 40, 39, 40, 40, 40, 40, 39) Giá trị nhỏ giá trị trung bình 39 39.7 Với toán (10,50), thực 10 lần thử nghiệm kết (41, 41, 42, 40, 43, 41, 41, 41, 42, 42) Giá trị nhỏ giá trị trung bình 40 41.4 Kết luận Bài báo giới thiệu giải thuật mới, tối ưu hóa rừng để giải toán tối ưu liên tục Sau chúng tơi chỉnh sửa để áp dụng cho tốn rời rạc Ý tưởng dùng giải thuật tối ưu hóa rừng với biến rời rạc để giải tốn lập lịch lưới tính tốn cho cơng việc độc lập Kết thực nghiệm cho thấy giải thuật cho kết tốt nhanh chóng toán (3,13), (5,100), (8,60) (10,50) Với toán (3,13) kết xấp xỉ [8] Các kết khác chưa có so sánh thời gian hội tụ nhanh Kết cho thấy giải thuật đạt đến kết nhanh chóng cho GCS Hy vọng FOA với không gian rời rạc áp dụng cho toán lập lịch nói riêng hay lĩnh vực khác nói chung Tài liệu tham khảo [1] M Ghaemi and M.-R Feizi-Derakhshi (2014), “Forest Optimization Algorithm”, Expert Systems with Applications, vol 41, no 15, pp 6676–6687, Nov 2014 [2] H Liu, A Abrahamc, and A E Hassanien (2010), “Scheduling jobs on computational grids using a fuzzy particle swarm optimisation algorithm”, Future Generation Computer Systems, vol 26, pp 1336–1343 [3] F Xhafa, J Carretero, B Dorronsoro, and E Alba (2009), “A tabu search algorithm for scheduling independent jobs in computational grids”, Computing and informatics, vol 28, no 2, pp 237–250 [4] I Foster, C Kesselman, and S Tuecke (2001), “The anatomy of the grid,” Berman et al.[2], pp 171–197 [5] F Dong and S G Akl (2006), “Scheduling algorithms for grid computing: State of the art and open problems”, Technical report [6] I Foster and C Kesselman (2003), The Grid 2: Blueprint for a New Computing Infrastructure San Francisco, CA, USA: Morgan Kaufmann Publishers Inc [7] E.-G Talbi and A Y Zomaya, Eds (2007), “Wiley Series on Bioinformatics: Computational Techniques and Engineering”, in Grid Computing for Bioinformatics and Computational Biology, John Wiley & Sons, Inc, pp 393–393 [8] S B Nguyen, M Zhang, and others (2014), “A hybrid discrete particle swarm optimisation method for grid computation scheduling”, in Evolutionary Computation (CEC), 2014 IEEE Congress on, pp 483–490 [9] Howard Jay Siegel Tracy D Braun and N Beck (2001), “A Comparison of Eleven Static Heuristics for Mapping a Class of Independent Tasks onto Heterogeneous Distributed Computing Systems”, Journal of Parallel and Distributed Computing, vol 61, pp 810–837 [10] A J Page and T J Naughton (2005), “Framework for Task Scheduling in Heterogeneous Distributed Computing Using Genetic Algorithms”, Artif Intell Rev, vol 24, no 3–4, pp 415–429 [11] G Ritchie and J Levine (2003), “A hybrid ant algorithm for scheduling independent jobs in heterogeneous computing environments” [12] J L Graham Ritchie, “A fast, effective local search for scheduling independent jobs” in heterogeneous computing environments [13] F Xhafa, E Alba, and B Dorronsoro (2007), “Efficient Batch Job Scheduling in Grids using Cellular Memetic Algorithms,” in Parallel and Distributed Processing Symposium, 2007 IPDPS 2007 IEEE International, pp 1–8 [14] A YarKhan and J J Dongarra (2002), “Experiments with Scheduling Using Simulated Annealing in a Grid Environment”, in Grid Computing — GRID 2002, M Parashar, Ed Springer Berlin Heidelberg, pp 232–242 19 Đỗ Vĩnh Trúc [15] H Izakian and A Abraham, Performance Comparison of Six Efficient Pure Heuristics for Scheduling Meta-Tasks on Heterogeneous Distributed Environments [16] A Abraham, R Buyya, and B Nath (2000), “Nature’s Heuristics for Scheduling Jobs on Computational Grids”, in ieee international conference on advanced computing and communications, pp 45–52 [17] H Izakian, B T Ladani, A Abraham, and V´aclav Sn´aˇsel (2010), “A Discrete Particle Swarm Optimization Approach for Grid Job Scheduling,” International Journal of Innovative Computing, Information and Control, vol 6, no USING THE DISCRETE FOREST OPTIMIZATION ALGORITHM FOR THE PROBLEM OF SCHEDULING INDEPENDENT JOBS ON COMPUTATIONAL GRIDS Abstract: The Computational Grid (CG) is a new problem which has appeared recently The scheduling of independent jobs on CG for the purpose of minimizing makespan is difficult but fascinating To solve this problem as well as problems in the field of optimization, there has been the latest contribution to the group of well-known evolutionary algorithms such as Genetic Algorithm (GA), Particle Swarm Optimization (PSO), Ant Colony Optimization (ACO), Forest Optimization Algorithm (FOA) [1], This paper introduces a revised FOA and applies it to the solution of the problem of independent job scheduling on CG with the goal of minimizingmakespan The results show that FOA is also a good algorithm for solving the above optimization problem Key words: FOA; computational grid; independent job; scheduling; makespan 20 ... Bài báo giới thiệu giải thuật mới, tối ưu hóa rừng để giải tốn tối ưu liên tục Sau chúng tơi chỉnh sửa để áp dụng cho tốn rời rạc Ý tưởng dùng giải thuật tối ưu hóa rừng với biến rời rạc để giải. .. thiết lập để công việc giao cho máy có giá trị cao cột cơng việc ma trận vận tốc Thí nghiệm [17] cho thấy DPSO tốt so với chẩn đoán khác Min-Min, GA, ACO lai [11] 16 Giải thuật Tối ưu hóa rừng cây- ... để giải tốn lập lịch lưới tính tốn cho cơng việc độc lập Kết thực nghiệm cho thấy giải thuật cho kết tốt nhanh chóng tốn (3,13), (5,100), (8,60) (10,50) Với tốn (3,13) kết xấp xỉ [8] Các kết khác