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

Bài toán lập lịch phân bổ tài nguyên trong môi trường đ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.92 MB, 87 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------NGUYỄN THỊ THÙY LIÊN

BÀI TOÁN LẬP LỊCH PHÂN BỔ TÀI NGUYÊN TRONG MÔI TRƢỜNG
ĐIỆN TOÁN ĐÁM MÂY

Chuyên ngành : Công nghệ thông tin

LUẬN VĂN THẠC SĨ KỸ THUẬT
CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC :
PGS.TS. Nguyễn Đức Nghĩa

Hà Nội – Năm 2014


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

LỜI CẢM ƠN

Trước tiên, em xin gửi lời cảm ơn sâu sắc đến PGS.TS Nguyễn Đức Nghĩa,
người thầy đã giảng dạy và hướng dẫn em hoàn thành luận văn này. Em xin bày tỏ
lòng biết ơn sâu sắc đối với những chỉ bảo, định hướng nghiên cứu, hỗ trợ của thầy
trong suốt quá trình em học tập và thực hiện đề tài.
Em xin chân thành cảm ơn các thầy cô trong viện Công nghệ thông tin và
truyền thông, Đại học Bách Khoa Hà Nội, đã nhiệt tình giảng dạy giúp em mở rộng
kiến thức và đã tạo điều kiện tốt nhất cho em trong suốt quá trình học tập, nghiên
cứu tại trường.
Em xin chân thành cảm ơn TS. Nguyễn Thế Lộc, thầy đã tạo điều kiện cho


em về thời gian nghiên cứu, làm việc ở bộ môn KTMT & Mạng – Khoa CNTT –
ĐHSPHN để em tập trung học tập.
Mặc dù đã hết sức nỗ lực và cố gắng, nhưng luận văn chắc chắn không tránh
khỏi những thiếu sót, em mong nhận được sự thông cảm, góp ý và tận tình chỉ bảo
của quý thầy cô và các bạn. Một lần nữa xin gửi đến tất cả mọi người lời cảm ơn
chân thành nhất!
Hà Nội, ngày 16 tháng 09 năm 2014
Tác giả luận văn

Nguyễn Thị Thùy Liên

2
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

MỤC LỤC
LỜI CẢM ƠN ........................................................................................................... 2
MỤC LỤC ................................................................................................................. 3
LỜI CAM ĐOAN ..................................................................................................... 5
DANH MỤC THUẬT NGỮ - VIẾT TẮT .............................................................. 6
DANH MỤC HÌNH VẼ ........................................................................................... 7
DANH MỤC BẢNG ................................................................................................. 8
MỞ ĐẦU ................................................................................................................... 9
CHƢƠNG I CÁC

IẾN TH C CƠ BẢN ......................................................... 12

1.1 Đ thị ........................................................................................................................ 12

1.1.1 Định nghĩa.......................................................................................................... 12
1.1.2 Phân loại ............................................................................................................ 12
1.1.3 Đường đi và chu trình ........................................................................................ 13
1.1.4 Biểu điễn đ thị trên máy tính ........................................................................... 14
1.2 Điện toán đám mây: .................................................................................................. 17
1.2.1 Khái niệm chung về điện toán đám mây............................................................ 17
1.2.2 Kiến tr c hệ thống.............................................................................................. 19
1.2.3 Mô hình phát triển.............................................................................................. 20
1.2.4 Dịch v đám mây ............................................................................................... 21
1.2.5 Đặc điểm của điện toán đám mây ...................................................................... 25
1.3 L thuyết về lập lịch ................................................................................................ 28
1.3.1 Giới thiệu về lập lịch.......................................................................................... 28
1.3.2 Lu ng công việc (Workflow) ............................................................................ 30
1.3.3 Lập lịch cho lu ng công việc ............................................................................. 36

CHƢƠNG

BÀI TOÁN LẬP LỊCH VÀ PHÂN BỔ TÀI NGUYÊN TRONG

MÔI TRƢỜNG ĐIỆN TOÁN ĐÁM MÂY .......................................................... 38
2.1 Vấn đề lập lịch và phân bổ tài nguyên đám mây ...................................................... 38
2.1.1 Lập lịch cho lu ng công việc trên đám mây ...................................................... 38
2.1.2 Phân bổ tài nguyên trong môi trường điện toán đám mây ................................. 41

3
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây


2.2 Phát biểu bài toán lập lịch và phân bổ tài nguyên trong môi trường điện toán đám
mây (SRAP) .................................................................................................................... 42
2.2.1 Phát biểu bài toán ............................................................................................... 42
2.2.2 Mô hình toán học ............................................................................................... 43

CHƢƠNG

TỔNG QUAN VỀ CÁC THUẬT TOÁN GIẢI BÀI TOÁN ....... 50

3.1 Thuật toán Random................................................................................................... 50
3.2 Thuật toán Round Rubin ........................................................................................... 52
3.3 Thuật toán Minimum Completion Time ................................................................... 54

CHƢƠNG

GIẢI THUẬT ĐỀ UẤT ............................................................... 57

4.1 Sơ đ tổng quát thuật toán tối ưu bầy đàn (Partical Swarm Optimizatio–PSO)....... 57
4.2 Giải thuật PSO giải bài toán lập lịch và phân bổ tài nguyên trên môi trường điện toán
đám mây.......................................................................................................................... 61
4.2.1 Mã hóa cá thể .................................................................................................... 61
4.2.2 Khởi tạo quần thể .............................................................................................. 62
4.2.3 Hàm đo độ thích nghi........................................................................................ 62
4.2.4 Hàm vận tốc ....................................................................................................... 62
4.2.5 Cập nhật vị trí tốt nhất của cá thể và quần thể ................................................... 63
4.2.6 Cập nhật vị trí của các cá thể theo từng vòng lặp .............................................. 64
4.2.7 Giải thuật Heuristic dựa Particle Swarm Optimization (HPSO) ....................... 65
4.2.8 Giải thuật lập lịch Heuristic Particle Swarm Optimization* (HPSO*) ............. 67

CHƢƠNG 5 CÀI ĐẶT VÀ THỬ NGHIỆM THUẬT TOÁN ĐỀ UẤT ........ 69

5.1 Lựa chọn môi trường phát triển hệ thống – công c CloudSim ............................... 69
5.2 Dữ liệu thử nghiệm ................................................................................................... 76
5.3 Kết quả thử nghiệm................................................................................................... 79
5.4 Đánh giá kết quả thử nghiệm .................................................................................... 81

ẾT LUẬN ............................................................................................................. 84
TÀI LIỆU THAM

HẢO ..................................................................................... 85

4
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

LỜI CAM ĐOAN
Tôi xin cam đoan rằng luận văn Thạc sĩ “Bài toán lập lịch phân bổ tài nguyên
trong môi trường điện toán đám mây”, chuyên ngành Công nghệ thông tin là công
trình của cá nhân tôi.
Nội dung trong luận văn là tổng hợp của quá trình nghiên cứu từ nhiều ngu n
tài liệu đã được tôi đọc hiểu và trình bày lại, những tài liệu được sử d ng đã được
ghi rõ xuất xứ ngu n trích dẫn. Số liệu kết quả nghiên cứu trong luận văn này là
trung thực.
Tôi xin hoàn toàn chịu trách nhiệm và chịu hình thức kỷ luật theo quy định
cho lời cam đoan này.

Ngày 16 tháng 9 năm 2014
Tác giả luận văn


Nguyễn Thị Thùy Liên

5
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

DANH MỤC THUẬT NGỮ - VIẾT TẮT

STT

Viết tắt

Nguyên gốc

1.

DAG

Directed Acyclic Graph

2.

SaaS

Software as a Service

3.


PaaS

Platform as a Service

4.

IaaS

Infrastructure as a Service

5.

PSO

Partical Swarm Optimization
Scheduling and Resource
6.
SRAP
Allocation Problem
Heuristic based Particle
7.
HPSO
Swarm Optimization
8.
MI
Million Instructions
Million Instructions Per
9.
MIPS
Second

Business Process Execution
10. BPEL4WS
Language for Web Services
Web Services Flow
11.
WSFL
Language
Abstract Grid Workflow
12. AGWL
Language
Service Level Agreement
13.
SLA

Chú thích
Đ thị không chứa chu
trình

Tối ưu bầy đàn

Lập lịch động dựa trên
tối ưu bầy đàn

6
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

DANH MỤC HÌNH VẼ

Hình 1: Ví d phân loại đ thị ...................................................................................13
Hình 2: Ví d về đường đi và chu trình ....................................................................13
Hình 3: Biểu diễn đ thị theo ma trận kề ..................................................................14
Hình 4: Biểu diễn đ thị theo danh sách cạnh...........................................................15
Hình 5: Biểu diễn đ thị theo danh sách móc nối .....................................................17
Hình 6: Mô hình cơ bản về điện toán đám mây ........................................................19
Hình 7: Kiến tr c hệ thống[4] ...................................................................................19
Hình 8: Các mô hình phát triển điện toán đám mây .................................................21
Hình 9: Phân loại các dịch v đám mây....................................................................22
Hình 10: Phân loại dịch v đám mây[4] ...................................................................24
Hình 11: NIST Visual Model of Cloud Computing Definition[6] ...........................26
Hình 12: Nhiều khách hàng dùng chung tài nguyên .................................................27
Hình 13: Mô hình lu ng công việc[8] .......................................................................30
Hình 14: Mô hình lu ng công việc sử d ng đ thị DAG - Workflow ......................31
Hình 15: Chuyển đổi cho một lu ng công việc đơn giản .........................................32
Hình 16: Loại bỏ vòng lặp cho lu ng công việc ......................................................32
Hình 17: Lu ng công việc với bốn cấp độ ................................................................33
Hình 18: Ví d về lu ng công việc với kích thước tác v kèm theo ........................33
Hình 19: Lu ng công việc 1[18] ...............................................................................46
Hình 20: Thuật toán Random ....................................................................................51
Hình 21: Thuật toán Round Rubin ............................................................................53
Hình 22: Thuật toán Minimum Completion Time ....................................................55
Hình 23: Sơ đ di chuyển của một cá thể i trong PSO, di chuyển teo hướng tốt nhất
toàn c c Gbest và tốt nhất hiện nay Pbesti cho mỗi cá thể i ...................................58
Hình 24: Giải thuật PSO ...........................................................................................59
Hình 25: Lưu đ giải thuật PSO ................................................................................60
Hình 26: Giải thuật Scheduling heuristic ..................................................................65
Hình 27: Giải thuật PSO ...........................................................................................66
Hình 28: Giải thuật PSO* .........................................................................................67
Hình 29: Kiến tr c CloudSim theo tầng[19] .............................................................72

Hình 30: Thiết kế sơ đ lớp của CloudSim[19] ........................................................73
Hình 31: Lu ng công việc 2 ......................................................................................77
Hình 32: Nội dung dữ liệu đơợc lưu trữ của tệp inputtask.txt cho lu ng công việc 2.
...........................................................................................................................77
Hình 33: Nội dung dữ liệu lưu trữ của tệp inputhost.txt cho lu ng công việc 2. .....78
Hình 34: Nội d ng dữ liệu lưu trữ của tệp tin communication_cost.txt cho lu ng
công việc 2 .........................................................................................................79
Hình 35: So sánh tổng chi phí giữa các giải thuật PSO, HPSO và HPSO* ..............83

7
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

DANH MỤC BẢNG
Bảng 1: Một số phương án khả thi cho lu ng công việc 1 .......................................48
Bảng 2: Bảng chuyển đổi từ giá trị liên t c sang giá trị rời rạc theo quy tắc làm tròn
số ........................................................................................................................64
Bảng 3: Tổng hợp kết quả thử nghiệm trên các bộ dữ liệu .......................................80
Bảng 4: Bảng so sánh chi phí thử nghiệm giữa các giải thuật HPSO so với PSO,
HPSO* so với PSO và HPSO* so với HPSO trên các bộ dữ liệu (đơn vị %) ...82

8
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

MỞ ĐẦU

Ngày nay, các ứng d ng được xây dựng để quản lý và xử lý dữ liệu lớn trên
các tài nguyên phân tán ngày càng phức tạp, điều này đòi hỏi phải giải quyết và
thực hiện các lu ng công việc phức tạp hơn. Những lu ng công việc này thường
phải xử lý dữ liệu lớn và các hoạt động tính toán chuyên sâu, hệ thống quản lý cần
được che dấu các chi tiết khi thực hiện thực thi lu ng công việc trên các tài nguyên
phân tán.
Điện toán đám mây (cloud computing) là mô hình mới cho lĩnh vực tính toán
phân tán, cung cấp hạ tầng, nền tảng và các ứng d ng như là các dịch v . Các dịch
v được tạo sẵn và ph c v khách hàng theo phương thức trả phí cho những gì
khách hàng sử d ng. Ngoài ra mô hình đám mây gi p cung cấp linh hoạt tài nguyên
tính toán dựa theo yêu cầu, lựa chọn vị trí lưu trữ dữ liệu trên toàn cầu. Để đạt được
hiệu quả tính toán và chi phí hiệu quả lập lịch công việc (task) và dữ liệu của ứng
d ng trong điện toán đám mây, bộ lập lịch phải có các chiến lược thay đổi theo các
hàm m c tiêu khác nhau: tối thiểu tổng thời gian thực thi, tối thiểu tổng chi phí thực
thi, cân bằng tải trên các tài nguyên …. Vì vậy tác giả đã lựa chọn đề tài “Bài toán
lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây” để nghiên cứu
trong luận văn này.
Luận văn tập trung vào chiến lược giảm thiểu hóa tổng chi phí thực thi của
ứng d ng trên các tài nguyên được cung cấp bởi nhà cung cấp dịch v đám mây như
Amazon và GoGrid bằng cách sử d ng thuật toán lập lịch động dựa trên giải thuật
tối ưu bầy đàn (Partical Swarm Optimization –PSO).
Tối ưu bầy đàn (PSO) là một kỹ thuật tối ưu dựa theo mô hình hành vi xã hội
ở động vật hoặc côn trùng được giới thiệu vào năm 1995 tại một hội nghị của IEEE
bởi James Kenedy và kỹ sư Russell C.Eberhart[2]. Thuật toán bầy đàn có thể có
một số điểm tương đ ng với giải thuật di truyền và giải thuật đàn kiến nhưng không
có sự tổ hợp lại các tác nhân trong quần thể mà dựa trên ứng xử xã hội của quần thể.

9
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT



Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

Trong mỗi thế hệ, mỗi cá thể tự điều chỉnh quỹ đạo dựa trên vị trí tốt nhất của nó và
vị trí tốt nhất của quần thể. Qua đó làm tăng tính tự nhiên của các cá thể và nhanh
chóng đạt tới giá trị tối ưu toàn c c với phương án tối ưu.
Những kết quả chính của luận văn là:
 Xây dựng một mô hình phân bổ công việc (task) trên tập tài nguyên
(resource) tức là phân bổ các công việc với các tài nguyên tính toán để
xử lý sao cho chi phí thực thi là tối thiểu.
 Đề xuất một giải thuật lập lịch heuristic dựa trên PSO và biến thể để
giải quyết vấn đề phân bổ công việc – tài nguyên dựa trên mô hình đề
xuất.
 Tiến hành kiểm chứng thuật toán đề xuất bằng thực nghiệm.
Luận văn có cấu trúc g m 5 chương như sau:
 Chương 1: Các kiến thức cơ bản : Trình bày tổng quan các kiến thức cơ bản
về đ thị, kiến trúc mô hình hình phát triển của điện toán đám mây và lý
thuyết về lập lịch.
 Chương 2: Bài toán lập lịch và phân bổ tài nguyên trong môi trường điện
toán đám mây(SRAP): Trình bày tổng quan vấn đề lập lịch và phân bổ tài
nguyên trong môi trường điện toán đám mây từ đó phát biểu bài toán SRAP.
 Chương 3: Tổng quan về các thuật toán giải bài toán : Trình bày một số thuật
toán đã và đang được ứng d ng để giải quyết bài toán lập lịch và phân bổ tài
nguyên trong môi trường điện toán đám mây.
 Chương 4: Giải thuật đề xuất: Trình bày các khái niệm và tổng quan về
phương pháp tối ưu bầy đàn PSO và cách thức xây dựng giải thuật PSO, giải
thuật lập lịch động dựa PSO để giải bài toán lập lịch và phân bổ tài nguyên
trong môi trường điện toán đám mây.

10

Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

 Chương 5: Cài đặt và thử nghiệm thuật toán đề xuất: Trình bày môi trường
cài đặt quá trình tiến hành và bảng số liệu thử nghiệm cùng với phân tích
tổng kết kết quả thử nghiệm.

11
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

CHƢƠNG I CÁC
1.1 Đ

IẾN TH C CƠ BẢN



1.1.1 Định ng ĩa
Đ thị là một cấu trúc rời rạc g m các đỉnh và các cạnh nối các đỉnh đó.
Được mô tả hình thức:
G = (V, E)
Trong đó:
-

V: tập các đỉnh (Vertices).


-

E: tập các cạnh (Edges), E là tập các cặp (u,v) với u và v la hai đỉnh
trong V.

1.1.2 Phân loại
Có thể phân loại đ thị theo đặc tính và số lượng của tập các cạnh E:
Đ thị G = (V, E)
 G là đơn đ thị nếu giữa hai đỉnh u, v của V có nhiều nhất là 1 cạnh trong
E nối từ u tới v.
 G là đa đ thị nếu giữa hai đỉnh u, v của V có thể có nhiều hơn 1 cạnh
trong E nối từ u tới v
 G là đ thị vô hướng nếu các cạnh trong E là không định hướng, tức là
cạnh nối hai đỉnh u, v bất kỳ cũng là cạnh nối hai đỉnh v, u.
 G là đ thị có hướng nếu các cạnh trong E có định hướng, có thể có cạnh
nối từ đỉnh u tới đỉnh v nhưng chưa chắc đã có cạnh nối từ đỉnh v tới đỉnh
u. Trong đ thị có hướng các cạnh được gọi là các cung. Đ thị vô hướng
cũng có thể coi là đ thị có hướng nếu như ta coi cạnh nối hai đỉnh u, v
bất kỳ tương đương với hai cung (u,v) và (v,u)

12
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

Hình 1: Ví dụ phân loại đồ thị

1.1.3 Đƣờng đi và c u rìn

 Đường đi: độ dài n từ đỉnh u đến đỉnh v trên đ thì vô hướng G = (V,E) là dãy
(theo đỉnh): x0,x1, …, xn-1, xn.
o Trong đó:
u = x0
v = xn
(xi,xi+1) ϵ E
Khi đó u được gọi là đỉnh đầu, v là đỉnh cuối của đường đi đó.
Ví d : (1,3,4,5,6) là một đường đi từ đỉnh 1 đến đỉnh 6:

Hình 2: Ví dụ về đường đi và chu trình

 Chu trình: Đường đi có đỉnh đầu và đỉnh cuối trùng nhau được gọi là chu trình.

13
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

Đường đi (hay chu trình) được gọi là đơn nếu nó không đi qua một cạnh nào quá 1
lần.
Ví d : trong hình trên chu trình (1,2,6,3,1) là chu trình đơn. (2,6,4,3,6,2) không
phải là chu trình đơn
1.1.4 Biểu điễn đ thị trên máy tính
Một số cách để biểu diễn đ thị trên máy tính:
 Ma trận liền kề (ma trận kề)
Giả sử G = (V, E) là một đơn đ thị có số đỉnh (ký hiệu |V|) là n, Không mất tính
tổng quát cóthể coi các đỉnh được đánh số 1, 2, ..., n. Khi đó ta có thể biểu diễn đ
thị bằng một ma trận vuông
A = [aij] cấp n. Trong đó:

• aij = 1 nếu (i, j) ∈ E
• aij = 0 nếu (i, j) ∉ E
• Quy ước aii = 0 với ∀i;

Hình 3: Biểu diễn đồ thị theo ma trận kề

14
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

 Danh sách cạnh
Trong trường hợp đ thị có n đỉnh, m cạnh, ta có thể biểu diễn đ thị dưới dạng
danh sách cạnh,trong cách biểu diễn này, người ta liệt kê tất cả các cạnh của đ thị
trong một danh sách, mỗi phầntử của danh sách là một cặp (u, v) tương ứng với một
cạnh của đ thị. (Trong trường hợp đ thị cóhướng thì mỗi cặp (u, v) tương ứng với
một cung, u là đỉnh đầu và v là đỉnh cuối của cung). Danhsách được lưu trong bộ
nhớ dưới dạng mảng hoặc danh sách móc nối. Ví d với đ thị dưới đây:

Hình 4: Biểu diễn đồ thị theo danh sách cạnh

Ưu điểm của danh sách cạnh:
• Trong trường hợp đ thị thưa (có số cạnh tương đối nhỏ: chẳng hạn
m<6n), cách biểu diễnbằng danh sách cạnh sẽ tiết kiệm được không gian lưu
trữ, bởi nó chỉ cần 2m ô nhớ để lưu danhsách cạnh.
• Trong một số trường hợp, ta phải xét tất cả các cạnh của đ thị thì cài đặt
trên danh sách cạnhlàm cho việc duyệt các cạnh dễ dàng hơn. (Thuật toán
Kruskal chẳng hạn)
Nhược điểm của danh sách cạnh:

• Nhược điểm cơ bản của danh sách cạnh là khi ta cần duyệt tất cả các đỉnh
kề với đỉnh v nào đócủa đ thị, thì chẳng có cách nào khác là phải duyệt tất

15
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

cả các cạnh, lọc ra những cạnh có chứađỉnh v và xét đỉnh còn lại. Điều đó
khá tốn thời gian trong trường hợp đ thị dày (nhiều cạnh).
 Danh sách kề
Để khắc ph c nhược điểm của các phương pháp ma trận kề và danh sách cạnh,
người ta đề xuấtphương pháp biểu diễn đ thị bằng danh sách kề. Trong cách biểu
diễn này, với mỗi đỉnh v của đ thị, ta cho tương ứng với nó một danh sách các đỉnh
kề với v.Với đ thị G = (V, E). V g m n đỉnh và E g m m cạnh. Có hai cách cài đặt
danh sách kề phổ biến:

 Cách 1: (Forward Star) Dùng một mảng các đỉnh, mảng đó chia làm n
đoạn, đoạn thứ i trong mảnglưu danh sách các đỉnh kề với đỉnh i: Ví d
với đ thị sau, danh sách kề sẽ là một mảng A g m 12phần tử:

Để biết một đoạn nằm từ chỉ số nào đến chỉ số nào, ta có một mảng lưu vị
trí riêng. Ta gọi mảng lưuvị trí đó là mảng Head. Head[i] sẽ bằng chỉ số
đứng liền trước đoạn thứ i. Quy ước Head[n + 1] sẽbằng m. Với đ thị bên
thì mảng VT[1..6] sẽ là: (0, 3, 5, 8, 10, 12)Như vậy đoạn từ vị trí Head[i]
+ 1 đến Head[i + 1] trong mảng A sẽ chứa các đỉnh kề với đỉnh i.Lưu
rằng với đ thị có hướng g m m cung thì cấu trúc Forward Star cần phải
đủ chứa m phần tử,với đ thị vô hướng m cạnh thì cấu trúc Forward Star
cần phải đủ chứa 2m phần tử

16
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

 Cách 2: Dùng các danh sách móc nối: Với mỗi đỉnh i của đ thị, ta cho
tương ứng với nó một danhsách móc nối các đỉnh kề với i, có nghĩa là
tương ứng với một đỉnh i, ta phải lưu lại List[i] là chốtcủa một danh sách
móc nối. Ví d với đ thị trên, danh sách móc nối sẽ là:

Hình 5: Biểu diễn đồ thị theo danh sách móc nối

Ưu điểm của danh sách kề:
• Đối với danh sách kề, việc duyệt tất cả các đỉnh kề với một đỉnh v
cho trước là hết sức dễ dàng,cái tên "danh sách kề" đã cho thấy rõ
điều này. Việc duyệt tất cả các cạnh cũng đơn giản vì mộtcạnh thực ra
là nối một đỉnh với một đỉnh khác kề nó.
Nhược điểm của danh sách kề
• Về lý thuyết, so với hai phương pháp biểu diễn trên, danh sách kề
tốt hơn hẳn. Chỉ có điều,trong trường hợp c thể mà ma trận kề hay
danh sách cạnh không thể hiện nhược điểm thì tanên dùng ma trận kề
(hay danh sách cạnh) bởi cài đặt danh sách kề có phần dài dòng hơn.
1.2 Điện
1.2.1


i niệ

y:

c ung về điện



y

Từ năm 2007, khái niệm Đám mây (cloud) trở nên là một trong những từ
khóa được nhắc đến nhiều nhất trong lĩnh vực công nghệ thông tin. Rất nhiều
nghiên cứu đã cố gắng định nghĩa Điện toán đám mây (Cloud computing) nhưng
không có một định nghĩa nào được coi là chính xác nhất. Dưới đây là một số định
nghĩa [4]:

17
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

o I.Foster [2]: “A large-scale distributed computing paradigm that is driven
by economies of scale, in which a pool of abstracted virtualized,
dynamically-scalable, managed computing power, storage, platform, and
services are delivered on demand to external customers over Internet”- Một
mô hình điện toán phân tán với quy mô lớn được chi phối bởi quy mô kinh
tế với vùng dùng chung được ảo hóa, khả năng tự động, quản lý công suất
tính toán, lưu trữ, nên tảng và các dịch vụ được cung cấp theo yêu cầu của
người dùng qua Internet.
o Gartner[1]: “A style of computing where scalable and elastic It capabilities
are provided as a service to multiple external customers using Internet
technologies” – Một hình thức tính toán mà có khả năng mở rộng và co giãn
được cung cấp như một dịch vụ cho nhiều khác hàng bên ngoài thông qua

sử dụng công nghệ Internet.
o NIST[3]: “cloud computing is a model for enabling convenient, on-demand
network access to a shared pool of configurable computing resouces (e.g.
network, servers, storage, applications, and services) that can be rapidly
provisioned and released with minimal management effort or service
provider interaction” – Điện toán đám mây là mô hình cho phép truy cập
theo nhu cầu, thuận tiện, chi sẻ tài nguyên tính toán được thiêt lập (ví dụ
như mạng, máy chủ, lưu trữ dữ liệu, các ứng dụng và dịch vụ) có thể được
cung cấp và đáp ứng với sự cố gắng giảm thiểu quản lý hoặc sự tương tác
với nhà cung cấp dịch vụ.
Có thể hiểu điện toán đám mây là mô hình sử d ng các tài nguyên tính toán dựa
trên internet để cung cấp theo nhu cầu có khả năng thay đổi cho người sử d ng.
Người sử d ng chỉ phải trả chi phí cho mức độ sử d ng của mình qua đó nhà cung
cấp tận d ng được tối đa tài nguyên hiện có đ ng thời tiết kiệm chi phí đầu tư cơ sở
hạ tầng ban đầu cho người sử d ng, ngoài ra người sử d ng còn có thể linh hoạt hơn
khi mở rộng hay thu hẹp phạm vi hoạt động, tập trung vào m c đích chính là các
hoạt động sản xuất kinh doanh.
18
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

Ví d đơn giản về điện toán đám mây chính là các ứng d ng web như Gmail,
Google Calender, Hotmail, SaleForce, Dropbox và Google Docs đều dựa trên Cloud
computing bởi vì khi kết nối tới các dịch v đó người dùng đã được truy cập vào
những c m máy chủ đ sộ thống nhất trên internet.

Hình 6: Mô hình cơ bản về điện toán đám mây


1.2.2

iến r c ệ

ống

Đám mây thường được đề cập đến như là một hệ thống lớn kết hợp giữa tài
nguyên lưu trữ và tính toán cho phép truy cập thông qua giao thức chu n với một
giao diện trừu tượng (abstract interface) [4]. Kiến tr c hệ thống với 4 tầng của điện
toán đám mây như hình 7 :
Application Layer

Platform Layer
Unified Resource Layer
Fabric Layer
Hình 7: Kiến trúc hệ thống[4]

19
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây



a ric Lay r – Tầng ạ ầng chứa các tài nguyên phần cứng như các máy
tính, thiết bị lưu trữ, và các thiết bị mạng.

 Uni i


R

urc Lay r – Tầng ài nguy n đ ng n ấ Tại tầng này các tài

nguyên được ảo hóa gi p tương tác với các tầng trên và người dùng cuối như
là các tài nguyên tích hợp.
 Pa

r

Lay r –Tầng nền: chứa các công c đặc biệt, middleware và dịch

v cho các tầng trên, thống nhất tài nguyên để cung cấp nền tảng phát triển
 Application Laeyer – Tầng ứng dụng: chứa các ứng d ng sẽ chạy trên đám
mây.
1.2.3 M

ìn

riển

Môi trường điện toán đám mây được xây dựng dựa trên các mô hình[4]:
o Public cloud: Đám mây công cộng là mô hình điện toán đám mây tiêu chu n
(truyền thống), trong đó một nhà cung cấp dịch v cung cấp các tài nguyên
trên Internet, chẳng hạn như các ứng d ng và lưu trữ. Các nhà cung cấp sẽ
tính phí dịch v

theo mô hình pay-per-use. Một số ví d

public cloud:


Amazon Elastic Compute Cloud (EC2), IBM Blue Cloud, Sun Cloud, Google
AppEngine và Window Azure Services Platform.
o Private Cloud: Đám mây riêng mô tả một kiến tr c máy tính độc quyền
cung cấp dịch v cho một số lượng hạn chế người sử d ng trên mạng nội bộ.
Mô hình này phù hợp với các tổ chức cần kiểm soát chính xác dữ liệu nhưng
lại có khả năng mở rộng lớn và khắc ph c được nhược điểm của mô hình
đám mây công cộng về lưu lượng, an ninh với một khoản chi phí định kỳ
phải trả cho nhà cung cấp dịch v . Cả eBay và HP CloudStart đều phát triển
dựa trên private cloud.
o Hybrid Cloud (or Virtual Cloud): Đám mây lai sử d ng kết hợp giữa đám
mây công cộng và đám mây riêng và cơ sở hạ tầng mạng, đây là mô hình
điển hình cho nhiều nhà cung cấp dịch v .

20
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

Hình 8: Các mô hình phát triển điện toán đám mây

o Community Cloud: Đám mây cộng đồng (khá giống với Lưới – Grid). Đây
là mô hình một số tổ chức trong một cơ sở hạ tầng cộng đ ng liên kết với
nhau chia s đám mây riêng. Các tổ chức này thường có cùng mối quan tâm
về nhiện v , yêu cầu an ninh, chính sách và các cân nhắc cần phải tuân thủ.
Các đám mây cộng đ ng có thể tiếp thực tích hợp với đám mây công cộng để
xây dựng một cấu tr c cross-boundary (cấu tr c vượt qua biên).
1.2.4 Dịc vụ đ


y

Điện toán đám mây là việc phân phối sự tính toán như là một dịch v hơn là
một sản ph m, theo đó các tài nguyên được chia s , phần mềm và thông tin được
cung cấp cho người sử d ng qua mạng. Những nhà cung cấp dịch v điện toán đám
mây cung cấp ứng d ng thông qua internet, các ứng d ng được truy cập từ trình
duyệt web, trong khi các phần mềm kinh doanh và dữ liệu được lưu trữ trên các
máy chủ tại một địa điểm từ xa.
Điện toán đám mây cung cấp các dịch v cơ bản với 3 cấp độ: phần mềm, nền
tảng và cơ sở hạ tầng:

21
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

Hình 9: Phân loại các dịch vụ đám mây

o Software as a Service (SaaS): Software as a Service [4] là một mô hình cung
cấp phần mềm cho phép các ứng d ng truy cập qua mạng thông qua các giao
thức đơn giản như các trình duyệt web. Người sử d ng không cần quan tâm đến
các cơ sở hạ tầng bên dưới như mạng, máy chủ, hệ điều hành, thiết bị lưu trữ,
thiết bị nền…Mô hình này cũng gi p loại bỏ nhu cầu cài đặt và chạy các ứng
d ng trên các máy tính cá nhân.
Thuật ngữ SaaS được phổ biến rộng rãi bởi Salesforce.com. Một trong
những ứng d ng nổi tiếng nhất được biết đến sử d ng dịch v này là Quản l
quan hệ khách hàng CRM. Ngày nay SaaS đã trở thành mô hình phổ biến cho
hầu hết các ứng d ng kinh doanh, kế toán, quản l …Các ứng d ng như mạng xã
hội, phần mềm văn phòng, các trò chơi trực tuyến sử d ng dịch v dựa trên SaaS

như: web Mail, Google Docs, NetSuit, Game MMOS, Facebook…
o Platform as a Service (PaaS): Platform as a Service[4] là một mô hình cung
cấp môi trường tích hợp cao cấp cho phép xây dựng, thử nghiệm, triển khai và
cho phép khách hàng tự tạo máy chủ hoặc mua lại các ứng d ng. Khách hàng
của PaaS không quản l cơ sở hạ tầng bên dưới nhưng kiểm soát các ứng d ng

22
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

triển khai và cấu hình môi trường host của mình. PaaS chủ yếu nhằm m c đích
tạo điều kiện thuận lợi phát triển ứng d ng và các vấn đề quản l liên quan. Một
số được dự định cung cấp môi trường phát triển tổng quát còn một số cung cấp
dịch v mức độ lưu trữ như an ninh bảo mật và khả năng mở rộng theo nhu cầu.
Ví d Google AppEngine, Window Azure, Engine Yard…
o Infrastructure as a Service (IaaS): Infrastructure as a Service[4] cung cấp
năng lực xử l , lưu trữ, thiết bị mạng và các tài nguyên máy tính cơ bản khác
cho người sử d ng. Người sử d ng IaaS có thể triển khai các ứng d ng, phần
mềm, hệ điều hành tùy

trên cơ sở hạ tầng với khả năng mở rộng hoặc thu hẹp

quy mô một cách tự động. Người sử d ng IaaS gửi các chương trình và dữ liệu
có liên quan, trong khi các máy tính của nhà cung cấp thực hiện công việc xử l
tính toán và trả về kết quả. Cơ sở hạ tầng được ảo hóa, linh hoạt, có khả năng
mở rộng và quản l để đáp ứng nhu cầu của người sử d ng. Ví d : amazon EC2,
VPC, IBM Blue Cloud…
Dịch v dữ liệu cho phép người sử d ng truy cập dữ liệu từ xa dưới nhiều

định dạng khác nhau và nhiều ngu n khác nhau. Những dữ liệu từ xa này vẫn
hoạt động giống như trên một đĩa cứng. Amazon S3, SimpleDB, SQS và
mircosoft SQL là những sản ph m dịch v dữ liệu dạng này.
Hình 10 cho thấy mối quan hệ giữa người sử d ng đám mây, các dịch v
đám mây và nhà cung cấp dịch v đám mây.
Khách hàng được trang bị với các thiết bị cơ bản: Internet và trình duyệt web có
thể trực tiếp sử d ng các tài nguyên phần mềm, nền tảng, lưu trữ và năng lực tính
toán. Dịch v đám mây có thể chia s bất kỳ một trong các lớp dịch v khi một giao
thức kết nối Internet được thiết lập. Ví d PaaS sử d ng dịch v IaaS cung cấp và
đ ng thời cung cấp dịch v cho SaaS. Ở phía dưới, trung tâm dữ liệu bao g m phần
cứng máy tính, các sản ph m phần mềm như hệ điều hành đặc biệt dành cho đám
mây, bộ vi xử l đa l i, mạng, đĩa cứng…

23
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

Hình 10: Phân loại dịch vụ đám mây[4]

Điện toán đám mây (cloud computing) đề cập đến sự phát triển dựa trên
Internet và sử d ng công nghệ máy tính, và do đó, điện toán đám mây có thể được
mô tả như là một mô hình tính toán dựa trên Internet. Trên thực tế, nó là một cách
thức gi p cho khả năng tự mở rộng (và chủ yếu là ảo hóa) các ngu n lực được cung
cấp như là một dịch v trên Internet. Khái niệm đằng sau điện toán đám mây kết
hợp Software-as-a-Service(SaaS), Platform-as-a-Service(PaaS) and Infrastructureas-a-Service(IaaS). Ngày nay vượt qua thách thức về kinh tế, việc hướng tới giảm
chi phí hoạt động, lợi thế máy tính xanh, cùng với sự tin cậy cao hơn, linh hoạt và
khả năng mở rộng các dịch v ứng d ng làm điện toán đám may trở thành một công
nghệ được săn đón. Điện toán đám mây được định nghĩa bởi tổ chức tiêu chu n


24
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây

công nghệ quốc tế như sau: “Điện toán đám mây là một mô hình cho phép thuận
tiện chi s tài nghuyên cấu hình máy tính qua truy cập mạng (ví d như : mạng, máy
chủ, lưu trữ, các ứng d ng và dịch v ) có thể nhanh chóng cung cấp và phát hành
với nỗ lực quản l hoặc dịch v tối thiểu nhà cung cấp dịch v tương tác.”
Trong thực tế quản l hoạt động và lập kế hoạch các khả năng tình huống,
những gì làm việc trong một trung tâm dữ liệu IT không làm việc trong môi trường
đám mây. Trong khi các trung tâm dữ liệu IT tập trung vào CPU, bộ nhớ, vào ra, và
ứng d ng mạng và các dữ liệu, sự phân tán, môi trường đám mây luôn thay đổi
phán ánh khả năng cô lập các số liệu “vấn đề khả năng và hiệu suất” là gần như
không thể. Đối số thực hiện là sự tập trung vào các giao dịch ứng d ng kinh doanh
(các nhiệm v của doanh nghiệp) là cách duy nhất để thực thiện định lượng hiệu
suất hoạt động (hoặc thiết lập một đường hiệu suất) trong môi trường điện toán đám
mây. Việc tập trung vào các giao dịch kinh doanh và xa hơn cho phép đánh giá khả
năng mở rộng của cài đặt ứng d ng. Việc truy vết các giao dịch kinh doanh thiết lập
đường mã code mà các ứng d ng đang dùng thông qua môi trường tài nguyên đám
mây. Các dấu vết có thể tiếp t c được sử d ng để thiết lập cấu hình khối lượng công
việc và được sử d ng để hiệu chỉnh và xác nhận bất kỳ mô hình ứng d ng điện toán
đám mây tiềm năng. Hơn nữa, chuyển nhượng ngân sách hiệu suất thực thế cho các
doanh nghiệp cá nhân cho phép xác định số lượng cá yêu cầu hiệu suất ứng d ng
tổng hợp (QoS) và xác định (tiềm năng) thực hiện chung trongkhi chạy trong môi
trường điện toán đám mây được thiết lập.
1.2.5 Đặc điểm của điện




y

Cloud Computing có năm tính chất nổi bật so với mô hình truyền thống[6].
o Tự phục vụ theo nhu cầu (On-demand self-service)
Mỗi khi có nhu cầu, người dùng chỉ cần gửi yêu cầu thông qua trang web
cung cấp dịch v , hệ thống của nhà cung cấp sẽ đáp ứng yêu cầu của người dùng.
Người dùng có thể tự ph c v yêu cầu của mình như tăng thời gian sử d ng server,

25
Học viên thực hiện: Nguyễn Thị Thùy Liên - CB120046 – 12BCNTT


×