nghiŒncÙum¸ts¨v⁄n˚Šl−plÀchtrŒn … · 2020. 2. 20. ·...

118
ĐI H¯C HU TRƯ˝NG ĐI H¯C KHOA H¯C NGUY™N HOÀNG HÀ NGHIÊN CU M¸T S¨ VN Đ LP LCH TRÊN MÔI TRƯ˝NG TÍNH TOÁN ĐÁM MÂY LUN ÁN TIN SĨ KHOA H¯C MÁY TÍNH HU - NĂM 2016

Upload: others

Post on 04-Mar-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

ĐẠI HỌC HUẾ

TRƯỜNG ĐẠI HỌC KHOA HỌC

NGUYỄ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

Page 2: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

ĐẠI HỌC HUẾ

TRƯỜNG ĐẠI HỌC KHOA HỌC

NGUYỄ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

CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH

MÃ SỐ: 62.48.01.01

LUẬN ÁN TIẾN SĨ KHOA HỌC MÁY TÍNH

Người hướng dẫn khoa học:

1. PGS.TS. Lê Văn Sơn

2. PGS.TS. Nguyễn Mậu Hân

HUẾ - NĂM 2016

Page 3: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu do tôi thực hiện, dưới sự hướng

dẫn khoa học của PGS.TS. Lê Văn Sơn và PGS.TS. Nguyễn Mậu Hân. Các số liệu và

kết quả trình bày trong luận án là trung thực, chưa được công bố bởi bất kỳ tác giả

nào hay ở bất kỳ công trình nào khác.

Nghiên cứu sinh

Nguyễn Hoàng Hà

i

Page 4: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

LỜI CẢM ƠN

Trong quá trình thực hiệ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” , Tôi đã nhận được rất nhiều sự giúp đỡ, tạo

điều kiện của tập thể Ban Giám hiệu, Phòng Đào tạo Sau Đại học, Khoa Công nghệ

Thông tin, giảng viên, cán bộ các phòng chức năng Trường Đại học Khoa học, Đại

học Huế. Tôi xin bày tỏ lòng cảm ơn chân thành về sự giúp đỡ đó.

Tôi xin bày tỏ lòng biết ơn sâu sắc tới PGS.TS. Lê Văn Sơn và PGS.TS. Nguyễn

Mậu Hân là những thầy giáo trực tiếp hướng dẫn và chỉ bảo cho Tôi hoàn thành luận

án này.

Tôi xin chân thành cảm ơn bạn bè, đồng nghiệp của Tôi đang công tác tại Khoa

Công nghệ Thông tin và gia đình đã động viên, khích lệ, tạo điều kiện và giúp đỡ Tôi

trong suốt quá trình thực hiện và hoàn thành luận án này.

TÁC GIẢ LUẬN ÁN

Nghiên cứu sinh

Nguyễn Hoàng Hà

ii

Page 5: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

MỤC LỤC

Lời cam đoan i

Lời cảm ơn ii

Danh mục các từ viết tắt iv

Danh mục các ký hiệu v

Danh mục bảng biểu vi

Danh mục hình vẽ vii

Mở đầu 1

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

iii

Page 6: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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.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 CTO . . . . . . . . . . . . . . . . . . . . . 40

2.4.1.2 Thuật toán MINC . . . . . . . . . . . . . . . . . . . . 43

2.4.1.3 Phân tích thuật toán CTO và MINC . . . . . . . . . 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 TCO . . . . . . . . . . . . . . . . . . . . . 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 (PSO) . . . . . . . . . . . . . . . . . . . . 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 Mprofit . . . . . . . . . . . . . . . . . . 76

3.3.2.3 Phân tích thuật toán ACACO và Mprofit . . . . . . 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 ACTACO . . . . . . . . . . . . . . . . . . 84

3.3.3.2 Áp dụng thuật toán Mprofit . . . . . . . . . . . . . . 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 PSO . . . . . . . . . . 88

3.4.1 Phát biểu bài toán . . . . . . . . . . . . . . . . . . . . . . . . . 89

3.4.2 Thuật toán tối ưu ACPSO . . . . . . . . . . . . . . . . . . . . 89

iv

Page 7: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

3.4.2.1 Thuật toán ACPSO . . . . . . . . . . . . . . . . . . . 90

3.4.2.2 Áp dụng thuật toán Mprofit . . . . . . . . . . . . . . 91

3.4.2.3 Phân tích thuật toán ACPSO . . . . . . . . . . . . . 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

Kết luận 97

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

Tài liệu tham khảo 100

v

Page 8: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

DANH MỤC CÁC TỪ VIẾT TẮT

Viết tắt Dạng đầy đủ Diễn giải ý nghĩa

ACACO Admission Control by using ACO Kiểm soát đầu vào bằng cách sử

dụng ACO

ACO 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 PSO

API 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ây

CTO 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

GA Genetic Algorithm Thuật toán di truyền

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ất

MET Minimum Execution Time Thời gian thực hiện nhỏ nhất

MI Million Instructions Triệu chỉ thị

MIPS Million Instructions Per Second Triệu chỉ thị trên một giây

Mprofit 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 gian

TSP Travelling Salesman Problem Bài toán người du lịch

VMs Virtual Machines Các máy ảo

vi

Page 9: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

DANH MỤC CÁC KÝ HIỆU

Ký hiệu Diễn giải ý nghĩa

R Tập tài nguyên

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

γ Mục tiêu của bài toán

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

F Hàm cực tiểu

η Thông tin heuristic

τ Mùi để lại của các con kiến

P Xác suất

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

Pbest 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

vii

Page 10: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

DANH MỤC BẢNG BIỂU

2.1 Chi phí và tốc độ ban đầu của các tài nguyên . . . . . . . . . . . . . . 41

2.2 Chi phí và tốc độ của các tài nguyên sau khi phân nhóm theo tốc độ . 41

2.3 Chi phí và tốc độ của các tài nguyên sau khi sắp xếp theo chi phí . . . 41

2.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 CTO 43

2.5 Các thông số mô phỏng trên CloudSim . . . . . . . . . . . . . . . . . . 47

2.6 Chi phí và tốc độ ban đầu của các tài nguyên . . . . . . . . . . . . . . 52

2.7 Chi phí và tốc độ của các tài nguyên khi phân nhóm theo chi phí . . . 52

2.8 Chi phí và tốc độ của các tài nguyên sau khi sắp xếp theo tốc độ . . . 52

2.9 Mảng kết quả được đưa ra bởi thuật toán TCO . . . . . . . . . . . . . 53

viii

Page 11: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

DANH 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 PSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

3.4 Thuật toán PSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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

ix

Page 12: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

MỞ ĐẦU

1. Lý do chọn đề tài

Tính toán đám mây (TTĐM) ra đời xuất phát từ nhu cầu tính toán và yêu

cầu dịch vụ với chi phí thấp của người sử dụng. Thực tế, các tổ chức, cơ quan

và doanh nghiệp đều đối mặt với những thử thách như sau: (1) Khối lượng dữ

liệu xử lý lớn, như các công ty lưu trữ thông tin địa lý (GIS), thông tin về biến

đổi khí hậu trên một khu vực, các công ty tài chính, chứng khoán, v.v.; (2) Tính

toán nhiều (computation intensive), như các công ty phân tích về thị trường,

phân tích về không gian, phân tích mạng cần thời gian tính toán nhanh, v.v.;

(3) Chi phí trang bị phần mềm cao, nhất là đối với các cá nhân và tổ chức nhỏ

mong muốn phát triển bằng các công nghệ phần mềm thương mại mới. Do đó,

các tổ chức này cần tìm ra các giải pháp mới có năng lực tính toán mạnh mẽ và

chi phí thấp hơn. Hiện nay có 2 cách cơ bản để giải quyết vấn đề này:

• 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àng

cá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ều

hà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ùng

dị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ĐM

dầ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ều

thá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ấp

dị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ác

nhau. Các tài nguyên này rất đa dạng, không đồng nhất và khác nhau về mặt

kiế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

1

Page 13: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

nà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ùng

yê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ác

nhau. 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ại

lợ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ịch

truyề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ười

dù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ụng

trong 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ền

thống, do đó phải 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ể. Chính vì vậy, bài toán kiểm soát đầu vào và lập

lị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ướng

hiệ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 trung

nghiê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ủa

hướ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à cung

cấ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án

lậ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ác

nhà 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ức

nề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ây

dự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

2

Page 14: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

về các công trình nghiên cứu đã được công bố, các bài báo đăng ở các hội

thả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ên

TTĐ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ành

phầ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ật

toá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ác

thuậ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ớp

các bài toán song song trên TTĐM. Luận án đưa thêm tham số chi phí, kết

hợ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ậ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 trên

TTĐ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í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. 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 cho

nhà cung cấp SaaS, tổng thời gian thực hiện thấp và thỏa mãn các ràng

buộ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 đại

họ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ập

lị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

3

Page 15: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Ngoà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ình

bà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ình

nghiê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ệc

thời gian thực áp dụng cho lớp bài toán song song. Sau đó, xây dựng các

thuậ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ỏng

CloudSim để cài đặt, phân tích và so sánh với các thuật toán lập lịch EDF

hiệ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ệc

theo 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ới

cá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 đăng

trong 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.

4

Page 16: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

CHƯƠ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án

song 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ấp

cho 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ĩa

TTĐM như sau:

• Theo Rajkumar Buyya: “TTĐM là một loại hệ thống phân tán và xử lý song

song gồm các máy tính ảo kết nối với nhau và được cung cấp động cho người

dù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ãn

lớ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 qua

Internet.”

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 nhu

cầ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.

5

Page 17: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

• 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ặc

phươ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ển

rấ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ăng

tí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áy

tí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ưới

phát triển mạnh nhất từ năm 2001 đến 2008, trong khoảng thời gian này các dự án

lớ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ưu

mớ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

6

Page 18: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

số 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ự động

giả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ên

mộ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ều

khá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 chi

phí 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 quan

tâ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ới

trong 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ồn

tà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ác

dị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.

7

Page 19: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

• Độ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 đồng

thờ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.

Hình 1.2: Kiến trúc của TTĐM

• Tầng tác chế (Fabric): bao gồm các tài nguyên phần cứng như các tài nguyên

tính toán, tài nguyên lưu trữ và tài nguyên mạng.

• Tầng tài nguyên hợp nhất (Unified Resource Layer): bao gồm các tài nguyên

được ảo hóa để có thể giao tiếp với tầng tác chế và người dùng cuối như các tài

nguyên hợp nhất. Ví dụ như các máy ảo, các cụm ảo, v.v..

• 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ển

khai một ứng dụng của người dùng. Ví dụ như dịch vụ lập lịch, dịch vụ Web

hosting, 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:

8

Page 20: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

• SaaS (Software as a Service): là mô hình cung cấp phần mềm, trong đó các ứng

dụ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ệt

web trên Internet. Người sử dụng không quan tâm đến cơ sở hạ tầng trên TTĐM

như 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ụng

IaaS có thể triển khai ứng dụng, phần mềm, hệ điều hành trên cơ sở hạ tầng

mộ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ác

nhau 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ể được

vận hành bởi một bên thứ ba và hạ tầng đám mây có thể được đặt bên trong

hoặ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ực

tiế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ẻ chung

mộ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.

9

Page 21: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

1.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ật

như 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ông

nghệ đượ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 trong

mô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ể cung

cấ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ười

dù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ệc

trê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ệu

quả 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ũng

như 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ãn

ràng buộc QoS (Quality of Service) cho người dùng và đem lại lợi ích lớn nhất

cho 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ác

rà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 ra

lị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ánh

nghẽ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.

10

Page 22: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

1.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ác

chí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ện

rà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ệm

trong 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ụng

mô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ếp

cậ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ành

phầ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ác

lớ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ài

nguyê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ỏng

trê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

11

Page 23: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

tạ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ình

hóa, mô phỏng và thử nghiệm trên hệ thống TTĐM. CloudSim giúp các nhà nghiên

cứ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ên

quan đế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 được

xâ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ản

trên đám mây. iCanCloud [61] là một framework để mô phỏng các ứng dụng trên các

mạng lưu trữ lớn. Nó cung cấp giao diện đồ họa đầy đủ để thiết kế và chạy các ứng

dụ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át

nhấ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ình

hó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úng

tô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 ba

thà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ức

trừ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ới

quy 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.

12

Page 24: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

• 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ác

trạ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ấp

cá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 theo

mụ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ên

TTĐ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ấp

dịch vụ phù hợp để triển khai các công việc cho người dùng.

13

Page 25: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

• DatacenterCharacteristics: lớp này chứa các thông tin về cấu hình của các

nguồ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ủa

cá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ách

lậ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ăng

thô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ủa

các Cloudlet. Các Cloudlet có thể thực hiện đồng thời hoặc tuần tự phụ thuộc vào

chí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ỗi

trung 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ình

1.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ính

sá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ột

trung 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ình

khá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ữa

yê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 trung

tâ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

14

Page 26: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

trung tâm dữ liệu, trung tâm dữ liệu sử dụng bộ môi giới (DataCenter Broker) và các

chính sách cấp phát máy ảo (VmAllocation Policy) để tạo ra các máy ảo từ các Host

trê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ập

vớ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ập

lị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 CloudSim

CloudSim 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àng

buộ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ật

toá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ịch

cô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 dung

củ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ực

hiệ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.

15

Page 27: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Trong 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ức

nă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 con

củ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ịch

cô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êu

nà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] định

nghĩ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ác

yê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ài

toá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ới

mụ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ãn

tiê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ập

lị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ác

yê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]:

16

Page 28: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Hì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ác

trung 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ập

cá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ầu

QoS 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ữ

17

Page 29: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

liệ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ác

trung 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à cho

ngườ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ấp

SaaS 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à cung

cấ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 cho

ngườ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ịu

trá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 QoS

lên nhà cung cấp SaaS. Hệ thống lập lịch sử dụng các chức năng ở mức ứng

dụ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ủa

cá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ách

nhiệ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 ứng

dụ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ều

nà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ông

việ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

18

Page 30: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

TTĐ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ịch

thường là tương đối đầy đủ, chính xác và cập nhật. Trong khi đó, lập lịch trên

TTĐM thường phải hoạt động trong môi trường thiếu thông tin đầy đủ và chính

xá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ỗi

thờ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ại

má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ình

tí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ất

nhanh. 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ện

song 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 ra

lị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ải

phá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áp

tố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ập

lị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ượng

tham 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)

19

Page 31: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Hì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ời

gian đư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ải

tì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ểm

này người ta thường dùng các phương pháp heuristic để đưa ra một giải pháp

gầ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ủa

bà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áp

gầ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ệm

củ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. Trong

khi đó, 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 ra

giải pháp được xem là đủ tốt. Phương pháp này được sử dụng để giảm thời gian

thự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ên

TTĐ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ư

20

Page 32: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

cơ 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ức

tạ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ên

củ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ông

thể 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 đám

mâ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 qua

hợ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ài

nguyê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ập

lị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 khi

thự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 đúng

theo 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à cung

cấ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ợi

nhuậ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ãn

hai yêu cầu còn lại. Một chiến lược lập lịch chung được đưa ra như sau:

21

Page 33: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

• Đầ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ập

cá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ợp

cho 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ịch

vụ; 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 ảo

theo 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ài

nguyê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ộc

QoS 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ác

dị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 đồng

vớ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ác

dị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ấp

nhậ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êu

cầ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ầu

thườ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 ảnh

hưở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ập

lị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, khi

xâ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ên

nhiề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.

22

Page 34: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Kế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 cho

cá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ượng

cô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 QoS

củ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ài

nguyê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ần

cá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ặc

thuê 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ền

thông trong một trung tâm dữ liệu thường không đáng kể, nhưng nếu đi thuê tài

nguyên từ các trung tâm dữ liệu khác thì phải cộng thêm chi phí truyền thông

và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 khi

lậ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ác

thô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ầu

và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.

23

Page 35: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

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

Lập lịch trong các hệ phân tán như tính toán lưới và TTĐM có hai cách tiếp cận

chính [43], [82]:

• Hướng hiệu năng về hệ thống: mục tiêu của các tiếp cận này nhằm tìm ra

một ánh xạ từ tập các yêu cầu người dùng vào một tập con của tập tài nguyên

trên các trung tâm dữ liệu sao cho tổng thời gian thực hiện (makespan) của hệ

thống là nhỏ nhất. Lịch trình đưa ra nhằm để 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. Đây là nhu cầu thực tế trong các ứng

dụng khoa học lớn và trên các đám mây cộng đồng, ở đó các ứng dụng chỉ quan

tâm đến thời gian thực hiện nhanh nhất không quan tâm đến chi phí về giá cả.

• Hướng đến hiệu năng về kinh tế: nhằm đưa ra lịch trình để tối ưu về chi

phí 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ác

nguồ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 trung

tâ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ãn

rà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ới

lậ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ông

cộ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ông

việ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ời

gian 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ước

cá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

24

Page 36: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

trì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, MET , MCT , Min −min,Min −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ật

sau 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 Max−Min, Min−Min nhằm đưa ra một lịch trình

tố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àng

buộ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ều

má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ập

lị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ưng

vẫ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êu

cầ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ũng

như 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ới

mụ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 hai

loạ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ài

nguyê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ưng

khô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án

nà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

25

Page 37: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

phươ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ương

phá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à PSO

(Particle Swarm Optimization) để xử lý các công việc với khối lượng lớn. Các nghiên

cứ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 PSO để đư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ật

toá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ượng

lớ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ình

tố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 gian

hoà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ười

dù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ần

chí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ầu

và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ồn

tà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 trong

luồ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.

26

Page 38: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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ồ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ệc

củ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ình

bà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ịch

luồ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án

nà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ủa

thuậ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ên

cá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ộc

QoS 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ựa

và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 gian

thự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ời

gian 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ạn

củ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ậ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ô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 gian

thự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ấp

phả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. Tuy

nhiê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 để

27

Page 39: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

tiế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ác

yê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ên

như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ãn

thờ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át

triể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ên

tạ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ủa

ngườ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ên

cứ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áp

heuristic 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ời

gian 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ên

cứ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 cho

lớ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 theo

hướ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ài

toá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ác

nội dung chính sau:

• Nghiên cứu các heuristic ACO [22], [49], PSO [85], EDF [10], [42], v.v.. để tìm

kiế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ười

dùng, mô hình nhà cung cấp SaaS, PaaS và IaaS.

28

Page 40: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

• 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ệc

theo 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ác

cô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ịch

cho 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ục

tiê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ác

thuậ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 trung

nghiê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ách

thứ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ình

tổ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ập

lị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. Trong

chương này, chúng tôi nghiên cứu công cụ mô phỏng CloudSim để mô phỏng và đánh

giá 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ật

thiết với nhau. Nhà cung cấp cho thuê dịch vụ, người dùng sử dụng dịch vụ và thanh

toá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án

lậ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ập

trung 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ất

trên TTĐM hiện nay là mô hình kinh doanh theo hướng thị trường. Chúng tôi trình

bà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ác

loạ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òn

tồ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.

29

Page 41: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

CHƯƠ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ời

gian 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ính

củ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ông

việ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 nhanh

nhấ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ời

gian 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ền

thống; phát triển mô hình của K.H. Kim [39] và K. Kumar [44] để xây dựng mô hình

lậ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ểu

trong 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 trong

cá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 cho

cá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ác

cô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 xem

xé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ào

mộ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.

30

Page 42: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Mô 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ình

nà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ình

nà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ện

song song.

• Flow shop, ký hiệu là FM : bao gồm M máy thực hiện theo dây chuyền. Đầu

tiê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 đợi

FIFO ”vào trước ra trước ” để đợi tham gia vào máy tiếp theo.

• Flexible flow shop ký hiệu là FFc: 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 chia

thà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ện

song 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ại

trê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ới

hạ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.

31

Page 43: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

• Các công việc phụ thuộc: được ký hiệu là pmtn. Ứng dụng bao gồm tập

cá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ác

cô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 song

song. 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 bao

gồm:

• Mục tiêu thời gian thực hiện nhỏ nhất: tìm maxi=1,...,N

{Ti} và được ký hiệu γ = Tmax

với Ti là thời gian hoàn thành công việc thứ i.

• Mục tiêu Total Flow Time:N∑i=1

Ti và được ký hiệu γ =N∑i=1

Ti

• Mục tiêu Weighted (Total) Flow time:N∑i=1

WiTi và được ký hiệu trong mô hình

là γ =N∑i=1

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ịch

biế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ìm

kiế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 ứng

dụng song song. Các ứng dụng song song trong luận án được đặc trưng bởi 2 đặc điểm

quan 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

32

Page 44: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

phân chia thành các yêu cầu nhỏ hơn và có thể thực hiện song song. Trong luận

án, chúng tôi ký hiệu p là đơn vị nhỏ nhất trong việc tính toán.

• Ràng buộc thời gian thực [68]: thời gian hoàn thành của mỗi yêu cầu phải trước

thời hạn của nó.

Ví dụ, một yêu cầu cần xử lý 1000 ảnh trong vòng d phút và ngân sách để xử lý

là c, yêu cầu này có thể chia ra thành 1000 yêu cầu con, mỗi yêu cầu con xử lý một

ảnh và các yêu cầu này có thể thực hiện song song. Chúng ta có thể sử dụng 1000 máy

ảo, mỗi máy ảo xử lý một ảnh. Nếu tất cả các máy ảo này có thể thực hiện đồng thời

và hệ thống lưu trữ có thể cung cấp đủ băng thông, thì đây là cách giải quyết nhanh

nhất nhưng sử dụng máy ảo nhiều nhất. Cách khác, chúng ta có thể sử dụng 10 máy

ảo, mỗi máy ảo xử lý 100 ảnh hoặc sử dụng một máy ảo để xử lý 1000 ảnh, các cách

này đều tốn thời gian nhiều hơn.

Tuy nhiên, việc lựa chọn máy ảo để xử lý bị ràng buộc bởi thời hạn và ngân sách

của các yêu cầu, mỗi máy ảo có chi phí và tốc độ khác nhau. Trong phần này, luận

án xây dựng bài toán lập lịch với các ràng buộc của người dùng và xem xét việc lựa

chọn máy ảo theo hai mục tiêu:

• Thời gian hoàn thành các công việc là nhỏ nhất nhưng vẫn thỏa mãn thời hạn

và ngân sách của các yêu cầu.

• Chi phí thực hiện là nhỏ nhất nhưng thỏa mãn ràng buộc QoS cho các yêu cầu.

2.2.1. Mô tả bài toán

Ứng dụng bao gồm tập các yêu cầu T , mỗi yêu cầu ti ∈ T có thời điểm đến là ai,

thời hạn là di (chỉ rõ bằng phút) và ngân sách (budget) là bi (chỉ rõ bằng $) và khối

lượng công việc là wi. Khối lượng công việc của mỗi yêu cầu được song song hóa vào

các đơn vị nhỏ hơn (yêu cầu con), kích cỡ nhỏ nhất của yêu cầu con là p. R là tập tài

nguyên có sẵn, tài nguyên này có thể thực hiện song song và có kiến trúc là SIMD

[4]. Mỗi tài nguyên rj ∈ R có tốc độ tính toán sj và tương ứng chi phí cj để thuê máy

ảo. Tốc độ sj là số chu kỳ của tài nguyên có thể hoàn thành trên phút. Người dùng trả

chi phí cj để thuê tài nguyên rj trong khoảng D phút liên tục, D là đơn vị nhỏ nhất

để thuê. Bài toán thứ nhất có thể mô tả như sau: “Tìm một ánh xạ từ tập yêu cầu T

vào một tập con của tập tài nguyên R để tối thiểu tổng thời gian thực hiện trong khi

vẫn thỏa mãn thời hạn và ngân sách của các yêu cầu trong T .”

Bài toán thứ 2 với mục tiêu tối ưu về chi phí và được mô tả như sau: “Tìm một

33

Page 45: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

ánh xạ từ tập yêu cầu T vào một tập con của tập tài nguyên R để nhỏ nhất toàn bộ

chi phí trong khi vẫn thỏa mãn thời hạn và ngân sách của các yêu cầu trong T .”

Ví dụ: thời gian nhỏ nhất để thuê tài nguyên D = 60 phút. Giả sử chúng ta có 3

tài nguyên r1, r2, r3 có tốc độ và chi phí như sau:

Tài nguyên: rj Tốc độ: sj Giá: cj

r1 10 1.0

r2 15 1.5

r3 20 2

Ứng dụng có 2 yêu cầu với các tham số như sau:

ai di bi wi

t1 0 60 1.5 500

t2 30 70 2 1200

Như vậy, thời gian yêu cầu t1 có thể hoàn thành trên các tài nguyên được tính như

sau:

Tài nguyên r1 r2 r3

Thời gian(wisj

) 50010

= 50 (phút) 50015

= 33.33 (phút) 50020

= 25 (phút)

Với mục tiêu giảm chi phí nhưng vẫn thỏa mãn thời hạn và ngân sách, ta có thể

sử dụng thuật toán tham lam để yêu cầu t1 chọn tài nguyên r1 với chi phí là 1. Tiếp

theo, chúng ta xét yêu cầu t2 cần hoàn thành trước d2 − a2 = 40 phút, nếu ánh xạ t2

vào r1 cần 120010

= 120 phút, nên phải sử dụng 12040

= 3 × r1, tương tự như vậy cần sử

dụng 2× r2 và 2× r3 cho t2. Như vậy, chi phí tương ứng cho hai yêu cầu lần lượt trên

r1, r2, r3 là 1 + 3× 1 = 4, 1 + 2× 1.5 = 4, 1 + 2× 2 = 5, cả ba chi phí này không thỏa

mãn ngân sách của cả hai yêu cầu.

Bây giờ chúng ta xét cả hai yêu cầu thực hiện một cách đồng thời, cho t1 ánh

xạ vào r3 từ phút 0 đến phút 25 (50020

= 25), tận dụng từ phút 25 đến 60 của r3

cho t2 nhưng thời điểm đến của t2 là phút thứ 30 nên chúng ta tận dụng từ phút 30

đến 60, trong khoảng thời gian này t2 thực hiện được 20 × 30 = 600 chu kỳ, còn lại

1200−600 = 600 chu kỳ chưa được thực hiện, 600 chu kỳ này nếu được thực hiện trên

r1 thì cần 60010

= 60 phút và tốn chi phí 2+1=3 thỏa mãn ngân sách của hai yêu cầu

nhưng không thỏa mãn thời hạn vì thời gian hoàn thành lên đến phút 90 như Hình

2.1. Nếu 600 chu kỳ này thực hiện trên r2 cần 60015

= 40 phút và chi phí cả hai yêu cầu

là 2 + 1.5 = 3.5 thỏa mãn thời hạn và ngân sách của cả hai yêu cầu như trong Hình

2.2.

34

Page 46: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Hình 2.1: Ánh xạ đồng thời t1 và t2 vào

tài nguyên r1 và r3

Hình 2.2: Ánh xạ đồng thời t1 và t2 vào

tài nguyên r1 và r2

Ví dụ trên chứng tỏ rằng thuật toán tham lam có thể không đem lại một chí phí

thấp nhất để thỏa mãn thời hạn và ngân sách của các yêu cầu. Các yêu cầu phải được

xem xét một cách đồng thời và phải tận dụng được các khoảng thời gian còn hiệu lực

trên các tài nguyên để có được tổng chi phí thấp nhất thỏa mãn yêu cầu của người

dùng.

2.2.2. Mô hình toán học cho bài toán

K.H. Kim [39] và K. Kumar [44] đưa ra mô hình cho các yêu cầu và các máy ảo để

lập lịch các yêu cầu thời gian thực. Tuy nhiên, các nghiên cứu này chỉ ưu tiên lập lịch

để tổng thời gian thực hiện của hệ thống là nhỏ nhất không quan tâm đến ngân sách

của các yêu cầu. Để mở rộng tính toán, ngoài thời hạn chúng ta phải xem xét ngân

sách của các yêu cầu, đảm bảo các yêu cầu được thực hiện trước thời hạn và không

vượt quá ngân sách của nó. Phần này, chúng tôi trình bày mô hình toán học cho các

yêu cầu thời gian thực và các máy ảo trên trung tâm dữ liệu.

Gọi R = {r1, r2, ..., rM} là tập M tài nguyên tính toán, các tài nguyên này có thể

thực hiện song song. Mỗi tài nguyên rj ∈ R là bộ <sj,cj>[44], trong đó sj là tốc độ

tính toán tính trên phút, cj là chi phí để thuê tài nguyên trong khoảng thời gian D

phút. Các tài nguyên này là nguồn tính toán cho N yêu cầu độc lập, được biểu diễn

bởi tập T = {t1, t2, . . . , tN}, mỗi yêu cầu ti ∈ T là một bộ 4 <ai,di,bi,wi> trong đó:

• ai: thời điểm đến (arrival) của yêu cầu ti.

• di: thời hạn (deadline) của ti, thời gian để hoàn thành yêu cầu phải nhỏ hơn

hoặc bằng thời hạn của nó.

• bi: ngân sách của yêu cầu ti, chi phí thực hiện yêu cầu phải nhỏ hơn hoặc bằng

ngân sách của nó.

• wi: khối lượng công việc của ti tính bằng chu kỳ.

35

Page 47: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Gọi amin, dmax là thời điểm đến nhỏ nhất và thời hạn lớn nhất của tất cả các yêu

cầu. Khi đó, thời gian thực hiện các yêu cầu trong T trên tập tài nguyên R sẽ thực

hiện trong giới hạn từ amin phút đến dmax phút.

Tại mỗi thời điểm x (x = amin..dmax) các yêu cầu có thể thuê một tài nguyên nhiều

lần, ta sử dụng α(j, k, x) để thể hiện việc chọn tài nguyên:

α(j, k, x) =

1 nếu tại phút x, tài nguyên rj được sử dụng từ 1 đến k lần.

0 nếu tại phút x, tài nguyên rj không được sử dụng.(2.1)

Gọi Scost(x) là hàm tính tổng chi phí của tất cả các tài nguyên tại phút thứ

x (x = amin..dmax), Scost(x) phụ thuộc vào chi phí và số lần sử dụng tài nguyên tại

phút thứ x và được tính như sau:

Scost(x) =M∑j=1

y∑k=1

cjD× α(j, k, x) (2.2)

Trong đó, M là số tài nguyên trong R, k (k = 1..y) là số lần sử dụng tài nguyên

tại phút thứ x, chỉ số trên của y được xác định như sau:

Trong TTĐM người dùng có thể lựa chọn bất kỳ tài nguyên nào với số lượng khác

nhau, giá trị y có thể là ∞. Tuy nhiên, ta có thể suy ra chỉ số trên của y từ tập các

yêu cầu T đã có. Mỗi yêu cầu ti ∈ T có khối lượng là wi, vì vậy tổng khối lượng của

tập yêu cầu T được xác định như sau:

C =N∑i=1

wi (2.3)

Gọi p là tốc độ nhỏ nhất của các tài nguyên trong tập R.

p = minj=1..M

{sj} (2.4)

Vì vậy, số lần sử dụng tài nguyên lớn nhất tại phút thứ x là y = Cp(lần).

Gọi Scycle(x) là hàm tính tổng số chu kỳ thực hiện của tất cả các tài nguyên tại

phút thứ x (x = amin..dmax), Scycle(x) phụ thuộc vào tốc độ và số lần sử dụng tài

nguyên tại phút thứ x và được tính như sau:

Scycle(x) =M∑j=1

y∑k=1

sj × α(j, k, x) (2.5)

Trong đó,M là số lượng tài nguyên trong R và y = Cplà số lần sử dụng tài nguyên

lớn nhất tại phút thứ x.

36

Page 48: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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.2.3. Mục tiêu tối ưu về chi phí

Với mục tiêu là tìm tổng chi phí nhỏ nhất của tất cả các yêu cầu, điều này có thể

được thực hiện bằng cách tính tổng chi phí nhỏ nhất từ phút amin đến phút dmax của

tất cả các tài nguyên được chọn. Vì vậy, để đạt được mục tiêu nhỏ nhất về chi phí thì

phải tìm cực tiểu:dmax∑x=amin

Scost(x)→ min (2.6)

Để đạt mục tiêu như công thức (2.6) thì phải thỏa mãn hai ràng buộc:

• Chi phí của mỗi yêu cầu ti ∈ T phải thỏa mãn ngân sách của nó tức là:

di∑x=ai

Scost(x) ≤ bi (2.7)

• Thời gian thực hiện của mỗi yêu cầu ti ∈ T phải nhỏ hơn hoặc bằng thời hạn

của nó, tức là tổng số chu kỳ thực hiện từ phút thứ ai đến di trên tất cả các tài

nguyên được chọn phải lớn hơn hoặc bằng khối lượng công việc (wi) của ti:

di∑x=ai

Scycle(x) ≥ wi (2.8)

Trong đó, Scost(x) và Scycle(x) là hàm tính tổng chi phí và tổng số chu kỳ được

xác định ở công thức (2.2) và (2.5).

2.2.4. Mục tiêu tối ưu về thời gian

Với mục tiêu là tổng thời gian hoàn thành là nhỏ nhất, do đó tổng số chu kỳ được

thực hiện cho tất cả các yêu cầu là lớn nhất. Vì vậy, với mục tiêu tối ưu về thời gian

thực hiện cho các yêu cầu thì phải tìm cực đại:

dmax∑x=amin

Scycle(x)→ max (2.9)

Để đạt được mục tiêu như công thức (2.9) thì phải thỏa mãn hai ràng buộc ở (2.7)

và (2.8).

2.3. Mô hình tối ưu về kinh tế

Mỗi máy ảo của nhà cung cấp IaaS được thuê trong D-phút và nhà cung cấp

SaaS phải trả một chi phí cố định trong D-phút được thuê, nếu họ không sử dụng hết

37

Page 49: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

D-phút thì họ cũng phải trả chi phí cho toàn bộ thời gian thuê, điều này thúc đẩy nhu

cầu tìm kiếm một định vị hiệu quả về chi phí cho tập các yêu cầu [44].

Trong phần này, luận án tận dụng khoảng thời gian còn hiệu lực trong vòng D-

phút được thuê của yêu cầu này để thực hiện cho yêu cầu khác. Mỗi nhà cung cấp

x (x = 1..Y ) có thể chấp nhận được nhiều yêu cầu. Vì vậy, chúng tôi tận dụng khoảng

thời gian còn hiệu lực trong vòng D-phút được thuê của các yêu cầu nằm trong cùng

một nhà cung cấp để đem lại lợi nhuận cao nhất cho nhà cung cấp SaaS.

Chúng tôi gọi khoảng thời gian còn hiệu lực trong vòng D-phút được thuê là thời

gian gối đầu của hai yêu cầu và định nghĩa tập Ti bao gồm các yêu cầu trong cùng

một nhà cung cấp với yêu cầu ti và gối đầu lên yêu cầu ti, các yêu cầu này có thể chia

sẻ cùng một máy ảo. Như vậy, tập Ti bao gồm tập các yêu cầu có thời hạn lớn hơn

thời hạn của ti và thời điểm đến của các yêu cầu này nhỏ hơn thời hạn của ti. Tập Ti

được định nghĩa như sau:

Ti ={tl|dl ≥ di và al < di

}(2.10)

Sau khi xác định được tập Ti, ta tiến hành tính khoảng thời gian gối đầu lên nhau.

Ta định nghĩa tiljx là thời gian còn hiệu lực để tính toán cho yêu cầu tl sau khi đã

thực hiện xong yêu cầu ti trên máy ảo vmjx. Giá trị tijlx phụ thuộc vào tốc độ của các

máy ảo, thời điểm đến, thời hạn và khối lượng công việc của ti và tl. tiljx được xây

dựng như sau:

tiljx =

min(D − Uiljx, dl − al) nếu al − ai ≥ wi

sijx

D − Uiljx nếu al − ai < wisijx

và dl − ai ≥ D

dl − (ai + Uiljx)nếu al − ai < wisijx

và dl − ai < D

(2.11)

Trong đó:

• Uiljx = wisijx

+ max(al − di, 0).

• sijx là tốc độ của máy ảo vmjx được ánh xạ vào yêu cầu ti.

Ví dụ: giả sử D=60, máy ảo vm21 của nhà cung cấp 1 có tốc độ s21 = 20 và yêu

cầu t1 có thời điểm đến: 0; thời hạn: 30 và khối lượng: 500; thực hiện trên máy ảo

vm21 với thời gian: 50020

= 25 phút.

Yêu cầu t2 có thời điểm đến: 30; thời hạn: 50 và khối lượng: 1200.

Xét trên công thức (2.11), vì al − ai ≥ w1

sijx(30 − 0 ≥ 25) nên rơi vào trường

hợp đầu tiên của công thức (2.11). Khi đó, Uiljx = 25 + max (30− 30, 0) = 25 và

min (D − Uil, dl − aj) = min (60− 25, 50− 30) = 20, như vậy thời gian còn hiệu lực

38

Page 50: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

của máy ảo vm21 cho yêu cầu t2 là 60 − 25 = 35 phút, nhưng t2 chỉ sử dụng được

min(35, 20) = 20 phút. Hai trường hợp còn lại của công thức (2.11) xét tương tự.

Công thức (2.11) xét trên từng nhà cung cấp x (x = 1..Y ), nếu trong mô hình nhà

cung cấp IaaS chỉ có một cung cấp thì công thức (2.11) được xây dựng lại như sau:

tiljx =

min(D − Uilj, dl − al) nếu al − ai ≥ wi

sij

D − Uilj nếu al − ai < wisij

và dl − ai ≥ D

dl − (ai + Uilj)nếu al − ai < wisij

và dl − ai < D

(2.12)

Trong đó:

• Uilj = wisij

+ max(al − di, 0).

• sij là tốc độ của máy ảo j được ánh xạ vào yêu cầu ti.

2.4. Thuật toán lập lịch trên hệ thống thời gian thực

Dựa trên bài toán phát biểu ở phần 2.2.1, mô hình toán học ở phần 2.2.2 và 2.3,

phần này chúng tôi xây dựng các thuật toán để lập lịch cho các yêu cầu thời gian thực

áp dụng trong các ứng dụng song song.

2.4.1. Thuật toán lập lịch tối ưu về thời gian

Các thuật toán này được sử dụng để giải quyết bài toán thứ nhất:

“Tìm một ánh xạ từ tập yêu cầu T vào một tập con của tập tài nguyên R để tối

thiểu tổng thời gian thực hiện trong khi vẫn thỏa mãn thời hạn và ngân sách của tất

cả các yêu cầu trong T .”.

Mục tiêu và các ràng buộc của bài toán được thể hiện ở mô hình toán học trong

phần 2.2.2. Mục tiêu được biểu diễn ở công thức (2.9) và hai ràng buộc của bài toán

được thể hiện ở ràng buộc (2.7) và (2.8).

Để giải quyết bài toán này, đầu tiên chúng tôi đề xuất thuật toán thứ nhất (có tên

là CTO) nhằm xác định số lượng của các tài nguyên để thực hiện cho mỗi yêu cầu.

Các yêu cầu trong thuật toán này được thực hiện song song và luôn đảm bảo thời gian

thực hiện trước thời hạn. Nhưng thuật toán này chưa tận dụng hết tài nguyên để tiết

kiệm chi phí cho nhà cung cấp. Vì vậy chúng tôi xây dựng thuật toán thứ hai (có tên

là MINC) để xác định khoảng thời gian gối đầu lên nhau giữa các yêu cầu nhằm tận

dụng khoảng thời gian còn hiệu lực của mỗi yêu cầu với mục tiêu tối ưu về chi phí.

39

Page 51: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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.4.1.1. Thuật toán CTO

Đầu vào của thuật toán là tập các yêu cầu của người dùng, tập các tài nguyên của

nhà cung cấp IaaS. Đầu ra của thuật toán là một mảng kết quả chứa số lượng các tài

nguyên trên mỗi nhóm cho các yêu cầu. Các bước của thuật toán CTO được mô tả

trong Thuật toán 2.1.

Thuật toán 2.1: CTO

Đầu vào:

• T = {t1, t2, . . . , tN}, ∀ti ∈ T là một bộ 4 < ai, di, bi, wi >;

• R = {r1, r2, ..., rM}, ∀rj ∈ R là bộ <sj,cj> ; /* R và T được xác định ở

phần 2.2.2 */

Đầu ra : Mảng kết quả Result chứa số lượng các tài nguyên cho mỗi yêu cầu;

Phương pháp:

1 Chọn ngưỡng ρ ∈ N : 1 ≤ ρ ≤ p, p được xác định như công thức (2.4);

2 Sắp xếp các tài nguyên theo thứ tự giảm dần của tốc độ;

3 Dựa vào ngưỡng ρ để nhóm các tài nguyên theo tốc độ ;

4 G :=số nhóm tài nguyên nhóm được;

5 RG = {g1, g2, ..., gG}, gl ∈ G chứa các tài nguyên của nhóm;

6 Trên mỗi nhóm, sắp xếp các tài nguyên theo thứ tự tăng dần của chi phí;

7 Result:= CalculateParallel(RG,T );

Function CalculateParallel(RG,T )

1 Tạo G luồng (thread) chạy đồng thời: TH = {th1, th2, ..., thG}, thj ∈ TH tìm

kiếm tài nguyên tương ứng trên nhóm gj ∈ RG;

2 foreach thj ∈ TH do

3 foreach ti ∈ T do

4 Tính số lượng của tài nguyên đầu tiên r1 ∈ gj cho ti:

sli :=

∣∣∣∣ wi(di − ai)× s1

∣∣∣∣;5 if wi > (di − ai)× s1 và |gj| = 1 then

6 sli := sli + 1;

7 else

8 if wi > (di − ai)× s1 then9 Tính số lượng các tài nguyên còn lại của nhóm gj cho ti ;

10 Result[j, i] := Số lượng và tên tài nguyên trong gj được thực hiện cho ti;

40

Page 52: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Ví dụ 2.1:

Đầu tiên chúng ta cần xác định đầu vào của thuật toán, ví dụ đầu vào của thuật

toán được xác định như sau:

• T = {t1, t2}; t1(a1, d1, b1, w1) = t1(0, 60, 2.5, 1500); t2(a2, d2, b2, w2) = t2(30, 70, 3.5

, 1800);

• R = {r1, r2, r3, r4, r5, r6, r7} với các tốc độ và chi phí như Bảng 2.1:

rj r1 r2 r3 r4 r5 r6 r7

sj 15 20 20 25 20 25 30

cj 1 1.5 2 2.5 1.7 2.7 2.5

Bảng 2.1: Chi phí và tốc độ ban đầu của các tài nguyên

Sau đó, chọn ngưỡng ρ = 5 và sắp xếp 7 tài nguyên theo thứ tự giảm dần của tốc

độ (câu lệnh 1). Dựa vào ngưỡng ρ = 5 để chia các tài nguyên thành hai nhóm theo

tốc độ (câu lệnh 2 đến 5). Như vậy, các tài nguyên đầu tiên sẽ có tốc độ cao nhất. Kết

quả của hai nhóm tài nguyên được xác định ở Bảng 2.2. Trên mỗi nhóm tiến hành

sắp xếp các tài nguyên theo thứ tự tăng dần của chi phí (câu lệnh 6), như vậy các

tài nguyên đầu tiên của mỗi nhóm sẽ có chi phí thấp hơn so với các tài nguyên còn

lại trên mỗi nhóm. Kết quả sau khi sắp xếp tăng dần theo chi phí được thể hiện như

Bảng 2.3.

rj r7 r4 r6 r2 r3 r5 r1

sj 30 25 25 20 20 20 15

cj 2.5 2.5 2.7 1.5 2 1.7 1

Nhóm 1 2

Bảng 2.2: Chi phí và tốc độ của các tài nguyên sau khi phân nhóm theo tốc độ

rj r7 r4 r6 r1 r2 r5 r3

sj 30 25 25 15 20 20 20

cj 2.5 2.5 2.7 1 1.5 1.7 2

Nhóm 1 2

Bảng 2.3: Chi phí và tốc độ của các tài nguyên sau khi sắp xếp theo chi phí

Sau khi phân nhóm, G = 2 và RG = {g1, g2}, g1 = {r7, r4, r6}, g2 = {r1, r2, r5, r3}.Tương ứng với G(G = 2) nhóm, hàm CalculateParallel sẽ tạo ra G luồng chạy đồng

41

Page 53: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

thời (th1 và th2), mỗi luồng sẽ tính toán trên mỗi nhóm tài nguyên tương ứng (th1 sẽ

tính trên nhóm g1 và th2 sẽ tính trên nhóm g2), cụ thể như sau:

Luồng 1 (th1) sẽ tính toán số lượng tài nguyên trên nhóm 1 (g1) cho tất cả các

yêu cầu:

• Yêu cầu t1(0, 60, 2.5, 1500), với khối lượng công việc 1500 chu kỳ, thời gian lớn

nhất để hoàn thành là d1− a1 = 60 phút. Ưu tiên ánh xạ t1 vào tài nguyên r7 là

tài nguyên đầu tiên trên nhóm 1 có chi phí thấp và tốc độ cao so với nhóm còn lại.

Khi đó số chu kỳ được thực hiện trên r7 (ký hiệu là cn7): cn7 = (d1− a1)× s7 =

60 × 30 = 1800 chu kỳ, vì cn7 > w1 nên ta chỉ cần 1 tài nguyên r7 (ký hiệu là:

1 × r7) để thực hiện cho t1 với chi phí là 2.5, chi phí này thỏa mãn ngân sách

của t1. Lưu kết quả này vào mảng kết quả, Result [1, 1] = 1× r7.

• Yêu cầu t2(30, 70, 3.5, 1800), thời gian lớn nhất để hoàn thành là 70 − 30 = 40

phút, nếu sử dụng tài nguyên r7 thì thực hiện được cn7 = (d2 − a2) × s7 =

40×30 = 1200 chu kỳ, do đó ta chỉ cần∣∣∣ w2

cn7

∣∣∣ =∣∣18001200

∣∣ = 1×r7, còn lại w2−cn7 =

1800−1200 = 600 chu kỳ, ta đồng thời sử dụng r4 (tài nguyên thứ 2 trong nhóm

1) trong thời gian 40 phút thì thực hiện được cn4 = (d2−a2)×s4 = 40×25 = 1000

chu kỳ, vì cn4 >= w2 − cn7 nên ta chỉ cần sử dụng 1× r4. Lưu kết quả này vào

mảng kết quả, Result [1, 2] = 1× r4, 1× r7.

Khi đó cả hai yêu cầu t1 và t2 thực hiện song song trên 2 tài nguyên r7 và r4

nên vẫn đảm bảo thời hạn với chi phí c7 + c4 = 2.5 + 2.5 = 5, chi phí này vượt

quá ngân sách của yêu cầu t2.

Luồng 2 (th2) sẽ tính toán số lượng tài nguyên trên nhóm 2 (g2) cho tất cả các

yêu cầu:

• Ưu tiên ánh xạ t1 vào r1, khi đó sử dụng được cn1 = (d1−a1)×s1 = 60×15 = 900

chu kỳ, nên chỉ cần∣∣∣ w1

cn1

∣∣∣ =∣∣1500900

∣∣ = 1×r1, còn lại 600 chu kỳ nên chỉ cần sử dụng

1 × r2. Khi đó, tổng chi phí trên hai tài nguyên là 2.5 vẫn đảm bảo ngân sách

cho yêu cầu t1. Lưu kết quả này vào mảng kết quả, Result [2, 1] = 1× r1, 1× r2.

• Ưu tiên ánh xạ t2 vào r1, khi đó sử dụng được cn1 = (d2−a2)×s1 = 40×15 = 600

chu kỳ nên cần∣∣∣ w2

cn1

∣∣∣ =∣∣1800600

∣∣ = 3× r1 với chi phí 3× 1 = 3 thỏa mãn ngân sách

cho yêu cầu. Lưu kết quả này vào mảng kết quả, Result [2, 2] = 3× r1.

Sau khi các luồng thực hiện xong, chúng ta có được một bảng kết quả để xác định

số lượng của các tài nguyên cho mỗi yêu cầu như Bảng 2.4. Trên mỗi nhóm sẽ có tương

ứng một lịch trình để xác định tên tài nguyên và số lượng tài nguyên được ánh xạ vào

42

Page 54: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

mỗi yêu cầu như sau:

Lịch trình trên nhóm 1:

• t1 cần sử dụng 1× r7 (ký hiệu là t1 → 1× r7) với chi phí là 2.5 thỏa mãn ngân

sách.

• t2 cần sử dụng 1× r7 và 1× r4 (ký hiệu là t2 → 1× r7, 1× r4 ) với chi phí là 5

nên không thỏa mãn ngân sách

Lịch trình trên nhóm 2:

• t1 → 1× r1, 1× r2 với chi phí là 1, thỏa mãn ngân sách.

• t2 → 3× r1 với chi phí là 3 nên thỏa mãn ngân sách.

Nhóm t1 t2 Tổng chi phí

1 1× r7 1× r7, 1× r4 2.5 + (2.5 + 2.5) = 7.5

2 1× r1, 1× r2 3× r1 1 + 1.5 + 3× 1 = 5.5

Bảng 2.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 CTO

Nhận xét: mặc dù thuật toán CTO tối ưu về thời gian, đảm bảo các yêu cầu hoàn

thành trước thời hạn của nó, nhưng thuật toán này còn một số hạn chế:

1. Thuật toán CTO chỉ xem xét số tài nguyên trên một nhà cung cấp, nếu xét trên

nhiều nhà cung cấp thì thời gian đưa ra lịch trình của thuật toán sẽ lớn.

2. Các yêu cầu luôn hoàn thành trước thời hạn nhưng có thể không thỏa mãn ngân

sách của nó.

3. Thời gian thuê tài nguyên là D phút nhưng có thể có nhiều yêu cầu không sử

dụng hết D phút.

2.4.1.2. Thuật toán MINC

Để khắc phục các hạn chế của thuật toán CTO, luận án sử dụng mô hình tối ưu

về kinh tế (phần 2.3) để xây dựng thuật toán MINC nhằm tận dụng khoảng thời

gian còn hiệu lực giữa các yêu cầu với mục tiêu tối ưu về chi phí.

Ý tưởng của thuật toán là dựa vào lịch trình đưa ra của thuật toán CTO, để tìm

ra yêu cầu đầu tiên thỏa mãn ngân sách và thời hạn. Sau đó, tìm ra tập các yêu cầu

gối đầu lên yêu cầu này như công thức (2.10) và tính các khoảng thời gian gối đầu

43

Page 55: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

như công thức( 2.12). Sau khi tận dụng khoảng thời gian gối đầu này cho các yêu cầu,

tìm ra yêu cầu có khoảng thời gian gối đầu lớn nhất vừa thỏa mãn thời hạn và ngân

sách để làm yêu cầu lập lịch tiếp theo. Quá trình này cứ tiếp tục cho đến khi các yêu

cầu được lập lịch xong. Thuật toán MINC bao gồm các bước được mô tả ở Thuật

toán 2.2.

Thuật toán 2.2: MINC

Đầu vào:

• UST := T ; /* Tập các yêu cầu chưa lập lịch */

• Mảng Result ; /* Mảng kết quả là đầu ra của thuật toán CTO. */

Đầu ra : ST là lịch trình để ánh xạ các yêu cầu vào các tài nguyên;

Phương pháp:

1 ST := ∅;2 if tìm thấy ti ∈ UST thỏa mãn thời hạn và ngân sách trong Result then

3 k:= vị trí của dòng trên Result tìm thấy ti;

4 PUSH(ti) ; /* Lưu trữ ti vào ngăn xếp */

5 UST := UST \ {ti};6 ST := ST ∪ {ti → Result [k, i]};7 while (UST 6= ∅) do8 ti := POP () ; /* Lấy ti từ ngăn xếp */

9 Tìm Ti :={tl|dl ≥ di và al < di

};

10 Tính tilj trên tài nguyên cuối cùng được ánh xạ bởi yêu cầu ti như công

thức (2.12):

tilj :=

min (D − Uilj, dl − al) nếu al − ai ≥ wi

sij

D − Uilj nếu al − ai < wisij

và dl − ai ≥ D

dl − (ai + Uil) nếu al − ai < wisijx

và dl − ai < D

;

11 Dựa trên tilj tính được trong Ti để cập nhật lại khối lượng cho các yêu

cầu trong Ti và tìm ra yêu cầu tl ∈ Ti có khoảng thời gian gối đầu lớn

nhất vừa thỏa mãn thời hạn và ngân sách;

12 if tìm thấy tl then

13 PUSH(tl); UST := UST \ {tl};14 ST := ST ∪ {tl → Result [k, l]};15 else

16 Lặp lại từ câu lệnh 2 để tìm yêu cầu tiếp theo;

17 else

18 Thông báo các yêu cầu ti ∈ UST bị từ chối;

44

Page 56: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Đầu tiên thuật toán MINC dựa vào bảng kết quả Result là đầu ra của thuật

toán CTO để tìm kiếm yêu cầu đầu tiên ti ∈ UST thỏa mãn thời hạn và ngân sách

(câu lệnh 1). Nếu không tìm thấy ti thì thông báo các yêu cầu trong UST bị từ chối

(câu lệnh 18), ngược lại lưu yêu cầu ti vào ngăn xếp và cập nhật lại trạng thái của

tập UST và ST (câu lệnh 2 và 3 ). Kiểm tra xem có còn yêu cầu nào chưa lập lịch

trong UST hay không ? (câu lệnh 7). Nếu còn thì lấy yêu cầu đã lập lịch trong ngăn

xếp ra để tìm tập các yêu cầu gối đầu lên yêu cầu này và tính thời gian gối đầu, từ

đó tìm ra yêu cầu (tl) tiếp theo cần lập lịch và cập nhật lại tập UST và ST (từ câu

lệnh 8 đến câu lệnh 14). Nếu không tìm ra tl thì lặp lại câu lệnh 2 để tìm ra yêu cầu

tiếp theo thỏa mãn thời hạn và ngân sách trong Result (câu lệnh 16).

Quá trình này cứ tiếp tục cho đến khi tất cả các yêu cầu đã được lập lịch xong.

Kết thúc thuật toán, tập ST chứa lịch trình để ánh xạ các yêu cầu được chấp nhận

vào các tài nguyên.

2.4.1.3. Phân tích thuật toán CTO và MINC

• Đầu vào của thuật toán CTO: tập tài nguyên R được xác định vì tại thời điểm

lập lịch dựa vào thông tin của hệ thống ta có thể xác định được số lượng tài

nguyên trên trung tâm dữ liệu.

• Sự hình thành của tập T và UST trong thuật toán CTO và MINC được giới

hạn vì các yêu cầu được lập lịch theo lô và theo một chu kỳ tức là ta sử dụng

hai tập yêu cầu chưa lập lịch, cứ tập yêu cầu này đang được lập lịch thì tập yêu

cầu kia tiếp tục nhận yêu cầu chưa lập lịch và lưu vào hàng đợi, khi tập yêu cầu

này lập lịch xong thì hệ thống sẽ lập lịch cho tập yêu cầu lưu ở hàng đợi và quá

trình cứ lặp lại.

• Đối với thuật toán CTO: sau khi thực hiện từ câu lệnh 1 đến câu lệnh 6, ta có

G nhóm tài nguyên độc lập, các tài nguyên đầu tiên của mỗi nhóm sẽ có chi phí

thấp nhất so với các tài nguyên còn lại của nhóm và các tài nguyên của nhóm

đầu tiên sẽ có tốc độ lớn nhất. Sau khi tạo được G nhóm tài nguyên độc lập,

ta có thể áp dụng mô hình lập trình chia xẻ bộ nhớ [4] để tạo ra G luồng chạy

đồng thời, mỗi luồng sẽ tính toán tài nguyên trên mỗi nhóm tương ứng. Trên

mỗi luồng sẽ ưu tiên ánh xạ yêu cầu vào tài nguyên đầu tiên của mỗi nhóm, điều

này sẽ làm giảm chi phí cho cả hệ thống. Vì thuật toán sử dụng G luồng chạy

đồng thời nên sẽ tối ưu thời gian đưa ra các lịch trình cho thuật toán CTO.

• Thời gian thuê tài nguyên là D-phút, do đó có thể một yêu cầu nào đó hoàn

thành công việc của mình với thời gian ít hơn D-phút nhưng phải trả chi phí

45

Page 57: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

trong vòng D-phút. Thuật toán MINC tận dụng khoảng thời gian còn hiệu lực

này để thực hiện cho yêu cầu tiếp theo, điều này dẫn đến chi phí thực hiện cho

cả hệ thống giảm xuống và đem lại lợi ích cho nhà cung cấp SaaS.

• Độ phức tạp của thuật toán CTO:

– Sử dụng thuật toán Quick Sort để sắp xếp các yêu cầu theo chiều giảm dần

của tốc độ và trên từng nhóm sắp xếp tăng dần của chi phí. Do đó, độ phức

tạp của hai lần sắp xếp là O(2 ×M × logM2 ) = O(M × logM2 ) với M là số

tài nguyên.

– Tạo ra G luồng chạy đồng thời: O(G).

– Trên mỗi luồng sẽ tính toán số lượng tài nguyên trên mỗi nhóm tương ứng

cho N các yêu cầu. Khi đó, độ phức tạp để tính toán trên mỗi luồng là:

O(N × Gx) với Gx là số tài nguyên lớn nhất trong các nhóm. Trường hợp

xấu nhất là chỉ có 1 nhóm, khi đó Gx = N và độ phức tạp là: O(N ×M).

Như vậy, độ phức tạp của thuật toán CTO: O(max(M × logM2 , G,N × M)).

Nếu (N > logM2 ) thì O(max(M × logM2 , G,N ×M)) = O(N ×M), ngược lại,

O(max(M × logM2 , G,N ×M)) = O(M × logM2 )

• Độ phức tạp của thuật toán MINC:

– Tìm yêu cầu thỏa mãn thời hạn và ngân sách trong mảng Result: O(N×G),

với N là số yêu cầu và G là số nhóm tài nguyên (N,G tương ứng là số cột

và số dòng trong mảng Result )

– ∀ti ∈ T tìm tập Ti, trường hợp xấu nhất là N−1 yêu cầu gối đầu lên ti, khi

đó độ phức tạp để tìm ra tập Ti và tìm ra tl ∈ Ti là O(N×(N−1)) = O(N2).

Như vậy, độ phức tạp của thuật toánMINC là O(max(N2, N×G)), nếu N > G

thì độ phức tạp của MINC là O(N2), ngược lại thì độ phức tạp của MINC là

O(N ×G).

2.4.1.4. Mô phỏng và đánh giá thuật toán

Các thuật toán được cài đặt mô phỏng bằng ngôn ngữ Java (NetBean 7.1.1, JDK 6),

gói công cụ CloudSim 2.0 [11], [13] với các thông số như Bảng 2.5. Trong đó, mỗi máy

chủ (host) chỉ tạo tối đa 50 máy ảo (theo http://windowsitpro.com/azure/maximum-

number-virtual-machines-availability-set).

Trong cài đặt, chúng tôi sử dụng các hàm API của CloudSim 2.0, kế thừa từ lớp

DataCenterBroker để tạo ra chính sách lập lịch mới tương ứng với thuật toán CTO

46

Page 58: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Loại Tham số Giá trị

Số DataCenter 1

DataCenter Số host vật lý 2

Loại lập lịch máy ảo TimeShared

Số máy ảo 50

Máy ảo (VM) Số PE (Processing Element) 4

RAM trên mỗi máy ảo 512 MB

Yêu cầu (Cloudlet) Số yêu cầu 100..250

Bảng 2.5: Các thông số mô phỏng trên CloudSim

và MINC đề xuất. Kế thừa lên lớp Vm của CloudSim 2.0 để tạo ra các máy ảo với

các thông số về tốc độ và chi phí được xác định như sau: tốc độ được lấy ngẫu nhiên

từ 5 đến 50 tương ứng với chi phí là số thực được lấy ngẫu nhiên từ 0.1 đến 1 (chi phí

này được tham khảo từ http://vcloud.vmware.com/service-offering/pricing-guide). Kế

thừa lên lớp Cloudlet để tạo ra các yêu cầu với các thông số: thời điểm đến, khối lượng

công việc, ngân sách và thời hạn được xác định như sau: thời điểm đến được lấy ngẫu

nhiên từ 1 đến 500, chúng ta phát sinh thời hạn một cách ngẫu nhiên giữa (dl, du)

phút và các giá trị khác nhau dl và du có giới hạn từ 10 đến 1500, thời hạn phải lớn

hơn thời điểm đến. Khối lượng công việc được lấy ngẫu nhiên từ 10 đến 5000 chu kỳ,

căn cứ vào khối lượng để ước lượng ngân sách cho các yêu cầu. Các thông số khác

được lấy ngầm định như trong CloudSim.

Dựa vào mảng Result, tìm ra lịch trình hợp lý nhất cho thuật toán CTO. Lịch

trình đưa ra của thuật toán CTO và MINC được so sánh với thuật toán EDF [10],

[42], [7], [29]. Thuật toán EDF là thuật toán tham lam dựa trên bài toán xếp đồ vào

thùng (Bin Packing).

Ý tưởng của thuật toán EDF :

Các yêu cầu trong thuật toán được sắp xếp giảm dần theo tỉ số sử dụng Tidi, trong

đó, Ti và di là thời gian thực hiện và thời hạn của yêu cầu ti, (i = 1..N). Các tài nguyên

được khởi tạo với hệ số sử dụng Uj = 0 (j = 1..M), khi một yêu cầu được ánh xạ vào

tài nguyên rj thì hệ số sử dụng Uj tăng lên (Uj = Uj + Tidi, j = 1..M). Các yêu cầu ưu

tiên ánh xạ vào một tài nguyên, nếu tổng hệ số sử dụng của tài nguyên U =n∑i=1

Tidi> 1

(n là số yêu cầu được ánh xạ vào tài nguyên) thì yêu cầu sẽ tìm tài nguyên khác. Ưu

điểm của thuật toán EDF là tận dụng tối đa hiệu năng của hệ thống, đảm bảo các yêu

cầu hoàn thành trước thời hạn của nó. Nhưng thuật toán này không xem xét đến chi

phí cho các yêu cầu. Độ phức tạp của thuật toán EDF là O(max(N × logN2 , N ×M))

với N là số yêu cầu, M là số máy ảo, O(N × logN2 ) là độ phức tạp của thuật toán

47

Page 59: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Quick Sort.

1. Phân tích tổng thời gian và chi phí thực hiện khi thay đổi số yêu cầu

Hình 2.3 và Hình 2.4 chỉ ra tổng thời gian thực hiện và tổng chi phí của 3

thuật toán CTO, MINC và EDF khi ρ = 5, D = 60, sử dụng 50 máy ảo và

các yêu cầu thay đổi từ 100 đến 250. Các giá trị trong mô phỏng là kết quả của

5 lần chạy thử và lấy kết quả trung bình.

Hình 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

Hình 2.4: So sánh tổng chi phí của 3 thuật toán khi thay đổi số yêu cầu

Khi số yêu cầu càng cao thì tổng thời gian thực hiện của thuật toán CTO,

48

Page 60: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

MINC luôn nhỏ hơn thuật toán EDF như thể hiện ở Hình 2.3. Điều này bởi

vì thuật toán CTO luôn tìm cách ánh xạ các yêu cầu vào các tài nguyên đầu

tiên có tốc độ cao của mỗi nhóm, trong khi đó thuật toán EDF chỉ xem xét đến

tỉ số sử dụng: U =n∑i=1

Tidi≤ 1 (trong đó Ti là thời gian thực hiện và di tương

ứng với thời hạn)[10], [42], [7], [29] để ánh xạ yêu cầu vào các tài nguyên. Do đó

thuật toán EDF chỉ đảm bảo các yêu cầu hoàn thành trước thời hạn của nó chứ

không tìm kiếm các tài nguyên có tốc độ cao. Đầu ra của thuật toán CTO là

đầu vào của thuật toán MINC, nhưng thuật toán MINC căn cứ vào tài nguyên

cuối cùng được ánh xạ vào yêu cầu trước để tính thời gian gối đầu cho các yêu

cầu sau, các tài nguyên này thường có tốc độ cao hơn các tài nguyên trước đó.

Vì vậy, trong một số trường hợp tổng thời gian thực hiện của thuật toánMINC

thấp hơn thuật toán CTO như trường hợp 250 yêu cầu của Hình 2.3.

Tổng chi phí của thuật toán MINC luôn nhỏ hơn hai thuật toán CTO và

EDF như thể hiện ở Hình 2.4 vì thuật toán MINC xem xét việc chia sẻ thời

gian gối đầu của các yêu cầu lên các tài nguyên, trong khi đó thuật toán CTO

không xem xét thời gian gối đầu, còn thuật toán EDF lại không quan tâm đến

chi phí chỉ quan tâm đến việc làm sao các yêu cầu hoàn thành trước thời hạn.

2. Phân tích tổng thời gian và tổng chi phí khi thay đổi số ngưỡng ρ

Chúng tôi thay đổi ngưỡng ρ từ 1 đến 5, D = 60, sử dụng 250 yêu cầu và 50

máy ảo, kết quả được thể hiện ở Hình 2.5 và Hình 2.6.

Khi ngưỡng ρ càng nhỏ như Hình 2.5 thì trên mỗi nhóm sẽ có rất ít tài

nguyên, các tài nguyên trên các nhóm đầu sẽ tập trung các tài nguyên có tốc độ

cao. Vì vậy thuật toán TCO và MINC sẽ tập trung ánh xạ các yêu cầu vào các

tài nguyên có tốc độ cao này nên dẫn đến tổng thời gian thực hiện càng thấp.

Khi ρ càng cao thì trong nhóm sẽ có nhiều tài nguyên hơn, các tài nguyên này

sau khi đã sắp xếp giảm dần theo tốc độ thì sẽ sắp xếp tăng dần theo chi phí nên

các tài nguyên ở đầu nhóm có chi phí thấp và tốc độ thấp hơn các tài nguyên

khác trong nhóm. Vì vậy, khi ρ càng cao thì tổng thời gian thực hiện của thuật

toán TCO và MINC càng lớn, khi ρ tăng lên đến ngưỡng 4 và 5 thì tổng thời

gian thực hiện gần như không thay đổi.

Ngược lại, khi ρ càng cao thì tổng chi phí của thuật toán TCO và MINC

càng thấp vì ρ càng cao thì các tài nguyên đầu tiên của nhóm sẽ có chi phí thấp

nhất. Thuật toánMINC sẽ tập trung ánh xạ các yêu cầu vào tập các tài nguyên

này và tiến hành chia sẻ thời gian gối đầu giữa các yêu cầu. Do đó, khi ρ càng

cao thì tổng chi phí của thuật toán TCO và MINC càng thấp, khi ρ tăng đến

49

Page 61: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

ngưỡng 4 và 5 thì tổng chi phí sẽ không thay đổi như thể hiện ở Hình 2.6.

Hình 2.5: So sánh tổng thời gian thực hiện của 3 thuật toán khi thay đổi ρ

Hình 2.6: So sánh tổng chi phí của 3 thuật toán khi thay đổi ρ

2.4.2. Thuật toán lập lịch tối ưu về chi phí

Phần này trình bày thuật toán để giải quyết bài toán thứ hai với mục tiêu tối ưu

về chi phí. Mục tiêu và các ràng buộc của bài toán được thể hiện ở mô hình toán học

trong phần 2.2.2. Mục tiêu được biểu diễn ở công thức (2.6) và điều kiện của bài toán

được thể hiện ở hai ràng buộc (2.7) và (2.8).

50

Page 62: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Để giải quyết bài toán này, chúng tôi đề xuất thuật toán TCO để xây dựng mảng

kết quả nhằm xác định số lượng tài nguyên cho mỗi yêu cầu theo mục tiêu tối ưu về

chi phí. Các yêu cầu trong thuật toán này được thực hiện song song và luôn đảm bảo

hoàn thành trước thời hạn.

Giống như thuật toán CTO, chúng tôi áp dụng lại thuật toán MINC để tối ưu về

chi phí thực hiện. Sau đó, đưa ra lịch trình để ánh xạ các yêu cầu vào các tài nguyên.

2.4.2.1. Thuật toán TCO

Các bước của thuật toán TCO được mô tả trong Thuật toán 2.3.

Thuật toán 2.3: TCO

Đầu vào:

• T = {t1, t2, . . . , tN}, ∀ti ∈ T là một bộ 4 < ai, di, bi, wi >;

• R = {r1, r2, ..., rM}, ∀rj ∈ R là bộ <sj,cj> ; /* R và T được xác định ở

phần 2.2.2 */

Đầu ra : Mảng Result để xác định số lượng các tài nguyên cho mỗi yêu cầu;

Phương pháp:

1 Chọn ngưỡng ρ ∈ (0, 1] ;

2 Sắp xếp các tài nguyên theo thứ tự tăng dần của chi phí;

3 Dựa vào ngưỡng ρ để nhóm các tài nguyên theo chi phí ;

4 G := số nhóm tài nguyên nhóm được;

5 RG = {g1, g2, ..., gG}, gl ∈ G chứa các tài nguyên của nhóm;

6 Trên mỗi nhóm, sắp sếp các tài nguyên theo thứ tự giảm dần của tốc độ;

7 Result:= CalculateParallel(RG,T ); /* Hàm CalculateParallel được xây

dựng ở phần 2.4.1.1 */

Ví dụ 2.2

Đầu tiên chúng ta cần xác định đầu vào của thuật toán, ví dụ đầu vào của thuật

toán được xác định như sau:

• Ngưỡng ρ = 5;

• T = {t1, t2}; t1(a1, d1, b1, w1) = t1(0, 60, 1.5, 500); t2(a2, d2, b2, w2) = t2(30, 70, 2,

1200);

• R = {r1, r2, r3, r4, r5, r6, r7} với các tốc độ và chi phí như Bảng 2.6:

Sau khi thực hiện từ câu lệnh 2 đến câu lệnh 5, các tài nguyên đã được sắp xếp theo

chi phí và phân nhóm như Bảng 2.7, trên mỗi nhóm các tài nguyên được sắp xếp giảm

51

Page 63: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

dần theo tốc độ như Bảng 2.8 (câu lệnh 6). Sử dụng lại hàm CalculateParallel(RG, T )

được xây dựng ở phần 2.4.1.1 để tính số lượng các tài nguyên cho các yêu cầu. Trong

đó, RG = {g1, g2}, g1 = {r2, r1, r5}, g2 = {r7, r4, r6, r3}. Hàm CalculateParallel tạo

ra 2 luồng chạy đồng thời: th1 và th2.

r1 r2 r3 r4 r5 r6 r7

sj 15 20 20 25 10 25 30

cj 1 1.5 2 2.5 1 2.7 2.5

Bảng 2.6: Chi phí và tốc độ ban đầu của các tài nguyên

r1 r5 r2 r3 r4 r7 r6

sj 15 10 20 20 25 30 25

cj 1 1 1.5 2 2.5 2.5 2.7

Nhóm 1 2

Bảng 2.7: Chi phí và tốc độ của các tài nguyên khi phân nhóm theo chi phí

r2 r1 r5 r7 r4 r6 r3

sj 20 15 10 30 25 25 20

cj 1.5 1 1 2.5 2.5 2.7 2

Nhóm 1 2

Bảng 2.8: Chi phí và tốc độ của các tài nguyên sau khi sắp xếp theo tốc độ

Luồng 1 (th1) sẽ tính số lượng tài nguyên trên nhóm 1 (g1) cho tất cả các yêu cầu

trong T :

Yêu cầu t1(0, 60, 1.5, 500), với khối lượng công việc 500 chu kỳ, thời gian lớn nhất

để hoàn thành là d1 − a1 = 60 phút, dựa trên Bảng 2.8 để ưu tiên ánh xạ vào tài

nguyên r2 có tốc độ lớn nhất trên nhóm, khi đó số chu kỳ có thể thực hiện trên r2 là

cn2 = (d1 − a1)× s2 = 60× 20 = 1200, vì cn2 > w1 nên ta chỉ cần 1× r2 để thực hiện

cho t1, với chi phí là 1.5. Lưu kết quả này vào mảng kết quả, Result [1, 1] = 1× r2.Yêu cầu t2(30, 70, 2, 1200), thời gian lớn nhất để hoàn thành là 70− 30 = 40 phút,

nếu sử dụng tài nguyên r2 thì thực hiện được cn2 = (d2−a2)×s2 = 40×20 = 800 chu

kỳ, do đó ta chỉ cần∣∣∣ w2

cn2

∣∣∣ =∣∣1200800

∣∣ = 1× r2 , còn lại w2 − cn2 = 1200− 800 = 400 chu

kỳ, ta đồng thời sử dụng r1 trong thời gian 40 phút thì thực hiện được cn1=(d2-a2)

× s1 = 40 × 15 = 600 chu kỳ, vì cn1 ≥ w2 − cn2 nên ta chỉ cần sử dụng 1 × r1.

Khi đó, cả hai t1 và t2 thực hiện song song trên 2 tài nguyên r2 và r1 nên vẫn đảm

bảo thời hạn với chi phí c2+ c1 = 1.5 + 1 = 2.5. Lưu kết quả này vào mảng kết quả,

52

Page 64: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Result [1, 2] = 1× r2, 1× r1.Tương tự như vậy, luồng 2 (th2) sẽ tính số lượng tài nguyên trên nhóm 2 (g2). Kết

thúc thuật toán TCO ta xây dựng được mảng kết quả như Bảng 2.9. Trên mỗi nhóm

sẽ có tương ứng một lịch trình để xác định tên tài nguyên và số lượng tài nguyên được

ánh xạ vào mỗi yêu cầu:

Nhóm t1 t2 Tổng chi phí

1 1× r2 1× r2, 1× r1 1.5+(1.5+1)=4

2 1× r7 1× r7 2.5+2.5=5

Bảng 2.9: Mảng kết quả được đưa ra bởi thuật toán TCO

Nhận xét:

1. Đối với thuật toán TCO, t1 sử dụng 1× r2, t2 sử dụng 1× r2 và 1× r1 với tổng

chi phí 4, thỏa mãn thời hạn nhưng không thỏa mãn tổng ngân sách của 2 yêu

cầu. Nhưng nếu chúng ta xét đến khoảng thời gian gối đầu lên nhau của cả hai

yêu cầu trên r2 có nghĩa là t1 sử dụng 1 × r2 với thời gian w1

s2=500

20= 25 phút,

như vậy ta có thể tận dụng 60− 25 = 35 phút cho t2, vì thời điểm đến của t2 là

phút thứ 30 nên có thể tận dụng được 30 phút và có thể tính được 30×20 = 600

chu kỳ cho t2, còn lại 1200 − 600 = 600 chu kỳ, ta chỉ cần sử dụng 1 × r1 với

thời gian w1−600s1

=60015

= 40 phút với chi phí là 1 và trên r1 ta có thể tận dụng

60− 40 = 20 phút cho các yêu cầu tiếp theo. Như vậy, nếu sử dụng các khoảng

thời gian gối đầu lên nhau cho cả 2 yêu cầu, ta đạt được chi phí 1.5 + 1 = 2.5

vừa thỏa mãn thời hạn, vừa đạt được chi phí nhỏ nhất thỏa mãn ngân sách của

cả hai yêu cầu. Vì vậy, phần này chúng tôi áp dụng lại thuật toán MINC để

xác định khoảng thời gian gối đầu lên nhau giữa các yêu cầu nhằm tận dụng

khoảng thời gian còn hiệu lực của mỗi yêu cầu với mục tiêu tối ưu về chi phí.

2. Về phân tích thuật toán TCO giống như thuật toán CTO. Thuật toán CTO sắp

xếp giảm dần theo tốc độ, sau đó sắp xếp tăng dần theo chi phí trên từng nhóm.

Ngược lại, thuật toán TCO sắp xếp tăng dần theo chi phí, sau đó sắp xếp giảm

dần theo tốc độ trên từng nhóm nhằm thỏa mãn mục tiêu về chi phí.

2.4.2.2. Mô phỏng và đánh giá thuật toán

Các thuật toán được cài đặt mô phỏng bằng ngôn ngữ Java (NetBean 7.1.1, JDK

6), gói công cụ CloudSim 2.0 [11], [13] với các thông số như Bảng 2.5, các thông số

53

Page 65: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

của các yêu cầu người dùng và các máy ảo của nhà cung cấp được xác định giống như

thuật toán CTO trong phần 2.4.1.4.

Hình 2.7: So sánh tổng chi phí của 3 thuật toán khi thay đổi số yêu cầu

Hình 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

1. Phân tích tổng chi phí và thời gian thực hiện khi thay đổi số yêu cầu

Hình 2.7 và Hình 2.8 chỉ ra tổng chi phí và tổng thời gian thực hiện (makespan)

của 3 thuật toán TCO, MINC và EDF khi ρ=0.5, D=60, sử dụng 50 máy ảo

và các yêu cầu thay đổi từ 100 đến 250.

54

Page 66: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Khi số yêu cầu càng cao thì tổng chi phí của thuật toán MINC luôn nhỏ hơn

thuật toán TCO và EDF như Hình 2.7 vì thuật toán MINC xem xét việc chia

sẻ thời gian gối đầu của các yêu cầu lên các tài nguyên, trong khi đó thuật toán

TCO không xem xét thời gian gối đầu, còn thuật toán EDF không quan tâm

đến chi phí cho các yêu cầu cũng như tìm kiếm các tài nguyên có tốc độ cao, nó

chỉ đảm bảo các yêu cầu hoàn thành trước thời hạn.

Ngược lại khi số yêu cầu càng cao thì thuật toán MINC có thời gian thực

hiện cao hơn TCO. Thuật toán MINC căn cứ vào tài nguyên cuối cùng được

ánh xạ vào yêu cầu trước để tính thời gian gối đầu cho các yêu cầu sau, các tài

nguyên cuối cùng này có tốc độ thấp hơn so với các tài nguyên trước đó trong

mỗi nhóm. Vì vậy, tổng thời gian thực hiện của thuật toánMINC cao hơn thuật

toán CTO như thể hiện ở Hình 2.8.

2. Phân tích tổng chi phí và tổng thời gian khi thay đổi ngưỡng ρ

Hình 2.9: So sánh tổng chi phí của 3 thuật toán khi thay đổi ρ

Chúng tôi thay đổi ngưỡng ρ từ 0.1 đến 0.5, D = 60, sử dụng 200 yêu cầu và

50 máy ảo, kết quả được thể hiện ở Hình 2.9 và Hình 2.10. Khi ngưỡng ρ càng

nhỏ thì các tài nguyên có chi phí thấp sẽ nằm ở nhóm đầu tiên và MINC sẽ tập

trung ánh xạ các yêu cầu vào tập các tài nguyên này và tiến hành chia sẻ thời

gian gối đầu giữa các yêu cầu, do đó khi ngưỡng ρ càng nhỏ thì tổng chi phí của

MINC sẽ nhỏ hơn TCO và EDF . Trong Hình 2.10 khi ngưỡng càng nhỏ thì cả

hai thuật toán MINC và TCO đều có tổng thời gian hoàn thành các yêu cầu

cao vì khi các tài nguyên có chi phí thấp nên tốc độ của nó sẽ thấp, điều này

55

Page 67: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

dẫn đến tổng thời gian thực hiện cao lên.

Hình 2.10: So sánh tổng thời gian thực hiện của 3 thuật toán khi thay đổi ρ

2.5. Tiểu kết Chương 2

Chương này tổng quát lại các mô hình lập lịch trước đây bao gồm mô hình của

các máy tham gia, mô hình các công việc và mô tả các mục tiêu của bài toán lập lịch.

Các nghiên cứu trước đây chủ yếu xây dựng mô hình để lập lịch tĩnh vì trước khi lập

lịch bộ lập lịch phải biết trước các thông tin về các máy tham gia cũng như các công

việc. Mô hình ứng dụng trên TTĐM rất đa dạng và phong phú, chương này tập trung

mô tả và xây dựng mô hình cho bài toán lập lịch thời gian thực trong các ứng dụng

song song. Từ mô hình được xây dựng, luận án đưa ra 3 thuật toán để giải quyết 2

bài toán:

1. Bài toán lập lịch trên các hệ thống thời gian thực theo hướng tối ưu về thời

gian. Bài toán này được giải quyết trên hai thuật toán CTO và MINC. Cả hai

thuật toán này đều tìm kiếm và phân bổ tài nguyên cho các yêu cầu thời gian

thực trong các ứng dụng song song. Thuật toán CTO được xây dựng dựa trên

việc sắp xếp giảm dần theo tốc độ, phân nhóm và kết hợp với xử lý song song

để giảm thời gian thực hiện của thuật toán. Thuật toán CTO tìm kiếm và xác

định số lượng tài nguyên cần dùng cho mỗi yêu cầu, thuật toán này luôn đảm

bảo các yêu cầu hoàn thành trước thời hạn. Để tiết kiệm chi phí cho nhà cung

cấp, thuật toán MINC tận dụng khoảng thời gian còn hiệu lực của yêu cầu này

sử dụng cho yêu cầu khác nhằm đem lại chi phí thấp nhất cho hệ thống. Thông

56

Page 68: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

qua việc phân tích, mô phỏng và đánh giá kết quả mô phỏng của các thuật toán

cho thấy thuật toán CTO và MINC tối ưu về thời gian hơn thuật toán tham

lam EDF .

2. Bài toán lập lịch trên các hệ thống thời gian thực theo hướng tối ưu về chi phí.

Bài toán này được giải quyết bởi thuật toán TCO và áp dụng lại thuật toán

MINC để tối ưu về chi phí. Giống như thuật toán CTO, thuật toán TCO kết

hợp với xử lý song song để tìm kiếm và định vị tài nguyên cho các yêu cầu thời

gian thực trên các hệ thống song song. Thuật toán CTO sắp xếp các tài nguyên

theo thứ tự tăng dần theo chi phí và tiến hành phân nhóm theo thời gian và chi

phí để đảm bảo các tài nguyên đầu tiên của mỗi nhóm sẽ có tốc độ cao và chi

phí thấp. Thuật toán tập trung ánh xạ các yêu cầu vào các tài nguyên đầu tiên

của mỗi nhóm và sử dụng lại thuật toán MINC nhằm đem lại chi phí thấp nhất

cho hệ thống và luôn đảm bảo thời hạn cho các yêu cầu. Thuật toán TCO được

mô phỏng và so sánh với thuật toán EDF . Kết quả mô phỏng cho thấy thuật

toán TCO tối ưu về chi phí hơn so với thuật toán EDF còn thuật toán EDF

tận dụng được tối đa hiệu năng của hệ thống.

57

Page 69: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

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

3.1. Mô hình lập lịch theo hướng tối ưu đa mục tiêu

Trong TTĐM, các tác nhân chính tham gia vào hệ thống lập lịch bao gồm [13],

[79]: người dùng, nhà cung cấp SaaS, PaaS và IaaS. Mỗi tác nhân đều có yêu cầu dịch

vụ hoặc cung cấp dịch vụ với các mục tiêu khác nhau:

• Nhà cung cấp SaaS: mục tiêu của các nhà cung cấp SaaS 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

và làm sao để mở rộng thị trường tiêu thụ dịch vụ.

Để thu hút nhiều khách hàng thì nhà cung cấp phải nâng cao uy tín của

mình trên thị trường bằng cách chấp nhận nhiều yêu cầu và phải thỏa mãn các

ràng buộc QoS của các khách hàng [21].

Để tối đa hóa lợi nhuận, các nhà cung cấp SaaS cần phải đáp ứng một số

lượng lớn các yêu cầu người dùng đồng thời phải giảm thiểu chi phí của nó. Vì

vậy, các nhà cung cấp SaaS phải thuê và tìm kiếm dịch vụ trên nhiều máy ảo.

Tuy nhiên, hiện nay các nhà cung cấp IaaS chỉ cho thuê một số lượng cố định

các máy ảo, ví dụ Amazon và GoGrid chỉ cho thuê tối đa 200 máy ảo. Nếu nhà

cung cấp SaaS chỉ thuê một nhà cung cấp IaaS thì sẽ khó đáp ứng được một số

lượng lớn các yêu cầu người dùng. Vì vậy, tại một thời điểm nhà cung cấp SaaS

phải thuê và tìm kiếm dịch vụ trên nhiều nhà cung cấp IaaS để đáp ứng một số

lượng lớn các yêu cầu người dùng.

• Nhà cung cấp PaaS: để đáp ứng mục tiêu của nhà cung cấp SaaS, nhà cung

cấp PaaS sử dụng thành phần kiểm soát đầu vào và thành phần lập lịch để tận

dụng tài nguyên một cách hiệu quả nhằm giải quyết các yêu cầu khác nhau của

người dùng trên các tài nguyên không đồng nhất của nhiều nhà cung cấp IaaS.

• Người dùng: tùy theo lớp bài toán mà mục tiêu của người dùng sẽ khác nhau.

Mục tiêu của người dùng có thể là tối ưu thời gian hoặc tối ưu chi phí. Nhưng

tất cả mục tiêu này đều phải thỏa mãn ràng buộc QoS của người dùng.

58

Page 70: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Người dùng gửi các yêu cầu sử dụng dịch vụ kèm theo yêu cầu QoS của họ lên

nhà cung cấp SaaS. Tại đây, nhà cung cấp PaaS sử dụng thành phần kiểm soát đầu

vào để phân tích các tham số QoS và dựa vào khả năng, tính sẵn sàng và giá của các

máy ảo khác nhau của nhà cung cấp IaaS để quyết định chấp nhận hoặc từ chối các

yêu cầu của người dùng. Nếu yêu cầu được chấp nhận thì thành phần lập lịch chịu

trách nhiệm để định vị các tài nguyên cho các yêu cầu của người dùng như mô hình

trình bày ở Hình 3.1.

Hình 3.1: Mô hình tổng quát của các thành phần trong TTĐM.

Mô hình tổng quát này bao gồm 4 mô hình thành phần: mô hình người dùng, nhà

cung cấp SaaS, IaaS và PaaS. Dựa trên mô hình người dùng, nhà cung cấp SaaS và

IaaS đã nghiên cứu trên TTĐM, chúng tôi xây dựng lại cho phù hợp với bài toán lập

lịch. Từ đó, luận án này tập trung vào xây dựng mô hình cho nhà cung cấp PaaS, sử

dụng lại mô hình tối ưu về chi phí ở phần 2.3 và tiến hành xây dựng các bài toán lập

lịch trên mô hình đã đề xuất.

3.1.1. Mô hình người dùng

Nhóm nghiên cứu của R. Buyya [79] nghiên cứu mô hình của người dùng. Các

nghiên cứu này phân tích các chiến lược như chiến lược đợi, chiến lược chèn thêm hoặc

chiến lược khởi tạo máy ảo. Đối với mỗi yêu cầu của người dùng, các chiến lược này

xem xét nên đợi các máy ảo thực hiện xong rồi mới thực hiện tiếp yêu cầu hoặc tìm

kiếm thêm các máy ảo hoặc khởi tạo mới một máy ảo để thực hiện. Sau khi phân tích

59

Page 71: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

ba chiến lược trên mới ra quyết định chọn chiến lược nào để tìm ra máy ảo thích hợp

cho người dùng. Từ đó chấp nhận hoặc từ chối yêu cầu của người dùng. Trong mô

hình này, chúng tôi sử dụng lại chiến lược khởi tạo máy ảo và sử dụng các heuristic

về bầy đàn để lập lịch theo hướng hiệu năng về kinh tế. Do đó, đối với mỗi yêu cầu

cần phải xác định xem yêu cầu đó đến ở thời điểm nào, đến thời điểm nào là hết hạn

thực hiện, ngân sách tối đa của mỗi yêu cầu là bao nhiêu, v.v.

Chúng tôi xét trên N yêu cầu dịch vụ, được biểu diễn bởi tập T = {t1, t2, . . . , tN},mỗi yêu cầu ti ∈ T là một bộ 7 < ai, di, bi, αi, wi, ini, outi >, các yêu cầu này được gửi

lên nhà cung cấp SaaS bao gồm các thuộc tính và các ràng buộc QoS như sau:

• ai: thời điểm đến của yêu cầu.

• Thời hạn di (deadline): thời gian lớn nhất người dùng cần để đợi kết quả.

• Ngân sách bi (budget): chi phí lớn nhất người dùng sẽ trả cho nhà cung cấp.

• Tỉ lệ lãi suất phạt αi: một tỷ lệ bồi thường cho người dùng nếu nhà cung cấp

SaaS không cung cấp đúng thời hạn.

• Khối lượng wi: số MI (triệu chỉ thị) để thực hiện yêu cầu.

• Kích cỡ file đầu vào và đầu ra của yêu cầu: ini và outi.

3.1.2. Mô hình nhà cung cấp IaaS

Trên mô hình này, chúng tôi xem xét trên Y nhà cung cấp tài nguyên IaaS, được

biểu diễn bởi tập X = {1, 2, .., Y }. Mỗi nhà cung cấp x ∈ X cung cấp Mx máy ảo

cho các nhà cung cấp SaaS, được biểu diễn bởi tập VMx = {vm1x, vm2x, . . . , vmMxx}.Theo mô hình IaaS của R. Buyya [79], mỗi máy ảo vmjx ∈ VMx là một bộ 5 <

tjx, pjx, sjx, dtpjx, dtsjx >, trong đó:

• Thời gian khởi tạo tjx: thời gian cần thiết để triển khai một máy ảo.

• Giá pjx: giá tính theo giờ mà nhà cung cấp SaaS phải trả cho nhà cung cấp IaaS

khi sử dụng máy ảo.

• sjx: tốc độ xử lý của máy ảo tính theo MIPS (triệu chỉ thị trên giây)

• dtpjx: giá tính theo dung lượng truyền của nhà cung cấp SaaS phải trả để chuyển

dữ liệu từ nhà cung cấp tài nguyên đến máy người dùng.

• dtsjx: tốc độ chuyển dữ liệu, phụ thuộc vào khoảng cách và hiệu năng mạng.

60

Page 72: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

3.1.3. Mô hình nhà cung cấp SaaS

Nhà cung cấp SaaS thuê các tài nguyên từ các nhà cung cấp IaaS và nó cho thuê

phần mềm như là các dịch vụ cho người dùng [79]. Nhà cung cấp SaaS sử dụng thành

phần kiểm soát đầu vào và lập lịch của nhà cung cấp PaaS để ra quyết định chấp

nhận hoặc từ chối yêu cầu, sau đó tìm kiếm các tài nguyên hợp lý cho yêu cầu người

dùng. Mục tiêu của các nhà cung cấp SaaS là làm sao để giảm thiểu chi phí sử dụng

tài nguyên từ các nhà cung cấp IaaS để đem lại lợi nhuận cao nhất cho mình.

3.1.4. Mô hình nhà cung cấp PaaS

Luận án nghiên cứu trên các nhà cung cấp IaaS độc lập và tài nguyên trong các

nhà cung cấp có thể thực hiện song song. Các nhà cung cấp này được ký hiệu là R.

Chúng tôi lập lịch cho N yêu cầu độc lập không theo thứ tự ưu tiên (non-preemptive)

trên Y nhà cung cấp, các ràng buộc của yêu cầu được ký hiệu là npmtn. Mục đích

của chúng tôi là lập lịch cho các yêu cầu người dùng trên tập tài nguyên của các nhà

cung cấp IaaS theo hướng tối ưu về chi phí và tối ưu về thời gian nghĩa là phải tìm

ra Cmin và Tmin. Lịch trình đưa ra phải đáp ứng được mục tiêu của người dùng và

nhà cung cấp. Vì vậy mô hình nhà cung cấp PaaS của chúng tôi đề xuất là bộ ba

< R, npmtn,Cmin > và < R, npmtn, Tmin >.

Gọi Cijx là chi phí để xử lý yêu cầu ti ∈ T trên máy ảo vmjx ∈ VMx. Theo mô

hình của người dùng và mô hình của nhà cung cấp IaaS, khi đó chi phí Cijx bao gồm

các loại chi phí sau:

• Chi phí xử lý yêu cầu (CPijx) phụ thuộc vào giá (pjx), tốc độ (sjx) trên máy ảo

vmjx ∈ VMx và khối lượng xử lý của yêu cầu (wi). CPijx được tính như sau:

CPijx = pjx ×wisjx

(3.1)

• Chi phí truyền tải dữ liệu (CTDijx) bao gồm chi phí gửi dữ liệu lên và lấy dữ liệu

về từ nhà cung cấp tài nguyên. CTDijx phụ thuộc vào kích cỡ file đầu vào (ini)

và kích cỡ file đầu ra (outi) của yêu cầu ti ∈ T , tốc độ chuyển dữ liệu (dtsjx) và

giá để chuyển dữ liệu (dtpjx) từ máy ảo vmjx ∈ VMx đến máy yêu cầu dịch vụ.

CTDijx được tính như sau:

CTDijx = dtpjx ×ini + outidtsjx

(3.2)

• Chi phí khởi tạo máy ảo (CIijx) phụ thuộc vào thời gian khởi tạo (tijx), giá (pijx)

của yêu cầu ti ∈ T trên máy ảo vmjx ∈ VMx và được tính:

CIijx = tijx × pijx (3.3)

61

Page 73: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

• Chi phí nhà cung cấp SaaS phải trả lại cho người dùng nếu không cung cấp yêu

cầu đúng thời hạn (CRijx), phụ thuộc vào tỉ lệ lãi suất phạt (αi) và khoảng thời

gian vượt thời hạn βijx. CRijx được tính như sau:

CRijx = αi × βijx (3.4)

Gọi Tijx là thời gian để xử lý yêu cầu ti ∈ T trên máy ảo vmjx ∈ VMx. Tijx bao

gồm các loại thời gian:

Tijx = CTijx +DTijx + TIijx + βijx (3.5)

Trong đó:

• CTijx: thời gian để xử lý yêu cầu phụ thuộc vào khối lượng (wi) của yêu cầu ti,

tốc độ sjx của máy ảo vmjx và được tính như sau:

CTijx =wisjx

(3.6)

• DTijx: thời gian để chuyển tải dữ liệu bao gồm thời gian gửi dữ liệu lên và lấy

dữ liệu về từ nhà cung cấp tài nguyên. DTijx phụ thuộc vào kích cỡ file đầu vào

(ini) và kích cỡ file đầu ra (outi) của yêu cầu ti, tốc độ chuyển dữ liệu dtsjx của

máy ảo vmjx và được tính như sau:

DTijx =ini + outidtsjx

(3.7)

• TIijx: thời gian khởi tạo máy ảo đã có.

• βijx: thời gian vượt thời hạn của yêu cầu ti trên máy ảo vmjx.

Mục tiêu của các nhà cung cấp SaaS là đem lại lợi nhuận cao nhất, do đó ta phải

tìm chi phí nhỏ nhất cho tất cả các yêu cầu. Đối với mỗi yêu cầu, chúng ta phải tìm

ra máy ảo trong các nhà cung cấp để thực hiện với chi phí thấp nhất. Vì vậy, hàm

mục tiêu cho yêu cầu ti ∈ T được biểu diễn như sau:

fcost(ti) = minx=1..Y, j=1..Mx

{Cijx} (3.8)

và mục tiêu của nhà cung cấp SaaS là tìm cực đại của tổng lợi nhuận:

N∑i=1

(bi − fcost(ti))→ max (3.9)

Để đạt được mục tiêu của nhà cung cấp SaaS như công thức (3.9) thì phải thỏa

mãn ràng buộc của người dùng và nhà cung cấp như sau:

62

Page 74: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

• Chi phí của yêu cầu ti ∈ T phải thỏa mãn ngân sách của nó tức là:

Cijx < bi (3.10)

• Thời gian xử lý yêu cầu ti ∈ T phải thỏa mãn ràng buộc:

Tijx ≤ di + βijx (3.11)

Mục tiêu đặt ra của người dùng là thời gian hoàn thành của các yêu cầu là nhỏ

nhất. Đối với mỗi yêu cầu, chúng ta phải tìm ra máy ảo có thời gian hoàn thành công

việc nhanh nhất. Vì vậy, hàm mục tiêu cho yêu cầu ti ∈ T được biểu diễn như sau:

ftime(ti) = minx=1..Y, j=1..Mx

{Tijx} (3.12)

và mục tiêu của người dùng là tìm cực tiểu tổng thời gian thực hiện:

N∑i=1

(ftime(ti))→ min (3.13)

Giống như mục tiêu của nhà cung cấp SaaS, để đạt được mục tiêu đề ra của người

dùng như công thức (3.13) thì phải thỏa mãn các điều kiện của người dùng và nhà

cung cấp như ràng buộc (3.10) và (3.11).

3.2. Xây dựng bài toán theo hướng tối ưu đa mục tiêu

Trong môi trường TTĐM, mô hình ứng dụng đa dạng hơn rất nhiều so với các mô

hình tính toán truyền thống. Vì vậy, các nhà nghiên cứu thường nghiên cứu những mô

hình cụ thể nhằm đáp ứng nhu cầu cho những dạng bài toán cụ thể của người dùng.

Trong phần này, chúng tôi dựa trên 3 mô hình: mô hình người dùng, mô hình nhà

cung cấp PaaS và mô hình nhà cung cấp IaaS như trình bày ở phần 3.1 để xây dựng

bài toán lập lịch theo hướng tối ưu đa mục tiêu. Bài toán được xây dựng nhằm thỏa

mãn mục tiêu của người dùng và nhà cung cấp SaaS như sau:

• Đối với nhà cung cấp SaaS: sử dụng nhà cung cấp PaaS để phân tích các tham

số của người dùng và các tham số của nhà cung cấp IaaS nhằm đem lại lợi ích

cho nhà cung cấp SaaS như công thức (3.9) và thỏa mãn ràng buộc (3.10) và

(3.11)

• Đối với người dùng: tối ưu thời gian thực hiện cho các yêu cầu như công thức

(3.13) và thỏa mãn ràng buộc (3.10), (3.11 ).

63

Page 75: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Như phân tích ở phần 1.3.4, thời gian đưa ra một lịch trình tối ưu cho bài toán lập

lịch công việc trên TTĐM là rất lớn. Do đó, trong phần này chúng tôi nghiên cứu các

phương pháp heuristic ACO [22], [49] và PSO [35], [77], [36], [85], [27] để xây dựng

bài toán nhằm đưa ra một lịch trình gần tối ưu nhưng vẫn thỏa mãn mục tiêu của

người dùng và nhà cung cấp SaaS.

3.2.1. Tối ưu hóa đàn kiến (ACO)

Thuật toán ACO dựa trên hành vi của đàn kiến trong tự nhiên được Marco Dorigo

giới thiệu vào năm 1996. Đến năm 2002, Thomas Stutzle and Marco Dorigo [73], [22]

đã chứng minh tính hội tụ của thuật toán ACO. Các nghiên cứu gần đây đã sử dụng

thuật toán ACO để giải các bài toán có độ phức tạp lớn như bài toán TSP [30], bài

toán lập lịch các yêu cầu người dùng theo hướng hiệu năng về hệ thống trên tính toán

lưới và TTĐM [41], [5], v.v..

ACO là một thuật toán sử dụng heuristic và là giải pháp cho các bài toán tối ưu

tổ hợp. ACO mô phỏng hành vi của đàn kiến trong tự nhiên nhằm tìm kiếm đường

đi ngắn nhất giữa tổ kiến và nguồn thức ăn dựa trên mật độ mùi mà các con kiến để

lại trên đường đi. Khi một con kiến tìm kiếm thức ăn, nó sẽ để lại một số lượng mùi

trên đường đi. Nếu một con kiến khác cố gắng để di chuyển từ nơi này sang nơi khác,

nó sẽ gặp một dấu vết trước đó đã đặt, kiến có thể phát hiện các dấu vết mùi và nó

quyết định chọn đường có mật độ mùi cao để đi. Sau khi đi qua con kiến này cũng để

lại mùi trên đường và mùi này sẽ giảm dần theo thời gian. Do đó, mùi trên con đường

ngắn hơn sẽ được tăng lên một cách nhanh chóng. Số lượng mùi trên mỗi con đường

sẽ ảnh hưởng đến khả năng con kiến khác để lựa chọn đường đi. Cuối cùng, tất cả

những con kiến sẽ chọn con đường ngắn nhất. Thuật toán ACO bao gồm 5 bước như

thể hiện ở Hình 3.2 [22].

• Bước 1: khởi tạo các điều kiện ban đầu như số lượng kiến, giá trị mùi ban đầu,

giá trị bay hơi cũng như các tham số đầu vào của mỗi thuật toán.

• Bước 2: xây dựng phương án. Mỗi con kiến dựa vào mùi hiện tại, thông tin

heuristic và xác suất để chọn nguồn thức ăn phù hợp nhằm xây dựng phương án

tối ưu riêng cho mình.

• Bước 3: cập nhật lại mùi; sau khi tìm ra phương án của mình mỗi con kiến cập

nhật lại mùi trên đường đi để lôi cuốn các con kiến khác.

• Bước 4: kiểm tra điều kiện dừng; điều kiện dừng phụ thuộc từng loại bài toán,

mỗi bài toán có điều kiện dừng riêng của nó.

64

Page 76: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

• Bước 5: tìm ra phương án tốt nhất; kết thúc vòng lặp, mỗi con kiến có thể có

phương án tối ưu riêng. Bước này tìm ra phương án tối ưu nhất trong các phương

án tối ưu của mỗi con kiến.

Hình 3.2: Mô hình tổng quát của thuật toán ACO

ACO là khung thuật toán chung để giải quyết các bài toán tối ưu tổ hợp. Vì vậy,

để áp dụng ACO vào bài toán cụ thể cần phải xây dựng các thông tin [73], [22]: hàm

cực tiểu F , thông tin heuristic η, cập nhật lại mùi và xác suất P . Luận án xây dựng

các công thức để xác định các thông tin này dựa trên mô hình của người dùng và mô

hình của các nhà cung cấp IaaS, SaaS và PaaS đã xây dựng ở phần 3.1.

• Hàm cực tiểu F và thông tin heuristic η với mục tiêu tối ưu về chi phí.

Hàm cực tiểu F của yêu cầu ti ∈ T được sử dụng để tìm ra máy ảo nào của

nhà cung cấp x ∈ X có chi phí thấp nhất và được xác định như sau:

F (ti) = minx=1..Y, j=1..Mx

{Cijx} (3.14)

Thông tin heuristic để yêu cầu ti ∈ T chọn máy ảo vmjx ∈ VMx:

ηijx =1

Cijx(3.15)

65

Page 77: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Trong đó: Cijx chi phí thực hiện của yêu cầu ti trên máy ảo vmjx được tính

ở công thức (3.1), (3.2), (3.3) và (3.4).

Sử dụng ηijx để tìm ra máy ảo vmjx ∈ VMx có độ ưu tiên cao nhất vì khi

chi phí Cijx càng nhỏ thì thông tin heuristic càng cao nên xác suất để yêu cầu

ti chọn máy ảo vmjx càng lớn.

• Hàm cực tiểu F và heuristic ηi với mục tiêu tối ưu về thời gian.

Hàm cực tiểu F của yêu cầu ti ∈ T được sử dụng để tìm ra máy ảo vmjx ∈VMx có thời gian thực hiện nhanh nhất, được xác định như sau:

F (ti) = minx=1..Y, j=1..Mx

{Tijx} (3.16)

Thông tin heuristic để yêu cầu ti ∈ T chọn máy ảo vmjx ∈ VMx:

ηijx =1

Tijx(3.17)

Trong đó: Tijx là thời gian thực hiện của yêu cầu ti trên máy ảo vmjx được

tính như công thức (3.5).

Khi tốc độ thực hiện của máy ảo vmjx càng lớn thì thời gian thực hiện Tijx

càng thấp. Khi đó, thông tin heuristic càng cao nên xác suất để yêu cầu ti chọn

máy ảo vmjx càng lớn.

• Cập nhật lại mùi.

Mỗi con kiến bắt đầu ngẫu nhiên từ một nhà cung cấp tài nguyên IaaS. Tại

mỗi bước lặp, sau khi đã tìm được máy ảo phù hợp, các con kiến tính hàm cực

tiểu F như công thức (3.14), (3.16) và cập nhật lại mùi (pheromone). Mùi để

lại sẽ bằng mùi mới cộng thêm mùi cũ sau khi đã trừ đi mùi đã bị bay hơi [57],

công thức cập nhật lại mùi được xác định như sau [22]:

τijx = (1− ρ)τijx + ∆τijx (3.18)

Trong đó:

– τijx: là mật độ mùi của yêu cầu ti ∈ T trên máy ảo vmjx ∈ VMx.

– ρ: là giá trị bay hơi được xác định trong nửa khoảng (0,1]

– ∆τijx = 1−ρF (ti)

: là giá trị được thêm vào mật độ mùi, F (ti) là hàm cực tiểu

của yêu cầu ti, khi F (ti) càng nhỏ thì mật độ mùi để lại càng cao.

• Tính xác suất.

66

Page 78: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Đứng trước nhiều đường đi, các con kiến dựa vào mùi hiện tại và thông tin

heuristic để tính xác suất. Từ đó, quyết định sẽ đi đường nào là hợp lý. Các

thuật toán kiểm soát đầu vào và lập lịch được duy trì hai tập yêu cầu. Một tập

các yêu cầu đang xử lý và tập khác đi đến và chưa được xử lý. Thuật toán được

bắt đầu một cách tự động khi tập các yêu cầu đã xử lý xong và đã chuyển vào

thành phần lập lịch. Yêu cầu đầu tiên được thực hiện và nó chọn máy ảo một

cách ngẫu nhiên. Các yêu cầu tiếp theo (ti) thực hiện và nó chọn máy ảo tiếp

theo (vmj) với xác suất [41]:

Pij =τijηij∑Mj=1 τijηij

(3.19)

Trong đó:

– Pij là xác suất để yêu cầu ti chọn máy ảo j.

– M là số máy ảo của một nhà cung cấp.

– ηij: thông tin heuristic để yêu cầu i chọn máy ảo j.

– τij: mật độ mùi để lại khi di chuyển.

M.Kousalya [41] đã tính xác suất để yêu cầu ti chọn máy ảo vmj như công

thức (3.19) nhưng nghiên cứu này chỉ xem xét trên một nhà cung cấp. Để mở

rộng tính toán, trong phần này chúng tôi xem xét trên nhiều nhà cung cấp, mỗi

nhà cung cấp dịch vụ cung cấp nhiều máy ảo, vì vậy xác suất để yêu cầu ti ∈ Tchọn máy ảo vmjx ∈ VMx được xây dựng lại như sau:

Pijx =τijxηijx∑Y

x=1

∑Mx

j=1 τijxηijx(3.20)

Trong đó:

– ηijx: thông tin heuristic để yêu cầu ti chọn máy ảo vmjx.

– τijx: mật độ mùi để lại khi di chuyển.

Với mục tiêu tối ưu về chi phí, chúng tôi áp dụng công thức (3.14), (3.18)

và (3.15) để tính hàm cực tiểu, cập nhật lại mùi và thông tin heuristic. Khi đó,

xác suất để yêu cầu ti ∈ T chọn máy ảo vmjx ∈ VMx được tính như sau:

Pijx =

((1− ρ)τijx + 1−ρ

F (ti)

)1

Cijx∑Yx=1

∑Mx

j=1

((1− ρ)τijx + 1−ρ

F (ti)

)1

Cijx

(3.21)

Với mục tiêu tối ưu về thời gian, chúng tôi áp dụng công thức (3.16), (3.18)

và (3.17) để tính hàm cực tiểu, cập nhật lại mùi và tính thông tin heuristic. Khi

67

Page 79: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

đó, xác suất để yêu cầu ti ∈ T chọn máy ảo vmjx ∈ VMx được tính như sau:

Pijx =

((1− ρ)τijx + 1−ρ

F (ti)

)1

Tijx∑Yx=1

∑Mx

j=1

((1− ρ)τijx + 1−ρ

F (ti)

)1

Tijx

(3.22)

Như vậy, sau khi áp dụng các mô hình của người dùng, nhà cung cấp IaaS, SaaS

và PaaS được xây dựng ở phần 3.1. Luận án đã xây dựng được bài toán lập lịch theo

mục tiêu của người dùng và của nhà cung cấp SaaS. Về thuật toán để đưa ra lịch trình

tối ưu chúng tôi sẽ trình bày chi tiết ở phần 3.3.

3.2.2. Tối ưu hóa bầy đàn (PSO)

Thuật toán PSO dựa trên kinh nghiệm của bầy đàn được đề xuất bởi Eberhart

và Kennedy [35], [6]. Nó là một thuật toán thông minh dựa trên bầy đàn, mô phỏng

lại hành vi xã hội của bầy chim hay đàn cá khi đi tìm kiếm nguồn thức ăn. Ví dụ một

đàn chim đi tìm thức ăn trong không gian tìm kiếm ba chiều của nó. Ban đầu cả bầy

xuất phát ngẫu nhiên theo một hướng nào đó, sau một khoảng thời gian một số cá

thể của đàn tìm kiếm được nơi chứa thức ăn. Tùy theo số lượng thức ăn tìm được, cá

thể này truyền tín hiệu đến các cá thể khác đang tìm kiếm thức ăn ở vùng lân cận,

sau đó tín hiệu này sẽ lan truyền đến toàn bộ các cá thể trong đàn.

Một cá thể (particle) được thể hiện trong PSO tương tự như một con chim hoặc

một con cá tìm kiếm thức ăn trong không gian tìm kiếm của nó. Sự di chuyển của mỗi

cá thể là sự kết hợp giữa vận tốc và hướng di chuyển. Vị trí của mỗi cá thể tại bất kỳ

thời điểm nào cũng bị ảnh hưởng bởi vị trí tốt nhất của nó và vị trí tốt nhất của cả

bầy đàn. Hiệu quả đạt được của một cá thể được xác định bởi một giá trị thích nghi,

giá trị này được xác định phụ thuộc vào từng bài toán.

PSO tương tự như giải thuật di truyền [38] nhưng PSO không có giai đoạn lai

ghép giữa các cá thể trong quần thể. Trong PSO, quần thể bao gồm các cá thể trong

không gian của bài toán. Các cá thể được khởi tạo một cách ngẫu nhiên. Mỗi cá thể

sẽ có một giá trị thích nghi, giá trị này được xác định bởi một hàm thích nghi để tối

ưu trong mỗi thế hệ. Trong mỗi thế hệ, mỗi cá thể thay đổi vận tốc và thay đổi vị

trí của nó theo thời gian như công thức (3.23) [6]. Dựa vào giá trị thích nghi, mỗi cá

thể tìm ra giải pháp tối ưu cục bộ Pbest trong không gian tìm kiếm D chiều. Sau đó,

Pbest được so sánh với giải pháp tối ưu toàn cục Gbest của cả bầy đàn để cập nhật

lại giá trị cho Gbest. Dựa vào Gbest để tìm ra giải pháp tối ưu nhất. PSO được minh

họa như Hình 3.3.

Mỗi cá thể dựa vào vận tốc hiện tại và khoảng cách từ Pbest đến Gbest để thay

68

Page 80: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

đổi vị trí và điều chỉnh tốc độ của nó như sau [6]:

vj+1x = vjx + c1z1(Pbestx − posjx) + c2z2(Gbest− posjx) (3.23)

posj+1x = posjx + vj+1

x (3.24)

Trong đó:

• posjx: vị trí hiện tại của cá thể thứ x tại chiều j; c1,c2: hệ số gia tốc.

• z1,z2: là số ngẫu nhiên giữa 0 và 1; vjx: vận tốc của cá thể x tại chiều j.

• Pbestx và Gbest: vị trí cục bộ và toàn cục tốt nhất của cá thể x và cả bầy đàn.

Hình 3.3: Minh họa PSO

Thành phần thứ nhất của công thức (3.23) đại diện cho vận tốc trước đó. Thành

phần thứ 2 nhằm hướng cho các cá thể di chuyển đến vị trí cục bộ tốt nhất của nó.

Thành phần thứ 3 được xem là thành phần “xã hội” của các cá thể trong quá trình

tìm kiếm lời giải tối ưu toàn cục, chính thành phần này sẽ lôi kéo các cá thể hướng

đến giá trị tối ưu toàn cục [6].

Gọi Y là số cá thể trong quần thể và F (posx) là hàm thích nghi của cá thể

x (x = 1..Y ). Thuật toán PSO được mô tả như Hình 3.4 [6], trong đó:.

• Khởi tạo các cá thể trong quần thể bao gồm:

– Vị trí của các cá thể x (x = 1..Y ) tại mỗi chiều trong không gian tìm kiếm

được khởi tạo là số ngẫu nhiên trong khoảng [−posmax, posmax] [6].

– Vận tốc của mỗi cá thể x tại mỗi chiều trong không gian tìm kiếm được khởi

tạo là số ngẫu nhiên trong khoảng [−vmax, vmax]. Trong đó, vmax = k×xmaxvới 0.1 ≤ k ≤ 1.0 [17].

69

Page 81: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Hình 3.4: Thuật toán PSO

– Vị trí cục bộ tốt nhất Pbest của cá thể x: Pbestx = posx

• Tính giá trị thích nghi cho cá thể x: giá trị này được tính thông qua hàm thích

nghi F (posx). Hàm F (posx) được xây dựng tùy theo mục tiêu của từng bài toán.

• Tính tốc độ và cập nhật lại vị trí cho mỗi cá thể: sau khi tất cả các cá thể tìm

được vị trí Pbest và cập nhật lại Gbest, các cá thể tiến hành cập nhật lại vận

tốc và vị trí như công thức (3.23) và (3.24). Tuy nhiên, để tăng tốc độ hội tụ của

thuật toán, R. Eberhart and Y. Shi [23] đã cải tiến thuật toán PSO bằng cách

70

Page 82: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

đưa vào hệ số quán tính ω để cân đối việc tìm kiếm toàn cục và cục bộ của các

cá thể. Tham số này đưa vào để giảm số lần lặp nhằm tìm ra lời giải tối ưu. R.

Eberhart and Y. Shi [23] đề xuất khởi tạo ω=0.9 và giá trị này giảm dần tuyến

tính xuống 0.4 trong quá trình tìm kiếm.

Để đảm bảo tính hội tụ của thuật toán, M.Clerc [16] đưa thêm hệ số hội tụ

K vào để cập nhật lại vận tốc cho các cá thể. Công thức cập nhật lại vận tốc

được xây dựng lại như sau:

vj+1x = K(ωvjx + c1z1(Pbestx − posjx) + c2z2(Gbest− posjx)) (3.25)

Trong đó: K = 2∣∣∣2−ϕ−√ϕ2−4ϕ∣∣∣ , ϕ = c1z1 + c2z2 với ϕ > 4.

Theo kết quả thực nghiệm của M.Clerc khi ϕ =4.1 và K=0.729 thì tốc độ hội

tụ của thuật PSO giảm xuống rất nhanh.

• Điều kiện dừng: phù thuộc vào từng bài toán.

Để áp dụng thuật toán PSO vào bài toán cụ thể chúng ta phải xác định được

vị trí, vận tốc, hàm thích nghi, vị trí tối ưu cục bộ của từng cá thể và vị trí tối ưu

toàn cục của cả bầy đàn [35],[6],[27]. Luận án xây dựng các công thức để xác định các

thông tin này dựa trên mô hình của người dùng, nhà cung cấp IaaS, SaaS và PaaS đã

xây dựng ở phần 3.1.

Chúng tôi xét quần thể gồm Y cá thể, mỗi cá thể x lặp N lần để tìm kiếm thức

ăn trong không gian Mx chiều. Như vậy, tại vòng lặp thứ i (i = 1..N) mỗi cá thể

x (x = 1..Y ) sẽ có Mx vị trí, Mx vận tốc và được biểu diễn:

POSix ={pos1ix, ..., posMx

ix

}(3.26)

Vix ={v1ix, ..., v

Mxix

}(3.27)

Trong đó:

• posjix là vị trí của cá thể x ở vòng lặp i tại chiều j (j = 1...Mx).

• vjix là vận tốc của các thể thứ x ở vòng lặp i tại chiều j (j = 1. . .Mx).

Trong mô hình ở phần 3.1, chúng tôi có N yêu cầu của người dùng và Y nhà cung

cấp IaaS, mỗi nhà cung cấp IaaS cung cấp nhiều máy ảo. Mỗi cá thể x(x = 1..Y )

tìm kiếm tài nguyên trên không gian Mx chiều để tìm tài nguyên hợp lý cho yêu cầu

ti ∈ T , mỗi cá thể tương ứng với mỗi nhà cung cấp và Mx chính số máy ảo của nhà

cung cấp. Giá trị của posjix chính là máy ảo vmjx ∈ VMx được ánh xạ vào yêu cầu

71

Page 83: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

ti. Giá trị này được lấy ngẫu nhiên từ 1. . .Mx, và giá trị vjix được lấy ngẫu nhiên từ

−Mx. . .Mx, với Mx là số máy ảo trong mỗi nhà cung cấp x.

Để đạt được mục tiêu của nhà cung cấp SaaS như công thức (3.9 ) chúng ta phải

tìm chi phí nhỏ nhất của tất cả các yêu cầu. Chúng tôi xây dựng hàm thích nghi để

cá thể x chọn máy ảo vmjx ∈ VMx cho yêu cầu ti ∈ T như sau:

Fcost(posjix) =

1

Cijx(3.28)

Trong đó, Cijx và posjix là chi phí và vị trí của yêu cầu ti thực hiện trên vmjx.

Sau khi áp dụng các công thức (3.1), (3.2), (3.3) và (3.4) để tính chi phí Cijx, hàm

thích nghi được tính như sau:

Fcost(posjix) =

1

CPijx + CTDijx + CIijx + CRijx

(3.29)

Khi chi phí Cijx càng cao thì giá trị của hàm thích nghi càng thấp. Ngược lại, khi

chi phí Cijx càng thấp thì giá trị của hàm thích nghi càng cao nên xác suất để yêu cầu

ti chọn máy ảo vmjx càng lớn.

Để đạt được mục tiêu của người dùng là thời gian hoàn thành của các yêu cầu là

nhỏ nhất như công thức (3.13). Chúng tôi xây dựng hàm thích nghi để cá thể x chọn

máy ảo vmjx ∈ VMx cho yêu cầu ti ∈ T như sau:

Ftime(posjix) =

1

Tijx(3.30)

Trong đó, posjix và Tijx, là vị trí và thời gian để xử lý yêu cầu ti trên máy ảo vmjx.

Sau khi áp dụng các công thức (3.5), (3.6), (3.7) để tính thời gian Tijx, hàm thích

nghi theo mục tiêu tối ưu về thời gian được triển khai ra như sau:

Ftime(posjix) =

1

CTijx +DTijx + TIijx + βijx(3.31)

Tương tự như tối ưu về chi phí, khi Tijx càng cao thì giá trị của hàm thích nghi

càng thấp. Ngược lại, khi Tijx càng thấp thì giá trị của hàm thích nghi càng cao nên

xác suất để yêu cầu ti chọn máy ảo vmjx càng lớn.

Từ hàm thích nghi ở công thức (3.29), chúng tôi tiến hành xây dựng công thức để

tìm vị trí tối ưu cục bộ về chi phí của cá thể x tại chiều j + 1 cho yêu cầu ti như sau:

pbj+1ix =

pbj+1ix nếu Fcost(pos

j+1ix ) ≥ Fcost(pos

jix) và Cijx ≤ bi và Tijx ≤ di + βijx

pbjix ngược lại

(3.32)

72

Page 84: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Trong đó, Cijx ≤ bi và Tijx ≤ di + βijx là các điều kiện ở ràng buộc (3.10) và

(3.11). Vị trí tối ưu cục bộ về chi phí tại vị trí j + 1 được cập nhật nếu giá trị của

hàm thích nghi về chi phí tại vị trí j+1 lớn hơn giá trị của hàm thích nghi tại vị trí

trước nó và thỏa mãn các ràng buộc về ngân sách và thời hạn, ngược lại nó vẫn giữ

lại giá trị của hàm thích nghi trước đó.

Với mục tiêu tối ưu về thời gian, áp dụng hàm thích nghi ở công thức (3.31) để

tiến hành xây dựng công thức để tìm vị trí tối ưu cục bộ về thời gian của cá thể x tại

chiều j + 1 cho yêu cầu ti như sau:

pbj+1ix =

pbj+1ix nếu Ftime(pos

j+1ix ) ≥ Ftime(pos

jix) và Cijx ≤ bi và Tijx ≤ di + βijx

pbjix ngược lại

(3.33)

Sau khi xác định được vị trí tối ưu cục bộ của từng các thể, chúng tôi tiến hành

xác định vị trí tối ưu cục bộ lớn nhất của các cá thể (Pbest) và vị trí tối ưu toàn cục

của cả đàn (Gbest) như sau:

• Sau khi mỗi cá thể x (x = 1..Y ) tìm kiếm tài nguyên cho yêu cầu ti ∈ T trên

không gian Mx chiều, mỗi cá thể tìm được vị trí tối ưu nhất (Pbestx) bằng cách

phân tích các vị trí tối ưu trên mỗi chiều và được xác định:

Pbestx = maxx=1..Y, j=1..Mx

{pbjix} (3.34)

• Vị trí tối ưu toàn cục của cả đàn (Gbest) phụ thuộc vào vị trí tối ưu cục bộ lớn

nhất của từng cá thể và được xác định như sau:

Gbest = maxx=1..Y

{Pbestx} (3.35)

Như vậy, sau khi áp dụng các mô hình của người dùng, nhà cung cấp IaaS, SaaS

và PaaS được xây dựng ở phần 3.1. Luận án đã áp dụng thuật toán PSO để xây dựng

được bài toán lập lịch theo mục tiêu của người dùng và của nhà cung cấp SaaS. Về

thuật toán để đưa ra lịch trình tối ưu chúng tôi sẽ trình bày chi tiết ở phần 3.4.

3.3. Thuật toán lập lịch tối ưu đa mục tiêu dựa trên ACO

3.3.1. Phát biểu bài toán

Người dùng gửi N yêu cầu dịch vụ, được biểu diễn bởi tập T = {t1, t2, . . . , tN}, mỗi

yêu cầu ti ∈ T là một bộ 7 < ai, di, bi, αi,wi, ini, outi > được gửi lên nhà cung cấp SaaS

bao gồm các thuộc tính và các ràng buộc QoS như thể hiện ở phần 3.1.1. Nhà cung

cấp SaaS thuê các tài nguyên từ Y nhà cung cấp IaaS. Mỗi nhà cung cấp x ∈ X cung

cấp Mx máy ảo, mỗi máy ảo vmjx ∈ VMx là một bộ 5 < tjx, pjx, sjx, dtpjx, dtsjx >

73

Page 85: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

như thể hiện ở phần 3.1.2. Khi nhận được tập các yêu cầu của người dùng, nhà cung

cấp PaaS tiến hành tính toán chi phí và thời gian thực hiện như mô hình ở phần 3.1.4.

Từ đó, ra quyết định từ chối hay chấp nhận yêu cầu người dùng. Nếu yêu cầu nào

được chấp nhận thì bộ lập lịch sẽ ánh xạ vào tài nguyên hợp lý.

Việc chấp nhận hay từ chối yêu cầu phụ thuộc vào mục tiêu và các ràng buộc của

bài toán. Phần này tập trung xây dựng các thuật toán để giải quyết hai mục tiêu:

1. Kiểm soát đầu vào và lập lịch cho các yêu cầu người dùng để đem lại lợi ích cho

nhà cung cấp SaaS như công thức (3.9) nhưng phải thỏa mãn ràng buộc (3.10)

và (3.11).

2. Kiểm soát đầu vào và lập lịch cho các yêu cầu người dùng để tối ưu thời gian

thực hiện cho người dùng như công thức (3.13) nhưng phải thỏa mãn ràng buộc

(3.10) và (3.11).

3.3.2. Thuật toán lập lịch tối ưu đa mục tiêu về chi phí

Trong phần này chúng tôi xây dựng các thuật toán nhằm đem lại lợi ích lớn nhất

cho nhà cung cấp SaaS (mục tiêu 1) dựa trên bài toán được xây dựng ở phần 3.2.1.

Đầu tiên chúng tôi sử dụng heuristic ACO để xây dựng thuật toán ACACO, thuật

toán này vừa kiểm soát đầu vào để chấp nhận hay từ chối các yêu cầu người dùng, vừa

đưa lịch trình tối ưu về chi phí. Để áp dụng heuristic ACO vào bài toán lập lịch chúng

tôi sử dụng các công thức (3.14), (3.15), (3.18) và (3.21) để xác định thông tin hàm

cực tiểu F , thông tin heuristic ηi, cập nhật lại mùi và xác suất P . Sau đó, dựa vào

lịch trình được đưa ra ở thuật toán ACACO, chúng tôi xây dựng thuật toán Mprofit

nhằm tận dụng khoảng thời gian còn hiệu lực giữa các yêu cầu trong từng nhà cung

cấp IaaS. Mục tiêu của thuật toán Mprofit là đem lại lợi ích lớn nhất cho nhà cung

cấp SaaS như thể hiện ở công thức (2.10) và (2.11).

3.3.2.1. Thuật toán ACACO

Cứ mỗi yêu cầu của người dùng, chúng tôi sử dụng k con kiến để tìm kiếm

tài nguyên trên Y nhà cung cấp. Mỗi con kiến dựa vào thông tin heuristic và mùi

hiện tại về chi phí để tính xác suất. Từ đó, xác định phương án tối ưu riêng của

mình. Nếu tất cả các con kiến đều không có phương án thì yêu cầu của người

dùng sẽ bị từ chối, ngược lại tìm phương án tối ưu nhất từ các phương án của

mỗi con kiến. Các bước của thuật toán ACACO được mô tả ở Thuật toán 3.4.

74

Page 86: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Thuật toán 3.4: ACACO

Đầu vào:

• T = {t1, t2, . . . , tN}, ∀ti ∈ T là một bộ 7 < ai, di, bi, αi,wi, ini, outi > ;

• X = {1, 2, ..., Y }. ∀x ∈ X, VMx = {vm1x, vm2x, . . . , vm(Mx)x}, ∀vmjx ∈ VMx là

một bộ 5 < tjx, pjx, sjx, dtpjx, dtsjx > ;

Đầu ra : Một lịch trình S = {ti → vmjx, ti ∈ T, vmjx ∈ VMx};Phương pháp:

1 S := ∅;2 foreach ti ∈ T do

3 si := Test(ti, X, V Mx);

4 if si = ∅ then5 Thông báo cho người dùng yêu cầu đã bị từ chối ;

6 else

7 S := S ∪ {si};

8 return S;

9 Function Test(ti ∈ T,X, VMx)

10 ST := ∅;11 foreach con kiến thứ l (l = 1..k) do

12 foreach nhà cung cấp x ∈ X do

13 Tính thông tin heuristic cho yêu cầu ti trên các máy ảo vmjx:

ηijx := 1CPijx+CTDijx+CIijx+CRijx

;

14 Tìm ra giá trị của mùi hiện tại: τijx;

15 Tính thời gian thực hiện của ti như công thức (3.5);

16 Cập nhật lại mùi như công thức (3.18): τijx := (1− ρ)τijx + 1−ρF (ti)

;

17 Tính xác suất để yêu cầu ti ánh xạ vào các máy ảo vmjx như công thức

(3.21): Pijx :=

((1−ρ)τijx+ 1−ρ

F (ti)

). 1ηijx∑Y

x=1

∑Mxj=1

((1−ρ)τijx+ 1−ρ

F (ti)

). 1ηijx

;

18 Dựa vào Pijx để tìm ra máy ảo vmjx có xác suất lớn nhất và thỏa mãn

các ràng buộc (3.10) và (3.11);

19 if tìm thấy vmjx then

20 ST := ST ∪ {ti → vmjx} ;

21 if ti /∈ ST then

22 return ∅;23 else

24 Tìm ra giải pháp tối ưu nhất si ∈ ST ; return si;

75

Page 87: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

3.3.2.2. Thuật toán Mprofit

Thuật toán 3.5: Mprofit

Đầu vào: UST := S ;

Đầu ra : Một lịch trình tối ưu ST để ánh xạ các yêu cầu vào các máy ảo;

Phương pháp:

1 ST:= ∅ ;2 Sắp xếp các ánh xạ trong UST theo nhà cung cấp;

3 G := {g1, .., gY }, gx ∈ G là nhóm các ánh xạ trên nhà cung cấp x;

4 Tạo ra Y luồng chạy đồng thời TH := {th1, .., thY }, thx ∈ TH tìm kiếm tài

nguyên tương ứng trên nhóm gx ∈ G;

5 foreach thx ∈ TH do

6 PUSH(ti) ; /* ti là ánh xạ đầu tiên trong nhóm gx ∈ G */

7 ST := ST ∪ {ti}; gx := gx \ {ti};8 while gx 6= ∅ do9 ti := POP () ; /* Lấy ti từ ngăn xếp */

10 Tìm Ti :={tl|dl ≥ di và al < di và tl nằm cùng nhóm với ti

};

11 Tính tiljx của các yêu cầu trong Ti như công thức (2.11):

tiljx :=

min (D − Uiljx, dl − al) nếu al − ai ≥ wi

sijx

D − Uiljx nếu al − ai < wisijx

và dl − ai ≥ D

dl − (ai + Uil) nếu al − ai < wisijx

và dl − ai < D

;

12 Dựa vào max(tiljx) để tìm ra tl;

13 if tl thỏa mãn ràng buộc (3.11) then

14 Tính lại wl và cập nhật lại các trạng thái cho tl;

15 else

16 if |gx| > 0 then

17 tl := ti+1 ; /* ti+1 là ánh xạ chưa xét đến trong nhóm gx */

18 else

19 break ;

20 PUSH(tl); ST := ST ∪ {tl}; gx := gx \ {ti};

21 Dựa vào ST để đưa ra lịch trình ánh xạ các yêu cầu vào các tài nguyên;

Thuật toán ACACO đưa ra lịch trình S chứa các ánh xạ của các yêu cầu được

chấp nhận vào các máy ảo nhưng thuật toán này chưa tận dụng hết khoảng thời gian

còn hiệu lực giữa các yêu cầu. Phần này, xây dựng thuật toán Mprofit nhằm tối ưu

76

Page 88: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

về chi phí và đem lại lợi ích cho nhà cung cấp SaaS. Đầu tiên, thuật toán Mprofit sử

dụng kỹ thuật xử lý song song [4] và mô hình kinh tế được xây dựng trong phần 2.3

để tạo ra các luồng (thread) chạy đồng thời, tìm ra tập các yêu cầu gối đầu lên nhau

và tính khoảng thời gian gối đầu như công thức (2.10) và (2.11). Sau đó, đưa ra lịch

trình tối ưu về chi phí.

Mỗi nhà cung cấp có thể chấp nhận được nhiều yêu cầu, thuật toán Mprofit tận

dụng khoảng thời gian còn hiệu lực trong vòng D phút được thuê của các yêu cầu

nằm trong cùng một nhà cung cấp để đem lại lợi nhuận cho nhà cung cấp SaaS. Các

bước của thuật toán Mprofit được mô tả ở Thuật toán 3.5. Đầu vào của thuật toán

là UST := S, trong đó S là lịch trình được tạo ra bởi thuật toán ACACO. Mỗi phần

tử trong S là một ánh xạ: ti → vmjx, do đó trong thuật toán này chúng tôi gọi ánh

xạ ti thay vì gọi yêu cầu ti.

3.3.2.3. Phân tích thuật toán ACACO và Mprofit

• Thomas Stutzle, Marco Dorigo [73] đã chứng minh tính hội tụ của thuật toán

ACO điều này đảm bảo tính hội tụ của thuật toán ACACO đề xuất.

• Trong môi trường TTĐM đã có sẵn các trung tâm dữ liệu, mỗi trung tâm dữ

liệu có sẵn các máy chủ, mỗi máy chủ tạo ra nhiều máy ảo. Vì vậy, tại thời điểm

lập lịch tập dữ liệu đầu vào X và VMx hoàn toàn được xác định.

• Sự hình thành của tập T sẽ giới hạn vì các yêu cầu được lập lịch theo lô và theo

một chu kỳ tức là ta sử dụng hai tập yêu cầu chưa lập lịch, cứ tập yêu cầu này

đang được lập lịch thì tập yêu cầu kia tiếp tục nhận yêu cầu chưa lập lịch và lưu

vào hàng đợi, khi tập yêu cầu này lập lịch xong thì hệ thống sẽ lập lịch cho tập

yêu cầu lưu ở hàng đợi và quá trình cứ lặp lại.

• Thuật toán ACACO ánh xạ yêu cầu ti ∈ T vào máy ảo vmjx ∈ VMx dựa vào

xác suất Pijx như công thức (3.21). Vì vậy, khi chi phí của máy ảo vmjx càng bé

thì thông tin heuristic càng lớn, điều này dẫn đến mùi để lại và xác suất chọn

máy ảo vmjx càng lớn. Do đó, khi ánh xạ yêu cầu vào máy ảo có chi phí thấp sẽ

làm cho tổng chi phí của toàn bộ hệ thống giảm xuống.

• Đối với thuật toán Mprofit.

Sau khi sắp xếp các yêu cầu theo nhà cung cấp sẽ tạo ra G nhóm, mỗi nhóm

sẽ chứa các yêu cầu được chấp nhận trên từng nhà cung cấp. Vì vậy, ta có thể

áp dụng mô hình lập trình chia xẻ bộ nhớ [4] để tạo ra G luồng chạy đồng thời,

điều này sẽ tối ưu thời gian đưa ra lịch trình cho thuật toán.

77

Page 89: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Để đảm bảo cho lợi ích của nhà cung cấp dịch vụ SaaS, thuật toán ACACO

chấp nhận hoặc từ chối các yêu cầu của khách hàng. Trong các yêu cầu đã chấp

nhận thì có thể có nhiều yêu cầu thực hiện không hết thời gian thuê, do đó thuật

toán Mprofit xét trên từng nhà cung cấp IaaS để tận dụng khoảng thời gian

còn hiệu lực này nhằm thực hiện cho yêu cầu tiếp theo. Điều này sẽ giảm chi

phí và đem lại lợi ích cho nhà cung cấp SaaS như mục tiêu ở công thức (3.9).

• Độ phức tạp của thuật toán ACACO: đối với mỗi yêu cầu ti ∈ T , mỗi con kiến

k sẽ duyệt qua Y nhà cung cấp để tính thông tin heuristic, hàm cực tiểu và cập

nhật lại mùi.

Trường hợp xấu nhất thường rơi vào con kiến đầu tiên, con kiến này sẽ chọn

máy ảo một cách ngẫu nhiễn, nếu máy ảo này không thỏa mãn ràng buộc của

yêu cầu thì sẽ tiếp tục chọn ngẫu nhiên máy ảo tiếp theo. Như vậy, trường hợp

xấu nhất thì kiến sẽ duyệt qua tất cả các máy ảo trên các nhà cung cấp, khi đó

độ phức tạp trong trường hợp xấu nhất là: O(N × Y ×Mx).

Các kiến tiếp theo cũng chọn máy ảo một cách ngẫu nhiên, sau đó dựa vào

mùi để lại của các con kiến trước để tính xác suất và thông tin heuristic nhằm

chọn máy ảo phù hợp. Khi đó, độ phức tạp của thuật toán trong trường hợp này

là O(k ×N × Y ).

• Độ phức tạp của thuật toán Mprofit

Đầu tiên sử dụng thuật toán Quick Sort để sắp xếp các yêu cầu theo nhà

cung cấp, nên độ phức tạp của thuật toán sắp xếp là: O(N × logN2 ).

Trường hợp xấu nhất là tất cả các nhà cung cấp đều chứa các ánh xạ, khi

đó độ phức tạp để tạo ra Y luồng và Y nhóm đều là: O(Y ).

Trên mỗi luồng, mỗi ánh xạ ti tìm ra tập ánh xạ Ti, trường hợp xấu nhất là

tất cả các ánh xạ gối đầu lên nhau đều nằm trên một nhà cung cấp, khi đó độ

phức tạp để tạo ra tập Ti cho N ánh xạ là O(N × (N − 1)).

Do đó, độ phức tạp của thuật toán Mprofit là O(max(N × logN2 , N × (N −1))) = O(N2) với N là số yêu cầu và N × logN2 là độ phức tạp của thuật toán

Quick Sort.

3.3.2.4. Mô phỏng và đánh giá thuật toán

Các thuật toán được cài đặt mô phỏng bằng ngôn ngữ Java (NetBean 7.1.1, JDK

6), gói công cụ CloudSim 2.0 [11], [13] với các thông số sau: sử dụng 4 Datacenter, 10

host vật lý, số máy ảo thay đổi từ 100 đến 500, 4 PE và 512 RAM trên một máy ảo

78

Page 90: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

và số yêu cầu thay đổi từ 1000 đến 5000. Các tham số về người dùng và nhà cung cấp

tài nguyên được xác định như sau:

• Về phía người dùng.

Kế thừa lên lớp Cloudlet để tạo ra các yêu cầu người dùng với các thông

số: thời điểm đến, khối lượng công việc, ngân sách, tỉ lệ lãi suất phạt và thời

hạn (deadline). Các thông số này được xác định như sau: thời điểm đến được

lấy ngẫu nhiên từ 1 đến 500, chúng ta phát sinh thời hạn một cách ngẫu nhiên

giữa (dl, du) phút, các giá trị khác nhau dl và du có giới hạn từ 10 đến 1500, thời

hạn phải lớn hơn thời điểm đến. Khối lượng công việc được lấy ngẫu nhiên từ

8 ∗ 104MI đến 105MI, căn cứ vào khối lượng để ước lượng ngân sách cho các

yêu cầu, các thông số còn lại được lấy ngầm định như trong CloudSim.

• Về phía nhà cung cấp tài nguyên.

Chúng tôi mô phỏng trên 4 nhà cung cấp tài nguyên. Mỗi nhà cung cấp tài

nguyên có số máy ảo, chi phí và tốc độ khác nhau. Trong cài đặt, chúng tôi kế

thừa lên lớp Vm của CloudSim 2.0 để tạo ra các máy ảo với các thông số tốc

độ và chi phí được xác định như sau: tốc độ được lấy ngẫu nhiên từ 103 đến

5 ∗ 103MIPS tương ứng với chi phí là số thực được lấy ngẫu nhiên từ 0.001 đến

0.01, các thông số khác của máy ảo như thời gian khởi tạo máy ảo, băng thông,

v.v. được lấy ngầm định như trong CloudSim.

Trong cài đặt, chúng tôi sử dụng k = 10, ρ = 0.05, khởi tạo mùi ban đầu τijx = 0.01.

Các giá trị trong mô phỏng là kết quả của 5 lần chạy thử và lấy kết quả trung bình.

Kết quả của các thuật toán được so sánh với thuật toán tham lam EDF [10], [42], [7],

[29] và thuật toán tuần tự. Đối với thuật toán tuần tự, luận án sử dụng phương pháp

vét cạn để duyệt qua tất cả các phương án nhằm tìm ra phương án tối ưu nhất. Vì

vậy, nếu tham số đầu vào của thuật toán lớn thì tốn một khoảng thời gian rất lớn để

đưa ra lịch trình.

1. Phân tích tổng chi phí thực hiện khi cố định số yêu cầu.

Hình 3.5 chỉ ra tổng chi phí của bốn thuật toán EDF , ACACO, Mprofit

và tuần tự khi sử dụng 100 máy ảo và 1000 yêu cầu.

Kết quả mô phỏng cho thấy tổng chi phí của thuật toán Mprofit luôn nhỏ

hơn thuật toán EDF , ACACO và tuần tự. Vì thuật toán ACACO có nhiệm vụ

kiểm soát đầu vào, chấp nhận hay từ chối yêu cầu người dùng, nếu yêu cầu được

chấp nhận sẽ ánh xạ vào máy ảo có chi phí thấp. Sau khi thuật toán ACACO

79

Page 91: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Hình 3.5: Tổng chi phí của các thuật toán khi cố định số lượng yêu cầu

thực hiện xong chúng ta có được một tập các yêu cầu được chấp nhận với chi

phí thấp, tập yêu cầu này là dữ liệu đầu vào của thuật toán lập lịch Mprofit.

Mprofit tiếp tục tận dụng khoảng thời gian gối đầu của các yêu cầu lên các tài

nguyên trong cùng một nhà cung cấp IaaS , điều này dẫn đến tổng chi phí thực

hiện của thuật toán Mprofit giảm xuống.

Thuật toán tuần tự không xem xét khoảng thời gian gối đầu giữa các yêu

cầu chỉ dùng phương pháp vét cạn để tìm tài nguyên. Do đó, sẽ có nhiều trường

hợp các yêu cầu sử dụng không hết khoảng thời gian được thuê, điều này sẽ làm

cho chi phí của thuật toán tuần tự tăng lên và mất một khoảng thời gian rất lớn

để đưa ra lịch trình.

Thuật toán EDF chỉ xem xét đến tỉ số sử dụng: U =n∑i=1

Tidi≤ 1 (trong đó

Ti là thời gian thực hiện và di tương ứng với thời hạn)[10], [42], [7], [29] để ánh

xạ các yêu cầu vào các tài nguyên, do đó thuật toán EDF chỉ đảm bảo các yêu

cầu hoàn thành trước thời hạn của nó chứ không quan tâm đến ngân sách cho

các yêu cầu.

2. Phân tích tổng số yêu cầu mà nhà cung cấp SaaS chịu phạt.

Các yêu cầu trong thuật toán EDF hầu như không bị phạt, vì thuật toán

chọn các tài nguyên để hoàn thành trước thời hạn của các yêu cầu, còn thuật

toán tuần tự, ACACO và Mprofit xem xét nếu cộng thêm chi phí bị phạt mà

vẫn có lợi cho nhà cung cấp SaaS thì yêu cầu đó vẫn được chấp nhận. Hình 3.6

trình bày tổng số yêu cầu mà nhà cung cấp bị phạt khi số yêu cầu cố định là

1000 và sử dụng 100 máy ảo.

80

Page 92: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Hình 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

3. Phân tích tổng chi phí và tổng số yêu cầu mà nhà cung cấp SaaS chịu

phạt khi cố định số máy ảo và thay đổi số yêu cầu.

Phần này trình bày kết quả về tổng số yêu cầu bị phạt và tổng chi phí và

của các thuật toán khi thay đổi số lượng yêu cầu từ 1000 yêu cầu đến 5000 và

cố định số máy ảo là 100 như thể hiện ở Hình 3.7 và Hình 3.8.

Hình 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.

Thuật toán tuần tự sử dụng phương pháp vét cạn để tìm tài nguyên, do đó

khi số yêu cầu lớn thì thời gian để đưa ra lịch trình rất lớn. Vì vậy, trong phần

này chúng tôi không xét đến thuật toán tuần tự.

Khi số yêu cầu càng lớn thì tổng chi phí của thuật toán Mprofit nhỏ hơn

81

Page 93: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

thuật toán EDF và ACACO. Tuy nhiên trong một số trường hợp khi số lượng

yêu cầu bị phạt lớn như trong trường hợp 3000 yêu cầu của Hình 3.7 thì chi phí

phạt mà nhà cung cấp phải trả lớn, điều này dẫn đến tổng chi phí của thuật toán

Mprofit sẽ lớn hơn thuật toán ACACO như trường hợp 3000 yêu cầu ở Hình

3.8. Do đó, trong cài đặt ta so sánh tổng chi phí của hai thuật toán ACACO và

Mprofit để quyết định chọn thuật toán nào để tối ưu.

Hình 3.8: Tổng chi phí của các thuật toán khi thay đổi số lượng yêu cầu.

4. Phân tích tổng chi phí và thời gian khi thay đổi số máy ảo.

Hình 3.9: Tổng chi phí của các thuật toán khi thay đổi số lượng máy ảo.

Hình 3.9 và 3.10 trình bày kết quả mô phỏng khi cố định số yêu cầu là 1000

và thay đổi số máy ảo từ 100 đến 500.

82

Page 94: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Khi tăng số lượng máy ảo thì xác suất để chọn máy ảo có chi phí thấp sẽ cao

lên. Do đó, khi tăng số lượng máy ảo thì tổng chi phí của thuật toán Mprofit

và ACACO sẽ thấp như Hình 3.9. Ngược lại, các máy ảo có chi phí thấp thì

thường có tốc độ thực hiện thấp. Vì vậy, khi số máy ảo càng lớn thì tổng thời

gian thực hiện của các yêu cầu trong hai thuật toán Mprofit và ACACO càng

cao như Hình 3.10.

Hình 3.10: Tổng thời gian của các thuật toán khi thay đổi số lượng máy ảo.

3.3.3. Thuật toán lập lịch tối ưu đa mục tiêu về thời gian

Trong phần này, chúng tôi xây dựng các thuật toán nhằm mục tiêu tối ưu thời

gian thực hiện cho người dùng (mục tiêu 2) dựa trên bài toán được xây dựng ở phần

3.2.1. Giống như thuật toán ACACO, đầu tiên chúng tôi sử dụng heuristic ACO để

đề xuất thuật toán ACTACO, thuật toán này vừa kiểm soát đầu vào để chấp nhận

hay từ chối các yêu cầu người dùng, vừa đưa lịch trình tối ưu về tổng thời gian thực

hiện. Để áp dụng heuristic ACO vào thuật toán ACTACO chúng tôi sử dụng các công

thức (3.16), (3.17), (3.18) và (3.22) để xác định thông tin hàm cực tiểu F , thông tin

heuristic, cập nhật lại mùi và xác suất P . Sau đó, dựa vào lịch trình được đưa ra ở

thuật toán ACTACO, chúng tôi sử dụng lại thuật toán Mprofit để tận dụng khoảng

thời gian còn hiệu lực giữa các yêu cầu trong từng nhà cung cấp IaaS nhằm đem lại

lợi ích lớn nhất cho nhà cung cấp SaaS.

3.3.3.1. Thuật toán ACTACO

Các bước của thuật toán ACTACO được mô tả ở Thuật toán 3.6. Phân tích

thuật toán ACTACO giống như thuật toán ACACO như trình bày ở phần 3.3.2.3

83

Page 95: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Thuật toán 3.6: ACTACO

Đầu vào:

• T = {t1, t2, . . . , tN}, ∀ti ∈ T là một bộ 7 < ai, di, bi, αi,wi, ini, outi > ;

• X = {1, 2, ..., Y }. ∀x ∈ X, VMx = {vm1x, vm2x, . . . , vm(Mx)x}, ∀vmjx ∈ VMx là

một bộ 5 < tjx, pjx, sjx, dtpjx, dtsjx > ;

Đầu ra : Một lịch trình S = {ti → vmjx, ti ∈ T, vmjx ∈ VMx};Phương pháp:

1 S := ∅;2 foreach ti ∈ T do

3 si := AdmissionControl(ti, X, V Mx);

4 if si = ∅ then5 Thông báo cho người dùng yêu cầu đã bị từ chối ;

6 else

7 S := S ∪ {si};

8 return S;

9 Function AdmissionControl(ti ∈ T,X, VMx)

10 ST := ∅;11 foreach con kiến thứ k do

12 foreach nhà cung cấp x ∈ X do

13 Tính thông tin heuristic cho yêu cầu ti trên các máy ảo vmjx:

ηijx := 1CTijx+DTijx+TIijx+βijx

;

14 Tìm ra giá trị của mùi hiện tại: τijx;

15 Cập nhật lại mùi như công thức (3.18): τijx := (1− ρ)τijx + 1−ρFk

;

16 Tính xác suất để yêu cầu ti ánh xạ vào các máy ảo vmjx như công thức

(3.22): Pijx :=

((1−ρ)τijx+ 1−ρ

Fk

). 1ηijx∑Y

x=1

∑Mxj=1

((1−ρ)τijx+ 1−ρ

Fk

). 1ηijx

;

17 Dựa vào xác suất tính được để tìm ra máy ảo vmjx có xác suất lớn nhất

và thỏa mãn các ràng buộc (3.10) và (3.11);

18 if tìm thấy vmjx then

19 ST := ST ∪ {ti → vmjx} ;

20 if ti /∈ ST then

21 return ∅;22 else

23 Tìm ra giải pháp có thể tối ưu nhất si ∈ ST ; return si;

84

Page 96: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

3.3.3.2. Áp dụng thuật toán Mprofit

Phần này chúng tôi áp dụng lại thuật toán Mprofit để đem lại lợi ích lớn nhất

cho nhà cung cấp SaaS. Lịch trình đưa ra của thuật toán ACTACO là đầu vào của

thuật toán Mprofit.

3.3.3.3. Mô phỏng và đánh giá thuật toán

Các thuật toán được cài đặt mô phỏng trên CloudSim 2.0 [11], [13], các thông số

về CloudSim và phía người dùng được xác định như trong phần 3.3.2.4.

Về phía nhà cung cấp tài nguyên: chúng tôi mô phỏng trên 4 nhà cung cấp

tài nguyên. Mỗi nhà cung cấp tài nguyên có số máy ảo, chi phí và tốc độ khác nhau.

Trong cài đặt, chúng tôi kế thừa lên lớp Vm của CloudSim 2.0 để tạo ra các máy ảo

với các thông số tốc độ và chi phí được xác định như sau: tốc độ được lấy ngẫu nhiên

từ 103 đến 5 ∗ 103MIPS tương ứng với chi phí là số thực được lấy ngẫu nhiên từ 0.01

đến 0.1, các thông số khác của máy ảo như thời gian khởi tạo máy ảo, băng thông,

v.v. được lấy ngầm định như trong CloudSim.

Trong cài đặt, chúng tôi sử dụng k = 10, ρ = 0.05, khởi tạo mùi ban đầu τijx = 0.01.

Các giá trị trong mô phỏng là kết quả của 5 lần chạy thử và lấy kết quả trung bình.

Kết quả của các thuật toán được so sánh với thuật toán tuần tự và thuật toán tham

lam EDF [10], [42], [7], [29].

1. Phân tích tổng chi phí và thời gian thực hiện khi cố định số yêu cầu.

Hình 3.11 và 3.12 chỉ ra tổng thời gian và chi phí thực hiện của 4 thuật toán

EDF , ACTACO, Mprofit và tuần tự khi sử dụng 100 máy ảo và 1000 yêu cầu.

Kết quả mô phỏng cho thấy tổng thời gian thực hiện của thuật toánACTACO

gần bằng thuật toán tuần tự nhưng chi phí của Mprofit luôn nhỏ hơn thuật

toán EDF , ACTACO và tuần tự. Bởi vì thuật toán ACTACO có nhiệm vụ

kiểm soát đầu vào, chấp nhận các yêu cầu thỏa mãn thời hạn và ngân sách của

nó. Vì vậy, sau khi thuật toán ACTACO thực hiện xong chúng ta có được một

tập các yêu cầu được chấp nhận với thời gian thực hiện thấp, tập yêu cầu này

là dữ liệu đầu vào của thuật toán lập lịch Mprofit. Mprofit tiếp tục tận dụng

khoảng thời gian gối đầu của các yêu cầu lên các tài nguyên trong cùng một nhà

cung cấp IaaS, điều này dẫn đến tổng chi phí thực hiện của thuật toán giảm

xuống như Hình 3.12.

Thuật toán tuần tự không xem xét khoảng thời gian gối đầu giữa các yêu

cầu chỉ dùng phương pháp vét cạn để tìm tài nguyên. Do đó sẽ có nhiều trường

hợp các yêu cầu sử dụng không hết khoảng thời gian được thuê, điều này sẽ làm

85

Page 97: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

cho chi phí của thuật toán tuần tự tăng lên và mất một khoảng thời gian rất lớn

để đưa ra lịch trình. Còn thuật toán EDF chỉ đảm bảo các yêu cầu hoàn thành

trước thời hạn của nó chứ không quan tâm đến ngân sách cho các yêu cầu.

Hình 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.

Hình 3.12: So sánh tổng chi phí của 4 thuật toán khi cố định số yêu cầu.

2. Phân tích tổng số yêu cầu mà nhà cung cấp SaaS chịu phạt.

Các yêu cầu trong thuật toán EDF hầu như không bị phạt, vì thuật toán

chọn các tài nguyên để hoàn thành trước thời hạn của các yêu cầu, còn thuật

toán tuần tự, ACTACO và Mprofit xem xét nếu cộng thêm chi phí bị phạt mà

vẫn có lợi cho nhà cung cấp SaaS thì yêu cầu đó vẫn được chấp nhận. Hình 3.13

86

Page 98: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

trình bày tổng số yêu cầu mà nhà cung cấp bị phạt khi số yêu cầu cố định là

1000 và sử dụng 100 máy ảo.

Hình 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.

3. Phân tích tổng thời gian, tổng chi phí thực hiện và tổng số yêu cầu

mà nhà cung cấp SaaS chịu phạt khi thay đổi số yêu cầu.

Phần này trình bày kết quả về tổng thời gian, tổng chi phí và tổng số 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 từ 1000 yêu cầu

đến 5000 và cố định số máy ảo là 100 như thể hiện ở Hình 3.14, 3.15 và 3.16.

Thuật toán tuần tự sử dụng phương pháp vét cạn để tìm tài nguyên. Vì vậy,

khi số yêu cầu lớn thì thời gian để đưa ra lịch trình rất lớn, do đó trong phần

này không xét thuật toán tuần tự.

Khi số lượng yêu cầu càng lớn thì sẽ có nhiều yêu cầu không sử dụng hết

khoảng thời gian đã thuê, nên thuật toán Mprofit sẽ tận dụng hết các khoảng

thời gian này, điều này dẫn đến tổng chi phí của thuật toán Mprofit nhỏ hơn

thuật toán EDF và ACTACO như Hình 3.15. Tuy nhiên trong một số trường

hợp khi số yêu cầu bị phạt lớn như trong trường hợp 5000 yêu cầu của Hình 3.16

thì chi phí phạt mà nhà cung cấp phải trả lớn, điều này dẫn đến tổng chi phí

của hệ thống sẽ lớn như trường hợp 5000 yêu cầu ở Hình 3.15. Do đó trong cài

đặt ta so sánh tổng chi phí của hai thuật toán ACTACO và Mprofit để quyết

định chọn thuật toán nào để tối ưu.

Như thể hiện ở Hình 3.14 khi số yêu cầu càng lớn thì tổng thời gian thực

hiện của các thuật toán sẽ tăng lên. Tổng thời gian thực hiện của hai thuật toán

ACTACO và Mprofit gần bằng nhau. Trong khi đó thuật toán EDF chỉ xét

87

Page 99: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

đến tỉ số sử dụng để tìm tài nguyên, không xem xét đến việc tìm ra các tài

nguyên tốt nhất, do đó tổng thời gian thực hiện của EDF thường lớn hơn tổng

thời gian thực hiện của ACTACO và Mprofit.

Hình 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

Hình 3.15: Tổng chi phí của các thuật toán khi thay đổi số yêu cầu.

3.4. Thuật toán lập lịch tối ưu đa mục tiêu dựa trên PSO

Các thuật toán ACACO và ACTACO sử dụng heuristic ACO đưa ra lịch trình

gần tối ưu, nhưng các thuật toán này ít cân bằng tải cho hệ thống vì khi tìm ra tài

nguyên các kiến để lại mùi và các kiến khác theo dấu vết để lại sẽ tập trung trên các

tài nguyên tìm được. Vì vậy, trong một số trường hợp có quá nhiều yêu cầu cùng chọn

88

Page 100: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

Hình 3.16: So sánh tổng số yêu cầu bị phạt khi thay đổi số yêu cầu

một tài nguyên nên dễ gây ra hiện tượng tắt nghẽn mạng. Để cân bằng tải hơn cho hệ

thống, chúng tôi nghiên cứu heuristic PSO, PSO được xây dựng dựa trên khái niệm

trí tuệ bầy đàn để tìm kiếm lời giải cho các bài toán tối ưu tổ hợp trên không gian tìm

kiếm của mỗi cá thể. Mỗi cá thể dựa vào vận tốc, vị trí di chuyển và giá trị thích nghi

của mình để tìm ra tài nguyên tốt nhất. Trong phần này, chúng tôi sử dụng heuristic

PSO dựa trên kinh nghiệm bầy đàn để tìm kiếm tài nguyên cho các yêu cầu người

dùng và đề xuất các thuật toán dựa trên bài toán được xây dựng ở phần 3.2.2.

3.4.1. Phát biểu bài toán

Trong phần này chúng tôi sử dụng heuristic PSO và bài toán được mô tả như

trong phần 3.3.1 để đề xuất thuật toán kiểm soát đầu vào và lập lịch cho các yêu cầu

người dùng nhằm đem lại lợi ích lớn nhất cho nhà cung cấp SaaS nhưng vẫn thỏa mãn

về ràng buộc ngân sách và thời hạn cho các yêu cầu người dùng.

Thuật toán ACPSO sử dụng heuristic PSO để vừa kiểm soát đầu vào để chấp

nhận hay từ chối các yêu cầu người dùng, vừa đưa lịch trình tối ưu về chi phí. Để áp

dụng heuristic PSO vào thuật toán lập lịch chúng tôi sử dụng các công thức: (3.24),

(3.25), (3.29), (3.34) và (3.35) để xác định được vị trí, vận tốc, hàm thích nghi, vị trí

tối ưu cục bộ của từng cá thể và vị trí tối ưu toàn cục của cả bầy đàn. Sau đó, luận

án sử dụng lại thuật toán Mprofit để tận dụng khoảng thời gian còn hiệu lực giữa

các yêu cầu trong từng nhà cung cấp IaaS nhằm đem lại lợi ích lớn nhất cho nhà cung

cấp SaaS như thể hiện ở công thức (2.10) và (2.11).

3.4.2. Thuật toán tối ưu ACPSO

89

Page 101: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

3.4.2.1. Thuật toán ACPSO

Thuật toán 3.7: ACPSO

Đầu vào:

• T = {t1, t2, . . . , tN}, ∀ti ∈ T là một bộ 7 < ai, di, bi, αi,wi, ini, outi > ;

• X = {1, 2, ..., Y }. ∀x ∈ X, VMx = {vm1x, vm2x, . . . , vm(Mx)x},∀vmjx ∈ VMx là

một bộ 5 < tjx, pjx, sjx, dtpjx, dtsjx > ;

Đầu ra : Một lịch trình S = {ti → vmjx, ti ∈ T, vmjx ∈ VMx} ;Phương pháp:

1 Khởi tạo: vị trí, vận tốc của mỗi cá thể, S, Pbestx, Gbest, hệ số K và ϕ;

2 Tạo ra Y luồng chạy đồng thời TH := {th1, .., thY }, mỗi luồng thx ∈ TH tìm

kiếm tài nguyên trên mỗi nhà cung cấp x ∈ X;

3 foreach ti ∈ T do

4 foreach thx ∈ TH do

5 Tính hàm thích nghi như công thức (3.29):

Fcost(posjix) := 1

CPijx+CTDijx+CIijx+CRijx;

6 Tìm vị trí tối ưu cục bộ của cá thể x tại chiều j + 1 cho yêu cầu ti như

công thức (3.32):

pbj+1ix =

pbj+1ix nếu Fcost(pos

j+1ix ) ≥ Fcost(pos

jix) và Cijx ≤ bi và Tijx ≤ di + βijx

pbjix ngược lại

7 Tính Pbestj như công thức (3.34); Tính Gbesti như công thức (3.35);

8 Dựa vào Gbesti, tìm ra máy ảo vmjx thỏa mãn các ràng buộc (3.10) và

(3.11);

9 if tìm thấy vmjx then

10 S := S ∪ {ti → vmjx} ;11 else

12 Thông báo cho người dùng yêu cầu đã bị từ chối;

13 foreach thx ∈ TH do

14 for j:=1 to Mx do

15 vj+1x := K (ωvjx + c1z1(Pbestx − posjx) + c2z2(Gbest− posjx));

16 posj+1x := posjx + vj+1

x

Đầu tiên, thuật toán khởi tạo vị trí và vận tốc cho các cá thể. Vị trí và vận tốc

90

Page 102: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

của mỗi cá thể là mảng một chiều. Vị trí của cá thể được lấy ngẫu nhiên từ 1..Mx và

vận tốc lấy ngẫu nhiên từ −Mx..Mx, trong đó Mx là số máy ảo của nhà cung cấp x.

Đối với mỗi yêu cầu ti ∈ T , mỗi cá thể x (x = 1..Y ) tính hàm thích nghi, xác định

lại vị trí cục bộ mới, cập nhật lại vị trí toàn cục (Gbest) trên trung tâm dữ liệu mà nó

quản lý. Dựa vào vị trí toàn cục để ra quyết định chấp nhận hoặc từ chối yêu cầu, nếu

yêu cầu được chấp nhận sẽ được ánh xạ vào máy ảo tại vị trí toàn cục. Sau đó, mỗi

cá thể cập nhật lại vị trí và vận tốc mới cho mình. Các bước của thuật toán ACPSO

được mô tả ở Thuật toán 3.7.

3.4.2.2. Áp dụng thuật toán Mprofit

Phần này chúng tôi áp dụng lại thuật toán Mprofit như trong phần 3.3.2.2 để

đem lại lợi ích lớn nhất cho nhà cung cấp SaaS. Lịch trình đưa ra bởi thuật toán

ACPSO là đầu vào của thuật toán Mprofit.

3.4.2.3. Phân tích thuật toán ACPSO

• M.Clerc [16] đưa thêm hệ số hội tụ K vào để cập nhật lại vận tốc cho các cá thể

và đã chứng minh tính hội tụ của thuật toán PSO. Điều này đảm bảo tính hội

tụ của thuật toán ACPSO.

• Giống như thuật toán ACACO, đầu vào của thuật toán ACPSO tại thời điểm

lập lịch có thể xác định được tập T,X, VMx.

• Thuật toán ACPSO: đầu vào của thuật toán là Y nhà cung cấp độc lập với

nhau, vì vậy ta có thể tạo ra Y luồng chạy đồng thời, mỗi luồng thx ∈ TH là

một cá thể tìm kiếm trên tập máy ảo của nhà cung cấp tương ứng. Điều này sẽ

giảm độ phức tạp của thuật toán và thời gian đưa ra lịch trình sẽ nhanh hơn.

Mỗi cá thể (luồng) tập trung ánh xạ yêu cầu ti ∈ T vào máy ảo vmjx ∈ VMx

dựa vào hàm thích nghi như công thức (3.28) và (3.29). Vì vậy, khi chi phí Cijx

càng bé thì hàm thích nghi càng cao, nên xác suất để yêu cầu ti chọn máy ảo

vmjx càng lớn. Do đó, khi ánh xạ yêu cầu vào máy ảo có chi phí thấp sẽ làm cho

tổng chi phí của toàn bộ hệ thống giảm xuống.

• Lịch trình đưa ra của thuật toán ACPSO là dữ liệu đầu vào của thuật toán

Mprofit. Để đảm bảo cho lợi ích của nhà cung cấp dịch vụ SaaS, thuật toán

ACPSO chấp nhận hoặc từ chối các yêu cầu của người dùng. Trên mỗi trung

tâm dữ liệu sẽ có nhiều yêu cầu được chấp nhận. Các yêu cầu này có thể thực

hiện không hết thời gian thuê. Vì vậy, thuật toánMprofit tận dụng khoảng thời

gian còn hiệu lực này để thực hiện cho yêu cầu tiếp theo, điều này dẫn đến chi

91

Page 103: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

phí thực hiện cho cả hệ thống giảm xuống theo đúng mục tiêu đặt ra ở công

thức (3.9).

• Độ phức tạp của thuật toán ACPSO: ∀ti ∈ T sử dụng Y luồng chạy đồng thời

để tìm kiếm tài nguyên. Mỗi luồng sẽ tính giá trị của hàm thích nghi, tìm vị trí

cục bộ mới và tìm vị trí toàn cục. Sau khi luồng thực hiện xong sẽ cập nhật lại

vị trí và vận tốc của các cá thể để sử dụng cho thế hệ sau. Khi đó, độ phức tạp

của từng giai đoạn được tính như sau:

– Tính giá trị của hàm thích nghi: O(N ×Mx)

– Tìm vị trí cục bộ mới: O(N ×Mx)

– Tìm vị trí toàn cục: O(N)

– Cập nhật lại vận tốc và vị trí sau mỗi thế hệ: O(N ×Mx)

Khi đó, độ phức tạp của của thuật toán ACPSO là: O(N ×Mx).

3.4.2.4. Mô phỏng và đánh giá thuật toán

Thuật toán được cài đặt mô phỏng trên CloudSim 2.0 [11], [13], các thông số về

CloudSim, phía người dùng và phía nhà cung cấp được xác định như trong phần 3.3.2.4

Các giá trị trong mô phỏng là kết quả của 5 lần thử nghiệm và lấy kết quả trung

bình. Mỗi thuật toán chấp nhận các yêu cầu khác nhau, vì vậy khi đánh giá về tổng

chi phí chúng tôi đánh giá trên tập các yêu cầu là giao của các yêu cầu được chấp

nhận của mỗi thuật toán. Ngược lại, khi đánh giá về tổng lợi ích của nhà cung cấp

SaaS chúng tôi đánh giá trên tất cả các yêu cầu được chấp nhận bởi mỗi thuật toán.

Trong mô phỏng này, thuật toán Mprofit được áp dụng cho cả hai thuật toán

ACACO và ACPSO nên chúng tôi gọi MprofitforACACO là thuật toán Mprofit

áp dụng cho thuật toán ACACO và ngược lại MprofitforACPSO là thuật toán

Mprofit áp dụng cho thuật toán ACPSO.

Kết quả mô phỏng:

1. Phân tích tổng chi phí thực hiện và lợi nhuận của nhà cung cấp khi

cố định số yêu cầu

Hình 3.17 và 3.18 chỉ ra tổng chi phí và tổng lợi nhuận của các thuật toán

EDF , ACPSO, Mprofit và tuần tự khi sử dụng 150 máy ảo và 1000 yêu cầu.

Kết quả mô phỏng cho thấy tổng chi phí của thuật toán Mprofit luôn nhỏ

hơn và tổng lợi thuận khi áp dụng thuật toánMprofit thường cao hơn các thuật

92

Page 104: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

toán còn lại. Sau khi thuật toán ACACO và ACPSO thực hiện xong chúng ta

có được một tập các yêu cầu được chấp nhận với chi phí thấp, tập yêu cầu này

là dữ liệu đầu vào của thuật toán lập lịch Mprofit, Mprofit tiếp tục tận dụng

khoảng thời gian gối đầu của các yêu cầu lên các tài nguyên trong cùng một

nhà cung cấp IaaS, điều này dẫn đến tổng chi phí thực hiện của thuật toán

Mprofit giảm xuống và tổng lợi nhuận của các thuật toánMprofitforACPSO

và MprofitforACACO tăng lên.

Hình 3.17: Tổng chi phí của các thuật toán khi cố định số yêu cầu.

Hình 3.18: Tổng lợi nhuận của các thuật toán khi cố định số yêu cầu.

Thuật toán ACACO sẽ tập trung ánh xạ các yêu cầu vào các tài nguyên có

chi phí thấp, vì vậy sẽ có nhiều yêu cầu cùng chọn một nguồn tài nguyên nên

93

Page 105: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

thuật toán này mặc dù có tổng chi phí thấp hơn thuật toán ACPSO nhưng lại ít

cân bằng tải cho hệ thống. Thuật toán tuần tự không xem xét khoảng thời gian

gối đầu giữa các yêu cầu, nó chỉ dùng phương pháp vét cạn để tìm tài nguyên.

Do đó sẽ có nhiều trường hợp các yêu cầu sử dụng không hết khoảng thời gian

được thuê, điều này sẽ làm cho chi phí của thuật toán tuần tự tăng lên và tốn

một khoảng thời gian rất lớn để đưa ra lịch trình.

Khi xét đến lợi nhuận cho nhà cung cấp SaaS, chúng tôi không xét đến thuật

toán EDF vì thuật toán này không quan tâm đến chi phí chỉ chọn các tài nguyên

để hoàn thành trước thời hạn của các yêu cầu. Ngược lại, các thuật toán còn lại

xem xét nếu cộng thêm chi phí bị phạt mà vẫn có lợi cho nhà cung cấp SaaS và

thỏa mãn ràng buộc của người dùng thì yêu cầu đó vẫn được chấp nhận. Kết quả

ở Hình 3.18 cho thấy tổng lợi nhuận đem lại cho nhà cung cấp SaaS của thuật

toán tuần tự và các thuật toán áp dụng thuật toán Mprofit gần bằng nhau vì

thuật toán tuần tự dùng phương pháp vét cạn để tìm tài nguyên tốt nhất trong

khi đó các thuật toán áp dụng thuật toán Mprofit tận dụng khoảng thời gian

sử dụng chưa hết của yêu cầu này để thực hiện cho yêu cầu tiếp theo.

2. Phân tích tổng chi phí và tổng lợi nhuận khi cố định số máy ảo và

thay đổi số yêu cầu.

Hình 3.19: Tổng chi phí của các thuật toán khi thay đổi số yêu cầu.

Phần này trình bày kết quả về tổng chi phí và tổng lợi nhuận cho nhà cung

94

Page 106: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

cấp của các thuật toán khi thay đổi số lượng yêu cầu từ 1000 yêu cầu đến 5000

và cố định số máy ảo là 150 như thể hiện ở Hình 3.19 và Hình 3.20.

Hình 3.20: Tổng lợi nhuận của các thuật toán khi thay đổi số yêu cầu.

Thuật toán tuần tự sử dụng phương pháp vét cạn để tìm tài nguyên, do đó

khi số yêu cầu lớn thì thời gian để đưa ra lịch trình rất lớn. Vì vậy, trong phần

này không xét thuật toán tuần tự.

Khi số yêu cầu càng lớn thì tổng chi phí của thuật toán Mprofit luôn nhỏ

hơn thuật toán EDF , ACACO và ACPSO như thể hiện ở Hình 3.19. Khi số

yêu cầu càng lớn thì khả năng gối đầu của các yêu cầu trong cùng một nhà cung

cấp càng cao. Vì vậy, các thuật toán áp dụng thuật toánMprofit tận dụng được

nhiều khoảng thời gian gối đầu này, điều này dẫn đến tổng lợi nhuận đem lại

cho nhà cung cấp càng lớn như thể hiện ở Hình 3.20.

3.5. Tiểu kết Chương 3

Chương này tập trung xây dựng mô hình của các thành phần trên TTĐM. Luận

án này sử dụng lại mô hình nhà cung cấp IaaS của R. Buyya, sau đó mở rộng mô hình

người dùng bằng các phát triển thêm các thuộc tính để phù hợp với bài toán đề xuất.

Từ đó, chúng tôi xây dựng mô hình của nhà cung cấp PaaS nhằm đáp ứng mục tiêu

của người dùng và nhà cung cấp SaaS.

Luận án dựa trên hai heuristic ACO và PSO để xây dựng bài toán tối ưu đa mục

tiêu. Đối với heuristic ACO, chúng tôi xây dựng các công thức để xác định các thông

95

Page 107: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

tin: hàm cực tiểu F , thông tin heuristic ηi, cập nhật lại mùi và tính xác suất P để tìm

kiếm tài nguyên. Đối với heuristic PSO, chúng tôi tiến hành phân tích và xây dựng

các công thức để tìm ra vị trí, vận tốc, hàm thích nghi, vị trí tối ưu cục bộ của từng

cá thể và vị trí tối ưu toàn cục của cả bầy đàn để áp dụng vào bài toán.

Để giải quyết bài toán lập lịch cho các yêu cầu người dùng theo hướng đa mục tiêu

về chi phí. Luận án đề xuất 3 thuật toán ACACO, ACPSO và Mprofit. Ba thuật

toán này được cài đặt và mô phỏng trên CloudSim và được so sánh với thuật toán

tuần tự và EDF .

Luận án đề xuất thuật toán ACTACO và kết hợp với thuật toán Mprofit để giải

quyết bài toán lập lịch cho các yêu cầu người dùng theo hướng đa mục tiêu về thời

gian. Thông qua việc phân tích, đánh giá các kết quả mô phỏng, đối sách trên cùng

một bộ mẫu và sử dụng cùng một công cụ mô phỏng CloudSim cho thấy kết quả của

thuật toán ACTACO và Mprofit có sự cải tiến đáng kể về thời gian và chi phí so với

thuật toán tuần tự và EDF hiện có.

96

Page 108: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

KẾT LUẬN

Kết luận

Trong thời gian thực hiện luận án, với sự nỗ lực của bản thân và sự giúp đỡ tận

tình của 2 cán bộ hướng dẫn, luận án đã hoàn thành so với mục tiêu đặt ra ban đầu.

Đầu tiên luận án nghiên cứu, phân tích và đánh giá các ưu nhược điểm của các

kết quả đã được nghiên cứu về các vấn đề lập lịch trên TTĐM. Trên cơ sở đó xác định

mục tiêu của luận án. Kết quả chính của luận án là xây dựng mô hình toán học cho

các thành phần trên TTĐM và đề xuất các thuật toán lập lịch theo hướng tối ưu về

thời gian và chi phí. Bám sát mục tiêu đề ra, các nội dung chính của luận án đạt được

như sau:

1. Đề xuất mô hình và các thuật toán lập lịch các công việc thời gian thực áp dụng

cho các lớp bài toán song song theo hướng tối ưu về thời gian và chi phí. Chúng

tôi kết hợp giữa xử lý song song, phân nhóm tài nguyên theo chi phí và thời gian,

cũng như tận dụng khoảng thời gian gối đầu giữa các yêu cầu để đề xuất ba

thuật toán CTO, TCO và MINC. Các thuật toán này được cài đặt mô phỏng

trên CloudSim. Thông qua việc mô phỏng, phân tích và đánh giá, kết quả của

ba thuật toán tối ưu về chi phí và thời gian hơn thuật toán EDF hiện có.

2. Xây dựng mô hình toán học cho các thành phần trong môi trường TTĐM. Luận

án áp dụng lại mô hình toán học của nhà cung cấp IaaS và phát triển thêm các

thuộc tính của người dùng do Rajkumar Buyya và các đồng nghiệp đề xuất. Từ

đó, luận án tập trung xây dựng mô hình toán học cho nhà cung cấp PaaS và mô

hình tối ưu về chi phí cho người dùng và nhà cung cấp SaaS.

3. Đề xuất các thuật toán lập lịch theo hướng tối ưu đa mục tiêu về chi phí dựa

trên xử lý song song, heurictis ACO và PSO. Đối với heurictis ACO, chúng tôi

xây dựng hàm cực tiểu, thông tin heuristic và xác suất để lựa chọn tài nguyên

có chi phí thấp. Dựa trên khung chung của heurictis PSO luận án đưa ra hàm

thích nghi để tối ưu về chi phí và đưa ra công thức tính vị trí cục bộ mới thỏa

mãn ràng buộc QoS của người dùng. Từ đó, đề xuất ba thuật toán ACACO,

ACPSO và Mprofit. Cả ba thuật toán này đều đem lại lợi ích lớn nhất cho

nhà cung cấp SaaS, chi phí thấp cho người dùng nhưng vẫn thỏa mãn ràng buộc

QoS cho các yêu cầu. Cả ba thuật toán được cài đặt và mô phỏng trên công cụ

97

Page 109: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

CloudSim và được so sánh với thuật toán tuần tự và EDF hiện có. Theo phân

tích và đánh giá kết quả mô phỏng cho thấy khi áp dụng thuật toán Mprofit

cho ACACO luôn cho chi phí thấp nhất. Mặc dù kết quả thuật toán ACPSO

có chi phí cao hơn ACACO nhưng thuật toán ACPSO chạy nhanh hơn và cân

bằng tải hơn so thuật toán ACACO.

4. Đề xuất các thuật toán lập lịch theo hướng tối ưu đa mục tiêu về thời gian dựa

trên heurictis ACO. Dựa trên khung chung của heurictis ACO, luận án đã đưa

ra hàm cực tiểu, thông tin heuristic và xác suất để lựa chọn tài nguyên có tốc

độ cao nhất. Từ đó, đề xuất thuật toán ACTACO và kết hợp với thuật toán

Mprofit nhằm tối ưu thời gian thực hiện cho người dùng và đem lại lợi ích cho

nhà cung cấp SaaS nhưng vẫn thỏa mãn ràng buộc QoS của các yêu cầu. Thông

qua việc phân tích, đánh giá các kết quả mô phỏng trên công cụ CloudSim cho

thấy khi kết hợp hai thuật toán Mprofit và ACTACO lại với nhau thì kết quả

có sự cải tiến đáng kể về thời gian và chi phí so với các thuật toán tuần tự và

EDF hiện có.

Các kết quả của luận án đã công bố trong 8 công trình khoa học được đăng tải

trên các tạp chí và hội nghị chuyên ngành trong và ngoài nước. Trong đó có 2 bài

đăng trong kỷ yếu hội nghị quốc gia chuyên ngành, 01 đăng ở hội thảo quốc tế, 02 bài

đăng ở tạp chí Khoa học và Công nghệ và 03 bài đăng trong các tạp chí chuyên ngành

trong nước.

Mặc dù vậy, luận án chưa nghiên cứu khả năng lập lịch lại nếu một yêu cầu bị

thất bại khi thực hiện lịch trình. Trong mô phỏng, luận án chỉ áp dụng chính sách lập

lịch máy ảo của CloudSim, chưa nghiên cứu các thuật toán lập lịch tối ưu để cung cấp

máy ảo trên các trung tâm dữ liệu và chưa nghiên cứu các thuật toán lập lịch trên các

ứng dụng để đảm bảo độ tin cậy và tính bảo mật. Đây là các thiếu sót của luận án và

là hướng phát triển của luận án trong thời gian tới.

98

Page 110: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC

CỦA TÁC GIẢ LIÊN QUAN ĐẾN LUẬN ÁN

1. Nguyễn Hoàng Hà, Lê Văn Sơn, Nguyễn Mậu Hân, Thuật toán lập lịch động trong môi

trường điện toán đám mây dựa trên Heuristic và cây Steiner, kỷ yếu hội thảo quốc gia

lần thứ 15 "Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông", trang

436 - 442, 2013.

2. Nguyễn Hoàng Hà, Lê Văn Sơn, Nguyễn Mậu Hân, Một thuật toán lập lịch trong môi

trường tính toán đám mây dựa trên thuật toán ACO, kỷ yếu hội nghị khoa học công

nghệ quốc gia lần thứ 6, FAIR "Nghiên cứu cơ bản và ứng dụng Công nghệ Thông tin",

trang 331 -340, 2013.

3. Nguyễn Hoàng Hà, Lê Văn Sơn, Nguyễn Mậu Hân, Nguyễn Thanh Bình, Định vị tài

nguyên cho các yêu cầu trên tính toán đám mây dựa trên ràng buộc thời hạn và ngân

sách, tạp chí Khoa học và Công nghệ, tạp chí Đại học Đà Nẵng, số 7(80), trang 107

-110, 2014.

4. Nguyễn Hoàng Hà, Lê Văn Sơn, Nguyễn Mậu Hân, Định vị tài nguyên cho các yêu

cầu trong tính toán đám mây dựa trên ràng buộc QoS, chuyên san Công nghệ Thông

tin và truyền thông, tạp chí Khoa học và Kỹ thuật, học viện Kỹ thuật Quân sự, số 5,

trang 58 - 71, 2014.

5. Nguyễn Hoàng Hà, Lê Văn Sơn, Nguyễn Mậu Hân, Kiểm soát đầu vào để lập lịch cho

các yêu cầu người dùng trên tính toán đám mây dựa vào ràng buộc QoS, các công

trình nghiên cứu, phát triển và ứng dụng Công nghệ thông tin và Truyền thông", tạp

chí Công nghệ thông tin và truyền thông, số 13 (33), trang 16-25, 2015.

6. Nguyễn Hoàng Hà, Lê Văn Sơn, Nguyễn Mậu Hân, Thuật toán lập lịch cho các yêu

cầu người dùng trên tính toán đám mây dựa trên heuristic PSO, tạp chí Khoa học,

Đại học Huế, số 7(106), trang 83-96, 2014.

7. Nguyễn Hoàng Hà, Nguyễn Thanh Bình, Scheduling algorithm for user requirements

on cloud computing base on deadline and budget constraints, Journal of Computer

Science and Cybernetics, no. 3 (31), pages 231-243, 2015.

8. Ha Nguyen Hoang, Son Le Van, Han Nguyen Mau, Cuong Phan Nhat Bien, Admission

Control and Scheduling Algorithms Based on ACO and PSO Heuristic for Optimiz-

ing Cost in Cloud Computing, 8th Asian Conference on Intelligent Information and

Database Systems (ACIIDS) 2016, volume 642 of Studies in Computational Intelli-

gence, pages 15-28, Springer, 2016.

99

Page 111: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

TÀI LIỆU THAM KHẢO

[1] M. Armbrust and I. Sto. Above the Clouds: A Berkeley View of Cloud Computing.

University of California, Berkeley, 2009.

[2] X. Bai, M. Li, B. Chen, Tsai, and Gao. Cloud testing tools. In Proceedings of the 6th

IEEE International Symposium on Service Oriented System Engineering, pages 1–12.

IEEE, 2011.

[3] A. Bala and D. Chana. A survey of various workflow scheduling algorithms in cloud

environment. IJCA Proceedings on 2nd National Conference on Information and Com-

munication Technology, NCICT(4):26–30, 2011.

[4] D. V. Ban and N. M. Han. Xử lý song song và phân tán. Nhà xuất bản Khoa học và

Kỹ thuật, 2006.

[5] S. Banerjee, I. Mukherjee, and P. K. Mahanti. Cloud computing initiative using mod-

ified ant colony framework. World Academy of Science, Engineering and Technology,

56(32):221 – 224, 2009.

[6] F. Bergh. An analysis of particle swarm optimizers. PhD thesis, University of Pretoria

Pretoria, South Africa, South Africa, 2002.

[7] L. F. Bittencourt, R. Sakellariou, and E. M. Madeira. DAG scheduling using a lookahead

variant of the heterogeneous earlist time algorithm. In Proceedings of the 2010 18th

Euromicro Conference on Parallel, Distributed and Network-based Processing, pages

27–34. IEEE Computer Society, 2010.

[8] Z. Bo, G. Ji, and A. Jieqing. Cloud loading balance algorithm. In Information Sci-

ence and Engineering (ICISE), 2010 2nd International Conference on, pages 5001–5004.

IEEE, 2011.

[9] P. Bruckner. Scheduling algorithms 5th edition. Springer, 2007.

[10] A. Burns, R. Davis, P. Wang, and F. Zhang. Partitioned EDF scheduling for multipro-

cessors using a C=D scheme. Real-Time Systems, 48(1):3–33, 2012.

[11] R. Buyya, R. Ranjan, and Calheiros. Modeling and simulation of scalable cloud comput-

ing environments and the cloudsim toolkit: Challenges and opportunities. In Proceedings

of the 7th High Performance Computing and Simulation, pages 1 –11. IEEE, 2009.

100

Page 112: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

[12] R. Buyya, C. S. Yeo, and S. Venugopal. Market-oriented cloud and atmospheric com-

puting: Hype, reality, and vision. In 10th IEEE International Conference on High Per-

formance Computing and Communications, pages 5–13. IEEE, 2008.

[13] R. Calheiros, R. Ranjan, A. Beloglazov, C. Esar, A. F. D. Rose, and R. Buyya. Cloudsim:

a toolkit for modeling and simulation of cloud computing environments and evaluation

of resource provisioning algorithms. Software: Practice and Experience, 41(1):23–50,

2011.

[14] Y. Chawla and M. Bhonsle. A study on scheduling methods in cloud computing. Inter-

national Journal of Emerging Trends & Technology in Computer Science, 1(3):12 – 17,

2012.

[15] M. Choudhary and S. K. Peddoju. A dynamic optimization algorithm for task scheduling

in cloud environment. International Journal of Engineering Research and Applications,

2(3):2564–2568, 2012.

[16] M. Clerc. The swarm and the queen: Towards a deterministic and adaptive particle

swarm. In Evolutionary Computation, 1999. CEC 99. Proceedings of the 1999 Congress

on, pages 1951–1957. IEEE, 1999.

[17] D. Corne, M.Dorigo, and F.Glover. New Ideas in Optimization. chapter 2, pages

217–279. McGraw, 1999.

[18] K. Das. Cloud computing simulation. Master’s thesis, Indian Institute of Technology,

Bombay, Mumbai, 2010.

[19] V. den Bossche, Vanmechelen, and K. Broeckhove. Cost-efficient scheduling heuristics

for deadline constrained workloads on hybrid clouds. In Cloud Computing Technology

and Science (CloudCom), 2011 IEEE Third International Conference on, pages 320 –

327. IEEE, 2012.

[20] J. Deng, Y. Zhao, and H. Yuan. A service revenue-oriented task scheduling model

of cloud computing. Journal of Information and Computational Science, 10(10):3153

–3161, 2013.

[21] V. Dinesh. Supporting Service Level Agreements on IP Networks. Macmillan Technical

Publishing, 1999.

[22] M. Dorigo and T. Stutzle. Ant Colony Optimization. The MIT Press Cambridge,

Massachusetts, London, England, 2004.

[23] R. Eberhart and Y. Shi. Comparing inertia weights and constriction factors in parti-

cle swarm optimization. In Evolutionary Computation, 2000. Proceedings of the 2000

Congress on, pages 84 – 88. IEEE, 2000.

101

Page 113: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

[24] O. M. Elzeki, M. Z. Reshad, and M. A. Elsoud. Improved max-min algorithm in cloud

computing. International Journal of Advanced Research in Computer Science and Soft-

ware Engineering, 50(12):22 – 27, 2012.

[25] I. Foster, Y. Zhao, I. Raicu, and S. Lu. Cloud computing and grid computing 360-degree

compared. In Proc. IEEE Grid Computing Environments Workshop, pages 1–10. IEEE,

2008.

[26] M. Frincu and C. Craciun. Multi-objective metaheuristics for scheduling applications

with high availability requirements and cost constraints in multicloud environments. In

Proceedings of the 2011 Fourth IEEE International Conference on Utility and Cloud

Computing, pages 267–274. IEEE Computer Society, 2011.

[27] B. Gomathi and K. Krishnasamy. Task scheduling algorithm based on hybrid parti-

cle swarm optimization in cloud computing environment. Journal of Theoretical and

Applied Information Technology, 55(1):33–38, 2013.

[28] Y. Gu and Y. Ge. A real-time workload driven approach for the cloud. InModeling, Sim-

ulation and Visualization Methods (WMSVM), 2010 Second International Conference

on, pages 128 – 130. IEEE, 2011.

[29] G. Gupta, V. Kr.Kumawat, P. R. Laxmi, D. Singh, V. Jain, and R. Singh. A simula-

tion of priority based earliest deadline first scheduling for cloud computing system. In

Networks & Soft Computing (ICNSC), 2014 First International Conference on, pages

35 – 39. IEEE, 2014.

[30] Z. C. S. S. Hlaing and M. A. Khine. Solving traveling salesman problem by using

improved ant colony optimization algorithm. International Journal of Information and

Education Technology, 1(5):404–409, 2011.

[31] S. Irugurala and D. Chatrapati. Various scheduling algorithms for resource allocation

in cloud computing. The International Journal Of Engineering And Science, 5(2):16 –

24, 2013.

[32] Y. Jararweh, Z. Alshara, M. Jarrah, M. Kharbutli, and M. Alsaleh. Teachcloud: a cloud

computing educational toolkit. International Journal of Cloud Computing, 2(2-3):237

– 257, 2013.

[33] S. K. Jayadivya and S. M. S. Bhanu. QoS based scheduling of workflows in cloud com-

puting. International Journal of Computer Science and Electrical Engineering, 1(1):15

–21, 2012.

[34] JiayinLi, MeikangQiu, ZhongMing, GangQuan, XiaoQin, and ZonghuaGu. Online op-

timization for scheduling preemptable tasks on iaas cloud systems. J. Parallel Distrib.

Comput., 72(5):666–677, 2012.

102

Page 114: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

[35] J.Kennedy and R.Eberhart. Particle swarm optimization. In Proceedings of IEEE

International Conference on Neural Networks, pages 1942 – 1948. IEEE, 1995.

[36] G. John, Vlachogiannis, and Y. L. Kwang. A comparative study on particle swarm

optimization for optimal steady-state performance of power systems. Power Systems,

IEEE Transactions on, 21(4):1718 – 1728, 2006.

[37] N. Kaur, T. S. Aulakh, and R. S. Cheema. Comparison of workflow scheduling algo-

rithms in cloud computing. International Journal of Advanced Computer Science and

Applications, 2(10):81 – 86, 2011.

[38] R. Kaur and S. Kinger. Enhanced genetic algorithm based task scheduling in cloud

computing. International Journal of Computer Applications, 101(14):1 – 6, 2014.

[39] K. H. Kim, A. Beloglazov, and R. Buyya. Power-aware provisioning of cloud resources

for real-time services. In Proceedings of the 7th International Workshop on Middleware

for Grids, Clouds and e-Science, pages 1 – 6. ACM, 2009.

[40] T. Kokilavani and D. G. Amalarethinam. Load balanced min-min algorithm for static

meta-task scheduling in grid computing. International Journal of Computer Applica-

tions, 20(3):42 – 48, 2011.

[41] K. Kousalya and P.Balasubramanie. An enhanced ant algorithm for grid scheduling

problem. IJCSNS International Journal of Computer Science and Network Security,

8(4):262 – 271, 2008.

[42] L. Kruk, J. Lehoczky, K. Ramanan, and S. Shreve. Heavy traffic analysis for EDF

queues with reneging. The Annals of Applied Probability, 21(2):484–545, 2011.

[43] S. Kuma and K. Dutta. Resource scheduling in grid computing networks to maximize

business value. In 15th Annual Workshop On Information Technolgies & Systems, pages

15 – 20. University of Arizona, 2006.

[44] K. Kumar, K. Feng, Y. Nimmagadda, and Y. H. Lu. Resource allocation for real-time

tasks using cloud computing. In Computer Communications and Networks (ICCCN),

2011 Proceedings of 20th International Conference on, pages 1 – 7. IEEE, 2011.

[45] P. Kumar and A. K. Rai. An overview and survey of various cloud simulation tools.

Journal of Global Research in Computer Science, 5(1):24 – 26, 2014.

[46] Lee, Y. Choon, Wang, Chen, Zomaya, Y.Albert, and B. Bing. Profit-driven service

request scheduling in clouds. In Proceedings of the 2010 10th IEEE/ACM International

Conference on Cluster, Cloud and Grid Computing, pages 15–24. IEEE Computer So-

ciety, 2010.

103

Page 115: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

[47] W. Lee. Energy-saving DVFS scheduling of multiple periodic realtime tasks on multi-

core processors. In Proceedings of the 2009 13th IEEE/ACM International Symposium

on Distributed Simulation and Real Time Applications, pages 216 – 223. IEEE Computer

Society, 2009.

[48] Z. Lee, Y. Wang, and W. Zhou. A dynamic priority scheduling algorithm on ser-

vice request scheduling in cloud computing. In Electronic and Mechanical Engineering

and Information Technology (EMEIT), 2011 International Conference on, pages 4665

– 4669. IEEE, 2011.

[49] K. Li, G. Xu, G. Zhao, Y. Dong, and D. Wang. Cloud task scheduling based on load

balancing ant colony optimization. In Chinagrid Conference (ChinaGrid), 2011 Sixth

Annual, pages 3–9. IEEE, 2011.

[50] Z. K. Li, G. Xu, G. Zhao, and Y. Dong. Cloud task scheduling based on load balancing

ant colony optimization. IEEE, 2011.

[51] J. S. Lin and S. H. Wu. Fuzzy artificial bee colony system with cooling schedule for

the segmentation of medical images by using of spatial information. Research Journal

of Applied Sciences, Engineering and Technology, 4(17):2973–2980, 2012.

[52] K. Liu. Scheduling algorithms for instanceintensive cloud workflows. Technical report,

University of Technology, 2009.

[53] S. Liu, G. Quan, and S. Ren. On-line scheduling of real-time services for cloud comput-

ing. In Services (SERVICES-1), 2010 6th World Congress on, pages 459 – 464. IEEE,

2010.

[54] S. Liu, G. Quan, and S. Ren. On-line preemptive scheduling of real-time services with

profit and penalty. In Southeastcon, 2011 Proceedings of IEEE, pages 287–292. IEEE,

2011.

[55] R. Malhotra and P. Jain. Study and comparison of various cloud simulators available in

the cloud computing. International Journal of Advanced Research in Computer Science

and Software Engineering, 3(9):347 – 350, 2013.

[56] L. Mao, Ming, Li, Jie, Humphrey, and Marty. Cloud auto-scaling with deadline and

budget constraints, grid computing (grid). In 11th IEEE/ACM International Conference

on, pages 41–48. IEEE, 2010.

[57] P. Mathiyalagan, S. Suriya, and S. N. Sivanandam. Modified ant colony algorithm for

grid scheduling. International Journal on Computer Science and Engineering, 2(2):132

– 139, 2010.

104

Page 116: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

[58] P. Mell and Timothy. The NIST Definition of Cloud Computing (Draft). National

Institute of Standards and Technology, U.S. Department of Commerce, 2011.

[59] A. Mohammadi and G.Akl.Selim. Scheduling algorithms for real-time systems. Technical

report, Queen’s University, 2005.

[60] S. Nagadev, K. Satyapriya, and D.Malathy. A survey on economic cloud schedulers for

optimized task scheduling. International Journal of Advanced Engineering Technology,

4(1):58–62, 2013.

[61] A. Nunez, J. L. Vazquez-Poletti, A. C. Caminero, G. G. Castane, J. Carretero, and

I. M. Llorente. icancloud: a flexible and scalable cloud infrastructure simulators. J.

Grid Comput., 10(1):185–209, 2012.

[62] S. Ostermann, K. Plankensteiner, R. Prodan, and T. Fahringe. Groudsim: An event-

based simulation framework for computational grids and clouds. In Proceedings of the

2010 Conference on Parallel Processing, pages 305–313. Springer-Verlag, 2011.

[63] S. Pandey. Scheduling and management of data intensive applicationworkflows in grid

and cloud computing environments. Technical report, The University of Melbourne,

Australia, 2010.

[64] S. Pandey and R. Buyya. Scheduling workflow applications based on multi-source par-

allel data retrieval in distributed computing networks. Comput. J., 55(11):1288 – 1308,

2012.

[65] S. Pandey, L. Wu, S. M. Guru, and R. Buyya. A particle swarm optimization-based

heuristic for scheduling workflow applications in cloud computing environments. In

Proceedings of the 2010 24th IEEE International Conference on Advanced Information

Networking and Applications, pages 400–407. IEEE Computer Society, 2010.

[66] M. L. Pinedo. Scheduling: Theory, Algorithms, and Systems. Springer, 2008.

[67] R. J. Priyadarsini and L. Arockiam. Performance evaluation of min-min and max-min

algorithms for job scheduling in federated cloud. International Journal of Computer

Applications, 99(18):47 –54, 2014.

[68] K. M. Pua, J. M. Gauch, S. E. Gauch, and J. Z. Miadowicz. Real time repeated video

sequence identification. Computer Vision and Image Understanding, 93(3):310–327,

2004.

[69] N. Ramkumar and S. Nivethitha. Efficient resource utilization algorithm (ERUA) for

service request scheduling in cloud. International Journal of Engineering and Technol-

ogy, 5(2):1321–1327, 2013.

105

Page 117: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

[70] M. Sajid and Z. Raza. Cloud computing: Issues and challenges. In International Con-

ference on Cloud, Big Data and Trust, pages 35 –41. IEEE, 2013.

[71] P. Salot. A survey of various scheduling algorithm in cloud computing environment.

International Journal of Research in Engineering and Technology, 2(2):131 – 135, 2013.

[72] X. Song, L. Gao, and J. Wang. Job scheduling based on ant colony optimization in

cloud computing. In Computer Science and Service System (CSSS), 2011 International

Conference on, pages 3309 – 3312. IEEE, 2011.

[73] T. Stutzle and M. Dorigo. A short convergence proof for a class of ant colony optimiza-

tion algorithms. Trans. Evol. Comp, 6(4):358–365, 2002.

[74] Y. Sun, S. Tilak, R. K. Thulasiram, and K. Chiu. Markets, Mechanisms, Games, and

Their Implications in Grids. chapter 2, pages 29–48. John Wiley & Sons, 2009.

[75] T. Takpe, U. Nancy, F. Suter, and H. Casanova. A comparison of scheduling approaches

for mixed-parallel applications on heterogeneous platforms. In Proceedings of the Sixth

International Symposium on Parallel and Distributed Computing, pages 35–. IEEE Com-

puter Society, 2007.

[76] H. Topcuoglu, S. Hariri, and M. Y. Wu. Task scheduling algorithms for heterogeneous

processors. In Proceedings of the Eighth Heterogeneous Computing Workshop, pages

3–14. IEEE Computer Society, 1999.

[77] F. van den Bergh. An Analysis of Particle Swarm Optimizers. PhD thesis, University

of Pretoria, 2001.

[78] K. Vijayvargia. Security and scheduling challenges in cloud computing. Indian Journal

of Applied Research, 5(6):155 – 157, 2015.

[79] L. Wu, S. K. Garg, and R. Buyya. SLA-based admission control for a software-as-a-

service provider in cloud computing environments. Journal of Computer and System

Sciences, 78(5):1280 – 1299, 2012.

[80] Z. Wu, X. L. Z. Ni, and D. Y. Y. Yang. A market-oriented hierarchical scheduling

strategy in cloud workflow systems. The Journal of Supercomputing, 63(1):256—-293,

2013.

[81] M. Xu, L. Cui, H. Wang, and Y. Bi. A multiple QoS constrained scheduling strategy

of multiple workflows for cloud computing. In Parallel and Distributed Processing with

Applications, 2009 IEEE International Symposium on, pages 629 – 634. IEEE, 2009.

[82] J. Yu and R. Buyya. Workflow scheduling algorithms for grid computing. Technical

report, University of Melbourne, Australia, 2008.

106

Page 118: NGHIŒNCÙUM¸TS¨V⁄N˚ŠL−PLÀCHTRŒN … · 2020. 2. 20. · Nghi¶ncøumºtsŁv§n˜•l“plàchtr¶nmæitr÷íngt‰nhto¡n˜¡mm¥y L˝ICAM˚OAN Tæi xin cam ˜oan ˜¥y

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

[83] Z. Yu and W. Shi. A planner-guided scheduling strategy for multiple workflow applica-

tions. In Parallel Processing - Workshops, 2008. ICPP-W ’08. International Conference

on, pages 1–8. IEEE, 2008.

[84] G. Zeng, T. Yokoyama, H. Tomiyama, and H. Takad. Practical energy-aware scheduling

for real-time multiprocessor systems. In Embedded and Real-Time Computing Systems

and Applications, 2009. RTCSA ’09. 15th IEEE International Conference on, pages 383

– 392. IEEE, 2009.

[85] S. Zhan and H. Huo. Improved PSO-based task scheduling algorithm in cloud comput-

ing. Journal of Information & Computational Science, 9(13):3821–3829, 2012.

[86] H. Zhao and X. Li. Auctionnet: Market oriented task scheduling in heterogeneous

distributed environments. In Parallel & Distributed Processing, Workshops and Phd

Forum (IPDPSW), 2010 IEEE International Symposium on, pages 1–4. IEEE, 2010.

[87] Zhu, Xiaomin, Jianghan, M. Manhao, and Dishan. SAQA: A self-adaptive QoS-aware

scheduling algorithm for real-time tasks on heterogeneous clusters. In Proceedings of the

2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing,

pages 224–232. IEEE, 2010.

107