Một trong những đặc tính ưu việt nhất của lưới điện toán là khả năng hỗ trợ quản lý các nguồn tài nguyên động, không đồng nhất và phân tán về mặt địa lý.. Đối với các ứng dụng tính toán
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
BỘ MÔN TÍNH TOÁN LƯỚI
Bài thu hoạch
Các thuật toán lập lịch và quản lý tài nguyên trong môi
trường tính toán lưới
GVHD: PGS.TS Nguyễn Phi Khứ Học viên: Nguyễn Vĩnh Kha – CH1101096
-TP.HCM, tháng 07/2013 -
Trang 2LỜI CẢM ƠN
Học viên xin bày tỏ lòng biết ơn sâu sắc đến PGS.TS Nguyễn Phi Khứ, trưởng phòng Hợp tác Quốc tế và Sau Đại học, trường Đại học Công Nghệ Thông Tin, Đại học Quốc gia TP Hồ Chí Minh đã tận tình hướng dẫn, cung cấp kiến thức, truyền đạt những kinh nghiệm quí báu giúp học viên hoàn thành tốt bài thu hoạch này
Xin cám ơn các Thầy, Cô trường Đại học Công Nghệ Thông Tin, Đại học Quốc gia TP Hồ Chí Minh đã hướng dẫn, cung cấp kiến thức giúp học viên thực hiện bài thu hoạch
Xin cám ơn cha, mẹ, các anh, chị em trong gia đình đã hỗ trợ, lo lắng và động viên Đồng thời, xin cám ơn tất cả các đồng nghiệp đã ủng hộ, giúp đỡ học viên trong quá trình thực hiện
Dù đã có nhiều cố gắng nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, học viên rất mong nhận được sự đóng góp ý kiến của các Thầy giáo, Cô giáo và các bạn học để bài thu hoạch được hoàn thiện hơn
Xin chân thành cảm ơn!
Tp Hồ Chí Minh, tháng 07 năm 2013 Học viên Nguyễn Vĩnh Kha
Trang 3Mục lục
Chương I Giới thiệu chung 4
Chương II Mô hình tính toán lưới căn bản 5
Chương III Các thuật toán quản lý tài nguyên và lập lịch trong môi trường tính toán lưới 6
III.1 Các thuật toán lập lịch 6
III.1.1 Thuật toán lập lịch HRN 6
III.1.2 Phân phối nút sử dụng thuật toán lập lịch ORC (Optimal Resource Constraint) 7
III.1.3 Lập lịch phân cấp (Hierarchical Job Scheduling - HJS) cho các cụm máy trạm 7
III.1.4 RCSTD: Lập lịch các tác vụ có tính phụ thuộc thông qua thuật toán đồng phân phối tài nguyên 8
III.1.5 Mô hình lập lịch SFBAJG (Scheduling Framework for Bandwidth-Aware Job Grouping-Based) 9
III.1.6 Thuật toán lập lịch GFJS (Grouping-based Fine-grained Job Scheduling) 9
III.1.7 Mô hình lập lịch dựa trên môi trường lưới JSMB (Job Schedule Model Based) 10
III.2 Quản lý tài nguyên 11
III.2.1 Hệ quản lý tài nguyên động và lập lịch RNDRM 11
III.2.2 Hệ quản lý tài nguyên dựa trên tác tử cùng với giải pháp luân phiên ABRMAS 12
III.2.3 Cơ chế nhận biết tài nguyên với giải pháp dựa trên tác tử NRMNS 12
III.2.4 IRP2P: Hướng tiếp cận tìm kiếm tài nguyên sử dụng mô hình P2P 13
III.2.5 Lưới điện toán ảo sử dụng vùng chứa tài nguyên VCGRP 14
Chương IV Khảo sát và đánh giá 15
IV.1 Khảo sát chung và mô phỏng 15
IV.2 Các so sánh mang tính đánh giá trên các thuật toán lập lịch 17
IV.2.1 Các so sánh mang tính đánh giá trên các thuật toán quản lý tài nguyên 18
Chương V Tổng kết 19
Danh sách các mô hình, bảng biểu và biểu đồ 20
Tài liệu tham khảo 21
Trang 4Chương I Giới thiệu chung
Ngày nay, lưới điện toán được xem như một trong những xu hướng hàng đầu trong việc phát triển các hệ thống phân tán Một trong những đặc tính ưu việt nhất của lưới điện toán là khả năng hỗ trợ quản lý các nguồn tài nguyên động, không đồng nhất và phân tán về mặt địa lý Đối với các ứng dụng tính toán lưới, quản lý tài nguyên và lập lịch được xem như những vấn đề then chốt bậc nhất bởi chúng ảnh hưởng trực tiếp đến hiệu năng của toàn hệ thống Trong những năm gần đây, giới nghiên cứu đã đề xuất một
số thuật toán lập lịch được sử dụng trong lĩnh vực tính toán lưới Với các đặc tính của mình, những thuật toán này được áp dụng để phân bổ tài nguyên lưới cho hệ thống đặt trọng tâm ở phần lập lịch tác vụ
Với mong muốn tìm hiểu vấn đề quản lý tài nguyên và lập lịch tác vụ trong môi trường điện toán lưới, học viên đã đọc hiểu tài liệu “A Survey of Job Scheduling and Resource Management in Grid Computing” đồng thời tham khảo một số tài liệu liên quan, từ đó xin đúc kết ra bài thu hoạch bao gồm bốn chương như sau:
- Chương I Giới thiệu chung
- Chương II Mô hình tính toán lưới căn bản: Đề cập đến các khái niệm căn bản cũng như các thành phần cốt yếu của mô hình tính toán lưới
- Chương III Các thuật toán quản lý tài nguyên và lập lịch trong tính toán lưới: Giới thiệu một số nghiên cứu gần đây xoay quanh vấn đề lập lịch và quản lý tài nguyên dành riêng cho môi trường điện toán lưới
- Chương IV Đánh giá: Đưa ra các khảo sát và so sánh hiệu năng của các giải
thuật, mô hình
- Chương V Kết luận
Mặc dù đã có nhiều cố gắng trong quá trình làm bài thu hoạch, học viên vẫn không tránh khỏi những sai sót do khả năng có hạn của bản thân, rất mong nhận được sự đóng góp ý kiến của các thầy cô và bạn học
Trang 5Chương II Mô hình tính toán lưới căn bản
Về tổng thể, mô hình tính toán lưới căn bản bao gồm một lượng nhất định các máy chủ, mỗi máy chủ có một lượng tài nguyên tính toán riêng Các tài nguyên trong mô hình điện toán lưới có thể là đồng nhất hay không đồng nhất tùy vào điều kiện thực tế Bốn nhân tố cơ bản của mô hình lưới là người dùng (user), bộ phận phân chia tài nguyên (resource broker), bộ phận thông tin lưới (grid information service - GIS) và tài nguyên còn thừa (lastly resources) Mỗi khi người dùng yêu cầu thực thi một công việc với tốc độ cao, công việc này sẽ được được gởi đến bộ phận phân chia tài nguyên Bộ phận này chia tách công việc thành các tác vụ khác nhau đồng thời cấp phát một lượng tài nguyên nhất định cho chúng trên cơ sở các yêu cầu của người dùng và lượng tài nguyên khả dụng Trong mô hình này, GIS đóng vai trò nắm giữ thông tin trạng thái của tất cả tài nguyên trong hệ thống, hỗ trợ bộ phân chia tài nguyên tiến hành lập lịch Dưới đây là sơ đồ mô phỏng một hệ thống tính toán lưới căn bản
Hình I Mô hình tính toán lưới căn bản
Trang 6Chương III Các thuật toán quản lý tài nguyên và lập lịch
trong môi trường tính toán lưới
Hiện nay, vấn đề tối ưu hóa lập lịch và quản lý tài nguyên để mang lại hiệu năng tính toán cao đang trở thành một trong những thách thức chính đối với điện toán lưới bởi nó là yếu tố then chốt ảnh hưởng đến năng lực hoạt động của cả hệ thống Trong chương này ta tiến hành khảo sát một số thuật toán quản lý tài nguyên và lập lịch dành riêng cho điện toán lưới đã được giới chuyên gia đưa ra trong thời gian gần đây
III.1.Các thuật toán lập lịch
Về cơ bản, lập lịch là quá trình chỉ định một lượng tài nguyên vật lý trong hệ thống cho các công việc phát sinh, đồng thời giảm thiểu đến mức tối đa các thành phần hao tốn tài nguyên trong quá trình hoạt động Đây có thể được xem là một bài toán thuộc lớp NP-complete (lớp các bài toán quyết định) Trong phạm vi giới hạn của tài liệu, một
số thuật toán heuristics sẽ được khảo sát với mục đích cuối cùng là tìm ra một giải thuật tối ưu hay cận tối ưu
tỏ ra rất phù hợp đối với môi trường lưới Dưới đây, ta xem xét qua các ưu và nhược điểm chính của thuật toán
Ưu điểm:
HRN hoạt động theo cơ chế phân phối ưu tiên cho phép tận dụng hiệu quả các tài nguyên hiện có cũng như hoàn thành tất cả các công việc nhanh hơn thuật toán FCFS
HRN khắc phục được một số yếu điểm của cả hai thuật toán SJF (Shortest Job First) và FCFS (First Come First Serve)
Nhược điểm:
Không phù hợp khi phải thực hiện phân phối tài nguyên cho nhiều công việc,
do bản chất quá trình tính toán độ ưu tiên rất mất thời gian
Thời gian xoay vòng cao hơn các thuật toán SJF và FCFS
Thuật toán gây ra sự lãng phí CPU và bộ nhớ
Trang 7III.1.2.Phân phối nút sử dụng thuật toán lập lịch ORC (Optimal Resource Constraint)
Thuật toán lập lịch ORC (Optimal Resource Constraint) thực hiện phân phối công việc dựa trên khả năng đáp ứng của các bộ xử lý Đây là thuật toán có cùng chiến lược với Round Robin (RR) với mục đích cuối cùng là phân phối công việc đến các bộ xử lý khả dụng – các bộ xử lý chưa được cấp phát Trong bài nghiên cứu “Node Allocation In Grid Computing Using Optimal Resource Constraint (ORC) Scheduling” [3], K.Somasundaram và cộng sự đã tiến hành so sánh ORC với các thuật toán lập lịch phổ biến như FCFS, SJF và RR; kết quả cho thấy ORC có hiệu suất cao hơn các thuật toán truyền thống khi giảm thiểu thời gian xoay vòng và thời gian đợi trung bình của các công việc Trong tài liệu, nhóm tác giả cũng chỉ ra rằng ORC hiệu quả hơn khi xét về mặt cân bằng tải và khả năng tăng tính động của tài nguyên lưới Ưu nhược điểm của thuật toán bao gồm:
Phát sinh truyền thông cao
III.1.3.Lập lịch phân cấp (Hierarchical Job Scheduling - HJS) cho các cụm máy trạm
Trong tài liệu “Hierarchical Job Scheduling for Clusters of Workstations” [4], nhóm tác giả bao gồm J Santoso, G.D van Albada, B.A.A Nazief và P.M.A Sloot đã đưa
ra thuật toán lập lịch theo mô hình phân cấp Cụ thể, mô hình bao gồm hai cấp độ: lập lịch toàn cục và lập lịch địa phương Thành phần lập lịch toàn cục sử dụng hàng đợi đơn hoặc đa hàng đợi tách biệt dành cho các công việc thuộc các loại khác nhau, trong một hàng đợi, ta có thể chọn sử dụng một chiến thuật lập lịch cụ thể (FCFS, SJF hay First Fit - FF) Thành phần lập lịch toàn cục có một số chức năng chính mà một trong
số đó là khả năng so khớp tài nguyên do công việc yêu cầu với lượng tài nguyên khả dụng hiện có Một chức năng đáng lưu ý khác là tận dụng tối đa khả năng của các cụm lập lịch địa phương Thành phần lập lịch địa phương chỉ sử dụng một hàng đợi duy nhất, với một chiến lược lập lịch duy nhất cho tất cả các công việc Trong thuật toán này, thành phần lập lịch địa phương chiu trách nhiệm điều phối một lượng tài nguyên
cụ thể cho các công việc phát sinh Về tổng thể, bộ phận lập lịch ở hai cấp độ đều hướng đến một giải pháp cân bằng tải tối ưu
Trang 8 Có khả năng sử dụng không hết tài nguyên của hệ thống lưới
Thuật toán không xem xét đến đặc tính động của tài nguyên lưới
III.1.4.RCSTD: Lập lịch các tác vụ có tính phụ thuộc thông qua thuật toán đồng phân phối tài nguyên
Năm 2008, thuật toán mang tên đồng phân phối tài nguyên được Diana Moise , Izabela Moise , Florin Pop và Valentin Cristea đưa ra khi công bố tài liệu
“Resource CoAllocation for Scheduling Tasks with Dependencies, in Grid” [5] Thuật toán đề ra chiến lược lập lịch tác vụ có tính phụ thuộc trong môi trường lưới, được áp dụng cả bên trong một cluster cũng như giữa các cluster với nhau Trong mỗi bước của mình, thuật toán tiến hành thao tác kết hợp hay hợp nhất các cluster (có thể là các tác vụ bên trong cluster hay các cluster với nhau) dựa trên sự phụ thuộc lẫn nhau của các cluster Theo cách này, các cluster được kêt hợp lại nếu tồn tại bất cứ sự phụ thuộc nào giữa chúng Mục đích chính của thuật toán là tăng khả năng cân bằng tải cũng như cực tiểu hóa thời gian thực thi tác vụ Dưới đây là các ưu và nhược điểm của thuật toán
Ưu điểm:
Giảm thiểu thời gian thực thi tác vụ đến mức tối đa
Thuật toán có đặc tính động bởi trong một cluster các tác vụ được phân phối cho một lượng tài nguyên thích hợp mà trên đó nó có thể được lên lịch hoạt động trong thời gian sớm nhất
Sử dụng chiến lược phi tập trung, thuật toán tỏ ra đáng tin cậy hơn so với các thuật toán tập trung do một điểm thất bại sẽ ảnh hưởng đến ít thành phần hơn
Khả năng cân bằng tải trên tài nguyên toàn hệ thống cao hơn theo góc độ các tác vụ được lập lịch trên mỗi tài nguyên
Trang 9Nhược điểm:
Chi phí truyền thông bên trong một cluster cũng như giữa các cluster với nhau cao hơn
Không định rõ các yêu cầu của một tác vụ
III.1.5.Mô hình lập lịch SFBAJG (Scheduling Framework for Aware Job Grouping-Based)
Bandwidth-Trong công bố mang tên “Scheduling Framework for Bandwidth-Aware Job Grouping-Based in Grid Computing” [6] vào năm 2006, Ng Wai Keat, Ang Tan Fong
và các cộng sự đã đề nghị một thuật toán lập lịch chú trọng đến băng thông dành cho môi trường điện toán lưới Thuật toán theo đuổi một chiến lược chú trọng đến năng lực tính toán và truyền thông của tài nguyên hệ thống Sử dụng lượng băng thông của điểm thắt cổ chai mạng, thuật toán triển khai tính toán độ ưu tiên của mỗi tài nguyên Cách tiếp cận này cũng được dùng để dựng nên một mô hình lập lịch trong đó bộ phận lập lịch có khả năng rút trích thông tin về năng lực xử lý tài nguyên của hệ thống Khi cần thiết, bộ phận lập lịch tiến hành lựa chọn tài nguyên xuất hiện đầu tiên và gom nhóm các công việc độc lập đã được mịn hóa dựa trên khả năng xử lý của tài nguyên vừa được chọn Quá trình gom nhóm được thiết kế để tận dụng tối đa tài nguyên được chọn Sau khi tất cả các công việc đã được gom nhóm, chúng được gửi đến các vùng tài nguyên chỉ định Điểm mạnh của thuật toán là cho phép các kết nối tới các tài nguyên
có thể kết thúc nhanh hơn thông thường Tối thiểu hóa lượng yêu cầu được gởi đi, đẩy nhanh quá trình kết nối mạng, kết quả cuối cùng của mô hình là khả năng tăng cường tốc độ truyền tải hay băng thông
Ưu điểm:
Tối thiểu sự lãng phí tài nguyên CPU
Gom nhóm các công việc được mịn hóa thành các nhóm mịn hóa (quá trình thô hóa) giúp giảm độ trễ của mạng lưới
Giảm thiểu tổng thời gian thực thi
Nhược điểm:
Không xem xét đến các ràng buộc về kích thước bộ nhớ
Không mang đặc tính động về tài nguyên
Thời gian tiền xử lý cho việc gom nhóm công việc và lựa chọn tài nguyên cao
III.1.6.Thuật toán lập lịch GFJS (Grouping-based Fine-grained Job Scheduling)
Sử dụng chiến lược gom nhóm, thuật toán dựa chủ yếu trên các đặc tính về tài nguyên của hệ thống Các công việc đã qua mịn hóa được nhóm lại thành các cụm công
Trang 10việc, các cụm này sau đó được cấp phát cho một lượng tài nguyên nhất định tùy theo năng lực xử lý (đo bằng MIPS) và băng thông (đo bằng Mb/s) Trong bài nghiên cứu
“Grouping-Based Fine-grained Job Scheduling in Grid Computing” [7], hai tác giả Quan Liu và Yeqing Liao đã kết hợp thuật toán tham lam với thuật toán FCFS để nâng cao khả năng xử lý các công việc đã qua mịn hóa
Ưu điểm:
Tận dụng tối đa tài nguyên hệ thống
Thời gian thực thi công việc được giảm thiểu
Giảm thiểu chi phí phát sinh khi thực hiện lập lịch mịn hóa thông qua việc gom nhóm các công việc nhỏ trong suốt tiến trình lập lịch
Giảm thiểu đáng kể độ trễ mạng
Tổng thời gian vận hành của hệ thống giảm xuống
Nhược điểm:
Không xem xét đến các ràng buộc về kích thước bộ nhớ
Thời gian tiền xử lý cho việc gom nhóm công việc cao
III.1.7.Mô hình lập lịch dựa trên môi trường lưới JSMB (Job Schedule Model Based)
Trong công bố mang tên “A Job Schedule Model Based on Grid Environment” [8], Homer Wu, Chong-Yen Lee và các cộng sự đã đề xuất một mô hình lập lịch mà thuật toán chủ đạo cho phép tận dụng tối đa tài nguyên CPU đồng thời cực đại hóa lưu lượng
dữ liệu xử lý (MPUT) Bên cạnh đó, giảm thiểu đến mức tối đa thời gian xoay vòng cũng là một điểm đáng chú ý khác của thuật toán Về tổng thể, mô hình đề nghị chia các nút trong mạng ra thành các nút giám sát, nút giám sát dự phòng và các nút thực thi
Ưu điểm:
Sử dụng các nút dự phòng để giảm thiểu ảnh hưởng khi các nút chính gặp vấn đề, từ đó nâng cao tính an toàn của hệ thống với khả năng cân bằng tải đáng ghi nhận
Tận dụng tối đa tài nguyên CPU cũng như tối ưu hóa lưu lượng dữ liệu được
xử lý
Cực tiểu hóa thời gian xoay vòng
Nhược điểm:
Chi phí truyền thông phát sinh cao
Không xét đến ràng buộc của các công việc cũng như tài nguyên
Trang 11III.2.Quản lý tài nguyên
Trong lưới điện toán, quản lý tài nguyên hay còn gọi là lập lịch tài nguyên là quá trình tìm kiếm một cụm tài nguyên thích hợp để đáp ứng một truy vấn xử lý trong hệ thống, quá trình truyền thông có nhanh chóng và đáng tin hay không phụ thuộc rất nhiều vào cơ chế quản lý tài nguyên Tài nguyên trong một hệ thống lưới điện toán hoàn chỉnh thường rất lớn với nhiều đơn vị riêng lẻ và không được tập trung hóa quản
lý, các tài nguyên này có thể được thêm vào hoặc gỡ ra khỏi hệ thống vào bất kỳ thời điểm nào Với những lý do đó, quản lý tài nguyên trong môi trường lưới có kích thước lớn thực sự là một vấn đề mang tính thách thức cần phải được nghiên cứu sâu sát Trong phần này của tài liệu, ta sẽ tìm hiểu một số thuật toán, mô hình được công bố trong các tài liệu gần đây để có cái nhìn rõ hơn về những tiến triển của giới nghiên cứu xoay quanh vấn đề này
III.2.1.Hệ quản lý tài nguyên động và lập lịch RNDRM
Trong tài liệu “Research on Novel Dynamic Resource Management and Job Scheduling in Grid Compuing” [9] được công bố vào năm 2006, Fufang Li, Deyu Q và các cộng sự đã đề xuất một mô hình quản lý tài nguyên dựa trên cây Heap Sort (HST) dùng để tính ra năng lực tính toán khả dụng của các nút (ở đây là các tài nguyên) cũng như của cả hệ thống lưới Trong mô hình này, tài nguyên với năng lực tính toán khả dụng lớn nhất được chọn làm nút gốc của cây HST và được xem như sẵn sàng để bộ lập lịch gửi lên một công việc Được thiết kế đặc biệt cho bài toán lập lịch, thuật toán tỏ ra rất phù hợp cho môi trường lưới có tính phức tạp
Ưu điểm:
Hệ thống có khả năng mở rộng cao và linh hoạt hơn
Khả năng kháng lỗi cũng như hiệu năng của hệ thống được tăng cường
Chiến lược được đề nghị có khả năng duy trì thông tin trạng thái động của tài nguyên, chiến lược này đặc biệt hữu hiệu trong môi trường lưới thay đổi nhanh và khó dự đoán
Nhược điểm:
Thuật toán không có phản hồi khi việc đệ trình một công việc bị thất bại
Chiến lược có thể không tận dụng hết tài nguyên hệ thống
Thời gian chờ của một công việc cao
Môi trường lưới không mang tính động trong thời gian thực