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

Mô hình dự báo cho khả năng mở rộng tài nguyên trong môi trường phân tán

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.88 MB, 58 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------CHU THỊ THƯƠNG

MÔ HÌNH DỰ BÁO CHO KHẢ NĂNG MỞ RỘNG TÀI NGUYÊN
TRONG MÔI TRƯỜNG PHÂN TÁN

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:
TS. NGUYỄN BÌNH MINH

Hà Nội – Năm 2018


LỜI CAM ĐOAN
Tôi – Chu Thị Thương – xin cam đoan
 Luận văn tốt nghiệp (LVTN) Thạc sĩ này là cơng trình nghiên cứu của bản thân
tơi dưới sự hướng dẫn của Tiến sĩ Nguyễn Bình Minh.
 Các kết quả nêu trong Luận văn tốt nghiệp là trung thực, không phải là sao chép
tồn văn của bất kỳ cơng trình nào khác.

Hà Nội, ngày 08 tháng 09 năm 2018
Tác giả LVThS

Chu Thị Thương

2



LỜI CẢM ƠN
Đầu tiên, tôi xin được gửi lời cảm ơn sâu sắc nhất tới Thầy giáo – Tiến sĩ Nguyễn
Bình Minh – Phó trưởng bộ mơn Hệ thống thơng tin, Viện Công nghệ thông tin và
Truyền thông, Trường Đại học Bách Khoa Hà Nội. Thầy đã tận tình hướng dẫn và cho
tôi những lời khuyên quý báu trong quá trình thực hiện luận văn này.
Tiếp theo, tơi 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, Viện đào tạo sau đại học, Trường Đại học Bách Khoa Hà Nội đã tạo
điều kiện cho tơi trong q trình học tập và nghiên cứu tại trường.
Cuối cùng, tơi xin bày tỏ lịng cảm ơn tới những người thân trong gia đình, bạn bè
đã động viên và giúp đỡ để tơi hồn thành bản luận văn này.
Hà Nội, ngày 08 tháng 09 năm 2018
Tác giả LVThS

Chu Thị Thương

3


MỤC LỤC

LỜI CAM ĐOAN ........................................................................................................... 2
LỜI CẢM ƠN ................................................................................................................. 3
MỤC LỤC ....................................................................................................................... 4
DANH MỤC KÝ HIỆU, CÁC CHỮ VIẾT TẮT ........................................................ 6
DANH MỤC CÁC BẢNG ............................................................................................. 7
DANH MỤC HÌNH VẼ, ĐỒ THỊ ................................................................................. 8
1.

Đặt vấn đề .......................................................................................................... 9


2.

Phương pháp đề x́t ..................................................................................... 10

3.

Bớ cục ḷn văn ............................................................................................... 11

CHƯƠNG 1: TỞNG QUAN CÁC NGHIÊN CỨU ................................................... 12
1.1 Tổng quan về điện toán đám mây ................................................................... 12
1.2 Nhu cầu thực tế về cung cấp tài nguyên điện toán đám mây ....................... 14
1.3 Các nghiên cứu liên quan ................................................................................. 15
1.3.1 Tổng quan ................................................................................................. 15
1.3.2 Các mô hình dự đoán tuyến tính .............................................................. 18
1.3.3 Phương pháp sử dụng mạng nơ-ron ........................................................ 20
1.4 Các kiến thức cơ sở ........................................................................................... 21
1.4.1 Mạng bộ nhớ dài ngắn (LSTM) ................................................................ 21
1.4.2 Mạng nơ-ron liên kết chức năng (FLNN)................................................. 26
CHƯƠNG 2: THIẾT KẾ HỆ THỚNG ...................................................................... 31
2.1 Mơ tả bài toán .................................................................................................... 31
2.2 Mô hình hệ thống ............................................................................................... 31
2.2.1 Thu thập dữ liệu ......................................................................................... 33
2.2.2 Tiền xử lý dữ liệu ........................................................................................ 33
2.2.3 Huấn luyện mô hình ................................................................................... 36
2.2.4 Mô đun dự đoán .......................................................................................... 36
CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ ......................................................... 38

4



3.1 Công nghệ sử dụng và độ đo đánh giá mô hình .............................................. 38
3.1.1 Ngôn ngữ lập trình ..................................................................................... 38
3.1.2 Thư viện và môi trường sử dụng ............................................................... 38
3.1.3 Độ đo đánh giá mô hình ............................................................................. 39
3.2 Dữ liệu ................................................................................................................. 39
3.3 Các tiêu chí đánh giá ......................................................................................... 42
3.4

Cài đặt và kết quả thử nghiệm ...................................................................... 42

3.4.1

Thử nghiệm FLNN ............................................................................... 42

3.4.2

Thử nghiệm thay đổi các hàm mở rộng FLNN ................................. 45

3.4.3

Thử nghiệm LSTM ............................................................................... 50

3.3.4

Thử nghiệm thay đổi tham số cho mô hình LSTM .......................... 53

3.5 Nhận xét chung................................................................................................... 56
KẾT LUẬN ................................................................................................................... 57
1.


Tổng kết ........................................................................................................... 57

2.

Hướng phát triển ............................................................................................ 57

TÀI LIỆU THAM KHẢO ........................................................................................... 58

5


DANH MỤC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

Từ viết tắt
FLNN

Nghĩa tiếng Anh

Nghĩa tiếng Việt
Mạng nơ-ron liên kết chức năng

Functional Linked Neural
Network

LSTM

Mạng bộ nhớ dài ngắn

Long Short Term Memory

Networks

RNN

Recurrent Neural Network

Mạng nơ-ron hời quy

MAE

Mean Absolute Error

Sai số tuyệt đối trung bình

RMSE

Root Mean Square Error

Căn bậc hai của sai số bình
phương trung bình

6


DANH MỤC CÁC BẢNG

Bảng 1: Ví dụ dữ liệu dạng chuỗi thời gian và dạng học có giám sát ........................... 34
Bảng 2: Ví dụ chuyển dữ liệu về dạng học có giám sát dùng phương pháp "lag feature"
........................................................................................................................................ 34
Bảng 3: Ví dụ chuyển dữ liệu về dạng học có giám sát dùng phương pháp "sliding

window" ......................................................................................................................... 35
Bảng 4: Ví dụ chuyển dữ liệu về dạng học có giám sát dùng phương pháp "rolling
window statistics" .......................................................................................................... 35
Bảng 5: Bộ dữ liệu thực nghiệm .................................................................................... 40
Bảng 6: Độ chính xác dự đốn CPU mơ hình FLNN với kích thước cửa sổ trượt khác
nhau ................................................................................................................................ 43
Bảng 7: Kết quả thử nghiệm so sánh các hàm mở rộng trên bộ dữ liệu 3 phút ............. 46
Bảng 8: Kết quả thử nghiệm so sánh các hàm mở rộng trên bộ dữ liệu 5 phút ............. 46
Bảng 9: Kết quả thử nghiệm so sánh các hàm mở rộng trên bộ dữ liệu 10 phút ........... 47
Bảng 10: So sánh độ chính xác dự đốn CPU giữa mơ hình FLNN và LSTM với kích
thước cửa sổ trượt khác nhau ......................................................................................... 51
Bảng 11: So sánh thời gian thử nghiệm mơ hình trên bộ dữ liệu 10 phút ..................... 53
Bảng 12: Kết quả thay đổi thử nghiệm batch_size trong LSTM bộ dữ liệu 10 phút ..... 54
Bảng 13: Kết quả thay đổi thử nghiệm cửa sổ trượt trong LSTM bộ dữ liệu 10 phút ... 55

7


DANH MỤC HÌNH VẼ, ĐỒ THỊ
Hình 1: Mơ tả mạng nơ-ron truyền thẳng ...................................................................... 21
Hình 2: Mơ đun lặp của mạng RNN ch̉n một tầng (ng̀n [4]) ................................. 22
Hình 3: Mô đun lặp của mạng LSTM 4 tầng tương tác (ng̀n [4]) .............................. 22
Hình 4: Trạng thái tế bào ............................................................................................... 23
Hình 5: Cổng .................................................................................................................. 23
Hình 6: Tầng cổng quên (Forget gate layer) .................................................................. 24
Hình 7: Tầng cổng vào ................................................................................................... 25
Hình 8: Trạng thái hiện tại ............................................................................................. 25
Hình 9: Tầng ra (Output layer)....................................................................................... 26
Hình 10: Mơ hình mạng nơ-ron FLNN (ng̀n [6]) ..................................................... 28
Hình 11: Mơ hình hệ thống dự đốn tài nguyên ............................................................ 32

Hình 12: Dữ liệu CPU của bộ dữ liệu 3 phút ................................................................. 40
Hình 13: Dữ liệu CPU của bộ dữ liệu 5 phút ................................................................. 41
Hình 14: Dữ liệu CPU của bộ dữ liệu 10 phút ............................................................... 41
Hình 15: Kết quả dự đốn mơ hình FLNN với bộ dữ liệu 3 phút .................................. 43
Hình 16: Kết quả dự đốn mơ hình FLNN với bộ dữ liệu 5 phút .................................. 44
Hình 17: Kết quả dự đốn mơ hình FLNN với bộ dữ liệu 10 phút ................................ 45
Hình 18: Kết quả thử nghiệm các hàm mở rộng FLNN trên bộ dữ liệu 3 phút ............. 48
Hình 19: Kết quả thử nghiệm các hàm mở rộng FLNN trên bộ dữ liệu 5 phút ............. 49
Hình 20: Kết quả thử nghiệm các hàm mở rộng FLNN trên bộ dữ liệu 10 phút ........... 50
Hình 21: Kết quả dự đốn mơ hình FLNN và LSTM bộ dữ liệu 3 phút........................ 52
Hình 22: Kết quả dự đốn mơ hình FLNN và LSTM bộ dữ liệu 5 phút........................ 52
Hình 23: Kết quả dự đốn mơ hình FLNN và LSTM bộ dữ liệu 10 phút...................... 53
Hình 24: So sánh sai số khi thay đổi batch_size trong LSTM bộ dữ liệu 10p ............... 55
Hình 25: So sánh sai số khi thay đổi cửa sổ trượt trong LSTM bộ dữ liệu 10p ............ 55

8


MỞ ĐẦU
1. Đặt vấn đề
Điện toán đám mây đã nổi lên như một lựa chọn tối ưu cho hầu như tất cả các bài
tốn cần tài ngun tính tốn hiện nay. Điện tốn đám mây mang lại nhiều lợi ích
cho người sử dụng nó, bao gờm chính là khả năng cung cấp tài nguyên ảo hóa một
cách nhanh chóng và linh hoạt. Hiện nay, các nhà cung cấp dịch vụ điện toán đám
mây thường sử dụng cơ chế co giãn tài nguyên dựa trên giá trị ngưỡng tiêu thụ. Tuy
nhiên, trong thực tế là phương pháp này có nhược điểm to lớn là tài nguyên cung
cấp thường khá chậm, lúc cần dùng thì chưa cung cấp được, đặc biệt trong các trường
hợp có biến cố xảy ra đột ngột. Ngồi ra, tài nguyên vẫn được sử dụng chưa chính
xác dẫn đến lãng phí do khó xác định các thời điểm cung cấp thêm tài nguyên. Những
điều trên ngoài gây nên sự lãng phí, cịn giảm chất lượng dịch vụ và tăng chi phí của

người dùng và nhà cung cấp.
Có nhiều nhà nghiên cứu cũng như các nhà phát triển đã đầu tư vào phương pháp co
giãn tài nguyên mới cho điện tốn đám mây đó là xây dựng mơ hình dự đoán tài
nguyên sử dụng trong tương lai để tự động tăng giảm tài nguyên. Dù phương pháp
này mang nhiều tính chất hứa hẹn song trong thực tế thì sử dụng ngưỡng được sử
dụng rộng rãi nhất vì việc dự đốn tài ngun địi hỏi độ chính xác cao. Đây chính
là yếu tố quan trọng nhất của phương pháp mở rộng tài nguyên tự động trong môi
trường phân tán.
Do vậy, việc tìm ra mơ hình dự báo nào có độ chính xác cao kết hợp với hệ thống tự
động mở rộng tài nguyên điện toán đám mây là rất cần thiết. Mặc dù đã có nhiều mơ
hình mơ hình dự báo điện tốn đám mây được đề xuất như mơ hình LSTM-RNN sử
dụng dữ liệu lượng yêu cầu gửi đến máy chủ NASA, hay mơ hình sử dụng mạng nơ-ron
nhiều tầng để dự đoán năng lượng bức xạ của mặt trời sử dụng bộ dữ liệu năng lượng
bức xạ ở San Jose, Califolia từ 2005 đến 2010, …

9


Mục tiêu của luận văn này là tập trung so sánh và đánh giá một số mơ hình dự đốn
cho bài tốn co giãn tài ngun. Sau đó áp dụng mơ hình dự báo tốt cho hệ thống co
giãn tài nguyên trong môi trường phân tán.
Phạm vi của luận văn so sánh và đánh giá 2 dạng mạng nơ-ron áp dụng cho bài toán
xử lý dữ liệu chuỗi thời gian, bao gồm mạng học sâu được đại diện bởi mạng bộ nhớ
dài ngắn (Long Short Term Memory Networks - LSTM) và mạng nơ-ron bậc cao,
đại diện bởi mạng nơ-ron liên kết chức năng (Functional Linked Neural Network FLNN).
Các kết quả thực nghiệm với các tập dữ liệu tài nguyên thu thập từ Google Cluster
cho thấy mơ hình mạng bộ nhớ dài ngắn – LSTM cho hiệu quả tốt hơn.
Tuy nhiên, thời gian chạy thử nghiệm để ra kết quả lại lâu hơn so với mơ hình mạng
nơ-ron liên kết chức năng – FLNN.


2. Phương pháp đề xuất
Bài toán dự báo lượng tài nguyên cần cung cấp trong tương lai cho các dịch vụ điện
tốn đám mây đã có nhiều cách giải quyết và sử dụng mạng nơ-ron là một trong số
đó. Luận văn này sẽ sử dụng mạng bộ nhớ dài ngắn (LSTM) và mạng nơ-ron liên
kết chức năng (Functional Linked Neural Network) – một mạng nơ-ron có cấu trúc
đơn giản, đã được áp dụng trong rất nhiều bài toán như bài toán phân loại, hệ thống
nhận dạng … trong đó có bài tốn dự đốn.
Trong các chương sau sẽ đề xuất mơ hình hệ thống cho q trình huấn luyện và đưa
ra dự đốn cho bài tốn. Mơ hình hệ thống bao gồm 4 mô đun: thu thập và lưu trữ
dữ liệu, tiền xử lý dữ liệu, huấn luyện mơ hình, dự đốn trong dó 3 mơ đun đầu phục
vụ cho q trình huấn luyện mơ hình và mơ đun cuối cùng sử dụng mơ hình đã được
huấn luyện để đưa ra dự đốn.
Mơ đun đầu tiên thu thập và lưu trữ dữ liệu là mô đun thu thập chuỗi dữ liệu lịch sử
cần thiết cho bài toán.

10


Mơ đun tiền xử lý có nhiệm vụ xử lý dữ liệu thô, đưa dữ liệu về miền [0, 1] để thuận
lợi cho q trình huấn luyện. Ngồi ra cũng sử dụng các kỹ thuật chuyển đổi dữ liệu
dạng chuỗi thời gian về dạng học có giám sát để phù hợp với mơ hình mạng nơ-ron.
Mơ đun thứ 3 dùng để huấn luyện mạng nơ-ron để tìm ra tập trọng số tốt nhất. Sau
khi quá trình huấn luyện kết thúc tập trọng số của mạng được lưu lại để phục vụ q
trình dự đốn sau này.
Mơ đun dự đốn là mơ đun cuối cùng sử dụng mơ hình vừa học được kết hợp với dữ
liệu tại thời điểm hiện tại để dự đoán các giá trị tài nguyên sử dụng trong tương lai.
Mơ hình hệ thống trên được thử nghiệm để đánh giá hiệu năng dự đoán. Trong phần
thử nghiệm em sử dụng dữ liệu được thu thập từ Google năm 2011 và thử nghiệm
để so sánh hiệu năng của mơ hình.


3. Bớ cục ḷn văn
Sau đây là bố cục luận văn:
 Chương 1: sẽ giới thiệu các nghiên cứu liên quan
 Chương 2: sẽ mô tả chi tiết bài toán, xây dựng hệ thống kết hợp với các phương
pháp đề xuất để giải quyết bài toán
 Chương 3: sẽ thực hiện thử nghiệm mơ hình hệ thống đưa ra. Đầu tiên sẽ đưa ra
dữ liệu thử nghiệm, môi trường thực nghiệm, các độ đo đánh giá và các công nghệ
sử dụng. Sau đó đánh giá kết quả giữa các mơ hình với nhau.
 Kết luận: đưa ra kết luận những kết quả đạt được trong luận văn và định hướng
phát triển cho bài toán.

11


CHƯƠNG 1: TỞNG QUAN CÁC NGHIÊN CỨU
1.1 Tởng quan về điện toán đám mây
Hiện nay chúng ta nghe nói về điện tốn đám mây (Cloud Computing) khá nhiều.
Đây là mơ hình điện tốn sử dụng các cơng nghệ mạng máy tính và phát triển dựa vào
mạng Internet. Các máy tính được cấu hình để làm việc cùng nhau, các ứng dụng khác
nhau sử dụng sức mạnh điện toán tập hợp như đang chạy trên một hệ thống thống nhất.
Trong vài năm gần đây, điện toán đám mây đã tạo ra một cuộc cách mạng trong ngành
cơng nghiệp máy tính, thay đổi cơ bản cách thức sử dụng 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. Ở mơ hình điện tốn, mọi
khả năng liên quan đến cơng nghệ thơng tin được cung cấp dưới dạng dịch vụ, cho phép
người sử dụng truy cập vào dịch vụ từ một nhà cung cấp mà khơng cần phải có kiến thức,
kinh nghiệm về cơng nghệ đó cũng như khơng cần quan tâm đến cơ sở hạ tầng phục vụ
cơng nghệ đó. Tính linh hoạt của điện toán đám mây là chức năng phân phối tài nguyên
theo yêu cầu. Trước đây, khi triển khai một ứng dụng cần phải mua hay thuê một hay
nhiều máy chủ, thì nay điện tốn đám mây cho phép giản lược q trình này. Các lợi ích
mà nó đem lại như cung cấp những gì cần thiết một cách tức thời các tài nguyên, tốc độ

xử lý nhanh, cắt giảm chi phí, mở rộng linh hoạt, tiếp cận từ xa, bảo mật tích hợp, cài
đặt và bảo trì tài ngun thay vào đó xác định nhu cầu của mình sau đó các nhà cung cấp
dịch vụ sẽ cung cấp.
Hiện nay, Google, Amazon.com và Salesforce.com đang dẫn đầu trong cộng đờng và
phát triển khơng gian điện tốn doanh nghiệp. Có ba mức độ chính của các dịch vụ điện
tốn đám mây: Hạ tầng được cung cấp như một dịch vụ (Infrastructure as a Service IaaS), nền tảng được cung cấp như một dịch vụ (Platform as a Service), phần mềm được
cung cấp như một dịch vụ (Software as a Service - SaaS).
Hạ tầng được cung cấp như một dịch vụ theo Amazon là mức cơ bản nhất của điện toán
đám mây, thường thì nhà cung cấp dịch vụ sẽ cung cấp các dịch vụ về mạng, máy tính

12


(máy ảo hoặc máy thật tùy nhu cầu) cũng như nơi lưu trữ dữ liệu. Cụ thể bạn có thể thuê
một hệ thống cung cấp máy chủ trên mây với lượng CPU, RAM, ổ cứng (SSD hoặc
HDD) tùy theo nhu cầu người dùng. Như vậy bạn đã có một máy chủ còn các vấn đề
như máy chủ đặt đâu hay việc bảo trì ra sao thì người sử dụng khơng cần quan tâm đến.
Như vậy IaaS không được thiết kế cho người dùng cuối mà chủ yếu cho những người
muốn một nơi để triển khai phần mềm của mình như lập trình viên, cơng ty… Dịch vụ
điện tốn đám mây thứ hai phổ biến hiện nay là nền tảng được cung cấp như một dịch
vụ ( Platform as a Service - PaaS) là mức độ cao hơn so với IaaS. Trong trường hợp
mua dịch vụ IaaS bạn sẽ được cung cấp một máy chủ. Nhưng để triển khai ứng dụng
web của bạn, bạn phải tự cài đặt nhiều thứ liên quan như máy chủ web, cơ sở dữ liệu…
sau đó mới có thể triển khai ứng dụng của mình. Đối với PaaS cho phép bạn chọn một
nền tảng đã được cài đặt sẵn và phù hợp cho ứng dụng của mình. Có nhiều nhà cung cấp
dịch vụ khơng cho phép bạn sở hữu máy chủ, họ chỉ đơn giản cung cấp cho bạn một nền
tảng để bạn triển khai ứng dụng của mình, trong trường hợp này bạn đang sử dụng chung
một máy chủ với nhiều người khác. Và cơ sở dữ liệu của bạn cũng được cài đặt trong
môi trường lưu trữ với hàng trăm cở sở dữ liệu khác. Điều này làm giảm chi phí bạn phải
trả, tuy nhiên gây ra các rủi ro, và là mục tiêu hàng đầu của các cuộc tấn công độc hại

truy cập bất hợp pháp vào dữ liệu của bạn. Dịch vụ thứ ba phổ biến hiện nay là phần
mềm được cung cấp như một dịch vụ ( Software as a Service – SaaS ) đây là mức độ cao
nhất trong các loại hình dịch vụ điện tốn đám mây. Đó là một sản phẩm hoàn thiện được
vận hành và quản lý bở một nhà cung cấp. Hầu hết các trường hợp thì dịch vụ SaaS cung
cấp những phần mềm hoặc ứng dụng chạy trên Internet và có thể sử dụng ngay bởi người
dùng cuối. Các dịch vụ gửi thư điện tử như Gmail, Outlook … là một trong số các ví dụ
điển hình của Saas bạn có thể ngay lập tức sủ dụng để gửi nhận thư mà không phải thiết
lập máy chủ quản lý thư. Google Docs hoặc Microsolf Online cũng là SaaS là những bộ
phần mềm văn phòng trực tuyến và được cung cấp miễn phí. Điện tốn đám mây mang
lại những lợi ích thiết thực trong đó lợi ích lớn nhất là tiết kiệm chi phí. Chủ yếu là bạn

13


sẽ giảm được chi phí đầu tư hạ tầng ban đầu, chi phí mua phần cứng, phần mềm bảo
dưỡng, chi phí lắp đặt, vận hành… Theo sau đó là sự tiện lợi bạn có thể nhanh chóng sử
dụng ngay một thứ gì đó mà khơng phải tốn cơng cài đặt phức tạp, có thể truy cập mọi
lúc mọi nơi khi có Internet khơng phụ thuộc vào phần mềm hay phần cứng đang sử dụng.
Một lợi ích nữa là sự an tồn và tính liên tục, nếu ổ cứng của bạn bị hỏng, có thể bạn sẽ
mất hết dữ liệu, trừ khi đã được sao lưu sang một ổ cứng khác. Trong khi đó nếu dữ liệu
được đưa lên Dropbox hay OneDrive thì tính an tồn sẽ cao hơn. Dữ liệu của bạn được
chăm sóc bởi nhà cung cấp dịch vụ bằng cách sao lưu định kì, nếu ổ cứng tại đó bị hỏng
sẽ được thay thế bởi nhà cung cấp dịch vụ, và dữ liệu vẫn được an tồn. Tính an toàn
của dữ liệu cũng được xem như một lợi ích khi sử dụng điện toán đám mây. Bên cạnh
những lợi ích điện tốn đám mây cũng gặp phải những hạn chế nhất định. Khi sử dụng
điện toán đám mây bạn phải tin tưởng rằng nhà cung cấp dịch vụ sẽ bảo mật thơng tin
cho mình, khơng làm rị rỉ thơng tin ra ngồi và đảm bảo dữ liệu khơng bị bán cho các
đối thủ cạnh tranh nhưng đôi khi các nhà cung cấp dịch vụ không làm được điều đó. Mặt
khác thời gian chết cũng là một hạn chế do không một nhà cung cấp nào đảm bảo rằng
máy chủ của họ sẽ chạy liên tục 100% và không bao giờ ngừng.


1.2 Nhu cầu thực tế về cung cấp tài nguyên điện toán đám mây
Trong lĩnh vực điện toán đám mây có một vấn đề mà nhà cung cấp gặp phải là máy chủ
của họ khơng có khả năng cung cấp cho tất cả các yêu cầu tại một thời điểm nào đó làm
cho người sử dụng dịch vụ rơi vào thời gian chết. Nguyên nhân chính dẫn đến vấn đề
này là khi chúng ta sử dụng dịch vụ điện tốn đám mây, thơng thường chúng ta sử dụng
chung tài nguyên với nhiều người khác và nhà cung cấp có nhiệm vụ quản lý và phân
phối tài nguyên cho người dùng nhưng do yêu cầu tăng cao đột ngột các nhà cung cấp
không lường trước được. Đối với các nhà cung cấp dịch vụ điện tốn đám mây thì việc
dự đoán lượng tài nguyên cần phải cung cấp trong tương lai là rất cần thiết giúp các nhà
cung cấp dịch vụ giảm được tối đa thời gian chết cho những người sử dụng dịch vụ. Ví

14


dụ như việc dự đoán nhu cầu sử dụng CPU hay RAM trong thời gian tới để trung tâm
máy chủ có chiến lược cấp phát tài nguyên phù hợp là một bài toán rất phổ biến. Tại một
trung tâm máy chủ năng lượng tiêu tương thụ ứng với số lượng máy chủ hoạt động tại
một thời điểm. Nếu số lượng máy chủ hoạt động càng nhiều thì càng tiêu tốn năng lượng.
Do nhu cầu sử dụng tài nguyên tại từng thời điểm là khác nhau rất thất thường, nên tại
mỗi thời điểm số lượng máy chủ cần để đáp ứng tài nguyên cung cấp là rất khác nhau.
Nếu có thể sử dụng ít máy chủ nhất mà vẫn có thể đáp ứng được tất cả các yêu cầu tài
nguyên thì trung tâm sẽ tiêu tốn ít năng lượng nhất. Với một mơ hình có thể dự đốn khá
chính xác lượng tài nguyên sử dụng trong tương lai thì trung tâm có thể tập trung vào
việc thay đổi trạng thái của các máy chủ (ngủ, hoạt động) từ đó tối ưu hóa số lượng máy
chủ cần hoạt động tại một thời điểm và năng lượng cần sử dụng. Nếu trong trường hợp
số lượng yêu cầu tài nguyên đến trung tâm tăng cao thì trung tâm sẽ có thể lường trước
được và sẽ có thời gian để kích hoạt thêm máy chủ để đáp ứng nhu cầu này. Bài tốn dự
đốn ngồi áp dụng cho điện tốn đám mây cịn có rất nhiều ứng dụng cho các lĩnh vực
khác như dự đoán nhiệt độ, dự đoán sự tăng giảm cổ phiếu … Tuy rằng bài tốn dự đốn

cho thấy lợi ích khơng chỉ trong lĩnh vực điện tốn đám mây mà cịn trong nhiều lĩnh
vực khác nhưng giải quyết bài toán trên vẫn gặp phải nhiều khó khăn do sự thay đổi bất
thường liên tục của dữ liệu.

1.3 Các nghiên cứu liên quan
1.3.1 Tởng quan
Mục đích chính của kỹ thuật phân phối tài ngun chủ động là dự đốn chính xác
tài ngun sử dụng. Có một số lượng lớn các nghiên cứu về các mơ hình dự tốn trong
điện tốn đám mây. Và ARIMA (Autoregressive Intergrate Moving Average) là một
trong những mô hình tuyến tính phổ biến, thường xun được sử dụng. Trong mơ hình
này giả định rằng chuỗi dữ liệu là tuyến tính và tuân theo một phân phối thống kế nào
đó. Mơ hình ARIMA có các lớp mơ hình con như mơ hình tự hời quy (Auto regressive -

15


AR) , mơ hình trung bình trượt (Moving average – MA), mơ hình tự hời quy và trung
bình trượt ARMA (autoregressive-moving average) là mơ hình kết hợp mơ hình tự hời
quy và mơ hình trung bình trượt. Sự phổ biến của mơ hình ARIMA chủ yếu là do sự
mềm dẻo và khá dễ dàng triển khai trên thực tế. Tuy nhiên hạn chế lớn nhất của các mơ
hình này là giả định chuỗi dữ liệu sử dụng là tuyến tính làm cho những mơ hình này
khơng phù hợp trong nhiều tình huống do trong thực tế các chuỗi thời gian thường ở
dạng này phi tuyến tính và có độ phức tạp cao. Do vậy đã có nhiều nghiên cứu áp dụng
những mơ hình phi tuyến cho bài tốn này và mạng nơ-ron là một trong số đó.
Gần đây, với sự phát triển của mạng nơ-ron nhân tạo, đã có thể áp dụng và giải quyết
các bài toán với dữ liệu có tính phi tuyến, được biết đến nhiều nhất là mạng nơ-ron truyền
thẳng (Feed-forward neural network - FFNN) sử dụng giải thuật lan truyền ngược sai số
- hay cịn có tên gọi khác là back-propagation neural network (BPNN). Tuy nhiên do sự
dụng giải thuật lan truyền ngược và sử dụng một tầng ẩn nên mạng ANN có rất nhiều
nhược điểm. Trong nghiên cứu 1, F. Jabari và các cộng sự đã ứng dụng mạng nơ-ron

nhiều tầng để dự đoán năng lượng bức xạ của mặt trời sử dụng bộ dữ liệu năng lượng
bức xạ ở San Jose, Califolia từ 2005 đến 2010. Mạng nơ-ron nhiều tầng đã thành công
áp dụng cho nhiều vấn đề trong thực tế như dự đoán, phân loại, xử lý tín hiệu, nhận dạng
hình ảnh, và đặc biệt là trong kinh doanh và khoa học. Tuy nhiên bởi vì số lượng trọng
số tăng khi số tầng và số nơ-ron trong mỗi tầng tăng dẫn đến thời gian huấn luyện dài.
Để có thể khắc phục nhược điểm đó, cấu trúc mạng nơ-ron Functional Linked Neural
Network (FLNN) được giới thiệu. FLNN lần đầu tiên được đề xuất bởi Pao, là cấu trúc
mạng chỉ có hai tầng: tầng đầu vào và đầu ra nên số lượng trọng số trong mạng giảm dẫn
đến thời gian huấn luyện giảm. Trong FLNN sự cần thiết của các tầng ẩn thay vào đó sử
dụng các tập hàm để mở rộng đầu vào. FLNN có khả năng học được những quan hệ phi
tuyến tính giữa đầu vào và đầu ra khi sử dụng tập hàm mở rộng phù hợp.

1

Jabari, Farkhondeh & Masoumi, Amin & Mohammadi-ivatloo, Behnamz (2017)

16


Gần đây, mạng nơ-ron hồi quy (Recurrent Neural Network - RNN) cho thấy sự hữu ích
đối với các bài tốn có dữ liệu theo chuỗi thời gian. Mạng nơ-ron hời quy (RNN) khác
biệt so với mạng nơ-ron truyền thẳng do cấu trúc mạng cho phép nhận vào một chuỗi
thông tin và thông tin của các điểm trong chuỗi được nhớ và sử dụng tại các điểm sau
đó. Trong thực tế mạng nơ-ron hời quy (RNN) chỉ có thể nhớ được thơng tin ở đầu chuỗi
khi chuỗi có độ dài ngắn. Nếu độ dài chuỗi dài mạng chỉ có thể sử dụng được thơng tin
của một vài điểm trước đó. Để khắc phục nhược điểm này LSTM được đề xuất bởi
Hochreiter và Schmidhuber (1997). LSTM có 3 cổng: cổng vào, cổng quên, cổng ra.
Cổng vào giúp ta chỉ định được bao nhiêu thông tin của đầu vào sẽ ảnh hưởng tới trạng thái
mới. Cổng quên thì giúp ta bỏ đi bao nhiêu lượng thơng tin ở trạng thái trước đó. Cịn cổng
ra sẽ điều chỉnh lượng thông tin trạng thái trong có thể ra ngồi và truyền tới các nút mạng

tiếp theo. Với sự cải thiện này, RNN có khả năng nhận diện và học các phụ thuộc trong
khoảng thời gian dài. Mạng nơ-ron LSTM đã được sử dụng trong bài toán dự đoán tài nguyên
đám mây, Jitendra 2 và các cộng sự đã đề xuất mơ hình LSTM-RNN sử dụng dữ liệu lượng
yêu cầu gửi đến máy chủ NASA.
Trong những nghiên cứu nêu ra bao gờm các mơ hình tuyến tính và mạng nơ-ron
để mơ hình hóa và dự đốn, mặc dù có điểm mạnh và điểm yếu khác nhau, các phương
pháp trên đã khá thành công trong các ứng dụng vào bài tốn dự dốn. Gần đây trong
cơng trình 3 cho biết SVM (Support Vector Machine) nhận được nhiều sự quan tâm trong
giải quyết bài toán phân loại và dự đoán. SVM được xây dựng bởi Vapnik và các đờng
nghiệp của ơng tại phịng nghiên cứu năm 1995. Ban đầu SVM được thiết kế để giải
quyết bài toán phân loại, như nhận diện chữ cái, nhận diện khuôn mặt, phân loại văn bản
… Nhưng sau đó họ tìm ra có thể sử dụng để giải quyết trên rất nhiều các lĩnh vực khác
như xấp xỉ hàm số và dự đốn sử dụng chuỗi dữ liệu. Đặc tính đặc biệt nhất của SVM là
nó khơng chỉ thiết kế để có thể có kết quả phân loại tốt mà cịn đưa ra một mơ hình có

2
3

Jitendra Kumar (2017)
Ratnadip Adhikari (2013)

17


tính tổng quát tốt hơn khi sử dụng với những dữ liệu không dùng để huấn luyện. Trong
SVM, lời giải của vấn đề chỉ phụ thuộc vào một tập con các điểm trong tập dữ liệu huấn
luyện. Vì lý do đó SVM đã trở thành một phương pháp phổ biến, đặc biệt là vấn đề dự
đoán trong những năm gần đây. Hiện nay Least-square SVM (LS-SVM) và Dynamic
Least-square SVM (LSSVM) là 2 mơ hình SVM phổ biến sử dụng trong dự đốn với
chuỗi dữ liệu.

1.3.2 Các mơ hình dự đoán tuyến tính
Giả sử chuỗi giá trị theo thời gian có dạng 𝑌 = {𝑌1 , 𝑌2 , … , 𝑌𝑡 }. Sau đây xét một số mơ
hình tuyến tính hay dùng trong bài tốn dự đốn4 .
1.3.2.1 Mơ hình tự hồi quy (AR)
Gọi 𝑌𝑡 là giá trị cần dự đoán tại thời điểm thứ t. Xét mơ hình sau:
(𝑌𝑡 − 𝛿 ) = 𝛼(𝑌𝑡−1 − 𝛿 ) + 𝑢𝑡
Với 𝛿 là giá trị trung bình của Y, 𝑢𝑡 là một số hạng sai số ngẫu nhiên khơng tương quan,
có giá trị trung bình bằng 0 và phương sai khơng đổi (được gọi là yếu tố ngẫu nhiên
thuần túy – white noise) thì có thể nói rằng 𝑌𝑡 tn theo q trình ngẫu nhiên tự hời quy
bậc nhất hay AR(1). Giá trị Y tại thời điểm t phụ thuộc vào giá trị tại các thời điểm trước
đó t – 1 và vào một yếu tố ngẫu nhiên. Mơ hình này cho biết giá trị dự báo của Y tại thời
điểm t chỉ đơn giản tỉ lệ với giá trị tại thời điểm t – 1 cộng với một yếu tố ngẫu nhiên,
các giá trị của 𝑌𝑡 được biểu diễn xung quanh giá trị trung bình của Y. Nếu xét mơ hình
sau:
(𝑌𝑡 − 𝛿 ) = 𝛼1 (𝑌𝑡−1 − 𝛿 ) + 𝛼2 (𝑌𝑡−2 − 𝛿 ) + 𝑢𝑡
Thì có thể nói rằng 𝑌𝑡 tn theo q trình tự hời quy bậc hai hay AR(2). Với trường hợp
tổng quát AR(p) thì phải tn theo mơ hình sau:
(𝑌𝑡 − 𝛿 ) = 𝛼1 (𝑌𝑡−1 − 𝛿 ) + 𝛼2 (𝑌𝑡−2 − 𝛿 ) + ⋯ + 𝛼𝑝 (𝑌𝑡−𝑝 − 𝛿) + 𝑢𝑡

4

/>
18


1.3.2.2 Mơ hình trung bình trượt (MA)5
Xét mơ hình:
𝑌𝑡 = 𝜇 + 𝛽0 𝑢𝑡 + 𝛽1 𝑢𝑡−1
Với 𝜇 là hằng số và 𝑢𝑡 là số hạng sai số ngẫu nhiên thuần túy như trong mơ hình AR. Ở
đây, Y tại thời điểm t sẽ bằng tổng một hằng số, trung bình trượt của sai số hiện tại và

quá khứ .Trong trường hợp này Y tuân theo quá trình trung bình trượt bậc nhất hay
MA(1). Tổng quát Y tuân theo quá trình trung bình bậc q khi
𝑌𝑡 = 𝜇 + 𝛽0 𝑢𝑡 + 𝛽1 𝑢𝑡−1 + 𝛽2 𝑢𝑡−2 + ⋯ + 𝛽𝑞 𝑢𝑡−𝑞
Quá trình trung bình trượt là một sự kết hợp tuyến tính của các số hạng ngẫu nhiên thuần
túy.
1.3.2.3 Mô hình tự hồi quy và trung bình trượt (ARMA)6
Đương nhiên có nhiều khả năng Y có đặc điểm của cả AR và MA và do vậy sinh ra mơ
hình ARMA là sự kết hợp của 2 mơ hình trên. 𝑌𝑡 tn theo q trình ARMA(1,1) nếu có
thể viết dưới dạng
𝑌𝑡 = 𝜇 + 𝛼𝑌𝑡−1 + 𝛽0 𝑢𝑡 + 𝛽1 𝑢𝑡−1
𝜇 là hằng số, mơ hình có một số hạng tự hời quy và một số hạng trung bình trượt. Tổng
qt q trình ARMA(p, q) với p số hạng hời quy và q số hạng trung bình trượt có dạng
sau:
𝑌𝑡 = 𝜇 + 𝛼1 𝑌𝑡−1 + 𝛼2 𝑌𝑡−2 + ⋯ + 𝛼𝑝 𝑌𝑡−𝑝 + 𝛽0 𝑢𝑡 + 𝛽1 𝑢𝑡−1 + 𝛽2 𝑢𝑡−2 + ⋯
+ 𝛽𝑞 𝑢𝑡−𝑞
1.3.2.4 Mô hình trung bình trượt kết hợp tự hồi quy (ARIMA)7

5

/> />7
/>6

19


Các mơ hình tuyến tính đã nêu đều dựa trên giả thuyết là chuỗi thời gian được sử dụng
có tính dừng. Chuỗi thời gian có tính dừng khi giá trị trung bình, phương sai, hiệp phương
sai giữ ngun khơng đổi cho dù chuỗi được xác định vào bất cứ thời điểm nào. Nhưng
đơi khi chuỗi khơng có tính dừng. Để đưa chuỗi về dạng có tính dừng cần phải áp dụng
một số lượng phép tính sai phân sau đó sử dụng mơ hình ARMA. Mơ hình ARIMA(p,

d, q) là mơ hình trung bình trượt tự kết hợp, với p biểu thị số các số hạng tự hồi quy, d
biểu thị số lần chuỗi thời gian phải được tính sai phân cho tới khi có tính dừng, q là số
các số hạng trung bình trượt. Với mơ hình ARIMA(2,1,2) phải được tính sai phân một
lần. Khi d = 0 thì mơ hình tương đương ARMA(p, q) và chuỗi thời gian ban đầu có tính
dừng. Mơ hình ARIMA(p, 0, 0) là mơ hình AR(p) với chuỗi thời gian có tính dừng, mơ
hình ARIMA(0,0,q) là mơ hình MA(q) với chuỗi thời gian có tính dừng.
1.3.3 Phương pháp sử dụng mạng nơ-ron
Mạng nơ-ron nhân tạo (Artificial neural networks-ANN) là mơ hình phân lớp phi
tuyến tính, hình thành dựa trên mơ phỏng lại cấu tạo và hoạt động của mạng nơ-ron sinh
học (Biological neural networks-BNN) bên trong bộ não con người.
Hiện nay mơ hình mạng nơ-ron nhiều lớp (MLP) được cấu tạo gồm các tầng khác
nhau. Tầng đầu tiên được gọi là tầng đầu vào (input layer), tiếp nhận thông tin đầu vào.
Tầng cuối cùng là tầng đầu ra (output layer) chứa thông tin đầu ra. Xen giữa tầng input
và output gồm các tầng khác, gọi là là các tầng ẩn (hidden layers). Các nút ở các layer
kề nhau thường được kết nối toàn bộ với nhau. Hình 1 (trái) mơ tả mạng nơ-ron truyền
thẳng có 1 tầng ẩn, hình 1 (phải) mơ tả mạng nơ-ron truyền thẳng có 2 tầng ẩn.
Khi áp dụng vào bài toán dự đoán chuỗi thời gian, đầu vào mạng nơ-ron sẽ được
biểu diễn dưới dạng 𝑥1 , 𝑥2 , … , 𝑥𝑝 là các giá trị gần nhất trước đó. Mạng nơ-ron sẽ xấp xỉ
hàm quan hệ giữa đầu vào xi và đầu ra thực tế yi
𝑦 = 𝑓(𝑥1 , 𝑥2 , … . , 𝑥𝑝 )

20


Hay nói cách khác, với bài tốn chuỗi thời gian, đầu vào của mạng sẽ là các giá trị gần
nhất của dữ liệu và đầu ra sẽ là giá trị dự đoán tương lai. Mạng ANN sẽ thực hiện hàm
ánh xạ: 𝑦(𝑡 + 1) = 𝑓(𝑦𝑡 , 𝑦𝑡−1 , … , 𝑦𝑡−𝑝 )

Hình 1: Mô tả mạng nơ-ron truyền thẳng


Trong đó y(t+1) là giá trị quan sát tại thời điểm t. Qua đây ta có thể thấy mạng
nơ-ron nhân tạo có thể tương đương với mơ hình trung bình trượt khơng tuyến tính trong
bài tốn dự đốn chuỗi thời gian.

1.4 Các kiến thức cơ sở
1.4.1 Mạng bộ nhớ dài ngắn (LSTM)
Mạng bộ nhớ dài ngắn (Long Short Term Memory Networks - LSTM) là một dạng đặc
biệt của mạng nơ-ron hồi quy RNN, nó có khả năng học được các phụ thuộc xa. LSTM
được giới thiệu bởi Hochreiter & Schmidhuber (1997), và sau đó đã được cải tiến và phổ
biến bởi rất nhiều người trong ngành. Chúng hoạt động cực kì hiệu quả trên nhiều bài toán
khác nhau nên dần đã trở nên phổ biến như hiện nay.
Tất cả mạng hồi quy RNN đều có dạng là một chuỗi các mơ đun lặp đi lặp lại của mạng nơron. Với mạng RNN ch̉n, mơ đun này có cấu trúc rất đơn giản, thường là một tầng tanh

21


Hình 2: Mô đun lặp của mạng RNN chuẩn một tầng 8

LSTM cũng có kiến trúc dạng chuỗi như vậy, nhưng mô đun bên trong khác với mạng
RNN chuẩn. Thay vì chỉ có một tầng mạng nơ-ron, nó có tới 4 tầng mạng nơ-ron tương
tác với nhau một cách đặc biệt.

Hình 3: Mô đun lặp của mạng LSTM 4 tầng tương tác (nguồn [4])

8

/>
22



Ý tưởng cớt lõi của LSTM:
Chìa khóa của LSTM là trạng thái tế bào (cell state), là đường chạy thông ngang phía
trên sơ đờ hình vẽ dưới.

Hình 4: Trạng thái tế bào

Trạng thái tế bào là một dạng giống băng truyền, chạy xuyên suốt tất cả các mắt xích
(các nút mạng) và chỉ tương tác tuyến tính đơi chút. Vì vậy mà các thơng tin có thể dễ
dàng truyền đi thơng suốt mà khơng sợ bị thay đổi.
LSTM có khả năng bỏ đi hoặc thêm vào các thông tin cần thiết cho trạng thái tế bào,
chúng được điều chỉnh cẩn thận bởi các nhóm được gọi là cổng (gate). Các cổng là nơi
sàng lọc thơng tin đi qua nó, chúng được kết hợp bởi một tầng mạng sigmoid và một
phép nhân. Tầng sigmoid sẽ cho đầu ra là một số trong khoảng [0,1], mơ tả có bao nhiêu
thơng tin có thể được thơng qua. Khi đầu ra là 0 thì có nghĩa là khơng cho thơng tin nào
đi qua cả, cịn khi là 1 thì có nghĩa là cho tất cả các thơng tin đi qua nó

Hình 5: Cởng

23


Một mạng LSTM gờm có 3 cổng như vậy để duy trì và điều hành trạng thái tế bào.
Bên trong mạng LSTM:
Bước đầu tiên của LSTM là quyết định xem thông tin nào cần bỏ đi từ trạng thái tế bào.
Quyết định này được đưa ra bởi tầng sigmoid - gọi là “tầng cổng quên” (forget gate layer).
Nó sẽ lấy đầu vào là ht-1 và xt rồi đưa ra kết quả là một số trong khoảng [0,1] cho mỗi số
trong trạng thái tế bào Ct-1. Đầu ra là 1 thể hiện rằng nó giữ tồn bộ thơng tin lại, cịn 0 chỉ
rằng tồn bộ thơng tin sẽ bị bỏ đi.

Hình 6: Tầng cổng quên (Forget gate layer)


Bước tiếp theo là quyết định xem thông tin mới nào sẽ lưu vào trạng thái tế bào. Việc này
gồm 2 phần:
 Đầu tiên là sử dụng một tầng sigmoid được gọi là “tầng cổng vào” (input gate
layer) để quyết định giá trị nào ta sẽ cập nhật.
 Tiếp theo là một tầng tanh tạo ra một véc-tơ cho giá trị mới 𝐶̃ t nhằm thêm vào
cho trạng thái. Trong bước tiếp theo, ta sẽ kết hợp 2 giá trị đó lại để tạo ra một
cập nhập cho trạng thái.

24


Hình 7: Tầng cổng vào

Giờ là lúc cập nhập trạng thái tế bào cũ 𝐶̃ t-1 thành trạng thái mới Ct. Nhân trạng thái cũ với ft
để bỏ đi những thơng tin ta quyết định qn lúc trước. Sau đó cộng thêm it∗𝐶̃ t . Trạng thái
mới thu được này phụ thuộc vào việc quyết định cập nhập mỗi giá trị trạng thái ra sao.

Hình 8: Trạng thái hiện tại
Cuối cùng, ta cần quyết định xem ta muốn đầu ra là gì. Giá trị đầu ra sẽ dựa vào trạng thái tế
bào, nhưng sẽ được tiếp tục sàng lọc. Đầu tiên, ta chạy một tầng sigmoid để quyết định phần
nào của trạng thái tế bào ta muốn xuất ra. Sau đó, ta đưa nó trạng thái tế bào qua một
hàm tanh để cho giá trị nó về khoảng [1,1], và nhân nó với đầu ra của cổng sigmoid để được
giá trị đầu ra mong muốn.

25


×