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

Nghiên cứu giải thuật lập lịch cho ứng dụng tính toán hiệu năng cao trên nền điện 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 (1.89 MB, 95 trang )

ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
--------------------

Huỳnh Nguyên Lộc

NGHIÊN CỨU GIẢI THUẬT LẬP LỊCH CHO ỨNG
DỤNG TÍNH TOÁN HIỆU NĂNG CAO TRÊN NỀN
ĐIỆN TOÁN ĐÁM MÂY
Chuyên ngành : . . Khoa học máy tính . . . . . . . .
Mã số:……604801…

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 11 năm 2013


CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM
Cán bộ hướng dẫn khoa học : PGS. TS. Thoại Nam .................................

Cán bộ chấm nhận xét 1 : TS. Trần Ngọc Minh ........................................

Cán bộ chấm nhận xét 2 : TS. Phạm Văn Hậu ...........................................

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp.
HCM ngày 25 tháng 12 năm 2013 .

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1. PGS. TS. Thoại Nam ............................


2. TS. Trần Ngọc Minh. ...........................
3. TS. Phạm Văn Hậu. ..............................
4. TS. Phạm Trần Vũ. ...............................
5. TS. Lê Thành Sách ...............................
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý
chuyên ngành sau khi luận văn đãđược sửa chữa (nếu có).

CHỦ TỊCH HỘI ĐỒNG

TRƯỞNG KHOA


ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH
KHOA

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên:

Huỳnh Nguyên Lộc

Ngày, tháng, năm sinh:
Chuyên ngành:

MSHV:

11070458


Nơi sinh: Hồ Chí Minh

30/11/1988

Khoa học máy tính

Mã số :604801

I. TÊN ĐỀ TÀI:
NGHIÊN CỨU GIẢI THUẬT LẬP LỊCH CHO ỨNG DỤNG TÍNH TỐN HIỆU
NĂNG CAO TRÊN NỀN ĐIỆN TOÁN ĐÁM MÂY

II. NHIỆM VỤ VÀ NỘI DUNG:
 Nghiên cứu ưu khuyết điểm của các hệ thống định thời hiện có trong hệ
thống điện tốn đám mây và đưa ra mơ hình phù hợp cho ứng dụng tính tốn
hiệu năng cao.
 Đề xuất giải thuật ánh xạ các tác vụ của ứng dụng tính tốn hiệu năng cao
vào một mơ hình điện tốn đám mây.


Hiện thực và đánh giá giải thuật đề xuất so với một số giải thuật đã có

III. NGÀY GIAO NHIỆM VỤ :02/07/2012
IV. NGÀY HOÀN THÀNH NHIỆM VỤ:22/11/2013
V. CÁN BỘ HƯỚNG DẪN:PGS. TS. Thoại Nam

Tp. HCM, ngày . . . . tháng .. . . năm 20....
CÁN BỘ HƯỚNG DẪN


CHỦ NHIỆM BỘ MÔN ĐÀO TẠO

TRƯỞNG KHOA KH & KT MT


Lời cám ơn
Đầu tiên, tôi xin gửi lời cám ơn chân thành tới thầy hướng dẫn của tôi PGS. TS.
Thoại Nam. Trong suốt quá trình thực hiện luận văn, thầy đã luôn quan tâm theo sát
và hỗ trợ tôi. Những lời động viên và hướng dẫn tận tình của thầy là nguồn động lực
lớn nhất cho tơi hồn thành luận văn này.
Bên cạnh đó tơi cũng xin gửi lời cám ơn đến các bạn học viên cao học khóa
2011, về những hỗ trợ và chia sẻ trong suốt quá trình tôi thực hiện luận văn này.
Và cuối cùng, tôi xin gửi lời cám ơn sâu sắc đến gia đình, bạn bè và những người
thân đã luôn là chỗ dựa tinh thần vững chắc, cổ vũ cho tôi trong suốt quá trình học
tập, nghiên cứu.
TP Hồ Chí Minh tháng 11/2013
Huỳnh Ngun Lộc

I


Tóm tắt luận văn
Trong những năm gần đây, sự xuất hiện của mơ hình điện tốn đám mây đã làm
cho việc đáp ứng các nhu cầu tính tốn của các nhóm nghiên cứu vừa và nhỏ được
dễ dàng hơn. Thay vì trang bị cho các nhóm nghiên cứu các hệ thống máy tính riêng
lẻ để hỗ trợ cho các hoạt động nghiên cứu của mình, tài ngun tính tốn sẽ được
tập trung tại một hoặc một vài nơi, và được quản lý theo mơ hình điện tốn đám
mây. Các nhóm nghiên cứu sẽ được cung cấp tài ngun tính tốn theo đúng yêu
cầu cho các hoạt động của mình khi cần thiết.
Tuy nhiên, khác với các ứng dụng thông thường như dịch vụ web vốn được tối

ưu cho điện toán đám mây, các ứng dụng có nhu cầu sử dụng lại là các ứng dụng
tính tốn hiệu năng cao địi hỏi nhiều tài nguyên, nhiều ràng buộc hơn như về băng
thông, bộ nhớ, độ trễ … và chưa thật sự có thể triển khai với hiệu năng cao trên hệ
thống điện tốn đám mây. Vì thế, vấn đề được đặt ra là “làm sao để có thể thực thi
các ứng dụng tính tốn hiệu năng cao một cách hiệu quả trên điện tốn đám mây”.
Luận văn trình bày việc thiết kế, xây dựng giải thuật lập lịch cho các ứng dụng
tính tốn hiệu năng cao để có thể dễ dàng triển khai trên nền điện toán đám mây.
Hướng tiếp cận của luận văn đi từ các ứng dụng tổng quát với mơ hình mạng giữa
các tác vụ (máy ảo) được cho theo một đồ thị, từ đó phân tích một số ứng dụng cụ
thể sử dụng các mơ hình mạng đơn giản hơn. Để giải quyết vấn đề này, luận văn đề
xuất ba giải thuật chính cho ba mơ hình mạng: mơ hình theo dạng hình sao, mơ hình
dạng virtual cluster và mơ hình dạng vịng ring dựa trên giải thuật tham lam và giải
thuật quy hoạch động. Ba giải thuật có thời gian thực thi trong thời gian đa thức và
đều cho ra kết quả tối ưu khi hoàn tất.
Kết quả thử nghiệm cho thấy chiến lược lập lịch đề xuất có khả năng tận dụng tài
nguyên tốt hơn chiến lược lập lịch tham khảo đã có sẵn. Trong các thử nghiệm về
workload tải về từ parallel workload archive [27], chiến lược lập lịch đề xuất có thể
nâng hiệu suất tận dụng tài nguyên hệ thống lên 25% so với giải thuật tham khảo.

II


Abstract
In recent years, the emerging of cloud computing has provided groups of
researchers with access to compute resources in easier manners. Instead of
providing a whole system for each group , all resources are gathered into one or few
places and can be monitored as a cloud computing model. When a group requests,
the system provides them exactly the same number of resources as desired.
However, most of common applications used in clouds such asweb-hosting
services are optimized for cloud computing while several applications used by

reseachers are of high performance computing (HPC). These applications require
more resources and have more contrainsts of bandwidth, memory, latency, etc., ,
and currently are not ready to be deployed on clouds with high performance.
Therefore, the question of “how to achieve better performance for HPC applications
on clouds” is always a challenge.
In our work, we have designed and built a scheduler for deploying HPC
applications on IaaS cloud systems. We have analysed several general HPC
applications with inter-communication tasks (or virtual machines). Then, we
propose three algorithms for three models of inter-communication networks
including star model, virtual cluster model and ring model. All algorithms run in
polynomial time and give optimal result.
Our scheduling strategies can achieve better resource utilization than the
referenced ones. In our experiments with workloads downloaded from the parallel
workload archive [27], our strategy can improve upto 25% better resource
utilization.

III


Lời cam đoan
Tơi xin cam đoan rằng, ngồi những tài liệu tham khảo và các tài liệu khác như
đã chú thích nguồn gốc đính kèm thì tồn bộ nội dung trong báo cáo này đều là kết
quả nghiên cứu của chính tơi và do tơi tự soạn thảo.
Nếu có bất cứ sai phạm nào so với lời cam kết, tôi xin chịu các hình thức xử lý
theo quy định.
Huỳnh Nguyên Lộc

IV



MỤC LỤC
LỜI CÁM ƠN ................................................................................................................... I
TÓM TẮT LUẬN VĂN .................................................................................................. II
ABSTRACT ................................................................................................................... III
LỜI CAM ĐOAN .......................................................................................................... IV
MỤC LỤC ........................................................................................................................ V
MỤC LỤC HÌNH ....................................................................................................... VIII
MỤC LỤC BẢNG ........................................................................................................... X
CHƯƠNG 1.GIỚI THIỆU .............................................................................................. 1
1.1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI....................................................................................... 1
1.2 PHÁT BIỂU VẤN ĐỀ..................................................................................................... 2
1.3 ĐÓNG GÓP CỦA LUẬN VĂN ........................................................................................ 3
1.4 CẤU TRÚC CỦA LUẬN VĂN ......................................................................................... 4
CHƯƠNG 2.KIẾN THỨC NỀN TẢNG ........................................................................ 5
2.1 CƠNG NGHỆ ẢO HĨA .................................................................................................. 5
2.2 ĐIỆN TOÁN ĐÁM MÂY ................................................................................................ 7
2.3 KIẾN TRÚC HỆ THỐNG ĐIỆN TOÁN ĐÁM MÂY ............................................................. 9
2.4 HẠ TẦNG PHẦN CỨNG .............................................................................................. 11
2.5 HỆ THỐNG ĐỊNH THỜI CẤP PHÁP TÀI NGUYÊN .......................................................... 12
CHƯƠNG 3.CÁC CƠNG TRÌNH NGHIÊN CỨU TRƯỚC ..................................... 13
3.1 GIẢI THUẬT LẬP LỊCH THEO HƯỚNG TIẾT KIỆM NĂNG LƯỢNG .................................. 13
3.2 GIẢI THUẬT LẬP LỊCH CHO CÁC ỨNG DỤNG CỤ THỂ.................................................. 14
3.3 GIẢI THUẬT LẬP LỊCH THEO HƯỚNG TỐI ƯU BĂNG THÔNG HỆ THỐNG....................... 15
3.3.1 Giải thuật lập lịch cho các ứng dụng thiên về truy xuất dữ liệu ..................... 15
3.3.2 Giải thuật lập lịch cho các ứng dụng thiên về giao tiếp ................................. 16
3.3.2.1 Bộ định thời dùng để chia sẻ băng thông hệ thống giữa các ứng dụng
khác nhau ..................................................................................................................... 16

V



3.3.2.2 Bộ định thời quan tâm đến giao tiếp giữa các máy ảo chạy cùng một
ứng dụng ...................................................................................................................... 16
CHƯƠNG 4.TỔNG QUAN BÀI TỐN ...................................................................... 19
4.1 ỨNG DỤNG TÍNH TỐN HIỆU NĂNG CAO ................................................................... 19
4.2 THỰC TIỄN HỆ THỐNG .............................................................................................. 19
4.3 BÀI TOÁN TỔNG QUÁT ............................................................................................. 22
CHƯƠNG 5.GIẢI PHÁP CHO BÀI TỐN TỔNG QT SỬ DỤNG ILP............ 24
5.1 LẬP TRÌNH TUYẾN TÍNH ........................................................................................... 24
5.2 MƠ HÌNH HĨA TÀI NGUN ...................................................................................... 25
5.2.1 Mơ hình hóa tài ngun hệ thống .................................................................... 25
5.2.2 Mơ hình hóa tài ngun u cầu của người dùng ........................................... 25
5.3 GIẢI THUẬT SỬ DỤNG ILP CHO BÀI TOÁN TỔNG QUÁT ............................................. 26
5.4 KIỂM NGHIỆM VÀ ĐÁNH GIÁ .................................................................................... 28
5.4.1 Coin-Or và Symphony ..................................................................................... 28
5.4.2 Hệ thống thử nghiệm ....................................................................................... 28
5.4.3 Kết quả thử nghiệm ......................................................................................... 29
5.4.3.1 Số lượng biến ........................................................................................... 29
5.4.3.2 Thời gian thực thi ..................................................................................... 30
5.5 KẾT LUẬN ................................................................................................................ 30
CHƯƠNG 6.GIẢI THUẬT ĐỀ XUẤT ........................................................................ 32
6.1 MƠ HÌNH HỆ THỐNG VÀ MỤC TIÊU ........................................................................... 32
6.2 GIẢI THUẬT CHO U CẦU VỚI MƠ HÌNH MẠNG LÀ HÌNH SAO ................................... 33
6.2.1 Hướng tiếp cận thiết kế giải thuật ................................................................... 34
6.2.2 Giải thuật......................................................................................................... 36
6.2.3 Phân tích giải thuật ......................................................................................... 39
6.3 GIẢI THUẬT CHO U CẦU VỚI MƠ HÌNH MẠNG LÀ HÌNH SAO ................................... 40
6.3.1 Hướng tiếp cận thiết kế giải thuật ................................................................... 41
6.3.2 Giải thuật......................................................................................................... 46
6.3.2.1 Xây cây nhị phân từ cây hệ thống ............................................................ 46

6.3.2.2 Giải thuật quy hoạch động (dynamic programming) đề xuất................... 48
6.3.3 Phân tích giải thuật ......................................................................................... 51
VI


6.4 GIẢI THUẬT CHO MƠ HÌNH MẠNG VỊNG RING .......................................................... 52
6.4.1 Hướng tiếp cận thiết kế giải thuật ................................................................... 52
6.4.2 Giải thuật......................................................................................................... 55
6.4.3 Phân tích giải thuật ......................................................................................... 57
CHƯƠNG 7.THỬ NGHIỆM VÀ ĐÁNH GIÁ ............................................................ 58
7.1 THỰC NGHIỆM ĐO THỜI GIAN THỰC THI CỦA CÁC GIẢI THUẬT ................................. 58
7.1.1 Giải thuật cho mơ hình mạng hình sao ........................................................... 59
7.1.2 Giải thuật cho mơ hình mạng virtual cluster .................................................. 59
7.1.3 Giải thuật cho mơ hình mạng vịng ring ......................................................... 60
7.2 THỰC NGHIỆM ĐO ĐỘ HIỆU QUẢ CỦA CHIẾN LƯỢC LẬP LỊCH .................................... 61
7.2.1 Với yêu cầu virtual cluster dạng <k,2,3000> ................................................. 62
7.2.2 Với yêu cầu virtual cluster dạng <k,2,4000> ................................................. 63
7.2.3 Với yêu cầu virtual cluster dạng <k,2,5000> ................................................. 64
7.2.4 Với workload từ parallel workload archive .................................................... 65
7.2.4.1 Đánh giá thông qua số lượng yêu cầu có thể đáp ứng liên tục................. 66
7.2.4.2 Đánh giá thông qua hiệu suất sử dụng hệ thống ...................................... 67
CHƯƠNG 8.TỔNG KẾT .............................................................................................. 71
8.1 KẾT QUẢ LUẬN VĂN ................................................................................................ 71
8.2 ĐỊNH HƯỚNG PHÁT TRIỂN ........................................................................................ 71

VII


MỤC LỤC HÌNH
Hình 1-1 Mơ hình cơ bản của hệ thống điện tốn đám mây .............................................. 2

Hình 1-2 Một mơ hình mạng giao tiếp của các máy ảo trong 1 u cầu............................ 3
Hình 2-1 Mơ hình cơ bản của hệ thống điện tốn đám mây ............................................ 10
Hình 2-2 Mơ hình mạng kết nối các máy vật lý trong hệ thống điện tốn đám mây ....... 11
Hình 3-1 Mơ hình chiến lược sử dụng dịch vụ điện toán đám mây ................................. 13
Hình 4-1 Mơ hình của virtIO............................................................................................ 20
Hình 5-1 Biểu đồ gia tăng lượng biến ứng với từng yêu cầu ........................................... 29
Hình 5-2 Biểu đồ thời gian chạy của giải thuật ILP ......................................................... 30
Hình 6-1 Mơ hình mạng hình sao của một yêu cầu gồm 4 máy ảo .................................. 33
Hình 6-2 Đường đi của dữ liệu giữa hai máy ảo qua switch tầng 1 ................................. 34
Hình 6-3 Đường đi của dữ liệu giữa hai máy ảo đi qua switch tầng 2 ............................. 35
Hình 6-4 Đường đi dữ liệu của master node khi có backend node đặt chung trên cùng
máy vật lý................................................................................................................................. 35
Hình 6-5 Mơ hình virtual cluster với 4 máy ảo ................................................................ 41
Hình 6-6 Số lượng connections tạo ra khi đáp ứng yêu cầu của người dùng .................. 42
Hình 6-7 Số lượng connections giữa hai domain khi chưa đáp ứng đủ yêu cầu người
dùng ......................................................................................................................................... 43
Hình 6-8 Số lượng connection khi đủ đáp ứng yêu cầu người dùng................................ 43
Hình 6-9 Giao tiếp giữa các máy ảo thơng qua virtio ...................................................... 44
Hình 6-10 Mơ hình datacenter network N ....................................................................... 47
Hình 6-11 Ví dụ đưa cây tam phân N về cây nhị phân T ................................................. 47
Hình 6-12 Ví dụ ý tưởng giải thuật cho u cầu với mơ hình virtual cluster................... 48
Hình 6-13 Ví dụ tính chi phí của node trong cây nhị phân T ........................................... 49
Hình 6-14 Mơ hình dạng vịng ring cho 5 máy ảo với băng thông mỗi link là B ............ 52
Hình 6-15 Ví dụ liên kết tạo ra giữa hai domain khi chia yêu cầu 5 máy ảo ra làm hai
nhóm ........................................................................................................................................ 53
Hình 6-16 Ví dụ liên kết không tạo ra bởi nhát cắt làm tăng số lượng liên kết giữa hai
domain ..................................................................................................................................... 53
Hình 7-1 Biểu đồ thời gian thực thi các yêu cầu dạng hình sao với băng thơng địi hỏi
là 100Mbps .............................................................................................................................. 59
VIII



Hình 7-2 Biểu đồ thời gian thực thi các yêu cầu dạng virtual cluster với băng thơng
địi hỏi là 1000Mbps ................................................................................................................ 60
Hình 7-3 Biểu đồ thời gian thực thi các u cầu dạng vịng ring với băng thơng địi hỏi
là 1000Mbps ............................................................................................................................ 61
Hình 7-4 Biểu đồ số lượng yêu cầu với băng thơng 3000Mbps hai giải thuật có thể đáp
ứng ........................................................................................................................................... 63
Hình 7-5 Biểu đồ gia tăng của hiệu suất cho u cầu địi hỏi 3000Mbps băng thơng ..... 63
Hình 7-6 Biểu đồ số lượng yêu cầu băng thông 4000Mbps hai giải thuật có thể đáp
ứng ........................................................................................................................................... 64
Hình 7-7 Biểu đồ gia tăng của hiệu suất cho yêu cầu đòi hỏi 4000Mbps băng thơng ..... 64
Hình 7-8 Biểu đồ số lượng yêu cầu với băng thông 5000Mbps hai giải thuật có thể đáp
ứng ........................................................................................................................................... 65
Hình 7-9 Biểu đồ gia tăng của hiệu suất cho yêu cầu đòi hỏi 5000Mbps băng thơng ..... 65
Hình 7-10 Biểu đồ số lượng u cầu liên tục cả hai giải thuật có thể đáp ứng cho từng
workload thử nghiệm ............................................................................................................... 66
Hình 7-11 Biểu đồ gia tăng hiệu suất của giải thuật đề xuất với từng workload thử
nghiệm ..................................................................................................................................... 67
Hình 7-12 Biểu đồ gia tăng độ hiệu dụng của giải thuật đề xuất với workload có băng
thơng u cầu 1000-5000 Mbps............................................................................................... 68
Hình 7-13 Biểu đồ gia tăng độ hiệu dụng của giải thuật đề xuất với workload có băng
thơng u cầu 1000-3000 Mbps............................................................................................... 69
Hình 7-14 Biểu đồ gia tăng độ hiệu dụng của giải thuật đề xuất với workload có băng
thơng u cầu 3000-5000 Mbps............................................................................................... 70

IX


MỤC LỤC BẢNG

Bảng 4-1 Kết quả thử nghiệm 1 ....................................................................................... 21
Bảng 4-2 Kết quả thử nghiệm 2 ....................................................................................... 21
Bảng 7-1 Bảng thời gian thực thi các yêu cầu dạng hình sao với băng thơng địi hỏi là
100Mbps .................................................................................................................................. 59
Bảng 7-2 Bảng thời gian thực thi các yêu cầu dạng virtual cluster với băng thơng địi
hỏi là 1000Mbps ...................................................................................................................... 60
Bảng 7-3 Bảng thời gian thực thi các yêu cầu dạng vòng ring với băng thơng địi hỏi là
1000Mbps ................................................................................................................................ 61
Bảng 7-4 Bảng so sánh số lượng yêu cầu <k,2,3000> có thể xử lý giữa hai giải thuật ... 63
Bảng 7-5 Bảng so sánh số lượng yêu cầu <k,2,4000> có thể xử lý giữa hai giải thuật ... 63
Bảng 7-6 Bảng so sánh số lượng yêu cầu <k,2,5000> có thể xử lý giữa hai giải thuật ... 64
Bảng 7-7 Bảng so sánh số lượng yêu cầu liên tục có thể đáp ứng của hai giải thuật ứng
với 10 workload ....................................................................................................................... 66
Bảng 7-8 Bảng so sánh kết quả thực thi các yêu cầu giữa hai giải thuật với 10
workload có băng thơng 1000-5000 Mbps .............................................................................. 68
Bảng 7-9 Bảng so sánh kết quả thực thi các yêu cầu giữa hai giải thuật với 10
workload có băng thơng 1000-3000 Mbps .............................................................................. 69
Bảng 7-10 Bảng so sánh kết quả thực thi các yêu cầu giữa hai giải thuật với 10
workload có băng thơng 4000-5000 Mbps .............................................................................. 70

X


Chương 1.

GIỚI THIỆU

1.1 Tính cấp thiết của đề tài
Cuộc sống ngày càng phát triển thì càng đặt ra nhiều bài tốn lớn, phức tạp cần
máy tính giải quyết. Hầu như tất cả các lĩnh vực từ khoa học đến kinh tế đều cần

đến máy tính để giải quyết vấn đề như vật lý, hóa học, sinh học, y học và tài chính.
Đây đều là những bài tốn có một khối lượng tính tốn lớn; các máy tính đơn xử lý
truyền thống cần một thời gian dài mới có thể giải quyết các vấn đề này được.
Xử lý song song là một giải pháp để giải quyết những vấn đề trên. Việc sử dụng
nhiều bộ vi xử lý cùng lúc để giải quyết một bài tốn có thể rút ngắn thời gian tính
tốn, đáp ứng được nhu cầu trong thực tế. Mơi trường tính tốn song song với mục
tiêu cung cấp một khả năng tính tốn thật lớn để giải quyết một bài toán trong một
thời gian ngắn nhằm đáp ứng yêu cầu về thời gian thực được gọi là môi trường tính
tốn hiệu năng cao (High Performance Computing - HPC). Nhiều mơ hình máy tính
đã được nghiên cứu và phát triển nhằm phục vụ cho việc xử lý song song. Trong đó
mơ hình đa máy tính gồm nhiều máy tính với nhiều bộ xử lý kết hợp với nhau thông
qua giao tiếp mạng là mơ hình thơng dụng, hiệu quả cao và dễ dàng triển khai nhất
hiện nay.
Sự ra đời của điện toán đám mây và xu hướng dùng máy tính ảo thời gian gần
đây đã mang lại một hướng mới trong việc phát triển các hệ thống đa máy tính ảo
phục vụ các nhu cầu đa dạng của người dùng theo hướng hiệu năng cao. Với điện
toán đám mây, người dùng khi cần thiết có thể thuê hàng loạt các máy tính ảo để
chạy các ứng dụng song song của mình một cách dễ dàng. Khi khơng cần sử dụng,
tài nguyên sẽ được trả lại cho hệ thống và có thể được cấp phát cho người dùng
khác. Chính vì thế, về phía người dùng, chi phí cho việc thực thi ứng dụng được
giảm xuống mức tối thiểu trong khi về phía nhà cung cấp dịch vụ, họ có thể tận
dụng tối đa tài nguyên sẵn có để phục vụ được nhiều người dùng, mang lại lợi
nhuận cho công việc kinh doanh.

1


Tuy nhiên, các ứng dụng tính tốn hiệu năng cao hiện tại đòi hỏi một số yêu cầu
nhất định về số lượng các máy tính tốn, năng lực tính tốn cũng như về khả năng
giao tiếp qua mạng giữa các máy với nhau mà các hệ thống điện toán đám mây hiện

tại mà cụ thể là các công cụ lập lịch và quản lý tài nguyên chưa thể đáp ứng tốt
được. Đây là một động lực lớn để thực hiện các nghiên cứu trong đề tài luận văn.
Chính vì thế, đề tài luận văn tập trung vào bài toán lập lịch cho hệ thống điện
toán đám mây nhằm đáp ứng các yêu cầu đặt ra của các ứng dụng tính tốn hiệu
năng cao song song với việc tối ưu hóa việc sử dụng tài nguyên của hệ thống điện
toán đám mây nhằm mang lại lợi ích tốt nhất cả cho người dùng lẫn nhà cung cấp
dịch vụ.

1.2 Phát biểu vấn đề
Cloud Provider
User’s
Request

Cloud Scheduler and Resource
Allocation

Physical
Host Pool

Hình 1-1 Mơ hình cơ bản của hệ thống điện tốn đám mây.
Hình 1-1 mơ tả thành phần cơ bản nhất của một hệ thống điện toán đám mây.
Nhà cung cấp dịch vụ (Cloud provider) sẽ nhận yêu cầu cấp máy từ người dùng, bao
gồm số lượng máy người dùng mong muốn, cấu hình từng máy ảo (số lượng cpu
từng máy, số lượng Ram cần thiết, dung lượng lưu trữ) và một mơ hình mạng chỉ rõ
ra yêu cầu băng thông giữa các máy ảo yêu cầu (Hình 1-2). Cloud provider sẽ gọi
đến module lập lịch (Cloud Scheduler) kiểm tra xem yêu cầu của người dùng có
được chấp thuận hay khơng? Nếu được chấp thuận, Cloud Scheduler sẽ tìm kiếm

2



một cách sắp xếp các máy ảo theo yêu cầu của người dùng vào các máy vật lý ở
Physical Host Pool một cách thích hợp mà vẫn đảm bảo các u cầu đặt ra.

1

2

4

3

Hình 1-2 Một mơ hình mạng giao tiếp của các máy ảo trong 1 yêu cầu.
Vấn đề quan tâm của luận văn là xây dựng một giải thuật lập lịch cho hệ thống
cấp phát tài nguyên (Cloud Scheduler) để có thể kiểm tra và sắp xếp một cách hợp
lý các máy ảo đảm bảo các yêu cầu của người dùng sử dụng các ứng dụng tính tốn
hiệu năng cao lên các máy vật lý trong hạ tầng hệ thống điện toán đám mây sao cho
tận dụng được tối đa tài nguyên của hệ thống hiện có trong một thời gian có thể
chấp nhận được. Giải pháp đề xuất là gom cụm các máy ảo lại gần nhất có thể, tận
dụng khả năng giao tiếp lớn giữa các máy ảo được đặt trên cùng một máy vật lý và
ứng dụng giải thuật quy hoạch động để xác định giải pháp tối ưu việc sử dụng tài
nguyên hệ thống cho một số mơ hình mạng tiêu biểu.
1.3 Đóng góp của luận văn
Những đóng góp chính của luận văn như sau:
-

Giải thuật tối ưu cho bài toán lập lịch tổng quát chú ý đến băng thông

giữa các máy ảo sử dụng Integer Linear Programming (ILP).
-


Giải thuật lập lịch tối ưu cho bài toán lập lịch cho 3 kiến trúc mạng cơ

bản giữa các máy ảo, gồm:
o Kiến trúc mạng hình sao,
o Kiến trúc mạng dạng vòng ring,
o Kiến trúc mạng dạng virtual cluster.
-

Một module cho phép người dùng có thể sử dụng các giải thuật của

luận văn đề ra.

3


-

Các kết quả nghiên cứu và thực nghiệm trong giai đoạn luận văn đã

được công bố trong kỷ yếu của hội nghị quốc tế ICUFN2013 (Ubiquitous
and Future Networks (ICUFN), 2013 Fifth International Conference).

1.4 Cấu trúc của luận văn
Phần tiếp theo của luận văn có cấu trúc như sau:
Chương 2: Các kiến thức nền tảng liên quan đến đề tài, bao gồm kỹ thuật ảo hóa,
điện tốn đám mây, kiến trúc và hạ tầng mạng trong điện toán đám mây, bộ định
thời.
Chương 3: Tổng quan các nghiên cứu về lập lịch trong điện toán đám mây.
Chương 4: Tổng quan bài toán đặt ra.

Chương 5: Giải pháp cho bài toán đưa ra sử dụng integer linear programming.
Chương 6: Giải thuật đề xuất cho u cầu với 3 mơ hình mạng tiêu biểu.
Chương 7:Thử nghiệm và đánh giá các giải thuật đề xuất.
Chương 8: Tổng kết các kết quả của luận văn và đề xuất hướng phát triển.

4


Chương 2.

KIẾN THỨC NỀN TẢNG

2.1 Cơng nghệ ảo hóa
Ảo hóa [26] là phương pháp chia các tài nguyên của một máy tính thành nhiều
mơi trường thực thi khác nhau. Kỹ thuật ảo hóa tạo ra nhiều phân vùng độc lập (các
máy ảo (Virtual Machine – VM) hoặc máy chủ riêng ảo (Virtual Private Servers –
VPS) trên một máy chủ vật lý. Do đó, chúng ta có thể sử dụng ảo hóa để phân chia
các máy chủ vật lý thành nhiều môi trường khác nhau, mỗi môi trường là một máy
ảo (VM) chạy hệ điều hành riêng của mình. Điều này có nghĩa là nhiều máy ảo có
thể thực thi trên một máy vật lý giống như mỗi máy ảo có hệ thống phần cứng vật lý
riêng của mình. Trừu tượng hơn thì đây là phương pháp tách riêng các phần cứng
vật lý và hệ điều hành nhằm cung cấp khả năng sử dụng tài nguyên IT một cách
hiệu quả và linh hoạt hơn.
Có nhiều loại kỹ thuật ảo hóa cung cấp các tính năng tương tự nhau nhưng khác
nhau về mức độ trừu tượng và các phương pháp được sử dụng cho việc ảo hóa. Có
ba phương pháp ảo hóa phổ biến: ảo hóa hồn tồn (full virtualization), ảo hóa một
phần (para–virtualization) và ảo hóa với sự hỗ trợ của phần cứng (Virtualization at
Hardware Abstraction Layer – HAL hoặc Hardware Virtual Machine – HVM).
Ảo hóa hồn tồn (full virtualization) là sự mơ phỏng tồn bộ phần cứng
thơng qua phần cứng hoặc phần mềm hoặc kết hợp cả phần cứng lẫn phần mềm.

Các máy ảo dựa trên mơ hình chủ – khách (host – guest), mỗi khách sẽ chạy trên
một lớp ảo hóa mơ phỏng theo lớp phần cứng vật lý. Cách tiếp cận này không cần
thay đổi hệ điều hành của máy khách. Cách này cũng cho phép người quản trị tạo ra
những máy khách với các hệ điều hành khác nhau. Máy khách không biết về hệ
điều hành của máy chủ và hoạt động giống như nó đang chạy trên phần cứng thực
sự. Tuy nhiên, máy khách yêu cầu tài nguyên máy tính thực sự của máy chủ, do đó,
cần có một lớp hypervisor để phối hợp các lệnh của CPU. Lớp hypervisor được gọi
là công cụ giám sát máy ảo (Virtual Machine Monitor – VMM).
Ảo hóa kép (Paravirtualization) được thực hiện bằng cách định nghĩa một kiến
trúc lai giữa phần cứng và phần mềm, được gọi là hypervisor hoặc trình giám sát
5


máy ảo (VMM). Kiến trúc này tương tự nhưng không hoàn toàn giống với các phần
cứng vật lý nằm bên dưới. Sự khác biệt chính là các lệnh ưu tiên liên quan đến
CPU, bộ nhớ và xuất nhập được thay thế bằng các “hypercalls” đến hypervisor,
trong khi các lệnh không ưu tiên vẫn như cũ.
Ảo hóa sử dụng phần cứng trừu tượng (Virtualization at Hardware
Abstraction Layer-HAL hay Hardware Virtual Machine-HVM): Những đổi
mới trong phần cứng gần đây, đặc biệt là CPU và các thành phần bộ nhớ (kiến trúc
Intel VT-x và AMD-V), cung cấp kiến trúc ảo hóa cấp nền tảng (platform-level
architecture). Kỹ thuật HAL ánh xạ tài nguyên ảo lên nguồn tài nguyên vật lý. HAL
khai thác sự tương tự trong kiến trúc của các nền tảng máy chủ và máy khách để
giảm thời gian thông dịch các lệnh từ kiến trúc máy khách sang kiến trúc máy chủ,
và cũng không cần phải thay đổi hệ điều hành trên máy khách. Hầu hết các chương
trình giả lập máy tính hiện nay sử dụng kỹ thuật ảo hóa này.
Ưu nhược điểm của cơng nghệ ảo hóa:
-

Ưu điểm:

 Sử dụng hiệu quả phần cứng thông qua việc hợp nhất các hệ thống

khác nhau vào một máy chủ vật lý. Điều này làm giảm chi phí phần cứng,
tiết kiệm thời gian quản lý và chi phí hoạt động (như năng lượng, hệ thống
làm mát và diện tích).
 Ảo hóa rất có ý nghĩa với môi trường nghiên cứu đặc biệt với những
cơ sở không đủ nguồn lực mở rộng các trung tâm tính tốn nhưng cần cung
cấp nhiều mơi trường thực thi khác nhau cho nghiên cứu.
 Khả năng dễ phục hồi của các máy ảo đặc biệt quan trọng trong các
hoạt động nghiên cứu. Điều này cho phép kháng lỗi, đảm bảo việc thực thi
các ứng dụng tính tốn khoa học với thời gian dài.
 VMM cung cấp một máy ảo trừu tượng để hệ điều hành và các ứng
dụng cơ bản có thể chạy trên đó.
 Phân vùng: Nhiều ứng dụng và hệ điều hành có thể được hỗ trợ trong
một hệ thống vật lý. Tài ngun tính tốn được xem như đồng nhất và cấp
phát cho các máy ảo một cách có kiểm sốt.
6


 Cơ lập: Một máy ảo là hồn tồn cơ lập với máy chủ và các máy ảo
khác. Nếu máy ảo đó gặp sự cố, tất cả những máy ảo khác khơng bị ảnh
hưởng. Dữ liệu khơng bị rị rỉ giữa các máy ảo và các ứng dụng chỉ có thể
liên lạc với nhau thông qua kết nối mạng đã được cấu hình.
 Bao đóng: Mơi trường máy ảo hồn chỉnh được lưu thành một tập tin
duy nhất, dễ dàng sao lưu, di chuyển và sao chép. Chuẩn phần cứng ảo hóa
được đưa ra cho các ứng dụng để bảo đảm tính tương thích.
-

Nhược điểm:
 Điểm yếu dễ thấy nhất là các máy khách sẽ phụ thuộc vào sự ổn định


của máy chủ. Bất cứ sự cố nào về hệ điều hành, hệ thống mạng hoặc phần
cứng trên máy chủ có thể ảnh hưởng đến tất cả máy khách trong hệ thống.
 Một vấn đề khác gặp phải khi sử dụng ảo hóa là những nhu cầu đột
biến về CPU. Nếu số lượng các máy ảo chạy trên máy chủ được xác định
bởi tải CPU trung bình dự kiến, những đột biến về sử dụng có thể yêu cầu
nhiều hơn nguồn tài nguyên có sẵn, kết quả là chất lượng dịch vụ của hệ
thống máy khách giảm xuống trầm trọng.
-

Tuy nhiên, khi so sánh với những lợi ích của ảo hóa, có rất nhiều

trường hợp trong hoạt động nghiên cứu khoa học rất cần đến môi trường thực
thi áp dụng cơng nghệ ảo hóa.

2.2 Điện tốn đám mây
Điện tốn đám mây là một dạng hệ thống tính tốn mà tài nguyên được ảo hóa
và cung cấp như một dạng dịch vụ thông qua hệ thống mạng. Người dùng không
cần biết những cơng nghệ phức tạp đằng sau đó mà chỉ nhìn thấy một hệ thống như
những máy vật lý [2].
Một hệ thống điện toán đám mây bao gồm các đặc tính sau:
On-Demand: nhiệm vụ cơ bản của điện tốn đám mây đó chính là phải có khả
năng đáp ứng nhu cầu tính tốn của người dùng mỗi khi họ cần. Từ góc nhìn của
người dùng, lượng tài ngun mà hệ thống cung cấp phải gần như vơ hạn, có nghĩa
lúc nào cũng phải cung cấp đủ khi người sử dụng cần. Đây là một yếu tố quan trọng

7


vì nó giúp người dùng tránh khỏi tình trạng đầu tư cho những tài nguyên không bao

giờ sử dụng hay những vấn đề về mở rộng hệ thống sau này.
Pay-per-use: Người sử dụng chỉ chi trả cho thời gian sử dụng tài ngun của
mình. Khơng như những cách tính tốn truyền thống, tài nguyên được đặt tại một vị
trí cố định và do người sử dụng làm chủ, toàn bộ thời gian rảnh của hệ thống người
dùng phải chi trả chi phí bảo trì cũng như những chi phí khác. Đối với hệ thống
chạy trên điện toán đám mây, bài tốn chi phí được giảm thiểu đáng kể.
Rapid elasticity: Nhà cung cấp dịch vụ phải có khả năng mở rộng hệ thống dễ
dàng để điều chỉnh lượng tài nguyên của hệ thống đáp ứng yêu cầu thay đổi tài
nguyên sử dụng của người dùng.
Phân loại điện toán đám mây:
Phân loại theo phạm vi

-

 Private Cloud: một hệ thống Cloud được triển khai trên một mạng nội
bộ.
 Public Cloud: cung cấp tài nguyên dịch vụ tự động thông qua
Internet.
 Hybrid Cloud: kết hợp giữa private cloud và public cloud.
-

Phân loại theo dịch vụ cung cấp
 IaaS (Infrastructure as a Service)
o

Tài nguyên được cung cấp như một dịch vụ bao gồm: servers,

mạng, bộ nhớ, CPU, không gian lưu trữ, công cụ quản lý.
o


Khả năng mở rộng hệ thống tùy theo nhu cầu ứng dụng.

o

Chi phí được tính tốn đựa trên tài ngun sử dụng.

o

Đa người dùng.

o

Hướng đến khách hàng là các doanh nghiệp.

 PaaS (Platform as a Service)
o

Platform được cung cấp để người dùng sử dụng mà không cần

quan tâm đến việc quản lý các hardware hay software bên dưới.
o

Người sử dụng phát triển, kiểm tra và cài đặt ứng dụng trên

một mơi trường tích hợp duy nhất.
8


o


Hỗ trợ sự cộng tác của các thành viên trong development team.

o

Giao tiếp thông qua Web interface.

 SaaS (Software as a Service)
o

Nhà cung cấp cho phép ứng dụng được sử dụng như một dịch

vụ. Ứng dụng đó có thể được cài đặt trên host server để người dùng
request đến hoặc download về thiết bị rồi xóa sau khi sử dụng.
o

Có thể truy cập từ xa qua mạng Internet.

o

Sử dụng mô hình 1-n: chỉ có một thực thể của ứng dụng tồn tại.

o

Thường được tích hợp vào một hệ thống lớn các ứng dụng giao

tiếp với nhau.

2.3 Kiến trúc hệ thống điện toán đám mây
Các hệ thống điện toán đám mây đang được sử dụng trong công nghiệp hiện tại
là những hệ thống phức tạp, tuy nhiên, trong giới hạn luận văn, đề tài xin nêu ra

kiến trúc private cloud cơ bản bao gồm 4 thành phần chính (Hình 1-3):
-

Người dùng (user): là người yêu cầu tài nguyên hệ thống và chi trả

cho việc sử dụng tài nguyên, có rất nhiều dạng người dùng, từ người dùng
thuê tài nguyên để thử nghiệm, chạy các dịch vụ, hay tính tốn nâng cao. Tuy
nhiên, trong luận văn chỉ tập trung vào người dùng cho các ứng dụng tính tốn
hiệu năng cao.
-

Dịch vụ quản lý và cấp phát tài nguyên: là dịch vụ cơ bản nhất của

điện toán đám mây, yêu cầu từ người dùng sẽ được đưa tới resource
management để kiếm tra xem tài nguyên hệ thống có đáp ứng được yêu cầu
người dùng hay khơng? Nếu đáp ứng được thì ước lượng giá tiền người dùng
phải chi trả để được cấp phát tài ngun là bao nhiêu. Ngồi ra, nó cịn có
chức năng giám sát tài nguyên hệ thống và các tài ngun đã cấp phát cho
người dùng để tính tốn chi phí khi người dùng sử dụng các dịch vụ đi kèm
được cung cấp.
-

Máy ảo (virtual machines): là tài nguyên được cấp cho người dùng và

được quản lý bởi resource management and allocator.

9


-


Hạ tầng phần cứng (physical architecture): bao gồm các máy vật lý

kết nối với nhau bởi hệ thống mạng, các máy ảo theo yêu cầu của người dùng
sẽ được đặt lên các máy vật lý một cách thích hợp.

Hình 2-1 Mơ hình cơ bản của hệ thống điện tốn đám mây.
Dịch vụ kiểm tra yêu cầu và cấp quyền (service request examiner and admission
control) sẽ đảm nhận vai trò kiểm tra các yêu cầu từ người dùng về yêu cầu cấu
hình tài nguyên, chất lượng dịch vụ (QoS) để ra quyết định chập nhận hay từ chối
người dùng. Do đó, nó sẽ đảm bảo rằng tình trạng q tải sẽ không xảy ra trong hệ
thổng cũng như đảm bảo cam kết chất lượng dịch vụ (Service Level Agreement –
SLA) với người dùng.
Để cung cấp tài nguyên cho yêu cầu của người dùng, đầu tiên, hệ thống sẽ gửi
yêu cầu đến hệ thống cấp phát tài nguyên (Resource allocator), hệ thống cấp phát tài
nguyên sẽ lấy thông tin về tài nguyên hiện có trong hệ thống, sử dụng giải thuật cấp
phát tài ngun hiện có để tìm ra một cách sắp xếp các máy ảo theo yêu cầu lên các
máy vật lý trong hệ thống. Nếu tìm được, chức năng tính phí sẽ đưa ra chi phí mà
người dùng sẽ phải chi trả cho việc khởi tạo các máy theo yêu cầu.

10


Ngoài ra, đối với người dùng muốn sử dụng thêm dịch vụ do hệ thống cung cấp,
hệ thống giám sát dịch vụ sẽ liên tục cập nhật thông tin sử dụng và hệ thống thống
kê sẽ đưa ra mức chi phí phụ thêm mà người dùng sẽ phải chi trả.

2.4 Hạ tầng phần cứng
Hạ tầng phần cứng của hệ thống điện tốn đám mây bao gồm nhiều cụm máy
tính kết nối với nhau thông qua hệ thống mạng tốc độ cao. Mỗi cụm trong hệ thống

này lại bao gồm nhiều máy vật lý kết nối lại với nhau thông qua nhiều lớp bộ
chuyển mạch (Hình 2-2). Mơ hình hạ tầng của hệ thống tính tốn ngày nay được đề
cập trong [2][20] với 3 lớp mạng:
-

Lớp 1: Các máy vật lý nằm trong cùng một rack sẽ kết nối với nhau

thông qua Top Of Rack switch (TORs).
-

Lớp 2: Các TORs sẽ kết nối với nhau thông qua Aggregation switch

(As), băng thông của As thông thường sẽ lớn hơn của các TORs.
-

Lớp 3: Các As sẽ kết nối với nhau bằng Core switch (Cs) tạo thành

một hệ thông mạng kết nối tất cả các máy vật lý lại với nhau.

Hình 2-2 Mơ hình mạng kết nối máy vật lý trong hệ thống điện toán đám mây.
Một đặc điểm đáng chú ý trong hệ thống mạng trong thực tế là tổng băng thông
của các kết nối bên dưới sẽ cao hơn băng thông đường đi ra ngồi. Ví dụ trong Hình

11


2-2, thông thường tổng dung lượng băng thông của các máy vật lý tới Top Of Rack
Switch sẽ cao hơn băng thơng đi ra ngồi (băng thơng từ TOR switch đến
Aggregation switch). Chính vì thế, đối với những u cầu dịch vụ từ người dùng tới
hệ thống điện toán đám mây có u cầu đảm bảo chất lượng băng thơng giao tiếp

thì kiến trúc hệ thống mạng là một yếu tố cần phải quan tâm.

2.5 Hệ thống định thời cấp phát tài nguyên
Hệ thống định thời cấp phát tài nguyên đảm nhận nhiệm vụ quản lý và chia sẻ
tài nguyên vật lý trong hệ thống giữa người dùng với nhau.
Việc chia sẻ tài nguyên giữa người dùng khác nhau là cơng việc khó khăn bởi vì
mỗi người dùng có những yêu cầu về tài nguyên khác nhau, mức độ sử dụng khác
nhau cũng như thời gian sử dụng khác nhau. Có thể nhận ra rằng, khơng một giải
thuật định thời cấp phát tài nguyên nào có thể đáp ứng được tất cả các yêu cầu từ
phía người dùng. Để giải quyết vấn đề này, hệ thống sẽ có nhiều giải thuật định thời
khác nhau tương ứng những nhu cầu sử dụng khác nhau.
Khi một người dùng yêu cầu dịch vụ từ phía nhà cung cấp dịch vụ, một “hợp
đồng” được lập ra giữa người sử dụng và người cung cấp dịch vụ, người dùng có
thể yêu cầu một số các yêu cầu về tài nguyên sử dụng (số lượng cpu, ram cần thiềt,
băng thông mạng,...) và ngược lại nhà cung cấp dịch vụ cũng sẽ có một số điều
khoản dịch vụ (đảm bảo năng lực tính tốn tối thiểu, số lượng ram, băng thông tối
thiểu,…). Khi hai bên chấp thuận hợp đồng đã đưa ra, hệ thống định thời cấp phát
tài nguyên sẽ sử dụng giải thuật định thời tương ứng để tìm ra một cách cấp phát tài
nguyên hiện có cho người dùng mà vẫn đảm bảo hợp đồng đó.

12


×