Yêu cầu tương thích giữa giải thuật lập lịch với khung phần mềm thực

Một phần của tài liệu một số thuật toán lập lịch để phân phối tài nguyên trong hệ thống tính toán lưới (Trang 113 - 128)

nghiệm

Để tương thích với khung lập lịch thực nghiệm, các giải thuật lập lịch phải thỏa mãn các yêu cầu vềñầu vào và ñầu ra.

Các giải thuật nhận ñầu vào là các tệp tin mô tả trạng thái tài nguyên và tập công việc. Cụ thể giải thuật lập lịch có ñầu vào là 4 tệp tin mô tả sau:

- resources_c.in: mô tả số lượng nút tính toán trong lưới và số lượng bộ vi xử

lý trên từng nút lưới ñó.

- resources_m.in: mô tả số lượng nút tính toán trong lưới và dung lượng bộ

nhớ trong trên từng nút lưới ñó.

- jobs_c.in: mô tả số lượng công việc cần lập lịch và số lượng bộ vi xử lý cần thiết cho từng công việc.

- jobs_m.in: mô tả số lượng công việc cần lập lịch và dung lượng bộ nhớ

115 Cấu trúc các tệp tin này gồm hai dòng:

- Dòng thứ nhất là một số nguyên N, thể hiện số lượng nút tính toán (trong tệp tin resources_c.in và resources_m.in) hoặc số lượng công việc cần lập lịch (trong tệp tin jobs_c.in và jobs_m.in)

- Dòng thứ hai gồm N giá trị cách nhau bởi khoảng trắng, thể hiện giá trị cụ

thể về số lượng bộ vi xử lý hoặc bộ nhớ trong của N nút tính toán hoặc N công việc.

Ví dụ một tệp tin mô tả tài nguyên bộ nhớ trong của các nút lưới có dạng như

sau: 4

2048 1024 1024 512

Tệp tin trên mô tả trong lưới có 4 nút lưới, mỗi nút lần lượt có dung lượng bộ

nhớ trong là 2048, 1024, 1024, và 512 MB.

Đầu ra của giải thuật phải là một tệp tin có ñịnh dạng như sau:

- Gồm nhiều dòng.

- Mỗi dòng là một ánh xạ giữa chỉ mục của công việc cần lập lịch và chỉ mục của tài nguyên tương ứng cho công việc ñó. Chỉ mục ñược ñánh số bắt ñầu từ 0.

- Các dòng chú thích bắt ñầu bằng kí tự #.

Ví dụ, khi sử dụng thut toán tham, kết quả như sau: # job id -> resource id

0 -> 0 1 -> 0 2 -> 1

116 3 -> 0

4 -> 1 5 -> 0

Tương ứng với tệp tin ñệ trình công việc: #!/bin/sh

globus-job-run bkluster.hut.edu.vn job1.sh & globus-job-run bkluster.hut.edu.vn job2.sh & globus-job-run rocks-200.sdsc.edu job3.sh & globus-job-run bkluster.hut.edu.vn job4.sh & globus-job-run rocks-200.sdsc.edu job5.sh & globus-job-run bkluster.hut.edu.vn job6.sh &

Khi sử dụng gii thut di truyn, kết quả như sau: # job id -> resource id 0 -> 1 1 -> 1 2 -> 0 3 -> 1 4 -> 0 5 -> 0

117 Tương ứng với tệp tin ñệ trình công việc: #!/bin/sh

globus-job-run rocks-200.sdsc.edu job1.sh & globus-job-run bkluster.hut.edu.vn job2.sh & globus-job-run rocks-200.sdsc.edu job3.sh & globus-job-run bkluster.hut.edu.vn job4.sh & globus-job-run rocks-200.sdsc.edu job5.sh & globus-job-run bkluster.hut.edu.vn job6.sh & (adsbygoogle = window.adsbygoogle || []).push({});

Khi sử dụng giải thuật PSO, kết quả như sau: # job id -> resource id 0 -> 0 1 -> 0 2 -> 1 3 -> 0 4 -> 0 5 -> 0

118 Tương ứng với tệp tin ñệ trình công việc: #!/bin/sh

globus-job-run bkluster.hut.edu.vn job1.sh & globus-job-run bkluster.hut.edu.vn job2.sh & globus-job-run rocks-200.sdsc.edu job3.sh & globus-job-run bkluster.hut.edu.vn job4.sh & globus-job-run bkluster.hut.edu.vn job5.sh & globus-job-run bkluster.hut.edu.vn job6.sh &

119

Kết lun chương 4

Trong chương này, luận án ñã trình bày về mô hình TestGrid và bộ lập lịch của TestGrid. Bộ lập lịch ñã ñược cài ñặt và tích hợp ba giải thuật luận án ñề xuất và ñệ

trình nó chạy trong một môi trường tính toán lưới thực. TestGrid ñược kết nối như

là một nút lưới trong hệ thống lưới tính toán PRAGMA (Pacific Rim Applications and Grid Middleware Assembly - Hệ thống lưới tính toán của các nước vùng quanh Thái Bình Dương, ñứng ñầu là Mỹ). Quá trình thực nghiệm chỉ ra rằng các thuật toán do luận án ñề xuất ñã ñược cài ñặt và ñược chạy kiểm thử trên lưới tính toán. Tuy nhiên, do hiện nay ở Việt Nam chưa thực sự có một lưới tính toán có nhiều nút lưới, nên việc lập lịch trên lưới với chỉ hai nút lưới. Luận án mới chỉ dừng lại ở việc cài ñặt giải thuật ñề xuất ñối với bộ lập của TestGrid và ñệ trình nó lên lưới tính toán. Việc tính toán hiệu năng hệ thống khi sử dụng các thuật toán lập lịch khác nhau cần một môi trường tính toán lưới thực sự. Đây là một trong các công việc tiếp theo của luận án trong thời gian tới.

120

KT LUN CHUNG

Tính toán lưới là một công nghệ nền tảng giải quyết các bài toán với yêu cầu tính toán lớn và với mức chi phí thấp, tận dụng khả năng nhàn rỗi của các tài nguyên máy tính, mạng và các thiết bị chuyên dụng,… trong phạm vi toàn cầu. Việc nghiên cứu, triển khai và xây dựng hệ thống tính toán lưới ở Việt Nam phù hợp với yêu cầu thực tế. Điều này ñược xem như mục tiêu khoa học và thực tiễn của luận án.

Các phương pháp tiến hành nghiên cứu, lý thuyết và các kết quả thực nghiệm

ñược trình bày trong hai chương chính là chương 3 và chương 4. Các kết quả chính của luận án là ba giải thuật ñược ñề xuất. Bám sát mục tiêu ñề ra, các nội dung chính luận án ñạt ñược như sau:

1. Mô hình hóa ñược bài toán lập lịch trong tính toán lưới dưới dạng mô hình toán học.

2. Đề xuất phiên bản giải thuật tham lam giải bài toán lập lịch trong tính toán lưới. Ý tưởng của giải thuật tham lam ñược áp dụng ở ñây là với tập các tài nguyên sẵn có, ấn ñịnh công việc yêu cầu tải tính toán lớn nhất cho tài nguyên có khả năng tính toán hiện tại lớn nhất. Các thử nghiệm ñã chứng tỏ giải thuật tham lam hiệu quả hơn giải thuật mô phỏng tôi luyện.

3. Đề xuất phiên bản giải thuật di truyền giải bài toán lập lịch trong tính toán lưới với tối ưu ña mục tiêu: Dựa trên khung chung của giải thuật di truyền, luận án ñã ñưa ra một hàm ño ñộ thích nghi mới, nhằm ñồng thời tối ưu hóa hai yếu tố cơ bản của bài toán lập lịch trong lưới tính toán, ñó là: khoảng thời gian ñể hoàn thành toàn bộ các công việc (Makespan) và tổng thời gian thực hiện của các công việc (Flowtime). Ngoài việc quan tâm ñến tải trọng tính toán của các tài nguyên và công việc, luận án cũng quan tâm ñến giá của việc sử

dụng các tài nguyên và giá của việc truyền dữ liệu ñến các tài nguyên. Các thử

nghiệm cũng ñã chứng tỏ giải thuật di truyền hiệu quả hơn giải thuật mô phỏng tôi luyện khi quan tâm ñến cả hai yếu tố là Makespan và Flowtime.

121

4. Đề xuất phiên bản giải thuật tối ưu hóa theo nhóm bầy PSO giải bài toán lập lịch trong tính toán lưới: Giải thuật PSO ñược ñề xuất ñã khắc phục ñược một nhược ñiểm của giải thuật di truyền ñó là: các phép toán di truyền (lai ghép và ñột biến) tốn thời gian thực hiện. Các kết quả thực nghiệm cũng chứng tỏ giải thuật tối ưu hóa theo nhóm bầy PSO có hiệu quả tương tự như giải thuật di truyền nhưng có thời gian chạy ít hơn.

5. Đã cài ñặt thành công hệ thống thử nghiệm TestGrid, trong ñó có tích hợp ba giải thuật ñề xuất vào bộ lập lịch của TestGrid. TestGrid ñã ñược kết nối với lưới tính toán khu vực Thái Bình Dương PRAGMA. Các ñặc trưng chính của TestGrid:

- Dịch vụ an ninh ña cấp và phân tán.

- Dịch vụ thông tin ñộng cung cấp thông tin về tài nguyên và các dịch vụ

của TestGrid.

- Kết hợp dịch vụ lưới và công nghệ Multi-Agent. - Dịch vụ chạy ứng dụng từ xa.

- Bộ lập lịch hướng ứng dụng ñược thiết kế dưới dạng một dịch vụ lưới và ñược thiết kế trở thành dịch vụ lai Agent.

- Theo dõi quá trình thực hiện ứng dụng dựa trên mô hình lập trình dịch vụña luồng.

- Cơ chế lập lịch ban ñầu và lập lịch lại.

- Xử lý và chống lỗi trong quá trình lập lịch và thực hiện dịch vụ lưới.

Đóng góp của những kết quả thu ñược thể hiện rõ ở hai nội dung sau: - Đã nghiên cứu một vấn ñề còn mới trên thế giới và Việt Nam. (adsbygoogle = window.adsbygoogle || []).push({});

123

TÀI LIU THAM KHO I. Tiếng Vit

1. Cổng thông tin ñiện tử dự án Sinh tin học, Phân viện Công nghệ thông tin Tp Hồ Chí Minh, http://biogrid.ioit-hcm.ac.vn.

2. Đoàn Văn Ban (2005), Lp trình hướng ñối tượng vi Java, NXB Khoa

học Kỹ thuật.

3. Nguyễn Đức Dư, Tính toán lưới và ng dng, Bộ môn Công nghệ phần mềm, Khoa Công nghệ thông tin, Trường Đại học Giao thông Vận tải. http://www.uct.edu.vn/utc/data/document/news/08_2010/08_2010_1204. pdf.

4. Nguyễn Phương Lan, Hoàng Đức Hải (2001), Java lp trình mng¸ NXB

Giáo dục.

5. Nguyễn Long, Nguyễn Huy Long, Lê Công Trung, “Mô hình lập lịch do

Buyya ñề xuất”, Các công trình nghiên cu, phát trin và ng dng Công ngh thông tin và Truyn thông, Tp chí Thông tin, Khoa hc Công ngh,

Bộ Thông tin và Truyền thông,

http://www.tapchibcvt.gov.vn/News/PrintView.aspx?ID=17409.

6. Nguyễn Xuân My, Hồ SỹĐàm, Trần Đỗ Hùng, Lê Sĩ Quang (2005), Mt

s vn ñề chn lc trong môn tin hc (tập hai), Nhà xuất bản Giáo dục. 7. Nguyễn Xuân Vinh (2005), Báo cáo khóa lun tt nghip, Khoa Công

nghệ thông tin, Trường Đại học Bách khoa Hà Nội

8. Trung tâm tính toán hiệu năng cao, Trường Đại học Bách khoa Hà Nội

124

II. Tiếng Anh

9. A. Abraham, R. Buyya and B. Nath (2000), “Nature’s heuristics for

scheduling jobs on computational grids”, In Proc. of the 8th IEEE International Conference on Advanced Computing and Communications,

India.

10. Asia Pacific Grid, http://www.apgrid.org

11. Francine Berman , Rich Wolski , Silvia Figueira , Jennifer Schopf , Gary

Shao (1996), Application-level scheduling on distributed heterogeneous

networks, Proceedings of the 1996 ACM/IEEE conference on

Supercomputing (CDROM), p.39-es, January 01-01, 1996, Pittsburgh, Pennsylvania, United States.

12. Francine Berman (1998), High-performance schedulers, The grid:

blueprint for a new computing infrastructure, Morgan Kaufmann Publishers Inc., San Francisco, CA.

13. Berman, F., Fox, G. and Hey, T. (2003), Grid Computing: Making the

Global Infrastructure a Reality. Chichester: John Wiley & Sons. (adsbygoogle = window.adsbygoogle || []).push({});

14. S. Brunett , K. Czajkowski , S. Fitzgerald , C. Kesselman , I. Foster , S.

Tuecke, A. Johnson , J. Leigh (1998), Application Experiences with the

Globus Toolkit, Proceedings of the The Seventh IEEE International

Symposium on High Performance Distributed Computing, pp.81.

15. R. Buyya, D. Abramson, and J. Giddy (2000), Nimrod/G: An

Architecture for a Resource Management and Scheduling System in a Global Computational Grid, The 4th International Conference on High

Performance Computing in Asia-Pacific Region (HPC Asia 2000), Beijing, China.

125

16. R. Buyya, J. Giddy, D. Abramson (2001), An Evaluation of Economy-

based Resource Trading and Scheduling on Computational Power Grids for Parameter Sweep Applications, The Second Workshop on Active

Middleware Services (AMS 2000), In conjunction with HPDC 2001, Pittsburgh, USA, Kluwer Academic Press.

17. Rajkumar Buyya (2002), Economic-based Distributed Resource

Management and Scheduling for Grid Computing, Ph.D Thesis Monash

University, Melbourne, Australia.

18. Henri Casanova, Jack Dongarra, Chris Johnson, Michelle Miller (1998),

Application-specific tools, The grid: blueprint for a new computing infrastructure, Morgan Kaufmann Publishers Inc., San Francisco, CA.

19. Center for development of advance computing, India

http://www.cdac.in/html/hpc_grid.aspx

20. EuroGrid, http://www.eurogrid.org/

21. D. Fensel and C. Bussler (2002), The Web Service Modeling Framework

WSMF, Electronic Commerce Research and Applications, 1(2).

22. I. Foster, C. Kesselman, eds. (1999), The Grid: Blueprint for a new

computing Infrastructure, Morgan Kaufmann Publishers, Inc. San

Francisco, California, USA.

23. Ian Foster (1999), Computational Grids, Chapter 2 of The Grid:

Blueprint for a New Computing Infrastructure.

24. Ian Foster (2001), “What is the Grid? A Three Point Checklist”,

Available at

http://www-fp.mcs.anl.gov/~foster/Articles/WhatIsTheGrid.pdf\

25. Ian Foster, Carl Kesselman, Steven Tuecke (2001), “The Anatomy of the (adsbygoogle = window.adsbygoogle || []).push({});

126

Supercomputer Applications anh High Performance Computing, 15(3). Available at www.globus.org/research/papers/anatomy.pdf.

26. Ian Foster, Carl Kesselman, Jeffrey M.Nick, Steven Tuecke (2002), “The

Physiology of the Grid: Open Grid Services Architecture for Distributed Systems Integration”, GGF4, Available at

http://www.globus.og/researc/papers/ogsa.pdf

27. I. Foster (2002), “The Grid: A New Infrastructure for 21st Century

Science”, Physics Today, 55(2):42-47.

28. I. Foster (2006), Globus Toolkit Version 4: Software for Service-Oriented

Systems, IFIP International Conference on Network and Parallel

Computing, Springer-Verlag LNCS 3779, pp 2-13.

29. Global Grid Forum, http://www.gridforum.org/

30. Globus Project Web Site, http://www.globus.org.

31. D. E. Goldberg (1997), Genetic Algorithms in Search, Optimization, and

Machine Learning, Addison-Wesley Publishing Company Inc., American.

32. Grid Research Integration Deployment and Support Center,

http://www.grids-center.org/.

33. Volker Hamscher, Uwe Schwiegelshohn, Achim Streit, and Ramin

Yahyapour (2000), Evaluation of Job-Scheduling strategies for Grid

Computing, Proceedings of the First IEEE/ACM International Workshop

on Grid Computing, P. 191 - 202, Publisher Springer-Verlag London, UK.

34. Xiaoshan He, Xian-He Sun, Gregor Von Laszewski, A QoS Guided

Scheduling Algorithm for Grid Computing, Journal of Computer Science

and Technology, National Digital Library of Theses of Dissertations in Taiwan.

127

35. Paul Hyde (1999), Java Thread Programming, Publisher:

Sams Indianapolis, IN, USA.

36. IBM RedBooks, Introduction to Grid Computing with Globus,

www.redbooks.ibm.com/redbooks/pdfs/sg246895.pdf

37. IBM Redbooks (2002), Fundamental of Grid computing, Viktors Berstis.

38. IBM Redbooks (2003), Globus Toolkit 3 Quick Start, REDP3697. (adsbygoogle = window.adsbygoogle || []).push({});

39. Informal Listing of Grid News, http://www.thegridreport.com/.

40. Bart Jacob, Michael Brown, Kenaro Fukui, Nihar Trivedi (2002),

Introduction to grid computing, IBM Redbooks.

41. J. Kennedy and R. Eberhart (2001), Swarm Intelligence, Morgan

Kaufmann Publisher Inc.

42. C. Kesselman (2002), The Grid: Blueprint for a new computing

infrastructure, Morgan Kaufmann Publisher Inc.

43. M. Maheswaran, et al. (2005), “Dynamic mapping of a class of

independent tasks onto hetergeneous computing systems”, Journal of

Parallel and Distributed computing, vol 52-2, pp. 415-429.

44. V. D. Martino and M. Mililotti (2002), Scheduling in a Grid computing

environment using Genetic Algorithms, In Proc of IPDPS.

45. Marek Mika, Grzegorz Waligora, and Jan Weglarz (2003), “A

metaheuristic approach to scheduling workflow jobs on a Grid”, Kluwer

Academic Publishers, pp. 295–318.

46. Rui Min and Muthucumara Maheswaran (2002), Scheduling Co-

Reservations with Priorities in Grid Computing Systems, pp. 266-268.

128

48. Online Grid Magazine Published by Tabor Griffin Communications,

http://www.gridtoday.com.

49. Open source software, http://www.Alchemi.net.

50. Open-source software for volunteer computing and grid computing-

BOINC, http://boinc.berkeley.edu.

51. Pacific Rim Applications and Grid Middleware Assembly,

http://www.pragma-grid.net.

52. W. Pang, K. Wang, C. Zhou and L. Dong (2004), Fuzzy Discrete Particle

Swarm Optimization for Solving Traveling Salesman Problem, In Proc.

Of the Fourth International Conference on Computer and Information Technology, IEEE CS Press, pp. 796-800.

53. Pawel Plaszczak and Richard Weller (2006), Grid computing the savvy

manager’s guide, Elsevier. Inc. (adsbygoogle = window.adsbygoogle || []).push({});

54. G. Richie and J. Levine (2003), A fast, effective local search for

scheduling independent jobs in heterogeneous computing environments,

Technical report, Centre for Intelligent Systems and their Applications, School of Informatics, University of Edinburgh.

55. G. Ritchie and J. Levine (2004), A hybrid ant algorithm for scheduling

independent jobs in heterogeneous computing environments, Proc. of 23rd

Workshop of the UK Planning and Scheduling Special Interest Group. 56. De Roure, D.Jennings, N. R. and Shadbolt (2003), The evolution of the

Grid, International Journal of Concurrency and Computation: Practice

and Experience.

57. Charles Severance, Kevin Dowd (1998), High Performance Computing,

129

58. Son, N.T. & Hung, N.Q. (2005), “A practical grid service-oriented

architecture”, Proceedings of School on Computational Sciences and

Engineering: Theory and Applications, Ho Chi Minh City, Vietnam, pp.

115-122.

59. Borja Sotomayor (2005), The Globus Toolkit 4 Programmer’s Tutorial,

http://www.datamininggrid.org/wdat/works/att/ljudoc003.content.07634. pdf

60. Borja Sotomayor, Lisa Childers (2005), Globus® Toolkit 4:

Programming Java Services, Morgar Kaufmann Publisher Inc, San

Fransisco, USA.

61. Christian Ulrik Sottrup, Jakob Gregor Pederse (2005), Developing

Một phần của tài liệu một số thuật toán lập lịch để phân phối tài nguyên trong hệ thống tính toán lưới (Trang 113 - 128)