NHỮNG ĐÓNG GÓP MỚI CỦA LUẬN ÁN · Đề xuất các thuật toán lập lịch công việc thời gian thực áp dụng cho lớp các bài toán song song trên tính toán đám mây. Chúng tôi phát triển thêm tham số chi phí và kết hợp với xử lý song song để đưa ra lịch trình tối ưu về chi phí và thời gian cho các yêu cầu người dùng. · Xây dựng mô hình và bài toán lập lịch công việc trên nhà cung cấp PaaS theo hướng tối ưu đa mục tiêu dựa trên hai heuristic ACO và PSO. · Luận án kết hợp kỹ thuật xử lý song song, heuristic ACO và heuristic PSO để xây dựng công thức tính hàm cực tiểu, thông tin heuristic và xác xuất của mỗi con kiến; xây dựng hàm thích nghi, vị trí tối ưu cục bộ của mỗi cá thể và vị trí tối ưu toàn cục của cả bầy đàn. Trên cơ sở đó, chúng tôi xây dựng bài toán và đề xuất các thuật toán kiểm soát đầu vào và lập lịch theo hướng tối ưu đa mục tiêu về chi phí và thời gian cho nhà cung cấp SaaS và người dùng
Trang 1NGUYỄN HOÀNG HÀ
NGHIÊN CỨU MỘT SỐ VẤN ĐỀ LẬP LỊCH TRÊN
MÔI TRƯỜNG TÍNH TOÁN ĐÁM MÂY
LUẬN ÁN TIẾN SĨ KHOA HỌC MÁY TÍNH
HUẾ - NĂM 2016
Trang 2Lời cam đoan i
Chương 1 Tổng quan về các vấn đề lập lịch trên tính toán đám mây 5
1.1 Tổng quan về tính toán đám mây 5
1.1.1 Giới thiệu 5
1.1.2 Đặc điểm của tính toán đám mây 7
1.1.3 Kiến trúc của tính toán đám mây 8
1.1.4 Các mô hình trên tính toán đám mây 8
1.1.5 Các thách thức trên tính toán đám mây 10
1.2 Công cụ mô phỏng trên tính toán đám mây 11
1.2.1 Giới thiệu 11
1.2.2 Một số công cụ mô phỏng trên tính toán đám mây 11
1.2.3 Công cụ mô phỏng CloudSim 12
1.3 Bài toán lập lịch trên tính toán đám mây 15
1.3.1 Giới thiệu 15
1.3.2 Mô hình tổng quát để lập lịch trên các trung tâm dữ liệu 16
1.3.3 Sự khác nhau giữa lập lịch trên TTĐM so với các hệ thống khác 18 1.3.4 Các phương pháp lập lịch 19
1.3.5 Mô hình kinh tế cho bài toán lập lịch 20
1.4 Các nghiên cứu liên quan đến lập lịch trên tính toán đám mây 24
1.4.1 Lập lịch tĩnh và động 24
1.4.2 Lập lịch heuristic 25
1.4.3 Lập lịch luồng công việc 26
1.4.4 Lập lịch công việc thời gian thực 27
1.5 Mục tiêu và nội dung của luận án 28
1.6 Tiểu kết Chương 1 29
Chương 2 Lập lịch công việc thời gian thực trong tính toán đám mây 30 2.1 Mô hình lập lịch truyền thống 30
2.1.1 Mô hình các máy tham gia lập lịch 31
2.1.2 Mô hình công việc 31
2.1.3 Mô tả mục tiêu của bài toán 32
Trang 32.2 Mô hình lập lịch công việc thời gian thực 32
2.2.1 Mô tả bài toán 33
2.2.2 Mô hình toán học cho bài toán 35
2.2.3 Mục tiêu tối ưu về chi phí 37
2.2.4 Mục tiêu tối ưu về thời gian 37
2.3 Mô hình tối ưu về kinh tế 37
2.4 Thuật toán lập lịch trên hệ thống thời gian thực 39
2.4.1 Thuật toán lập lịch tối ưu về thời gian 39
2.4.1.1 Thuật toán CT O 40
2.4.1.2 Thuật toán M IN C 43
2.4.1.3 Phân tích thuật toán CT O và M IN C 45
2.4.1.4 Mô phỏng và đánh giá thuật toán 46
2.4.2 Thuật toán lập lịch tối ưu về chi phí 50
2.4.2.1 Thuật toán T CO 51
2.4.2.2 Mô phỏng và đánh giá thuật toán 53
2.5 Tiểu kết Chương 2 56
Chương 3 Lập lịch công việc theo hướng tối ưu đa mục tiêu trong tính toán đám mây 58 3.1 Mô hình lập lịch theo hướng tối ưu đa mục tiêu 58
3.1.1 Mô hình người dùng 59
3.1.2 Mô hình nhà cung cấp IaaS 60
3.1.3 Mô hình nhà cung cấp SaaS 61
3.1.4 Mô hình nhà cung cấp PaaS 61
3.2 Xây dựng bài toán theo hướng tối ưu đa mục tiêu 63
3.2.1 Tối ưu hóa đàn kiến (ACO) 64
3.2.2 Tối ưu hóa bầy đàn (P SO) 68
3.3 Thuật toán lập lịch tối ưu đa mục tiêu dựa trên ACO 73
3.3.1 Phát biểu bài toán 73
3.3.2 Thuật toán lập lịch tối ưu đa mục tiêu về chi phí 74
3.3.2.1 Thuật toán ACACO 74
3.3.2.2 Thuật toán M prof it 76
3.3.2.3 Phân tích thuật toán ACACO và M prof it 77
3.3.2.4 Mô phỏng và đánh giá thuật toán 78
3.3.3 Thuật toán lập lịch tối ưu đa mục tiêu về thời gian 83
3.3.3.1 Thuật toán ACT ACO 84
3.3.3.2 Áp dụng thuật toán M prof it 85
3.3.3.3 Mô phỏng và đánh giá thuật toán 85
3.4 Thuật toán lập lịch tối ưu đa mục tiêu dựa trên P SO 88
3.4.1 Phát biểu bài toán 89
3.4.2 Thuật toán tối ưu ACP SO 89
Trang 43.4.2.1 Thuật toán ACP SO 90
3.4.2.2 Áp dụng thuật toán M prof it 91
3.4.2.3 Phân tích thuật toán ACP SO 91
3.4.2.4 Mô phỏng và đánh giá thuật toán 92
3.5 Tiểu kết Chương 3 95
Danh mục các công trình khoa học của tác giả liên quan đến luận án 99
Trang 5DANH MỤC CÁC TỪ VIẾT TẮT
ACACO Admission Control by using ACO Kiểm soát đầu vào bằng cách sử
dụng ACOACO Ant Colony Optimization Tối ưu hóa đàn kiến
ACPSO Admission Control by using PSO Kiểm soát đầu vào bằng cách sử
dụng PSOAPI Application Programming Inter-
face
Giao diện lập trình ứng dụng
CIS Cloud Information Services Các dịch vụ thông tin trên đám
mâyCTO Cost-Time Optimization Tối ưu về thời gian và chi phíEDF Earliest Deadline First Ưu tiên về thời hạn sớm nhất
GIS Geographical Information System Hệ thống thông tin địa lý
IaaS Infrastructure as a Service Cơ sở hạ tầng như một dịch vụMCT Minimum Completion Time Thời gian hoàn thành nhỏ nhấtMET Minimum Execution Time Thời gian thực hiện nhỏ nhất
MIPS Million Instructions Per Second Triệu chỉ thị trên một giâyMprofit Maximum Profit Lợi nhuận lớn nhất
OLB Opportunistic Load Balancing Cân bằng tải cơ hội
PaaS Platform as a Service Nền tảng như một dịch vụ
PSO Particle Swarm Optimization Tối ưu hóa bầy đàn
QoS Quality of Service Chất lượng dịch vụ
SaaS Software as a Service Phần mềm như một dịch vụSLA Service Level Agreement Thỏa thuận dịch vụ
TCO Time-Cost Optimization Tối ưu về chi phí và thời gianTSP Travelling Salesman Problem Bài toán người du lịch
Trang 6DANH MỤC CÁC KÝ HIỆU
T Tập các yêu cầu người dùng
X Tập các nhà cung cấp tài nguyên trên IaaS
Cmin Mục tiêu chi phí nhỏ nhất
Tmin Mục tiêu thời gian thực hiện nhỏ nhất
τ Mùi để lại của các con kiến
pos Vị trí của mỗi cá thể
fcost(ti) Hàm mục tiêu về chi phí cho yêu cầu ti
ftime(ti) Hàm mục tiêu về thời gian cho yêu cầu ti
Fcost(pos) Hàm thích nghi về chi phí tại vị trí pos
Ftime(pos) Hàm thích nghi về thời gian tại vị trí pos
Scost(x) Hàm tính tổng chi phí tại phút thứ x
Scycle(x) Hàm tính tổng chu kỳ thực hiện tại phút thứ x
P best Vị trí tối ưu cục bộ
Gbest Vị trí tối ưu toàn cục
vmjx Máy ảo thứ j của nhà cung cấp x
Trang 7DANH MỤC BẢNG BIỂU
2.1 Chi phí và tốc độ ban đầu của các tài nguyên 412.2 Chi phí và tốc độ của các tài nguyên sau khi phân nhóm theo tốc độ 412.3 Chi phí và tốc độ của các tài nguyên sau khi sắp xếp theo chi phí 412.4 Mảng kết quả xác định số lượng tài nguyên cho mỗi yêu cầu của CT O 432.5 Các thông số mô phỏng trên CloudSim 472.6 Chi phí và tốc độ ban đầu của các tài nguyên 522.7 Chi phí và tốc độ của các tài nguyên khi phân nhóm theo chi phí 522.8 Chi phí và tốc độ của các tài nguyên sau khi sắp xếp theo tốc độ 522.9 Mảng kết quả được đưa ra bởi thuật toán T CO 53
Trang 8DANH MỤC HÌNH VẼ
1.1 Mối quan hệ giữa các hệ thống phân tán với TTĐM 6
1.2 Kiến trúc của TTĐM 8
1.3 Biểu đồ lớp trong CloudSim 13
1.4 Mô hình lập lịch trên CloudSim 15
1.5 Mô hình hệ thống để lập lịch trên TTĐM 17
1.6 Các phương pháp lập lịch 20
2.1 Ánh xạ đồng thời t1 và t2 vào tài nguyên r1 và r3 35
2.2 Ánh xạ đồng thời t1 và t2 vào tài nguyên r1 và r2 35
2.3 So sánh tổng thời gian của 3 thuật toán khi thay đổi số yêu cầu 48
2.4 So sánh tổng chi phí của 3 thuật toán khi thay đổi số yêu cầu 48
2.5 So sánh tổng thời gian thực hiện của 3 thuật toán khi thay đổi ρ 50
2.6 So sánh tổng chi phí của 3 thuật toán khi thay đổi ρ 50
2.7 So sánh tổng chi phí của 3 thuật toán khi thay đổi số yêu cầu 54
2.8 So sánh tổng thời gian của 3 thuật toán khi thay đổi số yêu cầu 54
2.9 So sánh tổng chi phí của 3 thuật toán khi thay đổi ρ 55
2.10 So sánh tổng thời gian thực hiện của 3 thuật toán khi thay đổi ρ 56
3.1 Mô hình tổng quát của các thành phần trong TTĐM 59
3.2 Mô hình tổng quát của thuật toán ACO 65
3.3 Minh họa P SO 69
3.4 Thuật toán P SO 70
3.5 Tổng chi phí của các thuật toán khi cố định số lượng yêu cầu 80
3.6 Tổng số yêu cầu bị phạt của các thuật toán khi cố định số lượng yêu cầu 81 3.7 Tổng yêu cầu bị phạt của các thuật toán khi thay đổi số lượng yêu cầu 81 3.8 Tổng chi phí của các thuật toán khi thay đổi số lượng yêu cầu 82
3.9 Tổng chi phí của các thuật toán khi thay đổi số lượng máy ảo 82
3.10 Tổng thời gian của các thuật toán khi thay đổi số lượng máy ảo 83
3.11 So sánh tổng thời gian của 4 thuật toán khi cố định số yêu cầu 86
3.12 So sánh tổng chi phí của 4 thuật toán khi cố định số yêu cầu 86
3.13 So sánh tổng số yêu cầu bị phạt của 3 thuật toán khi cố định số yêu cầu 87 3.14 So sánh tổng thời gian của các thuật toán khi thay đổi số yêu cầu 88
3.15 Tổng chi phí của các thuật toán khi thay đổi số yêu cầu 88
3.16 So sánh tổng số yêu cầu bị phạt khi thay đổi số yêu cầu 89
3.17 Tổng chi phí của các thuật toán khi cố định số yêu cầu 93
3.18 Tổng lợi nhuận của các thuật toán khi cố định số yêu cầu 93
3.19 Tổng chi phí của các thuật toán khi thay đổi số yêu cầu 94
3.20 Tổng lợi nhuận của các thuật toán khi thay đổi số yêu cầu 95
Trang 9• Thứ nhất: nâng cấp cơ sở hạ tầng để tính toán như mua thêm máy chủ,máy trạm, siêu máy tính, các phần mềm cài trên các thiết bị, v.v Rõ ràngcách này cần đầu tư một chi phí lớn và tốn nhiều nguồn nhân lực để điềuhành các hệ thống này.
• Thứ hai: tận dụng nguồn tài nguyên nhàn rỗi trong các tổ chức hoặc thuêcác nguồn tài nguyên từ bên ngoài Cách giải quyết thứ hai này chính làmục tiêu của TTĐM TTĐM xem phần cứng, phần mềm như là các dịch
vụ, thông qua Internet người dùng có thể chia sẻ tài nguyên (đám mây cộngđồng) hoặc thuê tài nguyên thông qua các dịch vụ và trả tiền khi sử dụng(đám mây công cộng) Việc sử dụng dịch vụ của TTĐM giống như dùngdịch vụ của lưới điện, người dùng cứ cắm điện vào dùng và trả tiền theo số
KW tiêu thụ Chính các công nghệ mạng và truyền thông phát triển mạnh
mẽ trong những năm qua đã giúp cho việc sử dụng dịch vụ trên TTĐMdần trở thành hiện thực
TTĐM là sự phát triển của tính toán phân tán, vì vậy nó gặp phải nhiềuthách thức lớn cần phải giải quyết Hiện nay, ngày càng có nhiều nhà cung cấpdịch vụ trên TTĐM, mỗi nhà cung cấp có chính sách quản lý tài nguyên khácnhau Các tài nguyên này rất đa dạng, không đồng nhất và khác nhau về mặtkiến trúc, giao diện, khả năng xử lý, v.v Sử dụng hiệu quả các nguồn tài nguyên
Trang 10này hoàn toàn không dễ dàng Tại mỗi thời điểm có thể có rất nhiều người dùngyêu cầu dịch vụ trên TTĐM, mỗi người dùng có các yêu cầu về ràng buộc khácnhau Vì vậy, làm sao để đưa ra một lịch trình tối ưu cho người dùng và đem lạilợi ích lớn nhất cho nhà cung cấp là một thách thức lớn cần phải giải quyết.Bài toán lập lịch trên TTĐM phức tạp hơn nhiều so với bài toán lập lịchtruyền thống vì việc lập lịch trên TTĐM phải xét trong môi trường phân tán,động, các tài nguyên từ nhiều nhà cung cấp khác nhau, các yêu cầu của ngườidùng có các ràng buộc chất lượng dịch vụ khác nhau, v.v Mô hình ứng dụngtrong TTĐM cũng đa dạng hơn rất nhiều so với các mô hình tính toán truyềnthống, do đó phải nghiên cứu những thuật toán cụ thể để đáp ứng nhu cầu chonhững dạng ứng dụng cụ thể Chính vì vậy, bài toán kiểm soát đầu vào và lậplịch cho yêu cầu người dùng trên TTĐM là một bài toán khó, chúng ta phải tìm
ra các thuật toán tối ưu để giải quyết các bài toán này
Các nghiên cứu trước đây chủ yếu nghiên cứu lập lịch công việc theo hướnghiệu năng về hệ thống, nhằm mục đích tận dụng tối đa hiệu năng của hệ thống,giảm thiểu thời gian hoạt động Trên TTĐM, các nhà nghiên cứu tập trungnghiên cứu lập lịch công việc theo hướng hiệu năng về kinh tế Mục tiêu củahướng này nhằm đem lại lợi nhuận cho nhà cung cấp, thời gian thực hiện nhỏnhất cho người dùng đồng thời phải thỏa mãn các ràng buộc đặt ra của nhà cungcấp và người dùng Các thuật toán lập lịch trên TTĐM thường là các thuật toánlập lịch động Vì vậy, làm sao tối ưu thời gian đưa ra lịch trình là vấn đề mà cácnhà khoa học hiện nay đang quan tâm và nghiên cứu
Xuất phát từ việc tìm hiểu, nghiên cứu các đặc điểm và các thách thức vềcác vấn đề lập lịch trên TTĐM, chúng tôi chọn đề tài “Nghiên cứu một sốvấn đề lập lịch trên môi trường tính toán đám mây”
2 Đối tượng và phạm vi nghiên cứu
TTĐM là môi trường có qui mô hoạt động rất lớn, bao gồm các tác nhân và
hệ thống lập lịch Các tác nhân bao gồm người dùng, nhà cung cấp SaaS, nhàcung cấp PaaS và nhà cung cấp IaaS, mỗi tác nhân có các chức năng và nhiệm
vụ khác nhau Hệ thống lập lịch bao gồm các chức năng ở mức ứng dụng và mứcnền tảng Luận án tập trung nghiên cứu mô hình của nhà cung cấp PaaS và xâydựng các thuật toán kiểm soát đầu vào và lập lịch ở mức nền tảng
3 Phương pháp nghiên cứu
Chúng tôi tập trung tiếp cận trên một số phương pháp chính:
• Phương pháp tổng hợp và mô hình hóa: tìm kiếm, thu thập tài liệu
Trang 11về các công trình nghiên cứu đã được công bố, các bài báo đăng ở các hộithảo và tạp chí lớn để xây dựng mô hình toán học cho các thành phần trênTTĐM.
• Phương pháp hệ thống hóa: dựa trên mô hình toán học của các thànhphần trên TTĐM và các ràng buộc của người dùng để xây dựng bài toán
Từ đó, đề xuất các thuật toán lập lịch công việc thời gian thực và các thuậttoán tối ưu đa mục tiêu nhằm thỏa mãn mục tiêu cụ thể của người dùng
và nhà cung cấp dịch vụ
• Phương pháp thực nghiệm khoa học: sử dụng công cụ CloudSim đểcài đặt mô phỏng, phân tích và đánh giá các thuật toán đề xuất với cácthuật toán đã công bố
4 Ý nghĩa khoa học và thực tiễn
Ý nghĩa khoa học
Những đóng góp chính của luận án về khoa học:
• Đề xuất các thuật toán lập lịch công việc thời gian thực áp dụng cho lớpcác bài toán song song trên TTĐM Luận án đưa thêm tham số chi phí, kếthợp việc phân nhóm tài nguyên và xử lý song song để đưa ra lịch trình tối
ưu về chi phí và thời gian cho các yêu cầu người dùng
• Xây dựng mô hình toán học cho nhà cung cấp PaaS và đề xuất các thuậttoán kiểm soát đầu vào và lập lịch theo hướng tối ưu đa mục tiêu trênTTĐM Áp dụng 2 heuristic ACO và PSO, luận án xây dựng công thức đểtính thông tin heuristic và xác xuất của mỗi con kiến; xây dựng hàm thíchnghi, vị trí tối ưu cục bộ của mỗi cá thể và vị trí tối ưu toàn cục của cảbầy đàn Từ đó, xây dựng bài toán và đề xuất các thuật toán kiểm soátđầu vào và lập lịch theo hướng tối ưu đa mục tiêu về chi phí và thời gian
Ý nghĩa thực tiễn
• Kết quả nghiên cứu nếu được áp dụng trên thực tế sẽ đem lại lợi nhuận chonhà cung cấp SaaS, tổng thời gian thực hiện thấp và thỏa mãn các ràngbuộc QoS của người dùng
• Luận án có thể được sử dụng làm tài liệu tham khảo cho các sinh viên đạihọc và học viên cao học ngành công nghệ thông tin thực hiện đề tài về lậplịch công việc trong hệ phân tán và nghiên cứu các heuristic về bầy đàn
5 Bố cục của luận án
Trang 12Ngoài phần mở đầu và kết luận, luận án được chia thành 3 chương:
• Chương 1: tổng quan về các vấn đề lập lịch trên tính toán đám mây Trìnhbày tổng quan về các vấn đề liên quan mật thiết đến luận án như tổng quan
về TTĐM, các công cụ mô phỏng, phân tích và đánh giá các công trìnhnghiên cứu về bài toán lập lịch cũng như các loại lập lịch trên TTĐM Từ
đó, xác định mục tiêu và nội dung nghiên cứu của luận án
• Chương 2: lập lịch công việc thời gian thực trong tính toán đám mây.Chương này tập trung xây dựng mô hình cho bài toán lập lịch công việcthời gian thực áp dụng cho lớp bài toán song song Sau đó, xây dựng cácthuật toán lập lịch công việc thời gian thực và sử dụng công cụ mô phỏngCloudSim để cài đặt, phân tích và so sánh với các thuật toán lập lịch EDFhiện có
• Chương 3: lập lịch công việc theo hướng tối ưu đa mục tiêu trong tính toánđám mây Chương này xây dựng mô hình và bài toán lập lịch công việc việctheo hướng tối ưu đa mục tiêu Sau đó, xây dựng các thuật toán lập lịch và
sử dụng công cụ mô phỏng CloudSim để cài đặt, phân tích và so sánh vớicác thuật toán lập lịch khác
Các kết quả của luận án được công bố trong 8 công trình khoa học được đăngtrong các hội nghị và tạp chí chuyên ngành trong và ngoài nước Trong đó có 02 bàiđăng trong kỷ yếu hội thảo quốc gia, 01 bài đăng ở hội thảo quốc tế, 02 bài đăng ởtập chí Khoa học và Công nghệ, 03 bài đăng ở các tạp chí chuyên ngành
Trang 13CHƯƠNG 1.
TỔNG QUAN VỀ CÁC VẤN ĐỀ LẬP LỊCH
TRÊN TÍNH TOÁN ĐÁM MÂY
1.1 Tổng quan về tính toán đám mây
1.1.1 Giới thiệu
Tính toán đám mây (TTĐM) là sự phát triển của tính toán phân tán, tính toánsong song và tính toán lưới [50] Tùy theo mục đích sử dụng mà hiện nay có nhiềuđịnh nghĩa khác nhau về TTĐM
Đứng về khía cạnh người dùng: “TTĐM là môi trường tính toán dựa trên Internet
mà ở đó tất cả phần cứng, phần mềm, dữ liệu (gọi chung là tài nguyên) được cung cấpcho người dùng theo nhu cầu (tương tự như mạng điện).”
Đứng về khía cạnh khoa học kỹ thuật, Rajkumar Buyya và Ian Foster định nghĩaTTĐM như sau:
• Theo Rajkumar Buyya: “TTĐM là một loại hệ thống phân tán và xử lý songsong gồm các máy tính ảo kết nối với nhau và được cung cấp động cho ngườidùng như một hoặc nhiều tài nguyên đồng nhất dựa trên sự thỏa thuận dịch vụgiữa nhà cung cấp và người sử dụng.”
• Theo Ian Foster: “TTĐM là một mô hình tính toán phân tán có tính co giãnlớn mà theo hướng co giãn về mặt kinh tế, là nơi chứa cá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à co giãn linhđộng, sẽ được phân phối theo nhu cầu cho các khách hàng bên ngoài thông quaInternet.”
Cả hai định nghĩa của Rajkumar Buyya và Ian Foster đều định nghĩa TTĐM làmột hệ phân tán, cung cấp các dạng tài nguyên ảo dưới dạng các dịch vụ theo nhucầu của người dùng trên môi trường Internet
TTĐM khác với mô hình truyền thống ở một số điểm:
• Khả năng mở rộng rất lớn
Trang 14• Nó được phát triển trên mô hình kinh tế.
• Các dịch vụ có thể được cấu hình một cách tự động (thông qua ảo hóa hoặcphương pháp khác) và phân phối các dịch vụ theo yêu cầu của người dùng
Về lịch sử phát triển, TTĐM phát triển từ tính toán lưới kết hợp với Web 2.0 nhưthể hiện ở Hình 1.1 Vào thập niên 60, siêu máy tính bắt đầu xuất hiện và phát triểnrất nhanh chóng Khi mạng bắt đầu phát triển và để tiết kiệm chi phí, tăng khả năngtính toán người ta nối các máy tính lại với nhau và tạo ra các cụm máy tính Cụm máytính thương mại đầu tiên ra đời năm 1977 có tên là ARC Cho đến những năm 1990,Ian Foster và Carl Kesselman mới đưa ra khái niệm tính toán lưới Tính toán lướiphát triển mạnh nhất từ năm 2001 đến 2008, trong khoảng thời gian này các dự ánlớn ra đời và áp dụng rất rộng rãi ngoài thực tế như TeraGrid(2001), Gid5000(2003),EGEE(2004), BeinGRID(2006),v.v
Hình 1.1: Mối quan hệ giữa các hệ thống phân tán với TTĐM
Thuật ngữ TTĐM ra đời giữa những năm 2007 không phải để nói về một trào lưumới, mà để khái quát lại các hướng đi của cơ sở hạ tầng thông tin vốn đã và đang diễn
ra từ nhiều thập kỷ qua Ian Foster cho rằng việc sử dụng TTĐM giống như mạng lướiđiện, nơi người dùng có thể cắm vào lưới điện, sử dụng dịch vụ và trả tiền theo KW
Trang 15số tiêu thụ Salesfore là công ty đầu tiên phát triển ứng dụng trên môi trường TTĐM.Sau đó, cùng với sự phát triển mạnh mẻ của Web 2.0, ngày nay có rất nhiều công
ty phát triển ứng dụng trên môi trường này như Amazon (2006), IBM Blue Cloud(2007), Google App Engine (2008), Sun Open Cloud (2009), Hp Service Automation(2010), Open Networking Foundation (2011), v.v
1.1.2 Đặc điểm của tính toán đám mây
Các dịch vụ cung cấp trên TTĐM có những đặc điểm chung như sau [1], [12]:
• Giá rẻ: cơ sở hạ tầng được cung cấp bởi các nhà cung cấp trên TTĐM Vì vậy,các doanh nghiệp không cần đầu tư, xây dựng cơ sở hạ tầng, thay vào đó họ chỉcần thuê tài nguyên trên các trung tâm dữ liệu
• Khả năng co giãn: khả năng này cho phép tự động mở rộng hoặc thu nhỏ hệthống tùy theo nhu cầu của người dùng Khi nhu cầu tăng, hệ thống sẽ tự động
mở rộng bằng cách thêm tài nguyên vào Khi nhu cầu giảm, hệ thống sẽ tự độnggiảm bớt tài nguyên Khả năng co giãn giúp cho nhà cung cấp sử dụng tài nguyênmột cách hiệu quả, tận dụng triệt để tài nguyên dư thừa và phục vụ được nhiềukhách hàng Đối với người sử dụng dịch vụ, khả năng co giãn giúp họ giảm chiphí vì họ chỉ trả phí cho những tài nguyên thực sự dùng
• Độ tin cậy: số lượng tài nguyên trên các trung tâm dữ liệu là rất lớn Vì vậy,đảm bảo tính liên tục trong kinh doanh và khôi phục dữ liệu khi gặp thất bại
• Dùng chung tài nguyên và độc lập vị trí: tài nguyên của nhà cung cấp dịch vụđược dùng chung, phục vụ cho nhiều người dùng Người sử dụng không cần quantâm tới việc cài đặt hoặc không cần phải biết chính xác vị trí của các tài nguyên
sẽ được cung cấp
• Ảo hóa: nhờ có công nghệ ảo hóa mà có nhiều nguồn tài nguyên có thể kết hợp
và cung cấp cho người dùng Người dùng có thể xây dựng một ứng dụng mớitrong vài phút thay vì vài ngày hay vài tuần Người dùng truy cập vào các nguồntài nguyên thông qua cổng thông tin và đưa vào sử dụng ngay lập tức
• Truy cập diện rộng: TTĐM cung cấp các dịch vụ chạy trên môi trường Internet,
vì vậy khách hàng chỉ cần kết nối được với Internet là có thể sử dụng được cácdịch vụ
• Dùng bao nhiêu trả bấy nhiêu: người dùng có thể sử dụng dịch vụ theo yêu cầu
và trả phí khi sử dụng Người dùng có thể hủy dịch vụ khi cần
Trang 16• Độc lập thiết bị: người sử dụng có thể sử dụng các dịch vụ bằng nhiều loại thiết
bị khác nhau như: laptop, smartphone, tablet, v.v với điều kiện là các thiết bịkết nối được mạng Internet
• Nhiều người thuê: tài nguyên trong hệ thống có thể được chia sẻ để nhiều người
sử dụng Tại một thời điểm sẽ có nhiều người sử dụng tài nguyên một cách đồngthời và nhà cung cấp sẽ được lợi về mức đầu tư hệ thống còn người sử dụng sẽđược thừa hưởng những hạ tầng tính toán hiệu năng cao
1.1.3 Kiến trúc của tính toán đám mây
Kiến trúc TTĐM được Ian Foster [25] chia thành 4 tầng như Hình 1.2
• Tầng nền tảng (Platform Layer): cung cấp các thông tin tài nguyên, các công cụchuyên dụng, các middleware và các dịch vụ để xây dựng, phát triển hay triểnkhai một ứng dụng của người dùng Ví dụ như dịch vụ lập lịch, dịch vụ Webhosting, v.v
• Tầng ứng dụng (Application Layer): chứa các ứng dụng có thể chạy trên TTĐM
Nó cung cấp các tài nguyên phần mềm khi người dùng có yêu cầu
1.1.4 Các mô hình trên tính toán đám mây
Theo NIST [58], TTĐM bao gồm 3 mô hình dịch vụ và 4 mô hình triển khai Ba
mô hình dịch vụ bao gồm:
Trang 17• SaaS (Software as a Service): là mô hình cung cấp phần mềm, trong đó các ứngdụng được truy cập bởi một giao diện đơn giản, chẳng hạn như một trình duyệtweb trên Internet Người sử dụng không quan tâm đến cơ sở hạ tầng trên TTĐMnhư mạng, máy chủ, hệ thống điều hành, lưu trữ, nền tảng, v.v
• PaaS (Platform as a Service): là mô hình cung cấp một môi trường tích hợp ởmức cao để xây dựng, kiểm tra, triển khai và tạo máy chủ cho khách hàng
• IaaS (Infrastructure as a Service): là mô hình cung cấp khả năng xử lý, lưu trữ,mạng và các tài nguyên tính toán cơ bản khác cho người dùng Người sử dụngIaaS có thể triển khai ứng dụng, phần mềm, hệ điều hành trên cơ sở hạ tầngmột cách tùy ý Các cơ sở hạ tầng trên TTĐM được ảo hóa một cách linh hoạt
để đáp ứng yêu cầu của người dùng
TTĐM được triển khai trên các mô hình khác nhau, tùy thuộc vào phạm vi sửdụng của các tổ chức Hiện nay, có 4 mô hình triển khai chính trên TTĐM như sau:
• Đám mây công cộng (Public Cloud): cơ sở hạ tầng của TTĐM được một tổ chức
sỡ hữu và cung cấp dịch vụ rộng rãi cho tất cả các khách hàng thông qua hạtầng mạng Internet hoặc các mạng công cộng diện rộng Các ứng dụng khácnhau chia sẻ chung tài nguyên tính toán, mạng và lưu trữ Do vậy, cơ sở hạ tầngđược thiết kế để đảm bảo cô lập về dữ liệu giữa các khách hàng và tách biệt vềtruy cập
• Đám mây riêng (Private Cloud): cơ sở hạ tầng của TTĐM được sở hữu bởi một
tổ chức và phục vụ cho người dùng của tổ chức đó Đám mây riêng có thể đượcvận hành bởi một bên thứ ba và hạ tầng đám mây có thể được đặt bên tronghoặc bên ngoài tổ chức sở hữu Với mô hình đám mây riêng, các doanh nghiệp
có thể tối ưu được cơ sở hạ tầng của mình, nâng cao hiệu quả sử dụng và trựctiếp quản lý việc cấp phát hoặc thu hồi tài nguyên
• Đám mây cộng đồng (Community Cloud): cơ sở hạ tầng đám mây được chia sẻbởi một số tổ chức cho cộng đồng người dùng Các tổ chức này chia sẻ chungmột hạ tầng TTĐM để nâng cao hiệu quả đầu tư và sử dụng
• Đám mây lai (Hybrid Cloud): là mô hình kết hợp với đám mây công cộng vàđám mây riêng Mô hình đám mây lai cho phép chia sẻ cơ sở hạ tầng hoặc đápứng nhu cầu trao đổi dữ liệu
Trang 181.1.5 Các thách thức trên tính toán đám mây
Bên cạnh những lợi ích to lớn, TTĐM hiện nay gặp một số thách thức về bảo mật,tính riêng tư, lập lịch công việc, tắt nghẽn mạng [78], [70]
TTĐM là môi trường khá mới mẻ, vì vậy gặp phải một số khó khăn về bảo mậtnhư sau:
• Làm sao duy trì được việc bảo mật được ở tất cả các mức (dữ liệu, ứng dụng,mạng)
• Làm thế nào để có thể xác định bản quyền về trí tuệ cho những sản phẩm côngnghệ được lưu hành trên Internet
• Khó khăn trong việc đảm bảo tính riêng tư về dữ liệu
Lập lịch công việc là một khía cạnh rất quan trọng trong TTĐM Tài nguyên trongmôi trường này được cung cấp bởi nhiều nhà cung cấp Mỗi nhà cung cấp có thể cungcấp một số lượng lớn các tài nguyên, các tài nguyên này được chia sẻ cho nhiều ngườidùng với các ràng buộc chất lượng dịch vụ khác nhau Vì vậy, khi lập lịch công việctrên TTĐM gặp phải một số thách thức sau:
• Chính sách lập lịch: tìm ra chính sách lập lịch hợp lý để tận dụng một cách hiệuquả các nguồn tài nguyên, nhằm mục tiêu đảm bảo lợi ích cho người dùng cũngnhư nhà cung cấp Với số lượng tài nguyên rất lớn trên TTĐM thì làm sao đểchọn tài nguyên tốt nhất về chi phí và thời gian thực hiện nhưng vẫn thỏa mãnràng buộc QoS (Quality of Service) cho người dùng và đem lại lợi ích lớn nhấtcho nhà cung cấp dịch vụ
• Trong suốt quá trình lập lịch công việc trên TTĐM thường phải xem xét cácràng buộc về QoS của người dùng như ngân sách (budget) và thời hạn (deadline)
Vì vậy, làm thế nào để kết hợp giữa việc sử dụng QoS vào chính sách lập lịch đểtối ưu một hoặc cả hai ràng buộc Tối ưu cả thời hạn và ngân sách là bài toán
có thời gian đưa ra lịch trình lớn, do đó làm thế nào để tối ưu thời gian đưa ralịch trình là một thách thức lớn trong lập lịch
TTĐM cung cấp dịch vụ thông qua Internet, vấn đề đặt ra là làm sao để tránhnghẽn mạng khi lượng dữ liệu lưu thông và lượng khách hàng lớn?
Trên đây là thách thức rất lớn cho các nhà cung cấp dịch vụ trên TTĐM và mởcác chủ đề mới cần nghiên cứu trên TTĐM
Trang 191.2 Công cụ mô phỏng trên tính toán đám mây
1.2.1 Giới thiệu
Ngày nay, hầu hết các tổ chức tập trung vào việc áp dụng mô hình TTĐM để họ
có thể cắt giảm chi phí đầu tư và chi phí vận hành hệ thống Đó là lý do chính để các
tổ chức áp dụng TTĐM trong mô hình kinh doanh của mình
Một số dịch vụ ứng dụng trên TTĐM có các yêu cầu thành phần, cấu hình và môhình triển khai khác nhau Thêm vào đó, ước lượng hiệu năng về hệ thống của cácchính sách lập lịch trong một môi trường TTĐM thực là một thách thức lớn Việc
sử dụng cơ sở hạ tầng thực để thử nghiệm về hiệu suất của ứng dụng khi điều kiệnràng buộc thay đổi sẽ bị hạn chế Vì vậy, người ta không thể thực hiện các thí nghiệmtrong môi trường có thể lặp lại, đáng tin cậy, và khả năng mở rộng bằng cách sử dụngmôi trường đám mây thực [2], [13] Để khắc phục các nhược điểm trên, sử dụng công
cụ mô phỏng trên TTĐM là một giải pháp thay thế hiệu quả nhất Các công cụ môphỏng có thể kiểm tra các thành phần trên TTĐM nhằm mục đích giảm độ phức tạp
và đánh giá hiệu năng của hệ thống theo nhiều kịch bản khác nhau Vì vậy, cách tiếpcận dựa trên mô phỏng sẽ mang lại lợi ích cho các tổ chức như sau:
• Các tổ chức không cần đầu tư cơ sở hạ tầng để triển khai một đám mây
• Dễ dàng thay đổi các dữ liệu đầu vào và các thông số khác để cho ra kết quả tốt
và hiệu quả hơn
• Mỗi công cụ mô phỏng đều cung cấp các lớp trừu tượng để mô phỏng các thànhphần trên TTĐM Vì vậy, người lập trình chỉ cần tạo ra các lớp kế thừa lên cáclớp có sẵn của nó để xây dựng đám mây theo mục đích của mình
• Các tổ chức có thể thử nghiệm các dịch vụ của mình trong môi trường có thểlặp lại, kiểm tra và đánh giá kết quả thử nghiệm với khối lượng công việc và tàinguyên khác nhau
1.2.2 Một số công cụ mô phỏng trên tính toán đám mây
Hiện nay, các nhà nghiên cứu đã cung cấp một số công cụ tin cậy để mô phỏngtrên TTĐM Mỗi công cụ đều có những ưu và nhược điểm riêng của nó
Năm 2009, trường đại học Pennsylvania State, tạo ra công cụ mô phỏng DCSim
Nó cung cấp các đặc điểm của phần cứng như có thể tạo ra máy chủ, truyền dữ liệu,giao tiếp giữa các nhà cung cấp và cho phép ước lượng điện năng tiêu thụ
CloudSim [11],[13] được phát triển bởi giáo sư Rajkumar Buyya và các đồng nghiệp
Trang 20tại trường đại học Melbourne Australia, phiên bản mới nhất xuất bản năm 2011 Nó
là công cụ mô phỏng tổng quát và có khả năng mở rộng Người dùng có thể mô hìnhhóa, mô phỏng và thử nghiệm trên hệ thống TTĐM CloudSim giúp các nhà nghiêncứu thiết kế một hệ thống cụ thể mà không quan tâm đến các chi tiết ở mức thấp liênquan đến cơ sở hạ tầng và các dịch vụ dựa trên đám mây
Năm 2011, GroudSim được phát triển bởi S Ostermann và các đồng nghiệp [62].Công cụ này chủ yếu mô phỏng cho các ứng dụng khoa học trên tính toán lưới vàTTĐM Nó chủ yếu mô phỏng trên cơ sở hạ tầng (IaaS) như mô phỏng các tài nguyên,chi phí tính toán, chi phí vận chuyển, v.v
TeachCloud [32] là công cụ mô phỏng đám mây chủ yếu phục vụ cho giáo dục đượcxây dựng năm 2012 bởi Jararweh và các đồng nghiệp TeachCloud cung cấp giao diện
đồ họa để sinh viên có thể thay đổi cấu hình và thực hiện các thí nghiệm đơn giảntrên đám mây iCanCloud [61] là một framework để mô phỏng các ứng dụng trên cácmạng lưu trữ lớn Nó cung cấp giao diện đồ họa đầy đủ để thiết kế và chạy các ứngdụng
Rahul Malhotra [55]và Parveen Kumar [45] đã nghiên cứu và so sánh các công cụ
mô phỏng trên TTĐM Kết quả là công cụ mô phỏng CloudSim là công cụ tổng quátnhất, giúp cho các nhà nghiên cứu tự xây dựng một đám mây hoàn chỉnh
1.2.3 Công cụ mô phỏng CloudSim
CloudSim là một bộ công cụ mô phỏng có khả năng mở rộng lớn, cho phép mô hìnhhóa và mô phỏng cơ sở hạ tầng và các dịch vụ trên TTĐM [11],[13] Phần này chúngtôi tập trung nghiên cứu cấu trúc, biểu đồ lớp và mô hình lập lịch trên CloudSim.Cấu trúc của CloudSim
Cấu trúc của CloundSim được phát triển từ SimJava và GridSim, bao gồm bathành phần chính [18]:
• Người dùng: thiết lập các thông số kỹ thuật về máy chủ, máy ảo và các đặcđiểm của ứng dụng lên TTĐM
• Các thành phần của CloudSim: cung cấp các thành phần khác nhau ở mứctrừu tượng như công nghệ ảo hóa, máy ảo, máy vật lý, các chính sách lập lịch,định vị tài nguyên, v.v Các thành phần này mô phỏng mô hình IaaS, PaaS vàSaaS của TTĐM CloudSim có thể hỗ trợ để tạo ra cơ sở hạ tầng TTĐM vớiquy mô lớn, bao gồm các trung tâm dữ liệu trên một nút máy tính vật lý và máy
ảo java Nó cung cấp mô hình của trung tâm dữ liệu, môi giới dịch vụ, lập lịch
và các chính sách định vị tài nguyên
Trang 21• Các sự kiện điều khiển mô phỏng: phát sinh các sự kiện và cập nhật lại cáctrạng thái của hệ thống trong suốt quá trình mô phỏng.
Biểu đồ lớp của CloudSim
CloudSim là phần mềm mã nguồn mở được viết bằng Java, CloudSim cung cấpcác lớp đối tượng để người lập trình có thể kế thừa và cài đặt lại các đối tượng theomục đích của từng bài toán Biểu đồ lớp của CloudSim được thể hiện như Hình 1.3.CloudSim cung cấp các lớp chính sau:
Hình 1.3: Biểu đồ lớp trong CloudSim
• DataCenter: lớp này chứa đối tượng để tạo ra các trung tâm dữ liệu trênTTĐM
• DatacenterBroker: chứa các đối tượng để môi giới dịch vụ, trách nhiệm của
bộ môi giới là làm trung gian giữa người dùng và các nhà cung cấp dịch vụ SaaS.Dựa vào ràng buộc QoS của người dùng, bộ môi giới tìm ra các nhà cung cấpdịch vụ phù hợp để triển khai các công việc cho người dùng
Trang 22• DatacenterCharacteristics: lớp này chứa các thông tin về cấu hình của cácnguồn tài nguyên trên trung tâm dữ liệu bao gồm: cấu trúc của tài nguyên, hệđiều hành, chính sách lập lịch, chi phí thực hiện, v.v
• VnAllocationPolicy: đây là lớp trừu tượng để lưu các chính sách lập lịch củacác máy ảo Người lập trình có thể kế thừa lên lớp này để tạo ra các chính sáchlập lịch máy ảo mới
• Host: lớp này trình bày các đặc điểm của máy vật lý như bộ xử lý, bộ nhớchính, kỹ thuật ảo hóa, đĩa và băng thông mạng Cung cấp các chính sách vềCPU, đĩa, băng thông mạng và bộ nhớ cho các máy ảo
• Vm: trình bày các đặc điểm của máy ảo như nguồn xử lý, bộ nhớ chính, băngthông, v.v cũng như thống kê khả năng tiêu thụ tài nguyên khi chạy ứng dụng
• CloudletScheduler: là lớp trừu tượng định nghĩa các chính sách lập lịch củacác Cloudlet Các Cloudlet có thể thực hiện đồng thời hoặc tuần tự phụ thuộc vàochính sách lập lịch CloudletSchedulerTimeShared hay CloudletSchedulerSpace-Shared của CloudSim cung cấp
• Cloudlet: trình bày các công việc chạy trên các máy ảo Cloudlet bao gồm sốchỉ thị thực hiện, chiều dài, kích cỡ file đầu vào, đầu ra, v.v Nó cung cấp môhình công việc chung và xác dịnh số lượng máy ảo chạy trên nó
• NetworkTopology: chứa các thông tin về cấu hình mạng trong mô phỏng
Mô hình lập lịch trên CloudSim
Mô hình lập lịch trên CloudSim bao gồm các tập đối tượng: người dùng (users),yêu cầu (tasks), máy ảo (virtual machines) và trung tâm dữ liệu (data center), mỗitrung tâm dữ liệu bao gồm nhiều máy chủ có cấu hình khác nhau như thể hiện ở Hình1.4 CloudSim cung cấp các hàm API để người lập trình tạo ra cơ sở hạ tầng, chínhsách lập lịch, dịch vụ, ảo hóa, v.v để mô phỏng trên một đám mây
Đầu tiên, người lập trình sử dụng lớp DataCenter để tạo ra các trung tâm dữ liệu
và tạo ra tập Host và DatacenterCharacteristics để lưu trữ các thuộc tính của mộttrung tâm dữ liệu Bước tiếp theo, người lập trình tạo ra tập các máy ảo với cấu hìnhkhác nhau và tập các yêu cầu người dùng với các thuộc tính khác nhau Sau đó, tạo
ra bộ môi giới trên trung tâm dữ liệu (sử dụng lớp DatacenterBroker) để môi giới giữayêu cầu người dùng với các máy ảo và giữa các máy ảo với các máy chủ trên các trungtâm dữ liệu
Như thể hiện ở Hình 1.4, tập các máy ảo của người lập trình tạo ra được gửi lên
Trang 23trung tâm dữ liệu, trung tâm dữ liệu sử dụng bộ môi giới (DataCenter Broker) và cácchính sách cấp phát máy ảo (VmAllocation Policy) để tạo ra các máy ảo từ các Hosttrên các trung tâm dữ liệu Mỗi người dùng cung cấp tập các yêu cầu (task) độc lậpvới các tham số khác nhau, bộ môi giới sử dụng bộ lập lịch máy ảo và chính sách lậplịch của mình để ánh xạ yêu cầu vào máy ảo hợp lý.
Hình 1.4: Mô hình lập lịch trên CloudSimCloudSim là bộ công cụ mô phỏng có khả năng mở rộng rất cao Người lập trình cóthể hoàn toàn tạo ra đám mây theo mục đích của mình Có thể mở rộng lớp CloudLet,Host, Vm, v.v để tạo ra các yêu cầu, máy chủ, máy ảo, v.v với các thông số và ràngbuộc khác nhau Sau đó, người lập trình có thể tạo ra các thuật toán lập lịch mới và
kế thừa lên lớp DataCenterBroker để đưa ra chính sách lập lịch phù hợp với các thuậttoán lập lịch đề xuất Trong luận án này, chúng tôi đã đề xuất các thuật toán lập lịchcông việc và sử dụng cách tiếp cận này để mô phỏng các thuật toán trên TTĐM
1.3 Bài toán lập lịch trên tính toán đám mây
1.3.1 Giới thiệu
Bài toán lập lịch hay lập kế hoạch là một bài toán hay gặp trong thực tế Nội dungcủa bài toán là dựa trên hiện trạng hiện tại của hệ thống để tìm ra một lịch trình thựchiện các công việc một cách tối ưu Tuy nhiên, tùy theo bài toán cụ thể mà yêu cầu
và phương pháp giải quyết của từng bài toán này là khác nhau
Trang 24Trong TTĐM, bộ lập lịch là một thành phần của hệ quản lý tài nguyên có chứcnăng phân phối các nguồn tài nguyên đến các yêu cầu của người dùng Nhiệm vụ của
bộ lập lịch là tìm một ánh xạ từ tập các công việc của người dùng vào một tập concủa các tài nguyên trên các trung tâm dữ liệu Mục đích của các thuật toán lập lịchcông việc trong bộ lập lịch là tìm ra một lịch trình hợp lý nhằm thỏa mãn mục tiêunào đó của người dùng hoặc của nhà cung cấp dịch vụ
Lớp các bài toán lập lịch, lịch trình và lịch trình tối ưu được P.Brukner [9] địnhnghĩa như sau:
Định nghĩa 1.1 (P.Brukner [9]) Cho tập tài nguyên R = {r1, r2, , rM}; tập cácyêu cầu T = {t1, t2, , tN}; tiêu chí tối ưu γ Lớp các bài toán lập lịch là một bộ ba
< R, T, γ >
Để lập lịch cho tập các yêu cầu không theo thứ tự ưu tiên (non-preemptive kýhiệu là npmtn) trên tập tài nguyên R với mục tiêu tối ưu về thời gian thì lớp bàitoán lập lịch là < R, npmtn, Tmin > Tương tự lớp các bài toán < R, pmtn, Tmin >,
< R, s − batch, Tmin > để lập lịch cho các yêu cầu theo thứ tự ưu tiên hoặc theo lô vớimục tiêu tối ưu về thời gian Một lịch trình được định nghĩa như sau:
Định nghĩa 1.2 (P.Brukner [9]) Một lịch trình được xác định bởi hàm f : T → R,trong đó mỗi yêu cầu ti ∈ T được ánh xạ vào tài nguyên rj ∈ R
Định nghĩa 1.3 (P.Brukner [9]) Một lịch trình được gọi là tối ưu nếu nó thỏa mãntiêu chí tối ưu γ
Mỗi lịch trình đều có mục tiêu khác nhau, tùy theo yêu cầu của mỗi bài toán nhưtối ưu về chi phí, tối ưu về thời gian hoặc cả hai, v.v
1.3.2 Mô hình tổng quát để lập lịch trên các trung tâm dữ liệu
Mô hình tổng quát để lập lịch trên TTĐM bao gồm các tác nhân và hệ thống lậplịch [79] Các tác nhân bao gồm người dùng, nhà cung cấp dịch vụ SaaS, PaaS và IaaS
Hệ thống lập lịch bao gồm các chức năng ở mức ứng dụng và ở mức nền tảng như thểhiện ở Hình 1.5 Trong đó:
• Mức ứng dụng: cung cấp các dịch vụ phần mềm bởi nhà cung cấp SaaS
• Mức nền tảng: cung cấp các chức năng kiểm soát đầu vào và lập lịch cho cácyêu cầu người dùng, các chức năng này do nhà cung cấp PaaS cung cấp Quátrình kiểm soát đầu vào và lập lịch ở mức nền tảng được chia thành 3 giai đoạn[71]:
Trang 25Hình 1.5: Mô hình hệ thống để lập lịch trên TTĐM
– Phát hiện và lọc các tài nguyên: đây là nhiệm vụ của bộ môi giới tại cáctrung tâm dữ liệu Bộ môi giới này phát hiện ra các tài nguyên và thu thậpcác thông tin liên quan về các hệ thống hiện tại
– Lựa chọn tài nguyên: việc lựa chọn tài nguyên phụ thuộc vào các yêu cầuQoS của người dùng và các tham số của tài nguyên trên các trung tâm dữ
Trang 26liệu Đây là giai đoạn quan trọng nhất trong quá trình lập lịch.
– Gửi các yêu cầu của người dùng đến các tài nguyên được chọn trên cáctrung tâm dữ liệu
• Nhà cung cấp SaaS: thuê các tài nguyên từ các nhà cung cấp IaaS và chongười dùng thuê phần mềm như là các dịch vụ Mục tiêu của các nhà cung cấpSaaS là đem lại lợi ích lớn nhất cho mình bằng cách thuê các tài nguyên có giá
rẻ từ nhà cung cấp IaaS nhưng vẫn thỏa mãn ràng buộc QoS của người dùng.Trong trường hợp này, nhà cung cấp SaaS vấp phải một số thách thức lớn nhưcần phải xác định được:
– Có bao nhiêu nhà cung cấp IaaS trên các trung tâm dữ liệu, mỗi nhà cungcấp dịch vụ cung cấp bao nhiêu máy ảo và mỗi máy ảo cung cấp loại dịch
vụ gì
– Có bao nhiêu ánh xạ từ yêu cầu người dùng đến các máy ảo
– Nên chọn nhà cung cấp IaaS nào để thỏa mãn yêu cầu của người dùng.– Với mỗi nhà cung cấp IaaS nên chọn bao nhiêu máy ảo để cung cấp chongười dùng
• Nhà cung cấp IaaS: cung cấp các máy ảo cho các nhà cung cấp SaaS và chịutrách nhiệm để điều phối các máy ảo chạy trên các tài nguyên vật lý của chúng
• Người dùng: người dùng gửi yêu cầu phần mềm kèm theo các ràng buộc QoSlên nhà cung cấp SaaS Hệ thống lập lịch sử dụng các chức năng ở mức ứngdụng và mức nền tảng để diễn dịch và phân tích các tham số QoS Sau đó, quyếtđịnh chấp nhận hoặc từ chối yêu cầu dựa vào khả năng, tính sẵn sàng và giá củacác máy ảo Nếu các yêu cầu được chấp nhận thì thành phần lập lịch chịu tráchnhiệm ánh xạ các yêu cầu vào các tài nguyên hợp lý trên nhà cung cấp IaaS
1.3.3 Sự khác nhau giữa lập lịch trên TTĐM so với các hệ thống
khác
Lập lịch các công việc theo truyền thống chỉ dựa trên các công việc của các ứngdụng Tài nguyên sử dụng cho ứng dụng này không liên quan đến các ứng dụng khác,nên các tài nguyên không thể chia sẻ cho nhau và chi phí tính toán sẽ cao lên, điềunày không hợp lý trên TTĐM [60]
Các nghiên cứu trước đây [47] [84] chủ yếu tập trung vào lập lịch cho các côngviệc trên các hệ thống đa xử lý với số bộ xử lý cố định Trong khi đó, tài nguyên trong
Trang 27TTĐM là sự kết hợp của nhiều nguồn tài nguyên thuộc nhiều tổ chức khác nhau Mỗi
tổ chức có chính sách quản lý tài nguyên riêng Vì vậy, khi lập lịch trên TTĐM cómột số điểm khác biệt so với lập lịch trên các hệ thống khác:
• Trong các mô hình tính toán truyền thống, thông tin cung cấp cho bộ lập lịchthường là tương đối đầy đủ, chính xác và cập nhật Trong khi đó, lập lịch trênTTĐM thường phải hoạt động trong môi trường thiếu thông tin đầy đủ và chínhxác
• Số lượng máy ảo sẵn sàng trên các trung tâm dữ liệu là rất lớn, do đó tại mỗithời điểm dựa vào tốc độ và chi phí khác nhau ta có thể chọn số lượng và loạimáy ảo phù hợp Ví dụ, để hoàn thành một yêu cầu người dùng, nhà cung cấp
có thể chọn một số lượng lớn máy ảo chậm hơn, rẻ hơn hoặc một số lượng máy
ảo ít hơn nhưng nhanh hơn, đắt hơn, hoặc có thể kết hợp cả hai
• Mô hình ứng dụng trong TTĐM cũng đa dạng hơn rất nhiều so với các mô hìnhtính toán truyền thống Do vậy, người ta thường nghiên cứu những thuật toán
cụ thể để đáp ứng nhu cầu cho những dạng ứng dụng cụ thể
1.3.4 Các phương pháp lập lịch
Bài toán lập lịch là một bộ ba < R, T, γ > (Định nghĩa 1.1) Bài toán này có thểgiải quyết dễ dàng trong trường hợp đầu vào của bài toán là nhỏ P Bruckner và M
L Pinedo [9], [66] đã phân tích lớp các bài toán lập lịch thực hiện trên một tài nguyên
để đưa ra lịch trình cho các yêu cầu độc lập hay phụ thuộc lẫn nhau với mục tiêu tối
ưu về thời gian là lớp các bài toán lập lịch dễ, thời gian đưa ra lịch trình tối ưu rấtnhanh Trong trường hợp tập tài nguyên lớn và các tài nguyên này có thể thực hiệnsong song là lớp các bài toán phức tạp, tốn một khoảng thời gian rất lớn để đưa ralịch trình
Bài toán lập lịch được giải quyết bằng bốn phương pháp như thể hiện ở Hình 1.6.Trong đó:
• Phương pháp liệt kê: phương pháp này để giải các bài toán tối ưu, các giảipháp tối ưu của bài toán có thể lưu trong một danh sách, chọn một giải pháptối ưu nhất trong danh sách này Trường hợp xấu nhất của thuật toán lậplịch sử dụng phương pháp này có độ phức tạp rất lớn Tuy nhiên khi số lượngtham số đầu vào nhỏ, bài toán có thể giải quyết bằng độ phức tạp giả đa thức(pseudopolynomial)
Trang 28Hình 1.6: Các phương pháp lập lịch
• Phương pháp heuristic: bài toán lập lịch trên TTĐM là một bài toán có thờigian đưa ra lịch trình rất lớn Do đó, để đưa ra một giải pháp tối ưu thường phảitìm kiếm vét cạn khi đó cần một khoảng thời gian rất lớn để đưa ra lịch trình,nên cách này không khả thi trong bài toán lập lịch Để khắc phục nhược điểmnày người ta thường dùng các phương pháp heuristic để đưa ra một giải phápgần tối ưu như phương pháp tối ưu hóa đàn kiến (ACO) [22],[49], kỹ thuật tối
ưu hóa đàn ong mờ [51], phương pháp tham lam EDF [10], [42],v.v
• Phương pháp nới giảm tham số: phương pháp này nới lỏng ràng buộc củabài toán gốc Sau khi nới lỏng ràng buộc, bài toán dễ dàng đạt được giải phápgần tối ưu so với bài toán gốc
• Phương pháp xấp xỉ: phương pháp heuristic thường dựa trên các kinh nghiệmcủa thế giới thực hoặc thông qua mô phỏng để tìm ra giải pháp gần tối ưu Trongkhi đó, phương pháp xấp xỉ sử dụng các mô hình tính toán chuẩn nhưng thay
vì tìm trên toàn bộ các giải pháp để tìm ra giải pháp tối ưu nhất nó chỉ tìm ragiải pháp được xem là đủ tốt Phương pháp này được sử dụng để giảm thời gianthực hiện nhằm tìm ra một lịch trình chấp nhận được
1.3.5 Mô hình kinh tế cho bài toán lập lịch
Trong những năm gần đây, với sự phát triển mạnh mẻ của các nhà cung cấp dịch
vụ trên TTĐM như Amazon EC2, Microsoft Azure, IBM, v.v các giải pháp trênTTĐM trở nên phù hợp với các doanh nghiệp Các doanh nghiệp không phải đầu tư
Trang 29cơ sở hạ tầng, họ thuê tất cả các tài nguyên thông qua các dịch vụ trên TTĐM Với
sự phát triển của cả hai bên cung và cầu làm cho bài toán lập lịch trở nên rất phứctạp trong TTĐM
Mô hình kinh tế cho việc lập lịch trên đám mây phù hợp hơn các mô hình lập lịch
đa bộ xử lý truyền thống, đặc biệt là sự thay đổi giữa cung và cầu trên các tài nguyêncủa TTĐM Trong mô hình kinh tế, chủ yếu tập trung lập lịch trên hai chiến lược:dựa trên thị trường (market-based) và lập lịch dựa trên đấu giá (auction-based) [74].Lập lịch dựa trên thị trường được áp dụng khi một số lượng lớn người dùng khôngthể trực tiếp kiểm soát giá dịch vụ Nhà cung cấp đám mây áp dụng phương án giátrong thực tế dựa trên thị trường, giá của mỗi nhà cung cấp là khác nhau Trên đámmây, nhà cung cấp dịch vụ và người sử dụng thể hiện các yêu cầu của họ thông quahợp đồng thỏa thuận dịch vụ Nhà cung cấp cần cung cấp giá và khả năng của các tàinguyên, trong khi người tiêu dùng cần đảm bảo đạt được các mục tiêu của họ Lậplịch dựa trên thị trường nhằm mục đích điều tiết giữa cung và cầu cho các tài nguyên
Mô hình đấu giá thích nghi cho một số nhỏ người dùng tìm kiếm các dịch vụ tối
ưu Đấu giá là cơ chế để định vị tài nguyên trong nhóm các người mua Người mua sẽcập nhật việc đặt giá và người bán sẽ cập nhật lại giá được đưa ra Mỗi phiên đấu giá
có 3 đối tượng là người mua, người bán và người quản lý việc đấu giá
TTĐM thích ứng với mô hình kinh doanh theo hướng thị trường [80], và do đóhợp đồng dịch vụ giữa người sử dụng và các nhà cung cấp dịch vụ được ký trước khithực hiện ứng dụng trên TTĐM Nếu nhà cung cấp dịch vụ không thực hiện đúngtheo hợp đồng, họ sẽ phải bồi thường thiệt hại cho người dùng Vì vậy, các nhà cungcấp dịch vụ cần phải áp dụng một loạt các chiến lược về thị trường để đem lại lợinhuận cao nhất cho mình và bảo đảm thực hiện thành công các hợp đồng dịch vụ Đểđảm bảo mục tiêu của nhà cung cấp và người dùng, các chiến lược lập lịch hướng thịtrường được đưa ra nhằm thỏa mãn bốn yêu cầu sau:
1 Thỏa mãn các ràng buộc QoS của từng người dùng
2 Chi phí thực hiện của hệ thống là nhỏ nhất
3 Kiểm tra ràng buộc QoS với hợp đồng thỏa thuận dịch vụ
4 Tối ưu việc gán các yêu cầu đến các máy ảo
Để thỏa mãn bốn yêu cầu này, việc lập lịch được chia thành hai mức [80]: lập lịch
ở mức dịch vụ nhằm thỏa mãn yêu cầu (1) và (3), lập lịch ở mức yêu cầu thỏa mãnhai yêu cầu còn lại Một chiến lược lập lịch chung được đưa ra như sau:
Trang 30• Đầu vào: tập các yêu cầu, các ràng buộc QoS, các nhà cung cấp dịch vụ, tậpcác máy ảo.
• Đầu ra: một kế hoạch lập lịch ở mức dịch vụ để định vị các dịch vụ thích hợpcho các yêu cầu nhằm thỏa mãn ràng buộc QoS và hợp đồng thỏa thuận dịchvụ; một kế hoạch lập lịch ở mức yêu cầu để ánh xạ các yêu cầu vào các máy ảotheo mục tiêu của người dùng hoặc của nhà cung cấp hoặc cả hai
Lập lịch ở mức dịch vụ: lập lịch ở mức dịch vụ là một phần của việc quản lý tàinguyên trong PaaS Đây là loại lập lịch tĩnh với mục đích định vị các dịch vụ hợp lýcho các yêu cầu Lập lịch ở mức dịch vụ bao gồm hai bước chính sau đây:
• Bước 1: tìm kiếm và cung cấp tập các dịch vụ thích hợp dựa trên các ràng buộcQoS của các yêu cầu
Bộ lập lịch tìm kiếm các dịch vụ được cung cấp bởi nhiều nhà cung cấp dịch
vụ trên các trung tâm dữ liệu khác nhau Bước này tìm ra một tập các dịch vụthích hợp cho các yêu cầu
• Bước 2: định vị các dịch vụ thích hợp và tiến hành ánh xạ các yêu cầu vào cácdịch vụ
Trước khi lập lịch, người dùng và nhà cung cấp dịch vụ SaaS ký hợp đồngvới nhau để thỏa thuận dịch vụ Dựa trên tập dịch vụ tìm kiếm được ở bước 1
và các ràng buộc QoS của người dùng, nhiệm vụ của bộ lập lịch là tìm ra cácdịch vụ thích hợp nhất thỏa mãn các ràng buộc của yêu cầu Sau đó ra quyếtđịnh chấp nhận hay từ chối các yêu cầu của khách hàng Nếu yêu cầu được chấpnhận thì bộ lập lịch sẽ ánh xạ yêu cầu vào dịch vụ tương ứng
Lập lịch ở mức yêu cầu: lập lịch ở mức yêu cầu là loại lập lịch động với mụcđích tối ưu việc ánh xạ yêu cầu vào máy ảo để thỏa mãn ràng buộc QoS cho mỗi yêucầu nhằm làm cho tổng chi phí của hệ thống là thấp nhất Lập lịch ở mức yêu cầuthường là bộ lập lịch cục bộ được sử dụng bên trong một trung tâm dữ liệu, không ảnhhưởng đến trung tâm dữ liệu khác Mỗi nhà cung cấp dịch vụ có một chiến lược lậplịch yêu cầu riêng để tối ưu chi phí bên trong trung tâm dữ liệu của nó Tuy nhiên, khixây dựng một chiến lược lập lịch yêu cầu cũng có thể cài đặt một cách đồng thời trênnhiều trung tâm dữ liệu, nó cũng có thể đáp ứng được mục tiêu làm cho chi phí nhỏnhất trên nhiều trung tâm dữ liệu Lập lịch ở mức yêu cầu bao gồm ba bước chính:
• Bước 1: tìm ra các ràng buộc QoS cho mỗi yêu cầu
Trang 31Kết quả của lập lịch mức dịch vụ tìm ra được tập các dịch vụ thích hợp chocác yêu cầu Tuy nhiên, vì kế hoạch lập lịch này được phát sinh bởi lập lịch ởmức dịch vụ dựa vào các thông tin tĩnh (như thời gian có hiệu lực và khối lượngcông việc) của các nhà cung cấp dịch vụ, khi thực hiện các trạng thái của dịch
vụ có thể bị thay đổi như thay đổi khối lượng của các dịch vụ, tài nguyên sửdụng có thể không còn hiệu lực hoặc nhà cung cấp bổ sung thêm tài nguyên Do
đó, bước này chúng ta cần tìm ra các dịch vụ phù hợp với các ràng buộc QoScủa người dùng
• Bước 2: tối ưu hóa việc gán yêu cầu vào các máy ảo
Trong các trung tâm dữ liệu, tài nguyên vật lý được ảo hóa thành các tàinguyên hợp nhất Trong đó, các CPU và không gian bộ nhớ của các máy ảođược tạo ra một cách hợp lý cho các ứng dụng trên TTĐM Hầu hết các máy
ảo được tạo ra có tốc độ vừa phải Tuy nhiên, trong một số ứng dụng lớn cầncác siêu máy tính, các siêu máy tính này có thể có trong trung tâm dữ liệu hoặcthuê từ các nhà cung cấp dịch vụ khác Vì vậy, các máy ảo trong trung tâm dữliệu thường có các tốc độ và mô hình giá khác nhau Hơn nữa, chi phí truyềnthông trong một trung tâm dữ liệu thường không đáng kể, nhưng nếu đi thuê tàinguyên từ các trung tâm dữ liệu khác thì phải cộng thêm chi phí truyền thôngvào tổng chi phí
• Bước 3: cài đặt một kế hoạch lập lịch tối ưu
Sau khi có kế hoạch lập lịch tối ưu hoặc gần tối ưu ở bước 2 Tiến hành cài
bộ lập lịch cục bộ trên các trung tâm dữ liệu để điều khiển các tài nguyên nằm
ở IaaS
Lập lịch ở mức dịch vụ thuộc loại lập lịch tĩnh, nên các thông tin về tài nguyênđược xác định trước khi lập lịch, nhưng có thể các thông tin này không còn đúng khilập lịch ở mức yêu cầu Ví dụ, trước khi lập lịch các nhà cung cấp dịch vụ đăng ký tốc
độ CPU, băng thông, chi phí, cho trung tâm dữ liệu, nhưng đến lúc thực hiện cácthông tin này có thể bị thay đổi Luận án này đề xuất các thuật toán lập lịch động,kết hợp vừa lập lịch ở mức dịch vụ vừa lập lịch ở mức yêu cầu để ánh xạ các yêu cầuvào các máy ảo dựa trên chi phí tính toán, chi phí truyền thông, tốc độ tính toán vàtốc độ truyền thông của các máy ảo
Trang 321.4 Các nghiên cứu liên quan đến lập lịch trên tính toán đám
• Hướng đến hiệu năng về kinh tế: nhằm đưa ra lịch trình để tối ưu về chiphí cho hệ thống Cách tiếp cận này sử dụng cơ chế thị trường để phân phối cácnguồn tài nguyên cho các công việc của người dùng Bộ lập lịch công việc hoạtđộng như người tiêu dùng mua các dịch vụ từ các nhà cung cấp tài nguyên vàtrả tiền để thực hiện các công việc Các công việc này được lập lịch một cách
tự động tại thời gian chạy phụ thuộc vào chi phí của tài nguyên trên các trungtâm dữ liệu và ràng buộc QoS của người dùng Lập lịch hướng đến hiệu năng
về kinh tế có thể lựa chọn các nguồn tài nguyên có giá rẻ hơn nhưng thỏa mãnràng buộc QoS người dùng đặt ra Vì vậy, cách tiếp cận này phức tạp hơn so vớilập lịch hướng đến hiệu năng về hệ thống, đặc biệt là sự thay đổi giữa cung vàcầu trên các tài nguyên của TTĐM Nó phù hợp trên môi trường đám mây côngcộng, đám mây riêng và đám mây lai
Cả hai cách tiếp cận này đều tập trung lập lịch ở mức người dùng và mức nhàcung cấp dịch vụ Y Chawla [14] đã chia lập lịch công việc trên TTĐM thành 5 loại:lập lịch tĩnh, lập lịch động, lập lịch heuristic, lập lịch luồng công việc và lập lịch côngviệc thời gian thực
1.4.1 Lập lịch tĩnh và động
Đối với lập lịch tĩnh, bộ lập lịch biết trước các thông tin của môi trường như thờigian thực hiện của công việc, thông tin của các tài nguyên trên các trung tâm dữ liệu,băng thông kết nối giữa các tài nguyên, v.v Ngược lại, lập lịch động không biết trướccác thông tin trên, các thông tin của tài nguyên thay đổi liên tục
Phân bổ tài nguyên dựa vào hiệu năng về hệ thống cố gắng để đưa ra một lịch
Trang 33trình nhằm tối thiểu tổng thời gian thực hiện cho hệ thống Năm 2013, S Nagadevi[60] đã liệt kê các kỹ thuật lập lịch tĩnh bao gồm: OLB, M ET , M CT , M in − min,
M in − max, GA Tuy nhiên các kỹ thuật này chỉ áp dụng cho các yêu cầu độc lập,các máy ảo chỉ thực hiện tuần tự và thời gian sẵn sàng của mỗi máy ảo được cập nhậtsau khi yêu cầu được hoàn thành
Các nghiên cứu [24], [40], [67] lập lịch tĩnh trên các yêu cầu độc lập và phụ thuộc
dữ liệu, cải tiến các thuật toán M ax − M in, M in − M in nhằm đưa ra một lịch trìnhtối ưu về thời gian cho hệ thống Tuy nhiên các thuật toán này chỉ áp dụng trên các
hệ thống phân tán nhỏ, với số lượng tài nguyên ít Nếu áp dụng trên hệ thống lớn thìthời gian đưa ra lịch trình rất lớn
S Pandey [63] đã đề xuất thuật toán lập lịch động để lập lịch cho các bài toán cókhối lượng công việc lớn Tuy nhiên các thuật toán này bỏ qua chi phí tính toán chỉquan tâm đến chi phí truyền dữ liệu giữa các trung tâm dữ liệu
Tại một thời điểm, các người dùng có thể gửi hàng triệu công việc với các ràngbuộc QoS khác nhau lên các trung tâm dữ liệu, các trung tâm này bao gồm nhiềumáy chủ, mỗi máy chủ có thể cung cấp nhiều máy ảo, mỗi máy ảo có cấu hình và dịch
vụ khác nhau Đối với lập lịch theo hướng hiệu năng về kinh tế, nhiệm vụ của bộ lậplịch là gán các công việc của người dùng vào các máy ảo với mục tiêu đem lại chi phíthấp nhất cho người dùng hoặc lợi nhuận cao nhất cho nhà cung cấp dịch vụ nhưngvẫn thỏa mãn ràng buộc QoS của người dùng
J Deng, Lee và HanZhao [20], [86], [46] đã đưa ra mô hình lập lịch cho các yêucầu trên môi trường TTĐM với mục tiêu đem lại lợi nhuận cho nhà cung cấp dịch vụnhưng chỉ xem xét đến chi phí tính toán, chưa xem xét đến chi phí truyền thông cũngnhư chưa xem xét đến thời gian gối đầu giữa các yêu cầu nên mỗi yêu cầu chỉ đượcánh xạ vào một tài nguyên
Các nghiên cứu [56], [39] lại tập trung vào lập lịch cho các yêu cầu để tiết kiệmđiện năng trên các trung tâm dữ liệu S Irugurala [31] đưa ra thuật toán lập lịch vớimục tiêu đem lại lợi nhuận cao nhất cho nhà cung cấp SaaS nhưng xem xét giữa hailoại chi phí: chi phí khởi tạo máy ảo và chi phí sử dụng máy ảo đã có để chọn tàinguyên Z Lee [48] và M Choudhary [15] đã đề xuất các thuật toán lập lịch ưu tiênđộng, các thuật toán xem xét trên cả nhà cung cấp dịch vụ, nhà cung cấp tài nguyên
và khách hàng để đưa ra thuật toán nhằm đem lại thời gian và chi phí nhỏ nhất nhưngkhông xem xét trên các ràng buộc thời hạn và ngân sách của các yêu cầu
1.4.2 Lập lịch heuristic
Bài toán lập lịch tối ưu là bài toán có thời gian đưa ra lịch trình lớn Bài toánnày có thể được giải quyết bằng phương pháp liệt kê, heuristic, nới lỏng tham số hoặc
Trang 34phương pháp xấp xỉ Khi số lượng các yêu cầu và tài nguyên lớn, phương pháp liệt
kê không khả thi cho bài toán lập lịch vì thời gian đưa ra lịch trình quá lớn Phươngpháp heuristic tìm ra giải pháp gần tối ưu với thời gian thực hiện là nhanh nhất
Từ năm 2010 đến 2012, giáo sư Rajkumar Buyya và các đồng sự [63], [64], [65]
đã đề xuất các thuật toán lập lịch các công việc trên TTĐM theo hướng hiệu năng
về hệ thống Nhóm tác giả đã kết hợp với xử lý song song, heuristics động và P SO(Particle Swarm Optimization) để xử lý các công việc với khối lượng lớn Các nghiêncứu này đề xuất và xây dựng mô hình phi tuyến tính để tối ưu các luồng công việc,giảm thiểu việc lấy dữ liệu về đối với các luồng công việc đòi hỏi một khối lượng dữliệu lớn trên TTĐM Các nghiên cứu này sử dụng thuật toán heuristic P SO để đưa
ra thuật toán với độ hội tụ nhanh hơn và thời gian tính toán ít hơn so với các thuậttoán đã có Tuy nhiên các thuật toán chỉ áp dụng cho các lớp bài toán có khối lượnglớn, thời gian truyền dữ liệu lớn hơn nhiều so với thời gian tính toán
Các nghiên cứu [49], [85], [34] sử dụng các heuristic về bầy đàn để đưa ra lịch trìnhtối ưu về thời gian thực hiện, không quan tâm đến ràng buộc QoS của người dùng
Để tối ưu về thời gian thực hiện, các nghiên cứu trên [52], [49], [72], [8], [19], [26]
sử dụng các heuristic ACO, GA nhằm đưa ra lịch trình với mục tiêu đem lại thời gianhoàn thành nhỏ nhất cho hệ thống nhưng vẫn thỏa mãn ràng buộc QoS của ngườidùng Các nghiên cứu này chỉ tập trung vào ràng buộc về thời gian, không quan tâmđến chi phí của hệ thống
1.4.3 Lập lịch luồng công việc
Luồng công việc là quá trình tự động hóa các công việc, trong đó các tập tin và
dữ liệu được truyền giữa các đối tượng theo tập luật đã định nghĩa trước đó nhằmđạt được một mục tiêu tổng thể Một hệ thống quản lý luồng bao gồm ba thành phầnchính [3]:
• Lập lịch luồng công việc: phát hiện ra các tài nguyên và ánh xạ các yêu cầuvào tài nguyên hợp lý
• Di chuyển dữ liệu: thành phần này quản lý việc truyền dữ liệu giữa các nguồntài nguyên
• Quản lý lỗi: xử lý các lỗi xảy ra trong quá trình thực hiện các công việc trongluồng
Lập lịch luồng công việc đóng một vai trò quan trọng trong hệ thống quản lýluồng Một lịch trình thích hợp có thể tác động đáng kể đến hiệu suất của hệ thống
Trang 35Luồng công việc áp dụng cho các công việc phụ thuộc lẫn nhau Luồng công việccủa các ứng dụng được biểu diễn bởi đồ thị có hướng không chu trình Mỗi nút trìnhbày mỗi công việc, mỗi cạnh biểu diễn sự phụ thuộc lẫn nhau giữa các công việc trongứng dụng Các nghiên cứu [82], [3], [37], [52] đề xuất các lớp bài toán, các loại lập lịchluồng cũng như cách cài đặt các thuật toán luồng công việc trên môi trường lưới vàTTĐM.
H Topcuoglu [76] đề xuất thuật toán lập lịch luồng công việc HEFT Thuật toánnày tính thời gian trung bình để thực hiện các yêu cầu và tính thời gian trung bình
để chuyển dữ liệu giữa các yêu cầu Sau đó, các yêu cầu được sắp xếp dựa trên hàm
vị thứ (rank) Yêu cầu nào có vị thứ cao sẽ được ưu tiên để lập lịch Mục tiêu củathuật toán là thời gian hoàn thành các công việc là nhỏ nhất không xét đến thời hạn
và ngân sách của các yêu cầu
Z Yu [83] đề xuất thuật toán lập lịch trên đa luồng Thuật toán này lập lịch trêncác yêu cầu dựa trên độ ưu tiên của mỗi yêu cầu nhưng không xem xét đến ràng buộcQoS của người dùng Các nghiên cứu [33], [81] tập trung lập lịch trên đa luồng, dựavào ràng buộc QoS của người dùng Các thuật toán này đưa ra lịch trình có thời gianthực hiện và chi phí thấp nhưng không quan tâm đến ngân sách của các yêu cầu
1.4.4 Lập lịch công việc thời gian thực
Hệ thống thời gian thực bao gồm các công việc thời gian thực Mỗi công việc thờigian thực được đặc trưng bởi ba tham số [59]:
• Thời điểm đến của yêu cầu
• Khối lượng thực hiện và các ràng buộc
• Thời hạn (deadline) của yêu cầu
Các công việc thời gian thực phải hoàn thành sau thời gian đến và trước thời hạncủa nó Mục tiêu chính của lập lịch công việc thời gian thực là tăng công suất, tậndụng tối đa hiệu năng của hệ thống và giảm thiểu thời gian thực hiện sao cho thỏamãn thời hạn cho các công việc [14]
Các nghiên cứu [53], [54], [28], [87] tập trung lập lịch trên các công việc thời gianthực thỏa mãn các ràng buộc QoS của người dùng Các cách tiếp cận này không chỉđem lại thời gian hoàn thành nhỏ nhất mà còn xem xét trên số tiền phạt nhà cung cấpphải trả khi thời gian hoàn thành công việc vượt quá thời hạn của người dùng Tuynhiên, các thuật toán này chưa áp dụng kỹ thuật xử lý song song để tối ưu thời gianđưa ra lịch trình, chưa tận dụng được khoảng thời gian gối đầu giữa các yêu cầu để
Trang 36tiết kiệm chi phí Các nghiên cứu gần đây của N Ramkumar [69] về lập lịch trên cácyêu cầu thời gian thực đã sử dụng hàng đợi ưu tiên để ánh xạ yêu cầu vào tài nguyênnhưng chỉ tập trung lập lịch để giải quyết công việc một cách nhanh nhất thỏa mãnthời hạn của yêu cầu mà không quan tâm đến chi phí và ngân sách của nó.
Hiện nay các tổ chức, doanh nghiệp và các nhà cung cấp dịch vụ trên TTĐM pháttriển rất nhanh chóng Yêu cầu chất lượng dịch vụ ngày càng cao, số lượng tài nguyêntại mỗi trung tâm dữ liệu là rất lớn Việc tìm kiếm tài nguyên, kiểm soát đầu vào
và lập lịch trên tập các tài nguyên của các trung tâm dữ liệu theo yêu cầu QoS củangười dùng là một thách thức lớn Để giải quyết vấn đề này luận án tập trung nghiêncứu trên các lý thuyết tối ưu hóa bầy đàn, tối ưu hóa đàn kiến và một số phương phápheuristic khác Kết hợp với xử lý song song để giải quyết các bài toán thời gian thực
và bài toán tối ưu đa mục tiêu nhằm đem lại lợi ích cho nhà cung cấp và tối ưu thờigian thực hiện cho người dùng
1.5 Mục tiêu và nội dung của luận án
Sau khi nghiên cứu và phân tích các vấn đề lập lịch trên TTĐM của các nghiêncứu trong và ngoài nước Luận án đưa ra mục tiêu nghiên cứu chính như sau:
• Xây dựng mô hình và bài toán để lập lịch công việc thời gian thực áp dụng cholớp bài toán song song
• Xây dựng mô hình và bài toán lập lịch công việc trên nhà cung cấp PaaS theohướng tối ưu đa mục tiêu về chi phí và thời gian
• Đề xuất các thuật toán lập lịch công việc thời gian thực áp dụng cho lớp bàitoán song song
• Đề xuất các thuật toán kiểm soát đầu vào và lập lịch công việc theo hướng tối
ưu đa mục tiêu
Để đáp ứng cho các mục tiêu nghiên cứu trên, luận án tập trung nghiên cứu cácnội dung chính sau:
• Nghiên cứu các heuristic ACO [22], [49], P SO [85], EDF [10], [42], v.v để tìmkiếm trên số lượng lớn các tài nguyên trên các trung tâm dữ liệu
• Nghiên cứu các phương pháp xử lý song song, phân tích các lớp bài toán xử lýcông việc thời gian thực (real time) để có thể thực hiện song song
• Xây dựng mô hình toán học cho các thành phần trên TTĐM như mô hình ngườidùng, mô hình nhà cung cấp SaaS, PaaS và IaaS
Trang 37• Dựa trên mô hình toán học, ràng buộc QoS của người dùng và các heuristic đểxây dựng bài toán lập lịch công việc thời gian thực và bài toán lập lịch công việctheo hướng tối ưu đa mục tiêu.
• Từ các bài toán đã được xây dựng, luận án đề xuất các thuật toán lập lịch cáccông việc thời gian thực và các thuật toán vừa kiểm soát đầu vào vừa lập lịchcho các công việc theo hướng tối ưu đa mục tiêu về chi phí và thời gian Mụctiêu của các thuật toán này nhằm đem lại lợi ích cho nhà cung cấp dịch vụ vàtối ưu thời gian thực hiện cho người dùng nhưng vẫn thỏa mãn ràng buộc QoS
• Nghiên cứu các mô hình, các thành phần trong gói Cloudsim để cài đặt, so sánh,phân tích và đánh giá kết quả của các thuật toán lập lịch đã đề xuất với cácthuật toán khác
1.6 Tiểu kết Chương 1
Với mục tiêu nghiên cứu về các vấn đề lập lịch trên TTĐM, chương này tập trungnghiên cứu, phân tích và đánh giá các vấn đề liên quan mật thiết đến đề tài luận án.Đầu tiên, nghiên cứu tổng quan về các đặc điểm, kiến trúc, mô hình và các tháchthức hiện có trên TTĐM Sau đó, nghiên cứu và phân tích các thành phần và mô hìnhtổng quát của bài toán lập lịch trên TTĐM Từ đó, trình bày các phương pháp lậplịch và phân tích sự khác nhau giữa lập lịch trên TTĐM so với các hệ thống khác.Khi xây dựng mô hình và các thuật toán thử nghiệm trên một đám mây thực, các
tổ chức cần đầu tư một chi phí rất lớn Để giảm chi phí và tùy biến trong thử nghiệm,
sử dụng cộng cụ mô phỏng là một trong các giải pháp thay thế hiệu quả nhất Trongchương này, chúng tôi nghiên cứu công cụ mô phỏng CloudSim để mô phỏng và đánhgiá các mô hình và các thuật toán đề xuất trong luận án
Trên TTĐM, người dùng và nhà cung cấp dịch vụ là hai đối tượng gắn bó mậtthiết với nhau Nhà cung cấp cho thuê dịch vụ, người dùng sử dụng dịch vụ và thanhtoán phí khi sử dụng Sự phát triển của cả hai bên cung và cầu làm cho bài toánlập lịch trở nên rất phức tạp trên TTĐM Trước những khó khăn đó, chương này tậptrung nghiên cứu các mô hình kinh tế cho bài toán lập lịch Mô hình phù hợp nhấttrên TTĐM hiện nay là mô hình kinh doanh theo hướng thị trường Chúng tôi trìnhbày thuật toán tổng quát để lập lịch theo hướng thị trường, phân tích các ưu nhượcđiểm của thuật toán và đưa ra các hướng khắc phục
Mô hình ứng dụng trên TTĐM rất đa dạng và phức tạp, chương này trình bày cácloại thuật toán lập lịch Trên từng loại, luận án tập trung nghiên cứu, phân tích vàđánh giá các công trình nghiên cứu đã được công bố gần đây, chỉ ra những vấn đề còntồn tại Từ đó, xác định được mục tiêu của luận án và đề ra nội dung cần giải quyết
Trang 38CHƯƠNG 2.
LẬP LỊCH CÔNG VIỆC THỜI GIAN THỰC
TRONG TÍNH TOÁN ĐÁM MÂY
Hệ thống thời gian thực bao gồm các công việc thời gian thực Các công việc thờigian thực phải hoàn thành sau thời điểm đến và trước thời hạn của nó Mục tiêu chínhcủa lập lịch công việc thời gian thực là tăng công suất, tận dụng tối đa hiệu năng của
hệ thống và giảm thiểu thời gian thực hiện sao cho thỏa mãn thời hạn cho các côngviệc [14]
Các nghiên cứu trước đây [53], [54], [28], [87], [69] sử dụng thuật toán tham lam
và hàng đợi ưu tiên để đưa ra lịch trình nhằm giải quyết công việc một cách nhanhnhất thỏa mãn thời hạn nhưng chưa quan tâm đến ngân sách cũng như tối ưu thờigian thực hiện của thuật toán Chương này, nghiên cứu các mô hình lập lịch truyềnthống; phát triển mô hình của K.H Kim [39] và K Kumar [44] để xây dựng mô hìnhlập lịch công việc thời gian thực và mô hình tối ưu về kinh tế; áp dụng kỹ thuật xử lýsong song và mô hình đã được xây dựng để xây dựng các thuật toán lập lịch trên các
hệ thống thời gian thực
2.1 Mô hình lập lịch truyền thống
Bài toán lập lịch là bài toán hay gặp trong thực tế như bài toán lập thời khóa biểutrong trường học, lập lịch trong hệ điều hành, lập lịch công việc cho người dùng trongcác hệ phân tán, v.v Nội dung của bài toán là tìm ra một lịch trình hợp lý nhất chocác công việc dựa trên các trạng thái hiện thời của hệ thống
Trong các nghiên cứu trước đây, bài toán lập lịch giả thuyết rằng số lượng cáccông việc và số lượng các máy tham gia tính toán là cố định [66] Bài toán được xemxét trên M máy tham gia tính toán và N công việc Mỗi công việc có thể ánh xạ vàomột hoặc nhiều máy tùy theo mục tiêu của từng bài toán M L Pinedo [66] và P.Bruckner [9] đã trình bày mô hình của bài toán lập lịch bao gồm 3 thành phần:
• Mô hình các máy tham gia lập lịch
• Mô hình công việc
• Mục tiêu của bài toán
Trang 39Mô hình của ba thành phần này được trình bày cụ thể như sau:
2.1.1 Mô hình các máy tham gia lập lịch
Các máy tham gia vào bài toán lập lịch bao gồm các loại sau:
• Mô hình máy đơn được ký hiệu là 1: đây là mô hình đơn giản nhất, nó làtrường hợp đặc biệt của các mô hình khác
• Các máy đồng nhất thực hiện song song được ký hiệu là Pm: mô hìnhnày bao gồm M máy đồng nhất có thể thực hiện song song Mỗi công việc cóthể thực hiện đồng thời trên một hoặc nhiều máy
• Các máy không đồng nhất thực hiện song song , ký hiệu là Qm: mô hìnhnày bao gồm các máy không đồng nhất với tốc độ khác nhau và có thể thực hiệnsong song
• Flow shop, ký hiệu là FM: bao gồm M máy thực hiện theo dây chuyền Đầutiên các công việc phải được xử lý trên máy 1, sau đó mới sang máy 2 và máy
3 ,v.v Sau khi hoàn thành trên một máy, các công việc được lưu vào hàng đợiFIFO ”vào trước ra trước ” để đợi tham gia vào máy tiếp theo
• Flexible flow shop ký hiệu là F Fc: mô hình được mở rộng từ mô hình FM,trong đó có M máy thực hiện theo dây chuyền Trong mỗi dây chuyền được chiathành c giai đoạn, mỗi giai đoạn bao gồm các máy đồng nhất có thể thực hiệnsong song Mỗi công việc phải được xử lý ở giai đoạn 1 xong rồi mới sang giaiđoạn 2
• Open shop ký hiệu Om: mô hình này bao gồm M máy Mỗi công việc phảiđược xử lý trên một máy, nếu chưa hoàn thành thì công việc cũng phải lặp lạitrên máy đó để xử lý
2.1.2 Mô hình công việc
Mô hình các công việc trình bày các ràng buộc cũng như các giới hạn khi xử lýcác công việc Mỗi công việc được M L Pinedo [66] đưa ra các ràng buộc và các giớihạn như sau:
• Thời gian sẵn sàng: được ký hiệu là trj là thời gian mà máy j có thể bắtđầu tính toán Mỗi công việc phải bắt đầu sau khoảng thời gian này Nếu trj
không xuất hiện trong mô hình của công việc có nghĩa là công việc có thể bắtđầu tại bất kỳ thời điểm nào
Trang 40• Các công việc phụ thuộc: được ký hiệu là pmtn Ứng dụng bao gồm tậpcác công việc, các công việc này phụ thuộc với nhau Để thực hiện công việc
i (i = 1 N ) thì phải thực hiện xong các công việc trước đó Bộ lập lịch có thểngắt ngang một công việc nào đó để thực hiện các công việc khác
• Các công việc độc lập: được ký hiệu là npmtn Ứng dụng bao gồm tập cáccông việc không phụ thuộc lẫn nhau, các công việc này có thể thực hiện songsong Bộ lập lịch có thể chọn một máy bất kỳ để xử lý cho mỗi công việc
2.1.3 Mô tả mục tiêu của bài toán
Trong thực tế, mỗi bài toán đều có mục tiêu khác nhau Các nghiên cứu trướcđây chủ yếu lập lịch công việc với mục tiêu thời gian hoàn thành các công việc là nhỏnhất Theo P.Bruckner [9], các hàm mục tiêu chung nhất cho các bài toán lập lịch baogồm:
• Mục tiêu thời gian thực hiện nhỏ nhất: tìm max
i=1, ,N{Ti} và được ký hiệu γ = Tmaxvới Ti là thời gian hoàn thành công việc thứ i
• Mục tiêu Total Flow Time:
WiTi, với Wi là trọng số của công việc thứ i
Nhìn chung, mô hình để lập lịch truyền thống < R, T, γ > chỉ xem xét trên sốlượng cố định của các máy tham gia và mục tiêu chung để lập lịch các công việc làđem lại thời gian hoàn thành các công việc là nhỏ nhất Trước khi lập lịch, bộ lập lịchbiết trước số lượng máy tham gia cũng như các tham số của các công việc nên môhình này chỉ thích hợp cho việc lập lịch tĩnh
2.2 Mô hình lập lịch công việc thời gian thực
Phần này tập trung xây dựng mô hình toán học để giải quyết lớp bài toán tìmkiếm và phân bổ tài nguyên cho các yêu cầu (công việc) thời gian thực trong các ứngdụng song song Các ứng dụng song song trong luận án được đặc trưng bởi 2 đặc điểmquan trọng:
• Các yêu cầu có khả năng song song ở mức độ cao [75], mỗi yêu cầu có thể được