Tải bản đầy đủ (.pdf) (115 trang)

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ạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.11 MB, 115 trang )

ĐẠ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


MỤC LỤC

Lời cam đoan
Lời cảm ơn
Danh mục các từ viết tắt
Danh mục các ký hiệu
Danh mục bảng biểu
Danh mục hình vẽ
Mở đầu
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2 Đặc điểm của tính toán đám mây . . . . . . . . . . . . . . . . .
1.1.3 Kiến trúc của tính toán đám mây . . . . . . . . . . . . . . . . .
1.1.4 Các mô hình trên 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 . . . . . . . . . . . . .
1.2 Công cụ mô phỏng trên tính toán đám mây . . . . . . . . . . . . . . .
1.2.1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


1.2.2 Một số công cụ mô phỏng trên tính toán đám mây . . . . . . .
1.2.3 Công cụ mô phỏng CloudSim . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.2 Mô hình tổng quát để lập lịch trên các trung tâm dữ liệu . . . .
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
1.3.4 Các phương pháp lập lịch . . . . . . . . . . . . . . . . . . . . .
1.3.5 Mô hình kinh tế cho bài toán lập lịch . . . . . . . . . . . . . . .
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 . . . . .
1.4.1 Lập lịch tĩnh và động . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2 Lập lịch heuristic . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.3 Lập lịch luồng công việc . . . . . . . . . . . . . . . . . . . . . .
1.4.4 Lập lịch công việc thời gian thực . . . . . . . . . . . . . . . . .
1.5 Mục tiêu và nội dung của luận án . . . . . . . . . . . . . . . . . . . . .
1.6 Tiểu kết Chương 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chương 2. Lập lịch công việc thời gian thực trong tính toán đám mây
2.1 Mô hình lập lịch truyền thống . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Mô hình các máy tham gia lập lịch . . . . . . . . . . . . . . . .
2.1.2 Mô hình công việc . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3 Mô tả mục tiêu của bài toán . . . . . . . . . . . . . . . . . . . .
iii

i
ii
iv
v
vi
vii
1
5

5
5
7
8
8
10
11
11
11
12
15
15
16
18
19
20
24
24
25
26
27
28
29
30
30
31
31
32



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 . . . . . . . . . . . . . . . . .
2.2.1 Mô tả bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Mô hình toán học cho bài toán . . . . . . . . . . . . . . . . . .
2.2.3 Mục tiêu tối ưu về chi phí . . . . . . . . . . . . . . . . . . . . .
2.2.4 Mục tiêu tối ưu về thời gian . . . . . . . . . . . . . . . . . . . .
2.3 Mô hình tối ưu về kinh tế . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Thuật toán lập lịch trên hệ thống thời gian thực . . . . . . . . . . . . .
2.4.1 Thuật toán lập lịch tối ưu về thời gian . . . . . . . . . . . . . .
2.4.1.1 Thuật toán CT O . . . . . . . . . . . . . . . . . . . . .
2.4.1.2 Thuật toán M IN C . . . . . . . . . . . . . . . . . . . .
2.4.1.3 Phân tích thuật toán CT O và M IN C . . . . . . . . .
2.4.1.4 Mô phỏng và đánh giá thuật toán . . . . . . . . . . . .
2.4.2 Thuật toán lập lịch tối ưu về chi phí . . . . . . . . . . . . . . .
2.4.2.1 Thuật toán T CO . . . . . . . . . . . . . . . . . . . . .
2.4.2.2 Mô phỏng và đánh giá thuật toán . . . . . . . . . . .
2.5 Tiểu kết Chương 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chương 3. Lập lịch công việc theo hướng tối ưu đa mục tiêu trong

32
33
35
37
37
37
39
39
40

43
45
46
50
51
53
56

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 . . . . . . .
3.1.1 Mô hình người dùng . . . . . . . . . . . . . . . . . .
3.1.2 Mô hình nhà cung cấp IaaS . . . . . . . . . . . . . .
3.1.3 Mô hình nhà cung cấp SaaS . . . . . . . . . . . . . .
3.1.4 Mô hình nhà cung cấp PaaS . . . . . . . . . . . . . .
3.2 Xây dựng bài toán theo hướng tối ưu đa mục tiêu . . . . . .
3.2.1 Tối ưu hóa đàn kiến (ACO) . . . . . . . . . . . . . .
3.2.2 Tối ưu hóa bầy đàn (P SO) . . . . . . . . . . . . . .
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 . . . . . . . . . . . . . . . . . . .
3.3.2 Thuật toán lập lịch tối ưu đa mục tiêu về chi phí . .
3.3.2.1
Thuật toán ACACO . . . . . . . . . . . .
3.3.2.2
Thuật toán M prof it . . . . . . . . . . . .
3.3.2.3
Phân tích thuật toán ACACO và M prof it
3.3.2.4
Mô phỏng và đánh giá thuật toán . . . . .
3.3.3 Thuật toán lập lịch tối ưu đa mục tiêu về thời gian .
3.3.3.1 Thuật toán ACT ACO . . . . . . . . . . . .

3.3.3.2 Áp dụng thuật toán M prof it . . . . . . . .
3.3.3.3 Mô phỏng và đánh giá thuật toán . . . . . .
3.4 Thuật toán lập lịch tối ưu đa mục tiêu dựa trên P SO . . . .
3.4.1 Phát biểu bài toán . . . . . . . . . . . . . . . . . . .
3.4.2 Thuật toán tối ưu ACP SO . . . . . . . . . . . . . .

58
58
59
60
61
61
63
64
68
73
73
74
74
76
77
78
83
84
85
85
88
89
89


iv

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.


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 ACP SO . . . . . . . . . . . . .
3.4.2.2 Áp dụng thuật toán M prof it . . . . . . . .
3.4.2.3 Phân tích thuật toán ACP SO . . . . . . .
3.4.2.4 Mô phỏng và đánh giá thuật toán . . . . . .
3.5 Tiểu kết Chương 3 . . . . . . . . . . . . . . . . . . . . . . .
Kết luận
Danh mục các công trình khoa học của tác giả liên quan đến
Tài liệu tham khảo


v

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.

.
.

.
.
.
.
.

90
91
91
92
95
97
luận án 99
100


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-

Giao diện lập trình ứng dụng

face
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


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

P best

Vị trí tối ưu cục bộ

Gbest

Vị trí tối ưu toàn cục

vmjx

Máy ảo thứ j của nhà cung cấp x

vii


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
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9

Chi phí và tốc độ ban đầu của các tài nguyên . . . . . . . . . . . . . .
Chi phí và tốc độ của các tài nguyên sau khi phân nhóm theo tốc độ .
Chi phí và tốc độ của các tài nguyên sau khi sắp xếp theo chi phí . . .
Mảng kết quả xác định số lượng tài nguyên cho mỗi yêu cầu của CT O
Các thông số mô phỏng trên CloudSim . . . . . . . . . . . . . . . . . .
Chi phí và tốc độ ban đầu của các tài nguyên . . . . . . . . . . . . . .
Chi phí và tốc độ của các tài nguyên khi phân nhóm theo chi phí . . .
Chi phí và tốc độ của các tài nguyên sau khi sắp xếp theo tốc độ . . .
Mảng kết quả được đưa ra bởi thuật toán T CO . . . . . . . . . . . . .

viii

41
41
41
43
47

52
52
52
53


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
1.2
1.3
1.4
1.5
1.6
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
3.1
3.2
3.3
3.4

3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
3.20

Mối quan hệ giữa các hệ thống phân tán với TTĐM . . . . . . . . . .
Kiến trúc của TTĐM . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Biểu đồ lớp trong CloudSim . . . . . . . . . . . . . . . . . . . . . . . .
Mô hình lập lịch trên CloudSim . . . . . . . . . . . . . . . . . . . . . .
Mô hình hệ thống để lập lịch trên TTĐM . . . . . . . . . . . . . . . .
Các phương pháp lập lịch . . . . . . . . . . . . . . . . . . . . . . . . .
Ánh xạ đồng thời t1 và t2 vào tài nguyên r1 và r3 . . . . . . . . . . . .
Ánh xạ đồng thời t1 và t2 vào tài nguyên r1 và r2 . . . . . . . . . . . .
So sánh tổng thời gian của 3 thuật toán khi thay đổi số yêu cầu . . . .
So sánh tổng chi phí của 3 thuật toán khi thay đổi số yêu cầu . . . . .
So sánh tổng thời gian thực hiện của 3 thuật toán khi thay đổi ρ . . .
So sánh tổng chi phí của 3 thuật toán khi thay đổi ρ . . . . . . . . . .
So sánh tổng chi phí của 3 thuật toán khi thay đổi số yêu cầu . . . . .

So sánh tổng thời gian của 3 thuật toán khi thay đổi số yêu cầu . . . .
So sánh tổng chi phí của 3 thuật toán khi thay đổi ρ . . . . . . . . . .
So sánh tổng thời gian thực hiện của 3 thuật toán khi thay đổi ρ . . .
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 của thuật toán ACO . . . . . . . . . . . . . . . . .
Minh họa P SO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Thuật toán P SO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tổng chi phí của các thuật toán khi cố định số lượng yêu cầu . . . . . .
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
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.
Tổng chi phí của các thuật toán khi thay đổi số lượng yêu cầu. . . . . .
Tổng chi phí của các thuật toán khi thay đổi số lượng máy ảo. . . . . .
Tổng thời gian của các thuật toán khi thay đổi số lượng máy ảo. . . . .
So sánh tổng thời gian của 4 thuật toán khi cố định số yêu cầu. . . . .
So sánh tổng chi phí của 4 thuật toán khi cố định số yêu cầu. . . . . .
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.
So sánh tổng thời gian của các thuật toán khi thay đổi số yêu cầu . . .
Tổng chi phí của các thuật toán khi thay đổi số yêu cầu. . . . . . . . .
So sánh tổng số yêu cầu bị phạt khi thay đổi số yêu cầu . . . . . . . .
Tổng chi phí của các thuật toán khi cố định số yêu cầu. . . . . . . . . .
Tổng lợi nhuận của các thuật toán khi cố định số yêu cầu. . . . . . . .
Tổng chi phí của các thuật toán khi thay đổi số yêu cầu. . . . . . . . .
Tổng lợi nhuận của các thuật toán khi thay đổi số yêu cầu. . . . . . . .
ix

6
8
13
15
17

20
35
35
48
48
50
50
54
54
55
56
59
65
69
70
80
81
81
82
82
83
86
86
87
88
88
89
93
93
94

95


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


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


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


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


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


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


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


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


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



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


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


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


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


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


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


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


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


×