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

Nghiên cứu thuật toán tự động điều phối tài nguyên trong điện toán đám mây (Luận văn thạc sĩ)

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 (785.92 KB, 42 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------

MAI HOÀNG XUÂN LÂM

NGHIÊN CỨU THUẬT TOÁN TỰ ĐỘNG ĐIỀU PHỐI
TÀI NGUYÊN TRONG ĐIỆN TOÁN ĐÁM MÂY

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)

TP.Hồ Chí Minh – 2018


HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------

MAI HOÀNG XUÂN LÂM

NGHIÊN CỨU THUẬT TOÁN TỰ ĐỘNG ĐIỀU PHỐI
TÀI NGUYÊN TRONG ĐIỆN TOÁN ĐÁM MÂY
CHUYÊN NGÀNH : HỆ THỐNG THÔNG TIN
MÃ SỐ:

848.01.04

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)
NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS. TS. TRẦN CÔNG HÙNG


TP.Hồ Chí Minh – 2018


i

LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai
công bố trong bất kỳ công trình nào khác.

TP.HCM, Ngày 07 tháng 05 năm 2018
Học viên thực hiện luận văn

Mai Hoàng Xuân Lâm


ii

LỜI CẢM ƠN
Trong suốt quá trình học tập, nghiên cứu và hoàn thành luận văn thạc sĩ,
ngoài những cố gắng nỗ lực của bản thân, em đã nhận được sự hướng dẫn, giúp đỡ
quý báu của quý thầy cô, cùng với sự động viên khích lệ và ủng hộ của đồng
nghiệp, bạn bè và gia đình. Với lòng kính trọng và biết ơn sâu sắc em xin được gửi
lời cảm ơn chân thành tới:
Xin gửi lời cảm ơn trân trọng nhất tới PGS.TS Trần Công Hùng, người đã
trực tiếp hướng dẫn, tận tình chỉ bảo, chia sẻ kiến thức, tài liệu, tạo mọi điều kiện
thuận lợi và định hướng cho em trong suốt quá trình thực hiện luận văn.
Ban giám hiệu và tất cả các Thầy Cô giáo của Học viện Công nghệ Bưu
chính Viễn thông đã giảng dạy và dìu dắt em trong trong suốt quá trình học tập tại
trường.

Bên cạnh đó, em cũng đã nhận được rất nhiều sự hỗ trợ tận tình từ TS. Tân
Hạnh, ThS.Bùi Thanh Khiết và các đồng nghiệp tại bệnh viện Đa khoa khu vực Cần
Giuộc. Xin gửi lời tri ân đến tất cả các thầy và các anh chị.
Tuy nhiên, do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình, nhưng chắc
rằng luận văn khó tránh khỏi thiếu sót. Em rất mong nhận được sự thông cảm và chỉ
bảo tận tình của quý Thầy Cô và các bạn.
Em xin chân thành cảm ơn!
TP.HCM, Ngày 07 tháng 05 năm 2018
Học viên thực hiện luận văn

Mai Hoàng Xuân Lâm


iii

MỤC LỤC
LỜI CAM ĐOAN ........................................................................................................ i
LỜI CẢM ƠN .............................................................................................................ii
MỤC LỤC

........................................................................................................... iii

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT ..............................................vii
DANH SÁCH HÌNH VẼ ........................................................................................ viii
MỞ ĐẦU

............................................................................................................. 1

Chương 1:CƠ SỞ LÝ LUẬN...................................................................................... 4
1.1 Tổng quan về ĐTĐM ...........................................................................................4

1.1.1Giới thiệu chung................................................................................................4
1.1.2Các dịch vụ điện toán đám mây ........................................................................5
1.1.3Những mô hình triển khai của điện toán đám mây ...........................................9
1.2 Tổng quan về tự động điều phối tài nguyên trong ĐTĐM ................................11
1.2.1Giới thiệu về tự động điều phối tài nguyên trong ĐTĐM ..............................11
1.2.2Mục đích tự động điều phối tài nguyên trong điện toán đám mây .................12
1.3 Giải thuật tối ưu bầy đàn (PSO) .........................................................................12
Chương 2:CÁC CÔNG TRÌNH LIÊN QUAN ......................................................... 16
Chương 3: XÂY DỰNG THUẬT TOÁN TỰ ĐỘNG ĐIỀU PHỐI TÀI NGUYÊN
TRONG ĐTĐM DỰA TRÊN THUẬT TOÁN PSO ................................................ 20
3.1 Mạng xếp hàng theo tầng (Layered Queueing Networks - LQN)......................20
3.1.1Giới thiệu LQN ...............................................................................................20
3.1.2Mô hình LQN ..................................................................................................20
3.2 Lý thuyết trò chơi ...............................................................................................21
3.3 Xây dựng mô hình bài toán ................................................................................23
3.4 Ứng dụng thuật toán PSO...................................................................................25
Chương 4:MÔ PHỎNG VÀ ĐÁNH GIÁ ................................................................. 29
4.1 Môi trường giả lập ..............................................................................................29
4.2 Kết quả ...............................................................................................................29
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................................................ 32
1.Kết quả đạt đươc ..................................................................................................32
2.Những vấn đề còn tồn tại .....................................................................................32
3.Hướng phát triển ..................................................................................................32
DANH MỤC TÀI LIỆU THAM KHẢO ................................................................. 33


vii

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT


Viết tắt

Tiếng Anh

Tiếng Việt

ĐTĐM

Điện toán đám mây

CSDL

Cơ sở dữ liệu

QoS

Quality of Service

Chát lượng dịch vụ

PSO

Particle Swarm Optimizarion

Phương pháp tối ưu bầy đàn

IaaS

Infrastruture as a Server


Dịch vụ hạ tầng

SaaS

Software as a Service

Dịch vụ phần mềm

PaaS

Platform as a Service

Dịch vụ nền tảng


viii

DANH SÁCH HÌNH VẼ
Hình 1

Mô hình điện toán đám mây........................................................

1

Hình 1.1

Các loại dịch vụ của điện toán đám mây....................................

5


Hình 1.2

Mô hình dịch vụ phần mềm........................................................

7

Hình 1.3

Mô hình dịch vụ nền tảng ........................................................

8

Hình 1.4

Mô hình dịch vụ cơ sở hạ tầng ..................................................

9

Hình 3.1

Mô hình LQN .............................................................................

20

Hình 3.2

Lưu đồ thuật toán VMPSO…………………………………….

27


Hình 4.1

Mối tương quan giữa epsilon và iterator, excution time ............

30

Hình 4.2

Mối tương quan giữa swamsize và chất lượng dịch vụ,

Hình 4.3

excution time ..............................................................................

30

Mối tương quan giữa 𝜏với chất lượng dịch vụ, chi phí………...

31


1

MỞ ĐẦU
Ngày nay, điện toán đám mây (ĐTĐM) là một trong những xu hướng, quan
tâm hàng đầu của những thành tựu về công nghệ thông tin. Các dịch vụ công nghệ
hiện nay đều dựa trên các nguồn tài nguyên, cơ cấu vận hành cũng như việc lưu trữ,
phân phối và xử lý thông tin của ĐTĐM.
Theo định nghĩa của NIST [1]: “ĐTĐM là một mô hình phổ biến, thuận lợi,
có khả năng truy cập Internet để chia sẻ cấu hình về nguồn tài nguyên một cách

nhanh chóng và bắt đầu với một chi phí tối thiểu hoặc tương tác các dịch vụ được
cung cấp”
+ Tự phục vụ theo yêu cầu: người sử dụng có thể chủ động trong quá trình
cung cấp khả năng tính toán mà không đòi hỏi có sự tương tác giữa con người với
nhà cung cấp dịch vụ.
+ Độ co giãn cao: là khả năng mở rộng và thu hẹp tài nguyên theo nhu cầu
cụ thể của khách hàng ở mỗi thời điểm khác nhau.

Hình 1: Mô hình điện toán đám mây


2
Khả năng tự động điều phối tài nguyên (auto - scaling) là một trong những
đặc trưng hết sức quan trọng của ĐTĐM, đòi hỏi tốc độ thay đổi luôn ở mức cao
thích nghi liên tục với biến động của thị trường, khả năng mềm dẻo, đáp ứng cho
nhiều loại nhu cầu khác nhau trong thời gian ngắn. Một số ứng dụng, cần tính toán
về dữ liệu và tài nguyên theo yêu cầu đó là: các hệ CSDL [2],[3], các ứng dụng di
động [4], các ứng dụng y khoa thời gian thực [5].Các ứng dùng trên có tải biến
động nên cần xử lý tài nguyên linh động, tùy biến theo yêu cầu và vẫn duy trì chất
lượng dịch vụ QoS ở mức cao.
Điện toán đám mây còn gọi là điện toán máy chủ ảo, là việc ảo hóa các tài
nguyên tính toán và các ứng dụng. Thay vì người dùng sử dụng một hoặc nhiều
máy chủ thật thì nay người dùng sẽ sử dụng các tài nguyên ảo hóa thông qua môi
trường internet ở mô hình dịch vụ hạ tầng (Infrastruture as a Server – IaaS). Ở mô
hình điện toán này, mọi khả năng liên quan đến công nghệ thông tin đều được cung
cấp dưới dạng các "dịch vụ", cho phép người dùng truy cập các dịch vụ công nghệ
từ một nhà cung cấp nào đó "trong đám mây" mà không cần phải có các kiến thức,
kinh nghiệm về công nghệ đó, cũng như không cần quan tâm đến các cơ sở hạ tầng
phục vụ công nghệ đó. Tuy nhiên việc quản lý, sử dụng tài nguyên một cách hiệu
quả là một thách thức lớn. Trong môi trường điện toán đám mây đa số tài nguyên

vật lý không đồng nhất với nhau cũng như có các yêu cầu từ người dùng không
đồng nhất đối với các loại tài nguyên.
Các quyết định của bộ điều chỉnh tự động (autosacler) phải đảm bảo mong
muốn giữa các bên liên quan. Đối vối khách hàng, họ mong muốn chi phi thuê dịch
thấp trong khi đó đối với nhà cung cấp dịch vụ mong muốn mang lại tối đa lợi
nhuận. Mô hình định giá thuê tài nguyên có thể bao gồm các loại máy ảo, chi phí
theo đơn vị thời gian (mỗi phút, mỗi giờ). Bộ điều chỉnh tự động cũng phải bảo đảm
chức năng của ứng dụng được thực thi đúng bằng cách duy trì chất lượng dịch vụ
(QoS). QoS thường phụ thuộc vào hai loại của thỏa thuận mức dịch vụ (SLA): SLA
ứng dụng là hợp đồng giữa khách hàng (chủ sở hữu ứng dụng) và người dùng cuối;
và SLA tài nguyên, được nhà cung cấp và khách hàng đồng ý. Cả hai loại SLA


3
thường được trộn lẫn, để thỏa mãn SLA ứng dụng, nhà cung cấp cần phải tuân thủ
SLA tài nguyên. Tuy nhiên, việc xác định đúng lượng tài nguyên để cho thuê và
đáp ứng mức thỏa thuận dịch vụ (SLA) yêu cầu trong khi vẫn giữ được mức chi phí
tổng thể thấp là một thách thức lớn. Đã có nhiều thuật toán tự động điều phối tài
nguyên đã được phát triển nhưng không có một thuật toán nào là thích hợp cho tất
cả các ứng dụng. Trong môi trường điện toán đám mây, khách hàng và nhà cung
cấp dịch vụ thường có những yêu cầu khác nhau và có thể mâu thuẫn với nhau. Do
vậy, việc điều chỉnh tự động tài nguyên trên điện toán đám mây là một thách thức
lớn. Giải pháp cho vấn đề này thường dựa trên đặc tính cụ thể của từng bài toán từ
đó áp dụng các giải thuật như vét cạn (exhaustive algorithm), xác định
(deterministic algorithm) hoặc metaheuristic. Trong thực nghiệm, hầu như các giải
thuật xác định tốt hơn các giải thuật vét cạn. Tuy nhiên các giải thuật xác định lại
không hiệu quả trong môi trường dữ liệu phân tán từ đó dẫn đến không thích hợp
cho các vấn đề lập lịch trong môi trường tính mở rộng. Trong khi đó, điện toán đám
mây là môi trường có dữ liệu phân tán, đòi hỏi có khả năng mở rộng, khả năng đáp
ứng yêu cầu người dùng cao do vậy có thể tiếp cận vấn đề điều chỉnh tự động máy

ảo trên điện toán đám mây theo hướng metaheuristic là khả thi mặc dù các giải thuật
metaheuristic có thể cho kết quả gần tối ưu trong thời gian chấp nhận được.
Trong nghiên cứu này, tôi đưa ra giải pháp điều chỉnh tự động tài nguyên
đảm bảo mục tiêu chất lượng dịch và chi phí thuê tài nguyên dựa trên lý thuyết trò
chơi và dùng giải thuật metaheuristic cụ thể là thuật toán tối ưu bày đàn Particle
Swarm Optimizarion (PSO) để tìm được giải pháp điều chỉnh tự động máy ảo tối ưu
hoặc gần tối ưu dựa trên cân bằng Nash.


4

CHƯƠNG 1 - CƠ SỞ LÝ LUẬN
1.1 Tổng quan về điện toán đám mây
1.1.1 Giới thiệu chung
Cloud computing (ĐTĐM) có khá nhiều định nghĩa. Có nhiều loại khác nhau
và các mô hình cung cấp của nó cũng không giống nhau. ĐTĐM không chỉ đơn
thuần là máy chủ ảo và máy chủ ảo cũng không phải là bộ phận cấu thành thiết yếu
của một ĐTĐM. Tuy nhiên nó chính là bộ phận chủ chốt để một vài loại ĐTĐM có
thể hoạt động.
Có thể nói một trong những định nghĩa chính xác và liên quan nhất về
ĐTĐM đã được xuất bản bởi National Institude of Standards and Technology
(NIST). Tài liệu tổng quát này đã giải thích rõ ràng về ý nghĩa của ĐTĐM. ĐTĐM
là một tập hợp các nguồn tính toán đã được chia sẻ và có thể dễ dàng truy cập và sử
dụng mọi lúc mọi nơi. Một ĐTĐM sẽ mang những đặc điểm như sau:
Tự phục vụ: Sử dụng giao diện đơn giản, khách hàng (hoặc nhà kinh doanh)
có thể đăng kí dịch vụ đám máy và triển khai các tài nguyên thông tin cần sử dụng.
Lợi ích rõ nhất của việc tự cung cấp dịch vụ này là họ có thể nhanh chóng tự cung
cấp nguồn tài nguyên mà không cần nhờ tới bộ phận IT, nhờ đó mà doanh nghiệp
có thể nắm bắt cơ hội hoặc ứng biến với các thử thách tốt hơn.
Mạng lưới truy cập rộng lớn: người tiêu dùng được sử dụng các loại thiết

bị và công nghệ chưa từng thấy để truy cập vào các dịch vụ kinh doanh. Một đám
mây phải cho phép người dùng truy cập vào thiết bị một cách an toàn và đáng tin
cậy từ nhiều mạng lưới khác nhau. Một trong những cách tốt nhất để làm cho các
ứng dụng đến tay người dùng trên một diện rộng các thiết bị là phải tăng cường sức
mạnh của Web và công nghệ như là HTML.
Hệ thống triển khai dịch vụ riêng của nhà cung cấp thì giao diện và hệ thống
xử lí phải được tự động hóa. Mỗi một khách hàng sử dụng tài khoản trên ĐTĐM
đều phải được đảm bảo độc lập và bảo mật với các khác hàng trong hệ thống.


5
Tài nguyên được chia sẻ: Các nhà cung cấp điện toán đám mây có thể sử
dụng nhiều nguồn để cung cấp dịch vụ cho khách hàng một cách nhanh chóng mà
không cần tốn nhiều chi phí.
Tính linh hoạt nhanh: các máy chủ triển khai phải được lên kế hoạch sử
dụng tối đa hiệu suất. Một nhà cung cấp phải triển khai càng nhiều máy càng tốt để
đáp ứng với khối lượng công việc khổng lồ của những khách hàng đa dạng.. Một
đám mây phải giải quyết được vấn đề này bằng việc mở khả năng cung cấp dịch vụ.
Với khía cạnh công nghệ, việc này có nghĩa là phải tập trung hóa mật độ
server đã được thiết kế và quản lí. Tỉ lệ server và quản trị viên tăng lên. Hệ thống
quản lí tự động và quản trị chất lượng trở nên rất quan trọng.

1.1.2 Các dịch vụ điện toán đám mây
Có rất nhiều loại dịch vụ của điện toán đám mây. Tuy nhiên các dịch vụ cơ
bản của nó bao gồm: Dịch vụ cơ sở hạ tầng ( Infrastructure as a Service – IaaS),
dịch vụ nền tảng ( Platform as a Service – PaaS), dịch vụ phần mềm (Software as a
Service – SaaS), dịch vụ phần cứng (Hardware as a Service) (Hình 1.1).

Hình 1.1: Các loại dịch vụ trong điện toán đám mây



6
* Dịch vụ phần mềm (Software as a Service – SaaS)
Mô hình này tồn tại trước khi bất cứ ai bắt đầu nói về ĐTĐM. SaaS là một
ứng dụng trực tuyến mà bạn có thể sử dụng thay vì bạn cài đặt trên một server hoặc
máy PC. Một trong những ví dụ cổ nhất là webmail. Những người đã sử dụng
Hotmail, Yahoo! Mail, và những dịch vụ khác từ những thập niên 1990. Nhiều
người sử dụng của các dịch vụ này không cần cài đặt một ứng dụng email thay vào
đó, họ duyệt đến trang web của nhà cung cấp dịch vụ, đăng nhập. Bạn bè, gia đình
và đồng nghiệp của họ cũng làm như thế
Sức mạnh của SaaS là rằng bất kỳ người dùng nào cũng có thể đăng ký vào
một dịch vụ một cách nhanh chóng như họ có thể thanh toán bằng thẻ tín dụng của
họ. Cộng thêm, công ty không cần triển khai hoặc quản lý cơ sở hạ tầng ứng dụng.
Những kinh nghiệm không phải là những gì khác nhau từ mua một ứng dụng cho
điện thoại thông minh: bạn tìm thấy một cái gì đó đáp ứng nhu cầu của bạn, bạn trả
tiền cho nó và bạn bắt đầu sử dụng nó — với có lẽ một số cấu hình cục bộ trên máy
PC đã tối đa hóa dịch vụ. Những bất lợi là các hệ thống này là không phải luôn luôn
linh hoạt và có thể không tích hợp tốt với các ứng dụng kinh doanh, tổ chức của bạn
yêu cầu. SaaS là một dịch vụ tổng quát nhằm mục đích đáp ứng các nhu cầu của đa
số của thị trường. Phần còn lại của thị trường phải tìm một cái gì đó mà họ có thể
tùy chỉnh cho các nhu cầu riêng của họ (Hình 1.2).


7

Hình 1.2: Mô hinh dịch vụ phần mềm (Software as a Service – SaaS)

* Dịch vụ nền tảng ( Platform as a Service – PaaS)
PaaS là một môi trường dịch vụ mà nhà cung cấp quản lý cho phép software
developer tổ chức và thực hiện các phần mềm của họ mà không có phàn nàn về các

yếu tố kỹ thuật, việc triển khai hoặc cấu hình server. Một ví dụ về một PaaS là
Microsoft Windows Azure. Các developer có thể tạo các ứng dụng trong Visual
Studio và tải chúng trực tiếp lên PaaS của Microsoft, mà dữ liệu có mặt ở nhiều data
center trên toàn cầu. Các developer có thể sử dụng sức mạnh tính toán, một dịch vụ
SQL có sẵn và khả năng mở rộng, ứng dụng mẫu và một lượng lớn không gian lưu
trữ.
Sức mạnh của giải pháp này là bạn có thể triển khai một ứng dụng mới trên
một nền tảng có khả năng mở rộng để tiếp cận một đối tượng rất lớn trong một vài
phút. Công ty hosting, chẳng hạn như Microsoft, chịu trách nhiệm quản lý cơ sở hạ
tầng PaaS. Điều này giúp các developer tự do để tập trung vào ứng dụng của họ mà
không có sự phiền nhiễu của server, mạng, và các yếu tố khác. Điểm yếu là rằng
bạn không thể tuỳ chỉnh cơ sở hạ tầng cơ bản (Hình 1.3).


8

Hình 1.3: Mô hinh dịch vụ nền tảng ( Platform as a Service – PaaS)

* Dịch vụ cơ sở hạ tầng ( Infrastructure as a Service – IaaS)
IaaS là một mô hình ĐTĐM đã quen thuộc với họ. IaaS cho phép người tiêu
dùng tự triển khai các máy ảo với cấu hình sẵn hệ điều hành thông qua một Selfservice portal. Network và Storage được dễ dàng và nhanh chóng cấu hình mà
không cần phải tương tác với người quản trị mạng.
Ảo hóa, chẳng hạn như Microsoft Hyper-V, là công nghệ cơ bản làm cho
IaaS khả thi. Một cloud IaaS có nhiều hơn không chỉ là ảo hóa máy chủ. Cấu hình
mạng phải được tự động, dịch vụ phải được đàn hồi và kiểm định, và cloud nên có
khả năng multitenant. Điều này đòi hỏi lớp quản lý và tự động hóa cao hơn so với
ảo hóa truyền thống.
Kết quả của các giải pháp cho phép người tiêu dùng của các dịch vụ nhanh
chóng triển khai các bộ dịch vụ đã cấu hình trước của máy ảo mà không rối rắm.
Các software developer hoặc ban quản trị có thể tùy chỉnh máy ảo để phù hợp với

nhu cầu của các ứng dụng sẽ được họ cài đặt. Môi trường làm việc là quen thuộc và


9
có thể dễ dàng tích hợp với hầu như tất cả các công nghệ trong một tổ chức. Những
bất lợi cho một số là có máy ảo để triển khai và hệ điều hành để tạo ra và duy trì.

Hình 1.4: Mô hình dịch vụ cơ sở hạ tầng ( Infrastructure as a Service – IaaS)

1.1.3 Những mô hình triển khai của ĐTĐM
Private Cloud
Private Cloud hoàn toàn thuộc về nhu cầu của một cá nhân doanh nghiệp nào
đó. Nó có thể là trong hạ tầng cơ sở (on-premises) hoặc ngoài hạ tầng cơ sở (offpremises). Private Cloud chỉ thuộc về một doanh nghiệp sẽ thường trú trong phòng
máy của chủ sở hữu hoặc data center và được quản lí bởi đội ngũ IT của doanh
nghiệp. Với quyền sở hữu duy nhất của đám mây trong hạ tầng cơ sở, doanh nghiệp
được toàn quyền điều khiển data center, hệ thống hạ tầng và network. Về phía
Private Cloud ngoài hạ tầng cơ sở, nó thừa hưởng cơ sở vật chất có sẵn và kiến thức
chuyên môn từ các đơn vị outsourcing như là chức năng trung tâm dữ liệu máy chủ.
Private Cloud ngoài cơ sở hạ tầng này khá lí tưởng cho các doanh nghiệp không
muốn hoặc không có đủ khả năng xây dựng phòng máy hoặc trung tâm dữ liệu
riêng.


10
Lợi ích của Private Cloud là doanh nghiệp có thể tự thiết kế nó rồi tùy biến
theo thời gian cho phù hợp với mình. Họ có thể kiểm soát được chất lượng dịch vụ
đã cung cấp. Với hệ thống chuẩn được lắp đặt, hoạt động theo nguyên tắc, đảm bảo
tính bảo mật. Mặt bất lợi của coud này là mô hình triển khai của nó cần sự đầu tư
nhiều về chuyên môn, tiền bạc và thời gian để tạo ra các giải pháp kinh doanh đúng
đắn cho doanh nghiệp.

Private Cloud đã thay đổi vai trò của những quản trị IT. Nếu không có
Private Cloud, họ sẽ phải vướng bận rất nhiều ứng dụng được triển khai, bao gồm
máy chủ ảo hoặc máy chủ vật lí, cấu hình mạng, network balancing, storage và cài
đặt ứng dụng như SQL Server… Với Private Cloud, chức năng của họ trở thành
việc quản lí tài nguyên chia sẻ tập trung và quản lí các cấp độ dịch vụ của hạ tầng.
Quản trị viên IT tạo ra và quản lí các thành phần và hệ thống có thể tái sử dụng để
nâng cấp và cho phép doanh nghiệp tự triển khai dịch vụ của mình. Điều này có
nghĩa là họ cung cấp dịch vụ một cách thông minh hơn với số lượng dịch vụ nhiều
hơn và có ích hơn cho doanh nghiệp.
Public Cloud
Public Cloud dành cho nhiều người sử dụng. Public Cloud có nhiều dạng và
tồn tại dưới nhiều hình thức như là Windows Azure, Microsoft Office 365 và
Amazon Elastic Compute Cloud… Bạn cũng có thể tìm thấy các dịch vụ với quy
mô nhỏ hơn với những dịch vụ khách hàng phù hợp với nhu cầu cá nhân.
Ưu điểm lớn nhất của Public Cloud chính là nó luôn được sẵn sàng để sử
dụng nhanh chóng. Một ứng dụng kinh doanh mới nhất có thể được triển khai chỉ
trong vòng vài phút.
Hybrid Cloud
Mô hình Hybrid Cloud sử dụng mô hình Private Cloud và mô hình Public
Cloud cùng một lúc với các dịch vụ được triển khai mở rộng.


11
Community Cloud
Community Cloud là đám mây được chia sẻ giữa các doanh nghiệp với nhau.
Community Cloud này có thể sử dụng nhiều công nghệ, và nó thường được sử dụng
bởi các doanh nghiệp liên doanh cùng thực hiện các công trình nghiên cứu khoa
học. Community Cloud hỗ trợ người dùng các tính năng của cả Private Cloud và
Public Cloud. Chúng có thể cùng nhau hoạt động để đảm bảo tính bảo mật và thống
nhất nhưng đồng thời cũng mang nhiều rủi ro trong quá trình chia sẻ. Chúng còn có

thể truy cập vào các nguồn tính toán lớn hơn giúp mở rộng cấu trúc lũy tiến của
mình.
Bởi vì tính mở tự nhiên, Community Cloud rất phức tạp. Một Community
Cloud là một rủi ro có thể có khi chia sẻ. Tính bảo mật và thống nhất vừa là một thế
mạnh vừa là một điểm yếu, mang sự thách thức về tính toán ở đây. Dù là với
Private Cloud, yếu tố chính sách công ty là rất lớn. Chúng ta chỉ có thể hình dung ra
vai trò của chính sách công ty là quan trọng thế nào khi tham gia vào Community
Cloud được mua và sử dụng bởi nhiều công ty cùng một lúc.

1.2 Tổng quan về tự động điều phối tài nguyên trong điện toán đám
mây (Auto-scaling)
1.2.1 Giới thiệu về tự động điều phối tài nguyên trong điện toán đám
mây (Auto-scaling)
Auto-scaling đã được định nghĩa từ nhiều quan điểm của các học giả và các
nhà cung cấp dịch vụ ĐTĐM trong các bối cảnh đa dạng. Auto-scaling là một đặc
trưng quan trọng của hệ thống ĐTĐM, cho phép hệ thống có thể tự động mở rộng
hay thu nhỏ khả năng; hoặc lựa chọn máy ảo nào có tài nguyên lớn nhất một cách
tự động để đảm bảo tài nguyên được sử dụng một cách hiệu quả nhất và đảm bào
tính sẳn sàng cho các ứng dụng.
Auto-scaling cũng đảm bào rằng các máy ảo được phân chia các yêu cầu
khách hàng một cách nhất quán và hạn chế hiện tượng quá tải hoặc thiếu tài nguyên.


12

1.2.2 Mục đích tự động điều phối tài nguyên trong điện toán đám
mây (Auto-scaling)
Mục đích của tự động điều phối tài nguyên là cải thiện hiệu năng của toàn bộ
hệ thống một cách cơ bản; giảm thiểu thời gian chờ của công việc; duy trì sự ổn
định và thích ứng sự biến đổi trong tương lai của hệ thống; đảm bảo những công

việc nhỏ không bị đợi trong thời gian dài; đồng thời cũng phải đảm bảo hạn chế
tình trạng một nút có nhiều tài nguyên đang sử dụng những nút khác chỉ rất ít tài
nguyên đang được sử dụng[6],[7]. Vì vậy, nhiều thuật toán tự động điều phối tài
nguyên đã được phát triển trong nhiều năm qua nhưng không có một thuật toán nào
là thích hợp cho tất cả các ứng dụng, các hệ thống tính toán phân tán. Việc lựa chọn
một thuật toán tự động điều phối tài nguyên tương ứng phụ thuộc thông số các ứng
dụng cũng như các thông số sử dụng tài nguyên.

1.3 Giải thuật toán tối ưu bầy đàn (PSO)
Giải thuật tối ưu hóa theo bầy đàn (Particle Swarm Optimization - PSO) là
một kỹ thuật tối ưu hóa ngẫu nhiên dựa trên một quần thể được phát triển bởi
Eberhart và Kennedy, phỏng theo hành vi của các bầy chim hay các đàn cá. Cũng
giống như giải thuật di truyền, PSO tìm kiếm giải pháp tối ưu bằng việc cập nhật
các thế hệ. Tuy nhiên, không giống như giải thuật di truyền, PSO không có các
thao tác tiến hóa như là lai ghép hay đột biến.
Năm 1987, quan sát quá trình chuyển động của các theo bầy đàn (bầy chim,
đàn cá), Reynolds [8] đưa ra nhận ra ba quy luật: Tách biệt; Sắp hàng và Liên kết.
Từ nghiên cứu của Renolds, Eberhart và Kennedy [9] đưa thêm giả thuyết về quá
trình tìm về tổ của bầy đàn theo các quy luật:
i. Tất cả các phần tử trong bầy đàn đều có xu hướng chuyển động về
tổ.
ii. Mỗi phần tử đều ghi nhớ vị trí gần tổ nhất nó đã đạt tới.
Tương tự như vậy, hai ông đưa giả thuyết về quá trình tìm mồi của bầy đàn
trong một vùng không gian mà các phần tử trong bầy đàn đều biết thông tin về thức


13
ăn cách bao xa và lưu giữ vị trí gần thức ăn nhất mà chúng đã đạt tới. Khi đó, cách
tốt nhất để tìm thức ăn là theo sau những con phần tử đầu đàn - những con trong
bầy gần chỗ thức ăn nhất. Từ đó, hai ông đề xuất thuật toán PSO phỏng theo kịch

bản này và sử dụng nó để giải các bài toán tối ưu.
Trong PSO, mỗi giải pháp đơn là một phần tử (particle) trong kịch bản trên.
Mỗi phần tử được đặc trưng bởi hai tham số là vị trí hiện tại của phần tử - present[]
và vận tốc – v[] . Đây là hai vectơ trên trường số Rn với n là số chiều của phần tử
được xác định từ bài toán cụ thể. Đồng thời mỗi phần tử có một giá trị thích nghi
(fitness value), được đánh giá bằng hàm đo độ thích nghi (fitness function). Tại thời
điểm xuất phát, bầy đàn, hay chính xác là vị trí của mỗi phần tử được khởi tạo một
cách ngẫu nhiên (hoặc theo một cách thức nào đó dựa vào tri thức biết trước về bài
toán). Trong quá trình chuyển động, mỗi phần tử chịu ảnh hưởng bởi hai thông tin:
thông tin thứ nhất, gọi là pBest, là vị trí tốt nhất mà phần tử đó đã đạt được trong
quá khứ; thông tin thứ hai, gọi là gBest, là vị trí tốt nhất mà cả bầy đàn đã đạt được
trong quá khứ. Trong nguyên bản do Eberhart và Kennedy đưa ra, các phần tử trong
PSO sẽ duyệt không gian bài toán bằng cách theo sau các phần tử có điều kiện tốt
nhất hiện thời (độ thích nghi lớn nhất). Cụ thể là sau mỗi khoảng thời gian rời rạc,
vận tốc và vị trí của mỗi phần tử được cập nhật theo các công thức (1.1) và (1.2)
được định nghĩa như sau.
v[] = v[] + c 1 .rand()*(pbest[] — present[] )
+ c 2 . Rand() * (gbest[] — present[] )(1.1)

present [ ] = pe sent [ ] + V [ ] (1.2)
Trong đó, rand() là một số ngẫu nhiên trong khoảng ( 0 , 1 ) ; c1, c2 là các hệ
số học, chúng thường được chọn là c1= c2 = 2 . Mã giả của thuật toán PSO được
trình bày dưới đây.


14

Giải thuật tối ưu bầy đàn

ForEachparticle

Khởi tạo particle;
EndFor
Do
ForEachparticle
Tính fitness value;
If (fitness value thenpBest= the fitness
value;
EndIf
If( pBest < gBest)
thengBest = pBest
EndIf
EndFor
ForEachparticle
Tính vận tốc theo công thức (1.1);
Cập nhật vị trí theo công thức (1.2);
EndFor
While(chưa thỏa mãn điều kiện dừng);

Trong đó, một số điều kiện dừng phổ biến là: số lần cập nhật, số lần cập nhật
bầy đàn mà không đưa lại kết quả tốt hơn, số lần cập nhật mà lượng thay đổi giữa
hai lần cập nhật liên tiếp nhỏ hơn một ngưỡng nào đó... Ngoài ra điều kiện dừng có
thể được xác định từ bài toán cụ thể. Phiên bản ban đầu của PSO được trình bày ở


15
trên được gọi là phiên bản “tốt nhất toàn cục” (global best), trong đó vận tốc của
mỗi phần tử đều chỉ bị ảnh hưởng bởi hai yếu tố là: yếu tố nội tại - vị trí tốt nhất nó
đã từng đạt được - và yếu tố toàn cục - vị trí tốt nhất cả bầy đã đạt được. Các cải
tiến của PSO đưa vào yếu tố “cục bộ”, tức là vận tốc của mỗi phần tử trong quá

trình chuyển động còn bị tác động bởi vị trí tốt nhất đã đạt được trong số những
hàng xóm của nó lbest [ ] . Khi đó, công thức cập nhật vận tốc được định nghĩa
trong (1.3).
v[ ] = v[ ] + c1. rand()*(pbest[] — presen[])
+ c2.rand()* (gbest[]] — present[])

(1.3)

+ c 3 .rand() * (lbest[] — present[] )
Theo nghiên cứu của M. Clerc [10], việc chỉ sử dụng yếu tố cục bộ (được gọi
là phiên bản “tốt nhất cục bộ” của PSO) thường đem lại hiệu quả tốt hơn so với việc
sử dụng yếu tố toàn cục hoặc sử dụng cả hai yêu tố (cục bộ và toàn cục). Để thống
nhất trong việc sử dụng PSO, các nhà nghiên cứu đã thống nhất đưa ra phiên bản
PSO chuẩn và bản chuẩn mới nhất hiện nay là Standard PSO 2011 (SPSO-11).
Thông tin về các phiên bản chuẩn, các biến thể và những ứng dụng của PSO có thể
tìm thấy tại[11].


16

CHƯƠNG 2 - CÁC CÔNG TRÌNH LIÊN QUAN
Trong nghiên cứu của PGS.TS Trần Công Hùng, Th.Sĩ Bùi Thanh Khiết
đăng trên Tạp chí ICCASA 2016 [12], các tác giả đã đề xuất giải pháp dành cho các
máy ảo nhằm đảm bảo cân bằng các mục tiêu mà các nhà sử dụng cần bao gồm các
nhà cung cấp dịch vụ và khách hàng của họ dựa trên lý thuyết trò chơi. Ý tưởng chủ
đạo là sử dụng thuật toán meta-heuristic Ant Colony Optimization (ACO) dựa trên
trạng thái cân bằng Nash.
Nghiên cứu của Phạm Nguyễn Minh Nhựt, Lê Văn Sơn đăng trên Tạp
chí Khoa học & Công nghệ. Đại học Đà Nẵng 2014, bài báo trình bày vấn đề cấp
tài nguyên tĩnh, đa chiều dựa trên nền tảng máy chủ chia sẻ đồng nhất cho dịch vụ

ảo hóa với ràng buộc tối ưu và đảm bảo yêu cầu về QoS và hướng nghiên cứu mở
rộng của đề tài là bài toán cung cấp tài nguyên động trong môi trường không đồng
nhất.[13].
Với nghiên cứu của Nguyễn Hoàng Hà, Lê Văn Sơn, Nguyễn Mậu Hân[14]
đã đưa ra những thuật toán lập lịch động trong môi trường điện toán đám mây dựa
trên Heuristic sau:(1) thuật toán MET (Minimun Execution Time) phân phối các
yêu cầu hoặc công việc vào các tài nguyên có khả năng thực thi công việc nhanh
nhất, không quan tâm đến thời điểm bắt đầu và kết thúc của yêu cầu hoặc công việc
trên tài nguyên đó. Thuật toán này thường có nhược điểm là không điều phối công
việc vì hầu như các công việc đều đươc tập trung thực thi trên các tài nguyên có
năng lượng cao nhất. (2) Thuật toán Min – Min dựa trên khái niệm thời gian hoàn
thành nhỏ nhất (MCT) của các tác vụ. Thời gian hoàn thành được tính bằng thời
gian thực thi của tác vụ cộng với thời gian sẵn sàng của tài nguyên. Việc dựa trên
thời gian hoàn thành nhỏ nhất sẽ giúp hệ thống điều phối tài nguyên tốt
hơn.(3)Thuật toán Max – Min tương tự thuật toán Min – Min, tuy nhiên thuật toán
Max –Min cho phép các tác vụ có MCT lớn hơn được ưu tiên chọn host để thực thi
trước. Thuật toán này được đánh giá tốt hơn và cân bằng hơn Min – Min vì trong
khi các tác vụ lớn hơn được ưu tiên chọn tài nguyên tốt để thực thị trước, các tác vụ


17
nhỏ có thể luân phiên thực thi ở các tài nguyên có năng lực yếu hơn. Các tác vụ lớn
không phải mất thời gian chờ các tác nhỏ hơn như ở thuật toán Min – Min.(4)Thuật
toán Suffragelấy ý tưởng từ thuật toán Max- Min đề ra trước đó. Thuật toán
Suffrage tính toán MCT thấp nhất và thấp nhì đối với từng tác vụ trong hệ thống.
Giá trị này được gọi là độ “ thiệt hại” của một tác vụ khi nó không được thực thi
trên tài nguyên tốt nhất. Tác vụ có độ thiệt hại lớn nhất sẽ được ưu tiên chọn tài
nguyên để thực thi trước, thuật toán này đặc biệt hiệu quả nếu tính đến vấn đề vận
chuyển dữ liệu đến nơi thực thi tác vụ. Nếu một tài nguyên đã có dữ liệu của một
tác vụ cần được thực hiện, nếu tác vụ này được thực hiện trên tài nguyên đó sẽ tiết

kiệm được rất nhiều thời gian so với thực thi trên tài nguyên khác. Tác vụ trong
trường hợp này sẽ có giá trị Suffrage cao nên được thực hiện trước.
Nghiên cứu của Rakesh Kumar Mishra và các đồng sự được công bố năm
2014[15] đưa ra 2 thuật toán để phân phối các yêu cầu trên máy ảo theo vòng tròn
luân phiên: (1) Thuật toán Round-Robin cố gắng phân phối yêu cầu đến các máy ảo
theo thứ tự vòng tròn luân phiên công bằng. Ý tưởng của Round-Robin là tất cả các
máy ảo trong danh sách FIFO điều nhận được yêu cầu như nhau theo thứ tự vòng
tròn mà không cần quan tâm đến năng lực xử lý của chúng khi phân phối yêu cầu
đến. Điều này sẽ là hiệu quả đối với một hệ thống mà tất cả các máy ảo có năng lực
xử lý và tài nguyên như nhau. Nhưng cũng chính điều này có thể dẫn đến việc một
máy ảo có tài nguyên lớn hơn những máy ảo còn lại phải đợi để được phân bổ yêu
cầu tiếp theo khi mà nó đã xử lý xong yêu cầu. Trong khi những máy khác phải bận
xử lý các tác vụ trên nó với tình trạng quá yêu cầu, đối với hệ thống mà năng lực xử
lý và tài nguyên của mỗi máy ảo là khác nhau. Như vậy, thời gian đáp ứng của yêu
cầu xử lý không đạt được hiệu quả cao đối với các máy ảo có năng lực xử lý và tài
nguyên khác nhau trong hệ thống và có thể dẫn đến sự đợi yêu cầu trên các máy ảo
có năng lực xử lý mạnh hơn các máy ảo còn lại. (2)Thuật toán Weighted RoundRobin thực hiện ưu điểm phân phối vòng tròn luân phiên của thuật toán RoundRobin và cách phân bổ yêu cầu ưu tiên hơn dựa vào năng lực của mỗi máy ảo được
thể hiện bằng một trọng số của nó. Các yêu cầu xử lý hay ứng dụng dịch vụ được


18
phân phối đến máy ảo theo thứ tự vòng tròn luân phiên. Nhưng nó còn kết hợp khả
năng xử lý của từng máy ảo dựa trên “trọng số”. Do đó máy ảo có năng lực xử lý
mạnh hơn và tài nguyên lớn sẽ được phân bổ nhiều yêu cầu xử lý hơn so với những
máy ảo còn lại. Vì thế nó khắc phục được điểm hạn chế của thuật toán Round Robin
là trong trường hợp máy ảo có năng lực xử lý mạnh nhất không phải chờ yêu cầu xử
lý hoặc xử lý rất ít. Hay nói cách khác là có thể loại bỏ được vấn đề đợi yêu cầu,
giúp cải thiện thời gian đáp ứng yêu cầu một cách tốt hơn.
Trong nghiên cứu của Jyoti Sahni và các cộng sự được công bố năm 2016
các tác giả đã đưa rachính sách điều phối tài nguyên mới là trong thuật toán này mở

rộng tài nguyên một cách tự động trong khi đó vẫn duy trì chất lượng dịch vụ. Thuật
toán sử dụng phương pháp online profiling của tài nguyên điện toán đám mây và
lịch sử tải để ước lượng yêu cầu tài nguyên trong tương lai. Sau đó tìm giải pháp
dựa trên heuristic. Chiến lược greedy heuristic được áp dụng vào thuật toán
adaptive auto- scaling cho phép heterogeneous scaling với chi phí tới ưu mà vẫn
duy trì đảm bảo chất lượng dịch vụ QoS trong môi trường điện toán đám mây[16].
Trong nghiên cứu Tania Lorido-Botran và các cộng sự công bố năm
2014[17] đã tổng hợp lại các kỹ thuật tự động điều phối cho các ứng dụng đàn hồi
trong môi trường đám mây. Các tác giả đã định nghĩa vấn đề của quy trình tự động
thay đổi với các giai đoạn khác nhau và phân loại cho kỹ thuật tự động điều phối,
cùng với mô tả của từng loại và các ưu và khuyết điểm của nó. Theo nghiên cứu đã
quyết định áp dụng lý thuyết cơ bản hoặc các kỹ thuật đã được sử dụng để làm tiêu
chuẩn phân loại các kỹ thuật tự động điều phối. Điều này sẽ giúp người đọc hiểu rõ
hơn các khái niệm cơ bản của một nhóm hoặc nhóm chuyên biệt, bao gồm những
ưu điểm và hạn chế của chúng. Gồm có 5 kỹ thuật sau đây
+ Threshold-based rules (rules): Các quy tắc hoặc chính sách quy mô
tự động dựa trên ngưỡng dựa trên ngưỡng rất phổ biến đối với các nhà cung cấp
đám mây như Amazon EC2 và các công cụ của bên thứ ba. Tính đơn giản và trực
quan của các chính sách này làm cho chúng trở nên hấp dẫn đối với khách hàng
đám mây. Tuy nhiên, việc thiết lập các ngưỡng tương ứng là một nhiệm vụ cho mỗi


×