Việc quản lý và xử lý dữ liệu của tổ chức, công ty cũng như dữ liệu cá nhân, khách hàng là một trong những chiến được ưu tiên hàng đầu của nhà quản lý đã đang đang gây ra nhiều khó khăn do sự bùng nổ thông tin và phức tạp trong xử lý, cộng thêm đầu tư cơ sở hạ tầng thông tin với chi phí cao. Để có thể quản lý và xử lý được nguồn dữ liệu đó, ban đầu các tổ chức, doanh nghiệp phải đầu tư, tính toán rất nhiều loại chi phí như: chi phí cho cơ sở hạ tầng phần cứng, phần mềm, hệ thống mạng, chi phí cho quản trị viên, chi phí bảo trì, sửa chữa, nâng cấp, bảo mật dữ liệu và tính khả dùng của dữ liệu. Từ những đòi hỏi đó, các nhà nghiên cứu trong lĩnh vực công nghệ thông tin đã đi tìm giải pháp và đưa ra khái niệm điện toán đám mây, là nơi cho phép các tổ chức, doanh nghiệp quản lý, sử dụng và xử lý tốt nguồn tài nguyên của mình mà ít quan tâm đến đầu tư cơ sở hạ tầng thông tin.Để phục vụ cho người sử dụng dịch vụ cũng như nhà cung cấp dịch vụ một nền tảng được xây dựng mà ở đó cơ sở hạ tầng máy chủ ảo, nền tảng phát triển ứng dụng và phần mềm được xem như là dịch vụ.Việc điều phối, thực hiện bài toán trên môi trường phân tán và song song gặp nhiều khó khăn trong môi trường điện toán đám mây, nơi mà người sử dụng yêu cầu hai yếu tố thời gian kết thúc và giá cả thực hiện bài toán.Mục đích của bài toán lập lịch ước lượng chi phí là đưa ra giải pháp tối ưu để giải bài toán dựa vào tính chất bài toán và tình trạng tài nguyên của hệ thống nhằm tăng cường khả năng vận hành, hiệu suất của hệ thống và những yêu cầu hoàn thành bài toán từ người dùng. Những đảm bảo trên nhằm đáp ứng chất lượng dịch vụ tốt, điều này gây ra khó khăn trong môi trường điện toán đám mây, nơi mà các tài nguyên phân tán, không đồng nhất, được sở hữu nhiều tổ chức khác nhau với những quy định về cấu hình, giá dịch vụ cũng không giống nhau.Để phục vụ tốt yêu cầu của người sử dụng, hệ thống phải lập lịch công việc sao cho đáp ứng được yêu cầu về chi phí dịch vụ và thời gian thực hiện, hai yêu cầu cốt lõi của người sử dụng trong khi sử dụng dịch vụ: một là quan tâm về thời gian giải bài toán; hai là yêu cầu về tối ưu giá.Thấy được sự hấp dẫn của mô hình thương mại điện toán đám mây tôi quyết định đi nghiên cứu, tìm hiểu một khía cạnh quan trọng của nền tảng đó.
Trang 1LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu củariêng tôi Các số liệu, kết quả nêu trong luận văn làtrung thực và chưa từng được ai công bố trong bất kỳcông trình nào khác
Tác giả luận văn
VÕ THANH MINH
Trang 2LỜI CẢM ƠN
Trước hết, tôi xin được bày tỏ lòng biết ơn chân thành và sâu sắc đến thầy giáo hướng dẫn TS Nguyễn Mậu Hân đã tận tình hướng dẫn tôi trong suốt quá trình làm luận văn tốt nghiệp này
Tôi cũng xin chân thành cảm ơn Trường Đại học Khoa Học - Huế, Khoa Công Nghệ Thông Tin đã tạo mọi điều kiện thuận lợi cho tôi được học tập Xin được gửi lời tri ân tới quý thầy cô đã tận tình giảng dạy, giúp đỡ và tạo mọi điều kiện thuận lợi cho tôi trong quá trình học tập và nghiên cứu.
Xin được gửi lời cảm ơn đến Ban giám hiệu, cùng các đồng nghiệp đã tạo mọi điều kiện để tôi được đi học.
Cuối cùng, tôi xin chân thành cảm ơn gia đình tôi, những người thân và bạn bè đã luôn bên cạnh, động viên, giúp đỡ tôi trong suốt thời gian học tập
và thực hiện đề tài.
Xin chân thành cảm ơn!
Tác giả luận văn
Trang 3MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT vi
DANH MỤC CÁC BẢNG BIỂU vii
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ viii
MỞ ĐẦU 1
Chương 1: TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY 4
1.1.Giới thiệu 4
1.2.Nền tảng điện toán đám mây 4
1.2.1.Định nghĩa điện toán lưới 4
1.2.2.Đặc trưng điện toán lưới 4
1.2.3.Kiến trúc Điện toán lưới 5
1.3.Điện toán đám mây 12
1.3.1.Định nghĩa điện toán đám mây 12
1.3.2.Đặc trưng điện toán đám mây 12
1.3.3.Kiến trúc điện toán đám mây 14
1.4.Mối quan hệ giữa điện toán lưới và điện toán đám mây. 15
Chương 2: LẬP LỊCH VÀ HỆ THỐNG QUẢN LÝ LUỒNG CÔNG VIỆC 17
2.1 Giới thiệu luồng công việc và hệ thống quản lý 17
Trang 42.1.1 Định nghĩa luồng công việc 17
2.1.2 Kiến trúc hệ thống quản lý luồng công việc 17
2.1.3.Một số hệ thống quản lý luồng công việc hiện tại 19
2.2.Giới thiệu một số phương pháp lập lịch luồng công việc. 22
2.2.1.Các phương pháp nỗ lực tốt nhất 23
2.3.2 Các phương pháp ràng buộc chất lượng dịch vụ 31
2.3.Đánh giá và phân tích yêu cầu 35
2.3.1.Bài toán 35
2.3.2.Phân tích bài toán 35
2.3.3.Phân tích yêu cầu 36
Chương 3: THUẬT TOÁN LƯỢNG GIÁ VỀ CHI PHÍ VÀ THỜI GIAN 37
3.1.Giới thiệu 37
3.2.Phân tích yêu cầu và giải pháp tổng thể 37
3.2.1.Phân tích yêu cầu 37
3.2.1.Giải pháp tổng thể 38
3.2.2.Cơ sở hạ tầng lập lịch 38
3.2.3.Thuật toán CTC 40
3.2.4.Phân tích độ phức tạp thuật toán 48
3.2.5.Ví dụ biểu diễn cho thuật toán 49
3.3 Mô phỏng và so sánh thuật toán 59
3.3.1 Môi trường mô phỏng 59
3.3.2 So sánh kết quả 60
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61
TÀI LIỆU THAM KHẢO 63
Trang 5DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
AEST Absolute Earliest Start Time
ALST Absolute Latest Start Time
SL Sort List
FIFO First In, First Out
JIT Just In Time
CTC Compromised Time Cost
CTC-MT Compromised Time Cost Minimise Time
CTC-MC Compromised Time Cost Minimise Cost
QoS Quality of Service
DAG Directed Acyclic Graph
AEST Absolute Earliest Start Time
ALST Absolute Latest Start Time
FCP Fast Critical Path
AGS Adaptive Generalised Scheduler
WMM Workflow Mapping Mechanism
AWS Adaptive Workflow Splitting
ASA Adaptive Scheduling Algorithm
HEFT Heterogeneous Earliest-Finish-Time
GRASP Greedy Randomised Adaptive Search Procedure
Trang 6SA Simulated Annealing
DANH MỤC CÁC BẢNG BIỂU
Số hiệu
Bảng 3.1 Bảng tham khảo chuẩn giá tốc độ 44 Bảng 3.2 Bảng tham khảo chuẩn giá băng thông 45Bảng 3.3 Bảng kết quả thuật toán CTC 53Bảng 3.4 Minh họa giai đoạn lập lịch với thuật toán CTC 54Bảng 3.5 Bảng kết quả thuật toán DMP 58Bảng 3.6 Minh họa giai đoạn lập lịch với thuật toán DMP 59Bảng 3.7 Bảng so sánh kết quả 60
Trang 7Hình 1.1 Kiến trúc Điện toán lưới 6 Hình 1.2 Kiến trúc lập trình trong Điện toán lưới 11 Hình 1.3 Kiến trúc Điện toán đám mây 14 Hình 1.4 Mối quan hệ của Điện toán lưới và Điện toán đám mây 15 Hình 2.1 Hệ thống quản lý luồng công việc 18 Hình 2.2 Thành phần hệ thống quản lý luồng công việc 20 Hình 3.1 Cơ sở hạ tầng lập lịch 39 Hình 3.2 Quan hệ giữa các đại lượng 44
Đồ thị 3.1 Đồ thị so sánh kết quả CTC và MDP 60
Trang 8MỞ ĐẦU
1 Lý do chọn đề tài
Việc quản lý và xử lý dữ liệu của tổ chức, công ty cũng như dữ liệu cánhân, khách hàng là một trong những chiến được ưu tiên hàng đầu của nhàquản lý đã đang đang gây ra nhiều khó khăn do sự bùng nổ thông tin và phứctạp trong xử lý, cộng thêm đầu tư cơ sở hạ tầng thông tin với chi phí cao Để
có thể quản lý và xử lý được nguồn dữ liệu đó, ban đầu các tổ chức, doanhnghiệp phải đầu tư, tính toán rất nhiều loại chi phí như: chi phí cho cơ sở hạtầng phần cứng, phần mềm, hệ thống mạng, chi phí cho quản trị viên, chi phíbảo trì, sửa chữa, nâng cấp, bảo mật dữ liệu và tính khả dùng của dữ liệu
Từ những đòi hỏi đó, các nhà nghiên cứu trong lĩnh vực công nghệ
thông tin đã đi tìm giải pháp và đưa ra khái niệm điện toán đám mây, là nơi
cho phép các tổ chức, doanh nghiệp quản lý, sử dụng và xử lý tốt nguồn tàinguyên của mình mà ít quan tâm đến đầu tư cơ sở hạ tầng thông tin
Để phục vụ cho người sử dụng dịch vụ cũng như nhà cung cấp dịch vụmột nền tảng được xây dựng mà ở đó cơ sở hạ tầng máy chủ ảo, nền tảngphát triển ứng dụng và phần mềm được xem như là dịch vụ
Việc điều phối, thực hiện bài toán trên môi trường phân tán và songsong gặp nhiều khó khăn trong môi trường điện toán đám mây, nơi mà người
sử dụng yêu cầu hai yếu tố thời gian kết thúc và giá cả thực hiện bài toán.Mục đích của bài toán lập lịch ước lượng chi phí là đưa ra giải pháp tối
ưu để giải bài toán dựa vào tính chất bài toán và tình trạng tài nguyên của hệthống nhằm tăng cường khả năng vận hành, hiệu suất của hệ thống và nhữngyêu cầu hoàn thành bài toán từ người dùng Những đảm bảo trên nhằm đápứng chất lượng dịch vụ tốt, điều này gây ra khó khăn trong môi trường điện
Trang 9toán đám mây, nơi mà các tài nguyên phân tán, không đồng nhất, được sởhữu nhiều tổ chức khác nhau với những quy định về cấu hình, giá dịch vụcũng không giống nhau.
Để phục vụ tốt yêu cầu của người sử dụng, hệ thống phải lập lịch côngviệc sao cho đáp ứng được yêu cầu về chi phí dịch vụ và thời gian thực hiện,
hai yêu cầu cốt lõi của người sử dụng trong khi sử dụng dịch vụ: một là quan tâm về thời gian giải bài toán; hai là yêu cầu về tối ưu giá.
Thấy được sự hấp dẫn của mô hình thương mại điện toán đám mây tôiquyết định đi nghiên cứu, tìm hiểu một khía cạnh quan trọng của nền tảng đó
2 Mục đích nghiên cứu
- Tìm hiểu khái niệm điện toán đám mây.
- Tìm hiểu liên hệ giữa điện toán lưới và điện toán đám mây.
- Giới thiệu một số phương pháp lập lịch luồng công việc.
- Phân tích thuật toán CTC ước lượng chi phí và thời gian trong môi
trường điện toán đám mây
- Mô phỏng và đánh giá kết quả thuật toán CTC.
3 Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu chính của luận văn là lập lịch luồng công việc
trên nền điện toán đám mây sử dụng thuật toán CTC
- Phạm vi nghiên cứu: tìm hiểu lý thuyết điện toán đám mây và cài đặtthuật toán CTC thử nghiệm trong môi trường mô phỏng
4 Phương pháp nghiên cứu
- Tìm hiểu, phân tích và tổng hợp các bài báo, tài liệu
- Dựa trên các kết quả đã công bố phân tích, đánh giá một số thuật toántrong môi trường điện toán đám mây
Trang 105 Ý nghĩa khoa học và thực tiễn của đề tài
Sau quá trình nghiên cứu đề tài “Tìm hiểu điện toán đám mây và bài toánước lượng chi phí” tác giả đã hiểu được các khái niệm về điện toán đám mây
và triển khai, cài đặt được trình tiện ích lập lịch trên nền điện toán đám mây,hình thành khả năng quan sát, phân tích, đánh giá bài toán
6 Cấu trúc của luận văn
Luận văn này được chia thành 3 chương
Chương 1: Tổng quan về điện toán đám mây
Tìm hiểu các khái niệm về điện toán đám mây, mối liên hệ của nó vớicác công nghệ hiện tại, cung cấp kiến trúc cơ bản của điện toán đám mây vàgiải thích chúng
Chương 2: Lập lịch và hệ thống quản lý luồng công việc
Tìm hiểu định nghĩa luồng công việc, giới thiệu kiến trúc và giải thíchkiến trúc lập lịch cho luồng, nêu ra một số ý tưởng của phương pháp lập lịchluồng công việc đang được sử dụng
Chương 3: Thuật toán lượng giá về chi phí và thời gian
Trong chương này tập trung chủ yếu giải quyết các mục tiêu sau: đặt vấn
đề bài toán, phân tích yêu cầu, đưa ra giải pháp cho bài toán, trình bày thuậttoán, phân tích ví dụ để làm sáng tỏ các giai đoạn lập lịch, cài đặt, so sánh vàđánh giá kết quả thu được từ thực nghiệm
Trang 11Chương 1
TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY 1.1.Giới thiệu
Điện toán đám mây là một khuynh hướng công nghệ được đang được
các nhà nghiên cứu và cộng đồng chấp nhận rộng rãi Đặc trưng của điện toán đám mây là cung cấp dịch vụ thông tin và tài nguyên phần cứng, cho phép
người sử dụng truy cập ứng dụng và khai thác tiềm năng phần cứng từ bất kỳ
thiết bị nào có kết nối đến điện toán đám mây, điện toán đám mây được phát
triển trên cơ sở các trung tâm dữ liệu, hạ tầng mạng với tốc độ cao và sự hỗtrợ tiện dụng của công nghệ Web 2.0
Mặc dù điện toán đám mây mới chỉ được nói đến trong thời gian gầnđây, nhưng đây không phải là một sự phát triển hoàn toàn mới, mang tính độtphá Điện toán đám mây là bước phát triển tiếp theo của một quá trình bắt đầu
từ vài thập niên trước với điện toán lưới.
1.2.Nền tảng điện toán đám mây
Trong phần này, mục đích chính là tìm hiểu nền tảng của điện toán đám mây, quan hệ của nó với điện toán lưới và cùng với các công nghệ khác, từ đó
đưa ra nhận xét sự giống, khác nhau cơ bản giữa các công nghệ
1.2.1.Định nghĩa điện toán lưới
Theo Ian Foster, định nghĩa điện toán lưới như sau: “Lưới là một hệ thống mà tài nguyên là không điều khiển tập trung, dùng giao thức chuẩn,
mở, đa năng, là nơi cung cấp chất lượng các dịch vụ không tầm thường” [7]
1.2.2.Đặc trưng điện toán lưới
Theo IBM, điện toán lưới có những đặc trưng dưới đây[7]:
Trang 12- Điện toán lưới có thể khai thác tài nguyên nhàn rỗi và chạy các ứngdụng hiện có trên đó.
- Tiềm năng lớn của lưới là khả năng song song với số lượng CPU tươngđối lớn, đây là một trong những đặc tính hấp dẫn của hệ thống lưới
- Điện toán lưới cung cấp khả năng và đơn giản hóa sự kết nối tàinguyên trong phạm vi lớn
- Ngoài tài nguyên CPU và tài nguyên lưu trữ, lưới còn có thể cung cấpkhả năng truy xuất để gia tăng chất lượng nguồn tài nguyên, các thiết bịchuyên dụng, phần mềm, cấp phép và các dịch vụ khác
- Lưới có thể hợp nhất lượng lớn tài nguyên phân tán bởi các máy tínhđơn lẻ tạo thành nguồn tài nguyên ảo khổng lồ
- Độ tin cậy đạt được qua giá thành rẻ và sự phân bố tài nguyên tronglưới theo địa lý
- Mục tiêu để ảo hóa tài nguyên trên lưới và đồng nhất xử lý đối với hệthống không đồng bộ sẽ tạo ra cơ hội mới quản lý tốt hơn và cơ sở hạ tầngthông tin phân tán nhiều hơn
1.2.3.Kiến trúc Điện toán lưới
Lưới cung cấp các giao thức và dịch vụ nằm tại các lớp khác nhau trongkiến trúc [6]
Trang 13Hình 1.1 Kiến trúc điện toán lưới
1.2.3.1.Tầng Fabric: Giao diện điều khiển địa phương.
Tầng fabric cung cấp nguồn tài nguyên để chia sẻ truy cập bởi các giao
thức lưới: tài nguyên tính toán, hệ thống lưu trữ, tài nguyên mạng, thư mục vàcác phần tử vật lý khác Tài nguyên có thể là một thực thể logic, chẳng hạnnhư hệ thống tập tin phân tán, cụm máy tính, trong mỗi trường hợp tài nguyênthực hiện có thể gồm các giao thức nội bộ, nhưng nó không phải vấn đề quantâm nhiều trong lưới, lớp này có các thành phần sau:
- Tài nguyên tính toán: cơ chế cần thiết để bắt đầu chương trình và theo
dõi, điều khiển và thực hiện Cung cấp cơ chế quản lý cho phép điều khiểnphân bổ nguồn tài nguyên để xử lý hiệu quả, yêu cầu các chức năng cầnthiết để nhận ra đặc trưng phần cứng và phần mềm (như tốc độ xử lý, tínhsẵn dùng của CPU, không gian lưu trữ dùng được và nền tảng API), cũngnhư thông tin về tình trạng tải và trạng thái xếp hàng trong trường hợp lậplịch quản lý tài nguyên
- Tài nguyên lưu trữ: cơ chế cần thiết cho việc đưa và nhận tập tin, một
tập tin có thể được lưu trữ nhiều nơi trên lưới, vì vậy có một cơ chế đọc vàghi các phần của tập tin Cơ chế quản lý cho phép điều khiển phân bổ tài
Trang 14nguyên để truyền dữ liệu hiệu quả như không gian, băng thông mạng và CPU.Yêu cầu chức năng cần thiết để xác định các đặc trưng phần cứng và phầnmềm cũng như thông tin về tình trạng tải như không gian sẵn có và băngthông sẵn dùng.
- Tài nguyên mạng: Cơ chế quản lý cung cấp công cụ điều khiển, phân
bổ tài nguyên mạng (như cơ chế ưu tiên, xếp hàng, đặt chỗ) cung cấp công cụ
để xác định đặc trưng mạng và tải
- Mã kho: đây là thuộc tính của cơ chế quản lý tài nguyên lưu trữ để
quản lý phiên bản và mã đối tượng trong kho dữ liệu
- Bảng danh mục: đây là đặc trưng của cơ chế quản lý tài nguyên lưu trữ
để cung cấp công cụ truy vấn và các hoạt động xử lý dữ liệu
1.2.3.2.Tầng kết nối: Giao tiếp dễ dàng và an toàn
Tầng kết nối định nghĩa lõi truyền thông và xác thực yêu cầu giao thứccho mạng cụ thể Giao thức truyền thông cho phép trao đổi dữ liệu giữa cáctầng tài nguyên lớp Fabric Chứng thực các giao thức được xây dựng trên cácdịch vụ truyền thông để cung cấp cơ chế bảo mật, xác minh định danh củangười dùng và tài nguyên Yêu cầu truyền thông bao gồm các tầng giao vận,định tuyến và định danh
Khi xem xét đến khía cạnh bảo mật của tầng kết nối, thấy được sự phứctạp của bài toán bảo mật, quan trọng các giải pháp được xây dựng dựa trên cơ
sở chuẩn đã sẵn có, trong truyền thông nhiều chuẩn được phát triển trong cácngữ cảnh của từng giao thức internet
Giải pháp chứng thực trong môi trường của tổ chức ảo VO có những đặctrưng sau:
Trang 15- Đăng nhập đơn: người sử dụng chỉ đăng nhập một lần và có thể truy
cập vào nhiều tài nguyên lưới được định nghĩa trong tầng Fabric mà không có
sự can thiệp nào khác
- Sự ủy quyền: người dùng có thể cho phép một chương trình có thể chạy
trên tài nguyên của người được uỷ quyền Tùy theo điều kiện sử dụng mà chophép ủy quyền một phần hoặc toàn bộ đến chương trình khác
- Tích hợp với các giải pháp bảo mật địa phương khác: mỗi vị trí hoặc
tài nguyên nhà cung cấp có thể dùng bất kỳ giải pháp bảo mật địa phươngkhác nhau Các giải pháp bảo mật lưới phải có thể tương thích với các giảipháp bảo mật địa phương khác nhau này Trong thực tế họ không cần phảithay thế toàn bộ các giải pháp địa phương nhưng phần nào đó phải ánh xạđược chúng đến môi trường địa phương
- Người dùng và quan hệ tin cậy: để cho người dùng sử dụng tài nguyên
từ nhiều nhà cung cấp đồng thời, hệ thống bảo mật không yêu cầu mỗi tàinguyên của nhà cung cấp hợp tác hoặc tương tác lẫn nhau trong cấu hình môitrường bảo mật, ví dụ người dùng được phép sử dụng hai site A và site B,người sử dụng có thể dùng A và B cùng nhau mà không yêu cầu tương tác lẫnnhau trong quản lý bảo mật
1.2.3.3.Tầng resource: chia sẻ đơn tài nguyên.
Tầng tài nguyên được xây dựng trên tầng kết nối truyền thông và xácthực giao thức để định nghĩa giao thức (API và SDK) cho sự bắt đầu chắcchắn, theo dõi và điều khiển các hoạt động chia sẻ trên nguồn tài nguyênriêng lẻ Lớp tài nguyên thi hành các giao thức gọi đến các chức năng lớpFabric để truy cập và điều khiển tài nguyên địa phương Giao thức của lớpnày liên quan toàn bộ với nguồn tài nguyên riêng lẻ và do đó phớt lờ đưa ratrạng thái tổng thể
Trang 16Có hai vấn đề chính đáng chú ý trong lớp tài nguyên là:
+ Thông tin giao thức: thường quan sát thông tin về kiến trúc và trạng
thái của tài nguyên, ví dụ: cấu hình, tải hiện tại và chính sách bảo mật
+ Quản lý giao thức: để thương lượng truy xuất đến nguồn tài nguyên
chia sẻ, yêu cầu tài nguyên (điều kiện hạn chế, chất lượng dịch vụ) và cáchoạt động sẽ được thực hiện như tạo tiến trình hoặc truy xuất dữ liệu, quản lýcác giao thức chịu trách nhiệm thông dịch các mối quan hệ chia sẻ và đảmbảo rằng yêu cầu giao thức phù hợp với chính sách nguồn tài nguyên Phươngthức cũng có thể hỗ trợ quản lý tình trạng của các hoạt động và điều khiểnchúng như kết thúc, chờ,
1.2.3.4.Tầng Collective: Điều phối nhiều nguồn tài nguyên
Trong khi tầng tài nguyên tập trung vào tương tác với nguồn tài nguyênđơn, tầng tiếp theo trong kiến trúc chứa các giao thức và dịch vụ (API, SDK),
nó không liên kết với một tài nguyên cụ thể nào
- Dịch vụ thư mục: cho phép người tham dự tổ chức ảo (VO) khám phá
sự tồn tại hoặc thuộc tính nguồn tài nguyên VO Dịch vụ thư mục cho phépngười dùng truy vấn tài nguyên bằng tên, thuộc tính, kích thước
- Dịch vụ phân bổ, lập lịch và trung gian: cho phép người tham gia VO
yêu cầu chỉ định một hoặc nhiều nguồn tài nguyên cho quyết định cụ thể nào
đó và lập lịch công việc thích hợp trên nguồn tài nguyên
- Dịch vụ giám sát và chẩn đoán: hỗ trợ quản lý VO hỏng hóc, phát hiện
tấn công, quá tải
- Dịch vụ nhân rộng dữ liệu: hỗ trợ quản lý tài nguyên lưu trữ để tối đa
thực hiện truy xuất dữ liệu, chú ý đến thời gian trả lời, độ tin cậy và chi phí
Trang 17- Cho phép lập trình hệ thống: cho phép các mô hình lập trình quen
thuộc sử dụng được trên môi trường lưới Sử dụng dịch vụ lưới khác nhaukhai thác địa chỉ, bảo mật, định vị tài nguyên
- Dịch vụ phần mềm khai thác: phát hiện và lựa chọn công cụ phần mềm
tốt nhất và nền tảng thực hiện dựa trên các thông số của các bài toán đã đượcgiải quyết trước đó
- Dịch vụ ủy quyền chung: thực thi chính sách quản lý truy cập tài
nguyên, tạo ra khả năng các thành viên chung có thể truy cập tài nguyên cộngđồng Các máy chủ này cung cấp dịch vụ thực thi chính sách tổng thể bằngcách xây dựng trên tài nguyên thông tin: giao thức quản lý tài nguyên tronglớp Resource và giao thức bảo mật trong lớp kết nối
- Dịch vụ cộng tác viên: hỗ trợ phối hợp trao đổi thông tin giữa người
dùng có tiềm năng trong cộng đồng
1.2.3.5.Tầng Applications: tầng ứng dụng
Tầng cuối cùng trong kiến trúc bao gồm các ứng dụng người dùng, cácứng dụng này hoạt động trong môi trường ảo Hình H2 minh họa lập trình ứngdụng trong kiến trúc lưới
SDK là công cụ cụ thể của API, API này lần lượt được sử dụng tronglưới tác động với dịch vụ mạng để cung cấp khả năng cho người dùng đầucuối SDK ở mức cao có thể cung cấp một chức năng mà không cần sử dụngmột số giao thức cụ thể nào -trong suốt trong lập trình và có thể kết hợp vớiviệc gọi các API như là công cụ địa phương (xem Hình 1.2)
Trang 18Hình 1.2 Kiến trúc lập trình trong điện toán lưới
1.2.4.Mối quan hệ với công nghệ khác.
- World Wide Web: sự phổ biến rộng khắp của công nghệ web với các
giao thức TCP/IP, HTTP, SOAP và các ngôn ngữ HTML,XML đã tạo nênnền tảng hỗ trợ cho môi trường VO và ứng dụng trên đó Tuy nhiên côngnghệ này thực hiện khá tốt trên mô hình tương tác khách-chủ, còn trongmôi trường VO yêu cầu cũng khác và có phần phức tạp hơn nên công nghệnày chỉ đóng vai trò hỗ trợ mà thôi, ví dụ các trang web ngày nay thường
sử dụng phương thức TLS để chứng thực, nhưng nó không hỗ trợ đơn đăngnhập hoặc cơ chế ủy thác
- Nhà cung cấp dịch vụ ứng dụng và lưu trữ: cung cấp dịch vụ ứng dụng
và lưu trữ, tương tự các công ty cho thuê hosting hiện nay họ cung cấp cácdịch vụ lưu trữ như MSSQL, MySQL, File, và các ứng dụng hỗ trợ thao tácnhư ASPs, JSPs, Python,…một khách hàng thương lượng thỏa thuận dịch vụ
để truy xuất đến cả phần cứng và phần mềm Bảo mật có xu hướng ứng dụngcông nghệ VPN được mở rộng từ mạng nội bộ LAN không giới hạn về địa lýnhưng vẫn đảm bảo các giao thức và bảo mật trong mạng LAN Các dịch vụ
Trang 19cung cấp hiện tại như lưu trữ tập tin, cập nhật dữ liệu vào cơ sở dữ liệu hệquản đều được kiểm soát bởi tên đăng nhập, mật khẩu và các xác thực người
sử dụng, đây là cách làm hiện tại và nó khó khăn trong môi trường ảo VO
1.3.Điện toán đám mây
1.3.1.Định nghĩa điện toán đám mây
Theo tổ chức IEEE đã định nghĩa về điện toán đám mây như sau:
"Nó là hình mẫu trong đó thông tin được lưu trữ thường trực tại các máy chủ trên Internet và được lưu trữ tạm thời ở các máy khách, bao gồm máy tính cá nhân, trung tâm giải trí, máy tính trong doanh nghiệp, các phương tiện máy tính cầm tay, "
Theo Ian Foster:
“Một mô hình điện toán phân tán có tính thay đổi lớn theo hướng co dãn về mặt kinh tế, là nơi có sức mạnh tính toán, kho lưu trữ, các nền tảng và các dịch vụ được trực quan, ảo hóa và thay đổi linh động, sẽ được phân phối theo nhu cầu cho các khách hàng thông qua Internet” [3]
“Mây là hình mẫu mà ở đó các tài nguyên ảo dễ dàng sử dụng và truy xuất (như phần cứng, phần mềm, nền tảng phát triển và dịch vụ) Những nguồn tài nguyên này có thể tự cấu hình lại để điều chỉnh biến tải, cho phép tối
ưu nguồn tài nguyên sử dụng Nguồn tài nguyên khổng lồ này được khai thác bằng cách trả chi phí cho mỗi dịch vụ khi dùng, trong đó nó được đảm bảo bởi nhà cung cấp hạ tầng bằng các thỏa thuận cấp độ tùy biến dịch vụ ” [6]
1.3.2.Đặc trưng điện toán đám mây.
Điện toán đám mây có những đặc trưng sau:
- Giá thành thấp: hạ tầng thông tin được cấp bởi bên thứ 3, thông thường
người dùng không sử dụng thường xuyên cho công việc lưu trữ và tính toán,
Trang 20khi cần họ có thể đăng ký và sử dụng tài nguyên của đám mây và trả những gìmình đã dùng, theo kiểu dùng đến đâu trả đến đó.
- Gia tăng khả mở rộng: môi trường điện toán đám mây cho phép người
dùng truy cập và bổ sung thêm tài nguyên tính toán theo nhu cầu
- Độ tin cậy và khả năng chịu lỗi: môi trường đám mây tận dụng được số
lượng lớn các máy chủ có cấu hình mạnh nhàn rỗi, tạo nên mức độ sẵn sàngcao và độ tin cậy cho các ứng dụng
- Dịch vụ hướng đối tượng: cho phép kết nối dễ dàng giữa các dịch vụ và
các công nghệ làm nền tảng của ứng dụng, tách các chức năng thành các đơn
vị riêng biệt hoặc dịch vụ, nhà phát triển truy cập qua mạng để kết hợp và tái
sử dụng mỗi khi phát triển hoặc nâng cấp ứng dụng
- Nền tiện ích: người dùng chỉ trả cho những gì họ sử dụng, cho mỗi lần
sử dụng hoặc đăng ký
- Ảo hóa: một số lượng lớn tài nguyên được cung cấp và sẵn sàng trong
vài phút thay vì vài ngày hoặc vài tuần Nhà phát triển có thể truy xuất lại tàinguyên này thông qua cổng thông tin và sử dụng chúng ngay lập tức
- Thỏa thuận mức dịch vụ: đám mây được quản lý động trên cơ sở thỏa
thuận dịch vụ dựa vào lựa chọn bảo mật, giá cả, băng thông, tốc độ xử lý,…
- Giao diện người dùng làm trung tâm: dịch vụ đám mây cho phép tương
tác với dịch vụ, độc lập về vị trí, không làm thay đổi thói quen sử dụng, cácmáy khách không đòi hỏi cài đặt các ứng dụng phức tạp, mà có thể truy xuấttốt thông qua dịch vụ có sẵn thông qua trình duyệt
- Cung cấp dịch vụ theo yêu cầu: điện toán đám mây cung cấp tài nguyên
và dịch vụ cho người dùng theo yêu cầu, người dùng có thể tùy chỉnh yêu cầu
Trang 21nếu không muốn giữ các thiết đặt trước đó như: cài đặt phần mềm, cấu hìnhmạng, “root” đặc quyền.
- Đảm bảo chất lượng dịch vụ: môi trường đám mây cung cấp chất lượng
dịch vụ đảm bảo cho người dùng như tốc độ CPU, băng thông và kích thước
bộ nhớ
- Hệ thống tự động điều chỉnh: điện toán đám mây là một hệ thống tự
điều khiển và quản lý trong suốt đến người dùng Phần cứng, phần mềm, dữliệu trong đám mây có thể tự động cấu hình lại, phối hợp và hợp nhất nền tảngduy nhất cung cấp đến người dùng
- Trả tiền khi bạn dùng: chi phí cho hạ tầng được thanh toán khi sử dụng,
như CPU dùng trong 1 giờ, %CPU sử dụng, lưu trữ bao nhiêu và trong thờigian vận hành trong bao lâu
1.3.3.Kiến trúc điện toán đám mây
Ian Foster và cộng sự đề xuất mô hình gồm 4 lớp như sau:
Hình 1.3 Kiến trúc điện toán đám mây
Lớp Fabric: là lớp cung cấp tài nguyên phần cứng như tài nguyên tính
toán, lưu trữ và tài nguyên mạng
Trang 22Lớp Unified Resource: là lớp chứa tài nguyên ở mức trừu tượng, ảo
hóa, chúng có thể tiếp xúc với lớp phía trên và người sử dụng đầu cuối như lànguồn tài nguyên tích hợp, ví dụ một máy tính, cụm máy tính, hệ thống tập tin
ở mức logic, một hệ thống cơ sở dữ liệu
Lớp Platform: thêm vào tập công cụ chuyên dụng, phần mềm trung
gian,…các dịch vụ ở lớp Unified Resource cung cấp để phát triển khả năngtương tác, triển khai như dịch vụ web hosting, dịch vụ lập lịch
Application: lớp này chứa các ứng dụng chạy trên nền đám mây.
1.4.Mối quan hệ giữa điện toán lưới và điện toán đám mây.
Mối quan hệ giữa điện toán lưới và điện toán đám mây được giới thiệutổng quan qua sơ đồ bên dưới, một hệ thống phân tán hình thành từ các máytính hoặc các siêu máy tính liên kết với nhau
Hình 1.4 Mối quan hệ của Điện toán lưới và Điện toán đám mây
Sử dụng nhiều máy tính kết với nhau và nhiều thiết bị lưu trữ trên mộtnền dịch vụ nhất định làm cho người dùng có cảm giác làm việc duy nhất vàtrong suốt, các máy tính kết mối thành cụm máy tính thường được tạo ta đểgiải các bài toán song song với chi phí thấp, công nghệ web 2.0 cho phép
Trang 23người dùng tương tác với tài nguyên và thực thi ứng dụng thông qua trìnhduyệt tương đối dễ dàng.
Điện toán đám mây được thừa hưởng các công nghệ hiện có và có nhiềuđiều khác biệt, kế thừa gần gũi nhất là công nghệ điện toán lưới, có thể nóitính toán lưới chồng chéo với điện toán đám mây trong phần hướng dịch vụ,nhưng điện toán đám mây có phần hướng dịch vụ mạnh mẽ hơn dựa trên nềntảng web 2.0
Nhìn chung điện toán đám mây hình thành từ điện toán lưới, ảo hóa, tiệních tính toán và phần mềm xem như dịch vụ (SaaS) Thực thế này làm điệntoán đám mây và điện toán lưới có nhiều sự tương đồng, liên quan chặt chẽvới nhau trong kiến trúc và công nghệ
Trong thực tế, đám mây được phát triển dựa trên nền tảng vốn có củađiện toán lưới hơn một thập kỷ qua với cố gắng chuẩn hóa, bảo mật, quản trịtài nguyên và hỗ trợ ảo hóa
Mây và lưới khác nhau ở các khía cạnh: bảo mật, mô hình lập trình, môhình thương mại, mô hình tính toán, mô hình dữ liệu, ứng dụng và sự trừutượng hóa tài nguyên Điện toán đám mây có thể thấy như là bước tiếp theocủa một hình lưới thương mại (grid-utility) Công nghệ tính toán lưới hiện đại
mở ra cách khai thác giá rẻ các dịch vụ trong các trung tâm dữ liệu để giảiquyết các bài toán doanh nghiệp
Trang 24Chương 2
LẬP LỊCH VÀ HỆ THỐNG QUẢN LÝ LUỒNG CÔNG VIỆC 2.1 Giới thiệu luồng công việc và hệ thống quản lý
2.1.1 Định nghĩa luồng công việc
“Luồng công việc là một quá trình tự động hóa công việc, một phần hoặc toàn bộ thông tin hoặc các nhiệm vụ được truyền từ đối tượng tham gia này sang đối tượng khác để hành động tuân theo một tập hợp quy tắc nhất định”.
Quản lý luồng công việc là kỹ thuật được phát triển nhanh chóng và giatăng khai thác trong nhiều ngành công nghiệp, đặc điểm chính là tự động xử
lý bao gồm sự phối hợp hoạt động của con người và máy tính, đặc biệt là sựtương tác giữa các ứng dụng và công cụ trong công nghệ thông tin
2.1.2 Kiến trúc hệ thống quản lý luồng công việc
Hệ thống quản lý được minh họa như hình bên dưới [4]:
+Workflow Engine: là một phần mềm dịch vụ cung cấp môi trường để
khởi tạo và thực thi luồng công việc và có các nhiệm vụ chính sau đây [4]:
- Diễn giải tiến trình.
- Kiểm soát điều khiển như: tạo, kích hoạt, tạm, kết thúc…
- Dẫn đường cho các quá trình hoạt động, tuần tự hay song song, thời
hạn lập lịch, diễn giải dữ liệu hợp lệ của luồng công việc
- Đăng nhập và đăng xuất của người dùng.
- Xác định hạng mục công việc và giao diện để hỗ trợ người dùng
tương tác
Trang 25- Bảo trì, điều khiển và tích hợp dữ liệu hợp lệ của luồng công việc,
truyền các dữ liệu đó đi hoặc tới ứng dụng người dùng
- Cung cấp giao diện để gọi ứng dụng bên ngoài vào và liên kết dữ liệu
công việc liên quan
- Giám sát hành động để điều khiển, quản lý và kiểm soát luồng công việc
Hình 2.1 Hệ thống quản lý luồng công việc
+ Process Definition: cung cấp công cụ để biểu diễn luồng công việc, tự
động hóa các thao tác, được dùng bởi các nhà thiết kết quy trình nhằm tạo ra
và biểu diễn một quy trình nghiệp vụ, bao gồm tất cả các quy trình liên quanđến dữ liệu
+Workflow Interoperability: giao diện hỗ trợ để tương tác giữa các luồng
khác trong hệ thống
+ Invoked Applications: giao diện để hỗ trợ tương tác với các ứng dụng
thông tin khác
Trang 26+ Workflow Client Applications: giao diện hỗ trợ tương tác với người
sử dụng
+ Administration and Monitoring: giao diện của hệ thống giám sát nơi
cung cấp các số liệu để tạo điều kiện quản lý nhằm hợp nhất, điều khiển luồngứng dụng
Chúng ta có thể thấy lập lịch là một chức năng quan trọng của WorkflowEngine, nó là phần quan trọng của hệ thống quản lý luồng công việc
2.1.3.Một số hệ thống quản lý luồng công việc hiện tại.
2.1.3.1.Hệ thống quản lý Client- Server
Được sử dụng từ rất sớm của quá trình phát triển hệ thống quản lý côngviệc, client-server một kiến trúc có nhiều ưu điểm cho hệ thống quản lý luồng,kiến trúc này có lợi thế máy khách ít, giám sát và kiểm tra tập trung, đơn giảntrong cơ chế đồng bộ hóa, nhân bản trạng thái xử lý, dễ dàng thiết kế, thựchiện và triển khai luồng công việc Tuy nhiên, mô hình này cũng lộ ra nhữngkhó khăn như hiệu suất thấp, độ tin cậy và khả năng mở rộng thấp
2.1.3.2.Hệ thống quản lý Peer- to- Peer
Điểm quan trọng của kiến trúc này là trong mạng tất cả các máy tham giađều đóng góp tài nguyên, bao gồm băng thông, lưu trữ, và khả năng tính toán
Do đó khi càng có nhiều máy tham gia mạng thì khả năng tổng thể của hệthống mạng càng lớn Ngược với cấu trúc máy chủ-máy khách, nếu số lượngmáy chủ là cố định, thì khi số lượng máy khách tăng lên khả năng chuyển dữliệu cho mỗi máy khách sẽ giảm xuống
Tính chất phân tán của mạng đồng đẳng cũng giúp cho mạng hoạt độngtốt khi một số máy gặp sự cố Đối với cấu trúc tập trung, chỉ cần máy chủ gặp
sự cố thì cả hệ thống sẽ ngưng trệ
Trang 272.1.3.3.Hệ thống quản lý luồng công việc trong điện toán lưới
Công việc quản lý luồng công việc trên điện toán lưới gồm có ba thànhphần [5]
Hình 2.2 Thành phần hệ thống quản lý luồng công việc
Workflow Editor: là giai đoạn đầu của hệ thống, giao diện của nó có thể
dựa trên nền web, giao diện đồ họa hoặc dòng lệnh Nó cho phép người sửdụng đưa vào lưới các thông tin và tham số, yêu cầu tài nguyên để giải quyết
bài toán, workflow editor sẽ tạo ra một tập tin cấu hình thường là xml và gửi
đến tất cả các điểm trên lưới
Admin Console là giao diện kết nối với workflow engine, đó là thành
phần cốt lõi của hệ thống, nó tạo thứ tự để mô tả công việc bằng ngôn ngữ màlưới hiểu được và workflow engine sử dụng mô tả này để thực thi công việc
thông qua WMF, Admin console duy trì thông tin mỗi người dùng, lắng nghe
yêu cầu từ người dùng, thông báo thành công hoặc thất bại của luồng côngviệc và gửi kết quả và lỗi đến người dùng cụ thể
Workflow Management Framework-WMF: là tập hợp các API quản lý
thực thi công việc tại các tài nguyên đầu cuối
Thiết kế hệ thống quản lý công việc gồm có những đặc trưng sau đây:
Trang 28- Tính mềm dẻo: các thành phần được thiết đặt trong thiết kế sao cho tối
thiểu giữa cặp thành phần, có nghĩa dễ dàng thay đổi một thành phần màkhông ảnh hưởng đến các thành phần khác
- Khả năng tương tác: thiết kế lõi của các thành phần dựa trên chuẩn mở
và các thông số kỹ thuật JAVA, XML thường được dùng để lập trình và traođổi dữ liệu trên lưới
- Khả năng mở rộng: cho phép bổ sung nhiều chức năng vào các lớp
trong kiến trúc
2.1.3.4 Hệ thống quản lý luồng công việc trong điện toán đám mây
Trong những năm gần đây, hệ thống quản lý luồng công việc được ứngdụng trong nhiều lĩnh vực khoa học, cung cấp nhiều mô hình khác nhau dựavào cấu trúc, quy trình lập lịch, quản lý lỗi và môi trường dữ liệu Chúng cónhững đặc điểm và phân loại cách tiếp cận khác nhau để xây dựng và thực thiluồng trên đám mây [6]
Lợi ích chuyển từ điện toán lưới sang điện toán đám mây đó là khả năng
mở rộng hệ thống, tài nguyên của đám mây luôn sẵn sàng khi có các ứngdụng yêu cầu Các ứng dụng trong lĩnh vực kỹ thuật sử dụng mô hình luồngcông việc gồm có: quản lý nhiệm vụ, yếu tố dữ liệu, thứ tự điều khiển và độc
lập dữ liệu Hệ thống quản lý luồng công việc chịu trách nhiệm quản lý và
thực thi luồng, xây dựng luồng công việc được thực hiện theo hướng sau:
- Mô tả công việc thông qua giao diện đồ họa hoặc ngôn ngữ riêng
- Tự động hóa dữ liệu xử lý, trao đổi giữa các thành phần
- Nâng cao hiệu năng tính toán bằng cách phân phối tài nguyên và phốihợp chúng
- Quản lý nguồn gốc phát hành và truy vấn
Trang 29Để rõ hơn, ta nghiên cứu mô hình quản lý luồng có tên Cloudbus đượcnghiên cứu tại phòng thí nghiệm trường University of Melbourne mô hìnhnày gồm ba phần chính:
- Giao diện người sử dụng
- Nhân/lõi
- Trình cắm
Giao diện người dùng cho phép làm việc với các thành phần luồng, kếhoạch thực thi luồng, phân quyền và theo dõi thực hiện Thông qua web hoặcứng dụng được cài đặt ở máy người sử dụng đầu cuối, người ta dùng tài liệuxml để xây dựng các thành phần của luồng, người sử dụng định nghĩa tínhchất công việc và liên kết chúng trên cơ sở sự phụ thuộc dữ liệu giữa chúng,các thông tin về luồng được phân tích bởi hệ thống lập lịch công việc, và cácnhiệm vụ được giao để thực thi và giám sát chúng cho đến khi hoàn thành.Các thành phần trong lõi chịu trách nhiệm quản lý thực thi luồng, thôngdịch tài liệu cấu hình do người dùng cung cấp để mô tả nhiệm vụ và các thựcthể dữ liệu
Trình cắm hỗ trợ luồng thực thi trên các môi trường và nền tảng khácnhau, hệ thống đang xét có trình cắm để truy vấn nhiệm vụ và dữ liệu đặctrưng (siêu dữ liệu, tập tin lưu vết, ) truyền dữ liệu đi và đến nguồn tàinguyên (chuyển đổi giao thức, lưu trữ và nhân bản dịch vụ) quản lý trạng tháithực thi của nhiệm vụ và ứng dụng
2.2.Giới thiệu một số phương pháp lập lịch luồng công việc.
Lập lịch luồng công việc là một trong những nhiệm vụ chính của hệthống quản lý luồng công việc trong cả hệ thống lưới và đám mây, nó vạch ra
và quản lý thực thi các nhiệm vụ phụ thuộc tương tác trên tài nguyên phân
Trang 30tán Phân bố thích hợp tài nguyên đến luồng nhiệm vụ, để hoàn thành nhiệm
vụ với sự hài lòng các yêu cầu của người dùng
Một lịch thích hợp có thể có ảnh hưởng lớn đến sự thực hiện của hệthống Tuy nhiên trong trường hợp chung bài toán ánh xạ nhiệm vụ vào tàinguyên thuộc vào lớp các bài toán NP-khó Chưa có thuật toán có thể tối ưugiải pháp trong thời gian đa thức, mặc dầu bài toán lập lịch luồng công việc
có thể giải quyết bằng cách sử dụng phương pháp tìm kiếm vét cạn nhưng độphức tạp của cách giải quyết này là rất lớn Trong môi trường lưới lịch đượctạo ra trong thời gian ngắn nhất có thể, bởi vì có nhiều người sử dụng cần đếntài nguyên
Cho đến nay có hai loại lập lịch công việc chính, đó là phương pháp nỗlực tốt nhất (Best-effort) và ràng buộc chất lượng dịch vụ (QoS constrains),được thực hiện bởi hệ thống quản lý công việc
2.2.1.Các phương pháp nỗ lực tốt nhất.
Phương pháp lập lịch công việc dựa vào nỗ lực tốt nhất là cố gắng hoànthành thực thi nhiệm với thời gian sớm nhất, cũng như thời gian thực thi giữanhiệm vụ đầu tiên và nhiệm cuối cùng trong chuỗi công việc là nhỏ nhất
2.2.1.1 Thuật toán lai
Một luồng công việc có thể biểu diễn bằng một đồ thị có hướng không
có chu trình G=(T,E), trong đó T là tập các đỉnh và E là tập các cung, trọng sốcủa nút ti để biểu thị chi phí tính toán, được kí hiệu w(ti) Mỗi cung (ti,tj) cói<j có trọng số biểu diễn chi phí truyền thông, được kí hiệu là c(ti,tj) Một cặpcạnh với đỉnh có cung đi ra được gọi là nút cha và nút còn lại gọi là nút concủa nó, đỉnh không có cung vào được gọi là nút thu và nút không có cung rađược gọi là nút thoát Các thuật toán được thiết kế theo hai hướng: giải quyếtcác nhiệm vụ độc lập bằng các song song hóa, giải quyết các nhiệm vụ phụ
Trang 31thuộc lẫn nhau trên môi trường tính toán phân tán sao cho thời gian hoànthành các nhiệm vụ phụ thuộc này là sớm nhất dựa trên cơ sở phân tích cácphụ thuộc trên đồ thị DAG-G [7]
Ý tưởng của phương pháp này đề xuất lập lịch trên DAG-G với hệ thốngkhông đồng nhất, trước hết thuật toán thực hiện tính toán giá trị thứ hạng củamỗi nhiệm vụ và sắp xếp tất cả nhiệm vụ theo thứ tự giảm dần theo giá trịhạng của nó, khi thuật toán tạo ra nhóm của các nhiệm vụ độc lập, nó đi xử lýcác nhiệm vụ theo thứ tự và thêm nhiệm vụ đó vào nhóm hiện tại, một lần nótìm thấy nhiệm vụ phụ thuộc vào bất kỳ nhiệm vụ trong nhóm thì nó sẽ tạo ranhóm mới Kết quả là số lượng các nhóm có các nhiệm vụ độc lập được sinh
ra, số nhóm phân chia dựa trên xếp hạng giá trị của nhiệm vụ, nhờ vào cáchphân nhóm này mà hệ thống đưa ra chiến lược lập lịch và song song hóa cáctiến trình
2.2.1.2 Thuật toán TANH
Trước tiên nó đi qua tất cả các nút trong đồ thị để tính toán các tham sốcủa mỗi nút bao gồm cả thời gian bắt đầu sớm nhất và thời gian hoàn thành,thời gian bắt đầu chậm nhất và thời gian hoàn thành, tài nguyên tốt nhất vàcấp độ nhiệm vụ Sau đó thuật toán phân nhóm nhiệm vụ dựa trên nhữngtham số này Các nhiệm vụ trong cùng một nhóm được đề nghị lập lịch trêncùng tài nguyên Nếu số lượng các nhóm lớn hơn số lượng nguồn tài nguyên,thì nó thực hiện giảm các nhóm xuống bằng cách sát nhập một số nhóm lạivới nhau Mặt khác, nó dùng thời gian nhàm rỗi của các tài nguyên để trùnglặp nhiệm vụ và sắp xếp lại nhiệm vụ theo thứ tự để giảm thời gian thực thitổng thể
Trang 322.2.1.3.Thuật toán DCP-G
Cho đồ thị nhiệm vụ, biên dưới và trên của của thời gian bắt đầu sớmnhất và thời gian bắt đầu muộn nhất cho nhiệm vụ được kí hiệu tương ứng làAESTvà ALST Trong thuật toán DCP-G một nhiệm vụ được xem xét là tớihạn nếu AEST và ALST của nó có giá trị bằng nhau Một trong những nhiệm
vụ tới hạn được chọn để lên lịch, sau khi nhận ra nhiệm vụ tới hạn, thuật toánlựa chọn nguồn tài nguyên cung cấp thời gian thực hiện nhiệm vụ nhỏ nhất,phát hiện tài nguyên này bằng cách đi kiểm tra tất cả tài nguyên sẵn dùng màgiảm thiểu thời gian bắt đầu của các nhiệm vụ con tới hạn trên cùng nguồn tàinguyên, ở đây nhiệm vụ con tới hạn là nhiệm vụ có sự khác biệt nhỏ nhấtgiữa AEST và ALST trong tất cả nhiệm vụ tới hạn Cuối cùng nhiệm vụ tớihạn được ánh xạ đến nguồn tài nguyên nào cung cấp thời gian bắt đầu làsớm nhất
2.2.1.4.Thuật toán FCP
Ý tưởng được đưa ra nhằm giảm độ phức tạp trong lập lịch nhiệm vụ,diễn ra trong khi thực hiện bảo trì lập lịch, độ phức tạp này có chiều hướnggiảm xuống bằng cách duy trì cố định kích thước của danh sách được sắp xếpcác nhiệm vụ sẵn sàng, những nhiệm vụ khác được lưu trữ trong danh sáchchưa được sắp xếp kiểu FIFO với thời gian truy xuất O(1), khi một nhiệm vụtrở nên sẵn sàng nó thêm vào danh sách đã được sắp xếp SL nếu còn chỗ đểđiều tiết nhiệm vụ này, nếu không thì đưa vào FIFO Các nhiệm vụ thườngxuyên lấy ra từ SL Sau thao tác lấy ra, nếu danh sách FIFO là không rỗng,một nhiệm vụ được chuyển đến SL Độ phức tạp của sắp xếp nhiệm vụ sửdụng danh sách có kích thước H giảm xuống cỡ O(HlogH) cho tất cả nhiệm
vụ đưa vào và lấy ra trong SL[8]
Trang 33Tuy nhiên, một hạn chế có thể xảy ra khi sử dụng kích thước cố định chodanh sách sắp xếp là nhiệm vụ với ưu tiên cao nhất có thể không chứa trongdanh sách SL, nhưng chứa tạm thời trong danh sách FIFO Vì vậy kích thướccủa danh sách SL đủ lớn để không ảnh hưởng nhiều đến hiệu suất của thuậttoán Đồng thời, nó không quá lớn khi xem xét độ phức tạp thuật toán Kíchthước danh sách chừng P với P là số bộ vi xử lý là lựa chọn tốt cho thuật toánFCP Kích thước bé tỏ ra bất lợi với song song hóa, trong khi kích thước lớnkhông mang lại cải thiện được là bao nhiêu.
2.2.1.5 Thuật toán AGS
Quan điểm quan trọng của thuật toán này là cách tổ chức hồ sơ đặt trước.Thuật toán sẽ khởi tạo sẵn sàng trong trường hợp tất cả nút tính toán là sẵnsàng cho lập lịch công việc Nếu vài nút đã được đặt trước khoảng thời giannhất định bởi chủ nhân nguồn tài nguyên hoặc bởi công việc khác, vốn đãđược bố trí đến các nút tính toán, trong chu kỳ gần nhất của lập lịch, tập tin hồ
sơ sẽ chứa thông tin
Thời gian bắt đầu được định rõ cho mỗi nhiệm vụ, thời gian bắt đầu
được nhận ra bằng thời gian kết thúc xử lý của nút cha sau cùng.
Nút có nút cha sau cùng đã xử lý xong được nhận biết Độ trễ trong chuyển dữ liệu từ nút cha đến nút khác được tính toán và thời gian bắt đầu
thực hiện được cập nhật Nếu nút tính toán là sẵn sàng từ khi cập nhật thờigian bắt đầu của nhiệm vụ đến hết thời gian xử lý nhiệm vụ thì nhiệm vụđược phân bố cho các nút
Tuy nhiên, để thời gian bắt đầu mỗi nút được tính toán lại sau khi ước
lượng độ trễ từ tất cả các nút cha đã xử lý Sử dụng cập nhật thời gian bắt đầu,
thời gian kết thúc của tiến trình cho nút đã tìm thấy Ngoài tất cả nút sẵn sàng,
Trang 34nhiệm vụ được ánh xạ đến các nút tính toán mà thời gian kết thúc là sớm nhất,sau khi ánh xạ hồ sơ được cập nhật.
2.2.1.6 Thuật toán WMM
Mục đích chính thuật toán là đi nhận ra lựa chọn tối ưu với quan tâm đếnyêu cầu chất lượng dịch vụ đưa ra bởi người dùng và nhà cung cấp dịch vụ.Các bước chính được mô tả tóm tắt dưới đây:
(1)Tính toán giá trị hỗ trợ: hướng dẫn để thuật toán hoàn thành, theo đóđịnh nghĩa số liệu về mức độ đặc trưng của chất lượng dịch vụ
(2)Khởi tạo ánh xạ luồng công việc đáp ứng yêu cầu người dùng màkhông vi phạm ràng buộc chi phí
(3)Xác định ứng viên cho mỗi loại dịch vụ, lý do cho bước này là khámphá ra một ứng viên cung cấp chất lượng dịch vụ mức cao cho mỗi loại dịch
vụ trong luồng công việc
(4)Tạo một danh sách với các ứng viên tốt nhất cho mỗi loại dịch vụtheo đó để tìm kiếm khả năng thay thế
(5)Lên kế hoạch cho phép nhiều hơn một thể hiện dịch vụ để chọn ra
mỗi loại dịch vụ và thiết đặt đáp ứng ràng buộc thời gian của người sử dụng
2.2.1.7.AWS
Tư tưởng chính của phương pháp, khi hệ thống lập lịch nhận được côngviệc, nó duyệt qua công việc trong đồ thị biểu diễn công việc DAG-G để tínhgiá trị CCR và số lượng N nhóm tài nguyên, ở đây CCR là tỷ số chi phítruyền thông và tính toán, nó là tỷ số trung bình của chi phí tính toán trên chiphí truyền thông CCR có giá trị lớn trên đồ thị có nghĩa nó có khả năng tínhtoán mạnh Khi hệ thống lập lịch chọn N nhóm tài nguyên có thứ hạng caonhất theo sự nhận biết của nó Lặp lại sự phân chia đồ thị kiểm tra các nút còn
Trang 35lại trong G để nhận ra nút có thể đặt vào G’ Thuật toán đi tìm cung có giá trịtruyền thông lớn nhất mà hai đỉnh của cung chưa được kiểm tra Nếu khôngtồn tại cung như vậy, thì có nghĩa là tất cả các đỉnh chưa kiểm tra là các nút
cô lập của G’ và các nút khác, các nhiệm vụ này sẽ bị nhập vào đồ thị con nếuđược Mặt khác, nếu cung này có thể nhập vào G’, duyệt theo chiều sâu từ haiđỉnh của cạnh này sẽ đưa vào được nhiều nút hơn Mục tiêu của duyệt đồ thị
là hợp nhất nhiều nhiệm vụ có thể đến đồ thị con hiện tại mà không vi phạmràng buộc về giới hạn tài nguyên và thời gian, theo thứ tự ưu tiên trong cácnhiệm vụ để tránh mất kiểm soát không cần thiết mà không thể làm tăng songsong, nhưng có thể làm tăng nhóm truyền thông
Một ngăn xếp được sử dụng để thao tác các nút trong khi duyệt Nếucung này không thể nhập trong G’ dưới ràng buộc, nút có trách nhiệm sẽ đánhdấu ranh giới, với ý nghĩa là một đồ thị con mới được tạo ra Hệ thống lập lịchlặp lại cho đến khi tất cả các nút được ấn định đến nhóm tài nguyên Một khithuật toán kết thúc hệ thống lập lịch sẽ gửi đi mọi đồ thị con để lựa chọnnhóm tài nguyên
2.2.1.8 Thuật toán ASA
ASA đề xuất tìm kiếm trình tự thực hiện thích hợp cho luồng côngviệc bằng cách thêm cân nhắc ràng buộc chỉ định tài nguyên và mô hìnhđộng, thuật toán sử dụng nhiều giai đoạn phân tán để phù hợp với mô hìnhmạng động
Ý tưởng của thuật toán chia quá trình lập lịch ra làm 2 pha: (1) phânvùng logic và (2) phân bổ vật lý Điểm then chốt sau các giai đoạn là giảm bớt
độ phức tạp của bài toán lập lịch Bước phân vùng logic nhận biết phân vùngluồng hoạt động dựa trên cơ sở các giá trị thuộc tính tương tự nhau và phân
bổ vật lý ấn định phân vùng vào tài nguyên bằng cách sử dụng chính sách
Trang 36ràng buộc Trong lúc đó, mạng thay đổi được cân nhắc trong ASA để tạo nênquy trình lập lịch mạnh mẽ và thích nghi.
2.2.1.9 Thuật toán HEFT.
Thuật toán HEFT bao gồm 3 pha: (1) pha trọng số: ấn định trọng số chocác nút và các cung trong luồng công việc; (2) pha sắp xếp: tạo ra danh sáchcông việc và sắp xếp chúng, tổ chức chúng theo thứ tự sao cho nó sẽ đượcthực hiện (3) pha ánh xạ: ánh xạ nhiệm vụ đến tài nguyên
Trong pha 1, trọng số được ấn định đến các nút và cung, trọng số ấn địnhđến nút được tính toán trên cơ sở ước tính thời gian thực thi nhiệm vụ vàtrọng số ấn định tới cung dựa trên ước tính thời gian truyền dữ liệu giữa cáctài nguyên
Pha sắp xếp được thực hiện từ dưới lên trong DAG-G và ấn định giá trịhạng cho mỗi nhiệm vụ Giá trị hạng bằng trọng số của nút cộng thêm thờigian thực hiện của nút kế sau nó, thời gian thực hiện nút kế sau được ướclượng và cho mỗi cung nối nút con, cộng thêm trọng số của nó đến giá trịhạng của nút kế sau và chọn giá trị có tổng lớn nhất
Trong pha ánh xạ, nhiệm vụ tiếp theo từ danh sách xếp hạng được ánh xạđến tài nguyên Với mỗi nhiệm vụ, tài nguyên nào cung cấp thời gian kết thúcsớm nhất thì được lựa chọn
2.2.1.10.Thuật toán GRASP.
Thuật toán GRASP thực hiện lặp lại nhiều lần, mỗi lần lặp nó tạo ra hai(1) pha xây dựng và (2) pha tìm kiếm địa phương
Trong pha xây dựng, danh sách ứng viên hạn chế (RCL) của mỗi nhiệm
vụ sẵn sàng chưa được ánh xạ vào tài nguyên được tạo ra, ở đây nhiệm vụ sẵnsàng là các nhiệm vụ mà tất cả nút cha của nó đã được lập lịch xong RCL