Điều chỉnh tài nguyên tự động dựa vào tham số chất lượng dịch vụ trong Cloud Computing

Tóm tắt: Việc cung cấp tính năng điều chỉnh tài

nguyên tự động (auto scaling) trên hạ tầng IaaS của nhà

cung cấp dịch vụ điện toán đám mây đã giúp thuê bao tránh

được tình trạng suy thoái dịch vụ và tiết kiệm chi phí. Cùng

với đó là sự xuất hiện các thuật toán auto scaling để tự động

hóa việc cung ứng cũng như thu hồi tài nguyên một cách

kịp thời. Phương pháp auto scaling dựa vào luật đối sánh

giá trị tham số hiện hành với ngưỡng được sử dụng phổ

biến trong môi trường công nghiệp. Tính hiệu quả của auto

scaling dạng này tùy thuộc vào cách chọn tham số. Trong

bài báo này đề xuất sử dụng tham số chất lượng dịch vụ

thay cho cách dùng tham số mức độ sử dụng CPU đang

dùng phổ biến hiện nay. Bài báo cũng đưa ra mô hình đánh

giá tính hiệu quả của auto scaling dạng này và dựa vào đó

để kiểm tra tính hiệu quả của phương pháp. Mô hình đã

được cài đặt và đã xác định được tính hiệu quả theo cách

chọn các tham số dịch vụ.

Điều chỉnh tài nguyên tự động dựa vào tham số chất lượng dịch vụ trong Cloud Computing trang 1

Trang 1

Điều chỉnh tài nguyên tự động dựa vào tham số chất lượng dịch vụ trong Cloud Computing trang 2

Trang 2

Điều chỉnh tài nguyên tự động dựa vào tham số chất lượng dịch vụ trong Cloud Computing trang 3

Trang 3

Điều chỉnh tài nguyên tự động dựa vào tham số chất lượng dịch vụ trong Cloud Computing trang 4

Trang 4

Điều chỉnh tài nguyên tự động dựa vào tham số chất lượng dịch vụ trong Cloud Computing trang 5

Trang 5

Điều chỉnh tài nguyên tự động dựa vào tham số chất lượng dịch vụ trong Cloud Computing trang 6

Trang 6

pdf 6 trang xuanhieu 4820
Bạn đang xem tài liệu "Điều chỉnh tài nguyên tự động dựa vào tham số chất lượng dịch vụ trong Cloud Computing", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Điều chỉnh tài nguyên tự động dựa vào tham số chất lượng dịch vụ trong Cloud Computing

Điều chỉnh tài nguyên tự động dựa vào tham số chất lượng dịch vụ trong Cloud Computing
ủa tải theo mùa để đưa ra các quyết định auto 
scaling trước thời hạn. Giải pháp đã khai thác các thuộc 
tính của công nghệ ảo hóa nhằm chi phối chất lượng dịch 
vụ và tiết kiệm chi phí. Tuy nhiên hiệu quả của giải pháp 
phụ thuộc nhiều vào tập dữ liệu ban đầu và các chi tiết 
Nguyễn Hồng Sơn 
SỐ 02 (CS.01) 2020 TẠP CHÍ KHOA HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG 81 
trong kỹ thuật xử lý trong mô hình học giám sát này. 
III. MÔ HÌNH ĐÁNH GIÁ 
Để đánh giá hiệu quả sử dụng lượng tài nguyên thuê bao 
gồm cả tài nguyên máy ảo được bổ sung tự động thông qua 
dịch vụ auto scaling, trong bài báo này định nghĩa một đại 
lượng được gọi là máy ảo thời gian VMxTime. Nếu thời 
gian được tính theo giờ thì gọi là máy ảo giờ (VMxHour), 
1 VMxHour có nghĩa là 1 máy ảo được mở trong thời gian 
1 giờ. Chi phí tiêu thụ tài nguyên thuê được qui về VM 
hour bằng cách lấy tích số giữa số máy ảo và thời gian mở 
tương ứng tính theo giờ. Gọi VM Usage là lượng tiêu thụ 
máy ảo theo đại lượng VMxTime trong thời gian T, tham 
số này được tính theo công thức (1) như sau: 
VM Usage = ∫ NumOfVMs(t)dt
T
0
 (1) 
NumOfVMs(t) là số máy ảo (VM) được mở tại thời 
điểm t và được tính bởi công thức (2) như sau: 
NumOfVMs(t)=currentNumofVMs(t) 
 + numOfVMsScale(t) (2) 
Dễ dàng nhận thấy nếu VM Usage càng lớn thì tài 
nguyên của nhà cung cấp dịch vụ bị chiếm dụng càng lớn 
và chi phí phải trả của người dùng sẽ lớn. 
Các thuê bao được bổ sung và thu hồi mỗi một lần là N 
máy ảo một cách tự động, ta có: 
numOfVMScale(t)=N x scaleEvent(t) (3) 
trong đó numOfVMScale(t) là số máy ảo được bổ sung 
hay thu hồi vào thời điểm t, scaleEvent(t) lấy giá trị 1, 0 
hay -1 tùy vào hàm quyết định, được gọi là D(). Trong 
trường hợp thuật toán auto scaling được thực hiện theo 
kiểu giám sát tích cực các đại lượng trạng thái thì 
autoscaler sẽ theo dõi các tài nguyên còn lại tại thời điểm 
lấy mẫu, ký hiệu là remainResource(t) và hàm xác định tài 
nguyên còn lại sẽ được đưa vào như là tham số của hàm 
quyết định D() cùng với một giá trị ngưỡng được xác lập 
trước. Như vậy sự kiện điều chỉnh tự động lấy giá trị từ 
hàm quyết định D() như công thức (4): 
scaleEvent(t)=D(controlValue(t),Threshold) (4) 
controlValue(t)= F(QoS pamameter(t)) (5) 
Với F() là phương pháp tính toán tham số chất lượng 
dịch vụ. Trong bài báo này sẽ cụ thể bằng tham số tỉ lệ các 
yêu cầu lần đầu đệ trình vào máy ảo bị từ chối và phải đợi, 
được giải thích chi tiết trong phần IV. 
IV. THUẬT TOÁN AUTO SCALING SỬ DỤNG 
THAM SỐ CHẤT LƯỢNG DỊCH VỤ 
Tham số chất lượng dịch vụ thứ nhất được chọn là thời 
gian hoàn thành một yêu cầu trên hệ thống. Đây là tham số 
phản ánh tốc độ đáp ứng dịch vụ của hệ thống, xét một 
cách định tính thì thời gian này sẽ càng nhỏ khi năng lực 
tài nguyên của hệ thống càng lớn. Tuy nhiên tham số này 
không dùng để điều khiển trực tiếp hoạt động auto scaling 
nhưng sẽ dùng để kiểm tra hiệu quả của thuật toán auto 
scaling. Tham số thứ hai được chọn làm tham số điều khiển 
trực tiếp liên quan đến hiện tượng thực tế là khi các yêu 
cầu gửi đến vào những thời điểm mà năng lực của hệ thống 
không đáp ứng được sẽ phải vào trạng thái đợi.Tỉ lệ các 
yêu cầu không được đáp ứng lần đầu là tham số lựa chọn 
thứ hai. Tham số này được chọn dựa trên phát hiện có 
những yêu cầu không được đáp ứng ở lần đệ trình đầu tiên 
trên các hệ thống auto scaling dựa vào mức sử dụng CPU, 
khi mà mức độ sử dụng này vẫn còn dưới ngưỡng.Thông 
thường các yêu cầu không được đáp ứng không bị hủy luôn 
mà được đưa vào hàng đợi của hệ thống để tiếp tục được 
đệ trình nếu khoảng thời gian timeout vẫn còn. Hệ thống 
dịch vụ không đáp ứng một yêu cầu nào đó không chỉ vì 
năng lực CPU bị thiếu, mà còn bởi nhiều tài nguyên khác 
bị thiếu như bộ nhớ thực thi, bộ nhớ lưu trữ, băng thông 
của các cổng xuất nhập (I/O) và ngay cả nguyên nhân 
không từ tài nguyên vật lý mà đến từ tắc nghẽn do lỗi logic 
của phần mềm ứng dụng. Lợi ích của việc chọn tham số 
này là bao hàm được nhiều yếu tố, phản ảnh đầy đủ hơn 
về tình trạng của hệ thống dịch vụ so với trường hợp dùng 
tham số mức độ sử dụng CPU. Thuật toán auto scaling thay 
vì sử dụng ngưỡng tỉ lệ sử dụng CPU trong máy ảo sẽ dùng 
ngưỡng tỉ lệ yêu cầu không được phục vụ ở lần đầu đệ 
trình vào máy ảo và phải đợi, ở đây gọi vắn tắt là tỉ lệ đợi 
Waiting rate. Tham số Waiting rate được tính như sau: 
Waiting rate =
Nw
NT
× 100% (6) 
Nw là số yêu cầu đệ trình lần đầu bị từ chối phải đợi 
trong khoảng thời gian lấy mẫu. 
NT là tổng số yêu cầu đệ trình vào máy ảo trong khoảng 
thời gian lấy mẫu. 
Thuật toán auto scaling: 
______________________________________ 
1.//Gán ngưỡng a% cho Vth (threshold value); 
 Vth = a%; 
2. //Gán giá trị b giây cho T1 là thời gian nhàn rỗi của 
máy ảo trước khi máy ảo bị hủy 
T1= b; 
3.//Gán giá trị c giây cho T2 là khoảng thời gian lấy mẫu 
để thống kê và tính toán giá trị tham số điều khiển 
T2 = c; 
4.//Thực hiện đồng thời trên các máy ảo được đăng ký 
auto scaling 
Parallel: 
//Với mỗi máy ảo được thuê VM thu thập và tính tỉ lệ 
waiting rate trong khoảng thời gian T2 
timeout =T2; 
Timerstart(timeout); 
if (timeoutevent) then { 
Nw=count(waitingList); 
NT=count(submitRequestList); 
wRate=Nw/NT*100%; 
ĐIỀU CHỈNH TÀI NGUYÊN TỰ ĐỘNG DỰA VÀO THAM SỐ CHẤT LƯỢNG DỊCH VỤ TRONG CLOUD COMPUTING 
SỐ 02 (CS.01) 2020 TẠP CHÍ KHOA HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG 82 
 if (waiting rate > Vth) { 
//tạo máy ảo bổ sung vm 
vm=createVM(); 
//đăng ký máy ảo với Loadbalancer 
LBRegister(vm); 
} 
 } 
5.//Thực hiện song song trên tất cả các máy ảo 
Parallel: 
//với mỗi máy ảo vm được mở, giám sát thời gian nhàn 
rỗi 
idletime=count(finishedtime); 
if (idletime>T1) { 
//xóa máy ảo VM khỏi danh sách của 
Loadbalancer; 
LBDelete(vm); 
 //tắt máy ảo VM; 
 VMDestroy(vm); 
} 
_________________________________________ 
V. MÔ PHỎNG GIẢI PHÁP AUTO SCALING DỰA 
VÀO TỈ LỆ ĐỆ TRÌNH KHÔNG THÀNH CÔNG 
Giải pháp auto scaling dựa vào tỉ lệ đệ trình yêu cầu vào 
máy ảo lần đầu không thành công như đã đề xuất ở trên 
được kiểm chứng qua mô phỏng máy tính. Chương trình 
mô phỏng được xây dựng bằng ngôn ngữ Java sử dụng thư 
viện Cloudsim [6] chạy trên máy tính Intel Core 2 Dual 
CPU 2GHz, bộ nhớ RAM 4GB. Mô phỏng sử dụng hệ 
thống điện toán đám mây có cấu hình như sau: 
Data center có 50 host, mỗi host có 32 core, RAM 
16GB, Storage 1TB, banwidth 10Gbps. Các host sử dụng 
time-shared scheduling cho máy ảo. Các máy ảo có cấu 
hình 1core, 1000 MIPS, 4GB RAM, 60GB Storage và 
1Gbps banwidth. Các máy ảo sử dụng time-shared 
scheduling cho các cloudlet (yêu cầu phục vụ). 
Giả sử khách hành sử dụng gói thuê bao gồm 2 máy ảo 
VM (virtual machine) và đăng ký sử dụng dịch vụ auto 
scaling. Sử dụng bộ cân bằng tải phổ biến là AMLB 
(Active Monitroing Load Balancer). Công việc mô phỏng 
sẽ dựa vào mô hình đánh giá được trình bày ở phần III, so 
sánh tính hiệu quả giữa giải pháp auto scaling theo waiting 
rate được đề xuất ở trên với auto scaling theo CPU usage 
đang được dùng phổ biến trên các hệ thống điện toán đám 
mây hiện nay. 
Trước tiên, hệ thống điện toán đám mây được chạy với 
thuật toán auto scaling dùng tham số CPU usage. Các 
ngưỡng được thay thế lần lượt là 80%, 85%, 90% và 95%. 
Ứng với mỗi giá trị ngưỡng chi phí máy ảo trung bình hoàn 
thành một yêu cầu và chi phí thời gian trung bình hoàn 
thành một yêu cầu được thống kê và tính toán. Kết quả mô 
phỏng cho trường hợp này được trình bày tương ứng trên 
hình 1 và hình 2. 
Hình 1. Chi phí máy ảo trung bình hoàn thành một yêu cầu tính 
theo VM.s tương ứng với các mức ngưỡng dùng CPU. 
Trên hình 1 cho thấy khi sử dụng mức ngưỡng thấp 80%, 
chi phí máy ảo cao hơn 5,5 VM.s/yêu cầu, mức chi phí này 
giảm dần khi ngưỡng tăng lên. Khi ngưỡng được đặt ở 95% 
thì chi phí máy ảo vào khoảng 3,5 VM.s. Tuy nhiên, trong 
khi chi phí máy ảo cao ứng với ngưỡng thấp thì trên hình 
2 cho thấy chi phí thời gian trung bình/yêu cầu lại nhỏ hơn, 
khoảng 31s/yêu cầu ở ngưỡng 80% so với 37s/yêu cầu ở 
ngưỡng 90% và cao hơn 40s khi ngưỡng ở 95%. 
Hình 2. Chi phí thời gian trung bình hoàn thành một yêu cầu 
tương ứng với các mức ngưỡng dùng CPU. 
Tiếp theo hệ thống điện toán đám mây được chạy với 
thuật toán auto scaling dùng tham số tỉ lệ yêu cầu không 
được tiếp nhận lần đầu và phải đợi waiting rate. Kịch bản 
lưu lượng ngõ vào hệ thống điện toán đám mây lần này 
hoàn toàn giống như lần chạy trong trường hợp dùng 
ngưỡng CPU uasge ở trên. Các ngưỡng tỉ lệ này được thay 
đổi lần lượt theo các tỉ lệ 20%, 30%, 40% và 50%. Ứng 
với mỗi trường hợp ngưỡng khác nhau chi phí máy ảo 
trung bình hoàn thành một yêu cầu và chi phí thời gian 
trung bình hoàn thành một yêu cầu được thống kê và tính 
toán. Kết quả chạy mô phỏng của trường hợp này được 
trình bày trên hình 3 và hình 4. Hình 3 là mô tả chi phí máy 
ảo trung bình VM.s/yêu cầu theo các ngưỡng tỉ lệ waiting 
rate và hình 4 là chi phí thời gian trung bình/yêu cầu theo 
các ngưỡng tỉ lệ waiting rate. 
0
1
2
3
4
5
6
80 85 90 95
Chi phí máy 
ảo trung bình 
theo ngưỡng 
CPU Usage
0
10
20
30
40
50
80 85 90 95
Chi phí thời 
gian trung 
bình theo 
ngưỡng CPU 
usage
Nguyễn Hồng Sơn 
SỐ 02 (CS.01) 2020 TẠP CHÍ KHOA HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG 83 
Hình 3. Chi phí máy ảo trung bình hoàn thành một yêu cầu tính 
theo VM.s tương ứng với các mức ngưỡng dùng waiting 
rate. 
Hình 3 cho thấy với ngưỡng tỉ lệ thấp 20% làm chi phí 
máy ảo ở mức cao 3.75 VM.s và chi phí giảm dần khi 
ngưỡng tỉ lệ tăng lên, mỗi yêu cầu tiêu tốn trung bình là 
3.45 VM.s khi ngưỡng tỉ lệ được đặt ở 50%. Tuy nhiên, 
trên hình 4 thì chi phí thời gian trung bình/yêu cầu tăng lên 
khi ngưỡng tỉ lệ tăng, ở mức 34 s ứng với ngưỡng tỉ lệ 20% 
và 40s khi ngưỡng tỉ lệ là 50%. 
Hình 4. Chi phí thời gian trung bình hoàn thành một yêu cầu 
tương ứng với các mức ngưỡng dùng waiting rate. 
Sau cùng, hình 5 là nhằm so sánh giữa auto scaling dựa 
vào CPU usage và auto scaling dựa vào waiting rate được 
đề xuất. Trục tung biểu thị chi phí máy ảo trung bình/yêu 
cầu và trục hoành là chi phí thời gian trung bình/yêu cầu. 
Theo đó, với chi phí thời gian trung bình ở mức thấp thì 
trường hợp dùng waiting rate có chi phí máy ảo thấp hơn 
nhiều, khoảng 3.7 VM.s so với 5.6 VM.s của trường hợp 
dùng CPU usage. Chỉ khi chi phí thời gian trung bình/yêu 
cầu lớn hơn 38.6s thì mức chi phí máy ảo của cả hai 
phương pháp mới xấp xỉ nhau ,vào khoảng 3.5 VM.s. Điều 
này chứng tỏ giải pháp auto scaling dùng waiting rate có 
thể giảm đồng thời cả hai chí phí so với auto scaling dùng 
CPU usage truyền thống. 
Hình 5. Quan hệ giữa chi phí máy ảo trung bình (MATB) và chi 
phí thời gian trung bình (TGTB) trên một yêu cầu của giải 
pháp dùng CPU usage và Waiting rate. 
VI. KẾT LUẬN 
Phương pháp auto scaling sử dụng tỉ lệ giữa yêu cầu 
không được đáp ứng lần đầu và tồng số yêu cầu được đệ 
trình đã được trình bày. Phương pháp này được xem như 
một trong số các phương pháp theo xu hướng custom-
metric auto scaling. Với cách dùng tỉ lệ này đã bao hàm tất 
cả các yếu tố phản ảnh năng lực của máy ảo và của hệ 
thống thuê bao trên điện toán đám mây vào thời điểm xem 
xét, nhờ đó phản hồi tình trạng máy ảo thực tế hơn, giúp 
đưa ra quyết định chính xác cho auto scaling. Kết quả mô 
phỏng dựa vào mô hình đánh giá cho thấy phương pháp 
auto scaling được đề xuất đã giảm đồng thời cả chi phí máy 
ảo và chi phí thời gian so với auto scaling dựa vào mức độ 
sử dụng CPU đang được dùng phổ biến trên các hệ thống 
điện toán đám mây hiện nay. Điều này đồng nghĩa với chi 
phí được giảm thiểu nhưng chất lượng dịch vụ vẫn được 
đảm bảo khi thực hiện auto scaling dùng tỉ lệ đặc biệt này. 
Nếu các hệ thống giám sát trung tâm của hệ thống điện 
toán đám mây có cung cấp tỉ lệ này thì người dùng hoàn 
toàn có thể áp dụng phương pháp cho hệ thống thuê bao 
của mình một cách nhanh chóng và hiệu quả. 
TÀI LIỆU THAM KHẢO 
[1] Peter Mell, Timothy Grance, The NIST Definition of Cloud 
Computing, NIST Special Publication 800-145, September 
2011. 
[2] Lorido-Botran, T., Miguel-Alonso, J. & Lozano, J.A. A 
Review of Auto-scaling Techniques for Elastic Applications 
in Cloud Environments. J Grid Computing 12, 559–592 
(2014). https://doi.org/10.1007/s10723-014-9314-7 
[3]Dariusz Rafal Augustyn, Lukasz Warchal, Metrics-Based 
Auto Scaling Module for Amazon Web Services Cloud 
Platform, 2017 
[4] Salman Taherizadeh and Vlado Stankovski, Dynamic Multi-
level Auto-scaling Rules for Containerized Applications, 
Computer And Communications Networks and Systems 
The Computer Journal, Vol. 62 No. 2, 2019 
[5] Sabidur Rahman, et al. Auto-Scaling Network Resources 
using Machine Learning to Improve QoS and Reduce Cost, 
Networking and Internet Architecture, 
 arXiv:1808.02975v2 [cs.NI], 2019. 
[6] CloudSim 3.0 API, The Cloud Computing and Distributed 
Systems(CLOUDS) Laboratory, The University of 
Melbourne,available: 
3.3
3.4
3.5
3.6
3.7
3.8
20 30 40 50
Chi phí máy 
ảo trung bình 
theo ngưỡng 
Waiting Rate
0
10
20
30
40
50
20 30 40 50
Chi phí thời 
gian trung 
bình theo 
ngưỡng 
Waiting Rate
0
1
2
3
4
5
6
32.9 35.89 38.61 40.23
Chi phi
MATB-Chi
phí TGTB
(CPU
Usage)
Chi phí
MATB-Chi
phí TGTB
(Waiting
Rate)
ĐIỀU CHỈNH TÀI NGUYÊN TỰ ĐỘNG DỰA VÀO THAM SỐ CHẤT LƯỢNG DỊCH VỤ TRONG CLOUD COMPUTING 
SỐ 02 (CS.01) 2020 TẠP CHÍ KHOA HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG 84 
[7] https://kubernetes.io/ 
AUTO SCALING BASED ON QUALITY OF 
SERVICE PARAMETERS IN CLOUD 
COMPUTING 
 Abstract: The provision of auto scaling service on the 
infrastructure of cloud service providers has helped 
subscribers avoid service degradation and save costs. 
Along with that is the emergence of auto scaling 
algorithms to automate the provision and return resources 
in a timely manner.The auto scaling method, which is 
based on the rule of matching current parameter values 
with thresholds, is commonly used in industrial 
environments. The effectiveness of the auto scaling 
method depends on how the parameter is selected. In this 
paper I propose to use quality of service parameters instead 
of a commonly used CPU usage parameter. The paper also 
provides a model to evaluate the effectiveness of this type 
of auto scaling and based on that to test the effectiveness 
of the method. The model has been installed and 
effectiveness has been determined according to the choice 
of quality of service parameters. 
Nguyen Hong Son received his B.Sc. 
in Computer Engineering from Ho 
Chi Minh City University of 
Technology, his M.Sc. and PhD in 
Communication Engineering from 
the Post and Telecommunication 
Institute of Technology Hanoi. His 
current research interests include 
communication engineering, 
machine learning, data science, 
network security, and cloud 
computing 

File đính kèm:

  • pdfdieu_chinh_tai_nguyen_tu_dong_dua_vao_tham_so_chat_luong_dic.pdf