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 thuật 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 giải thuật di truyền, 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 &
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 luận 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
KẾT LUẬN 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.
123
TÀI LIỆU THAM KHẢO I. Tiếng Việt
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), Lập trình hướng ñối tượng với Java, NXB Khoa
học Kỹ thuật.
3. Nguyễn Đức Dư, Tính toán lưới và ứng dụng, 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 lập trình mạng¸ 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 cứu, phát triển và ứng dụng Công nghệ thông tin và Truyền thông, Tạp chí Thông tin, Khoa học 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), Một
số vấn ñề chọn lọc trong môn tin học (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 luận tốt nghiệp, 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.
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
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.
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.
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