1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây (tt)

27 381 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 752,36 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây (Luận văn thạc sĩ)Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây (Luận văn thạc sĩ)Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây (Luận văn thạc sĩ)Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây (Luận văn thạc sĩ)Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây (Luận văn thạc sĩ)Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây (Luận văn thạc sĩ)Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây (Luận văn thạc sĩ)Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây (Luận văn thạc sĩ)Đề xuất thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây (Luận văn thạc sĩ)

Trang 2

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

Người hướng dẫn khoa học: PGS.TS TRẦN CÔNG HÙNG

Phản biện 1: PGS.TS LÊ HOÀNG THÁI

Phản biện 2: TS LÊ XUÂN TRƯỜNG

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông

Vào lúc: 08 giờ 00 ngày 14 tháng 07 năm 2018

Có thể tìm hiểu luận văn tại:

- Thư viện của Học viện Công nghệ Bưu chính Viễn thông

Trang 3

MỞ ĐẦU

Ngày nay song song với sự bùng nổ mạnh mẽ của công nghệ thông tin và sự phát triển của Internet toàn cầu là sự phát triển không ngừng của công nghệ điện toán đám mây Nhằm nâng cao hiệu suất phục vụ của các dịch vụ điện toán đám mây, theo các chuyên gia thì việc quản lý tài nguyên đối mặt với các vấn đề cơ bản bao gồm phân bổ tài nguyên, đáp ứng tài nguyên, kết nối tới tài nguyên, khám phá tài nguyên chưa sử dụng, ánh xạ các tài nguyên tương ứng, mô hình hóa tài nguyên, cung cấp tài nguyên và lập kế hoạch sử dụng các tài nguyên Trong đó, việc lập kế hoạch cho sử dụng tài nguyên dựa trên các kết nối theo thời gian, và thời gian đáp ứng của dịch vụ Từ đó ta có thể nghiên cứu thời gian đáp ứng để đưa ra giải pháp cho việc phân bố, cân bằng tải của các tài nguyên Đây là một trong những hướng nghiên cứu còn nhiều triển vọng giúp cho công nghệ đám mây ngày một hoàn thiện

và tiến bộ hơn

Chính vì những lý do đó luận văn này nghiên cứu chủ yếu như sau: Đề xuất

thuật toán cân bằng tải dựa vào thời gian đáp ứng trên điện toán đám mây, tiếng

Anh: A Response-Time Based Algorithm of Workload balancing in Cloud

Computing

Luận văn được bố cục như sau:

Trong chương 1 sẽ giới thiệu về cơ sở lý luận, tổng quan về cân bằng tải trên điện toán đám mây Tiếp đó là chương 2, sẽ giới thiệu một số công trình nghiên cứu trong và ngoài nước về cân bằng tải và các cách tiếp cận khác nhau trong cân bằng tải, làm cơ sở và nền tảng nghiên cứu của đề tài Chương 3 xin giới thiệu về thuật toán đề xuất dựa trên việc tiếp thu và phát huy ý tưởng dự đoán trong chuỗi thời gian, sử dụng thuật toán ARIMA để dự báo Chương 4 xin trình bài mô phỏng thực nghiệm và các kết quả đạt được khi chạy mô phỏng trên công cụ CloudSim, từ đó nhận xét về thuật toán đề xuất

Trang 4

Tóm tắt: Điện toán đám mây hiện tại đang là xu thế phát triển của công nghệ

thông tin toàn cầu, chính vì vậy, việc nâng cao hiệu suất làm việc và cải tiến khả năng xử lý của đám mây là mục tiêu chúng ta luôn hướng tới Việc sử dụng thời gian đáp ứng (Response Time) để làm giá trị đo lường và tiêu chí trong việc nâng cao hiệu suất làm việc của đám mây là một trong những hướng nghiên cứu của điện toán đám mây Từ đó việc sử dụng thời gian đáp ứng làm thông số để cân bằng tải,

và phân bổ tài nguyên trên đám mây sao cho tối ưu nhất

Trong luận văn này trình bày hướng tiếp cận dựa trên thời gian đáp ứng, và

từ tính chất chuỗi thời gian, nên xin áp dụng khả năng dự báo được của chuỗi thời gian thông qua thuật toán ARIMA Học viên sử dụng thuật toán dự báo trong thống

kê là ARIMA, để dự báo thời gian đáp ứng tiếp theo của các máy ảo, và của cloud toàn cục, từ đó lên kế hoạch phân bổ các yêu cầu (Request) tương ứng với các tài nguyên hợp lý, ở đây tài nguyên là các máy ảo Việc mô phỏng thuật toán sẽ được thực hiện mô phỏng trên công cụ CloudSim

Chương 1: CƠ SỞ LÝ LUẬN - TỔNG QUAN VỀ CÂN BẰNG

TẢI TRÊN ĐIỆN TOÁN ĐÁM MÂY 1.1 Tổng quan về điện toán đám mây (Cloud Computing)

Điện toán đám mây đã xuất hiện từ những năm 1950, và dần dần phát triển rộng rãi cho đến ngày nay Với sự xuất hiện và phát triển vượt bậc của các thiết bị điện tử, điện toán đám mây đã bước vào một giai đoạn phát triển mạnh mẽ

Theo định nghĩa của Viện Quốc gia Tiêu chuẩn và Công nghệ Mỹ (US NIST), điện toán đám mây là mô hình cho phép truy cập trên mạng tới các tài nguyên được chia

sẻ (ví dụ: hệ thống mạng, máy chủ, thiết bị lưu trữ, ứng dụng và các dịch vụ) một cách thuận tiện và theo nhu cầu sử dụng Những tài nguyên này có thể được cung cấp một cách nhanh chóng hoặc thu hồi với chi phí quản lý tối thiểu hoặc tương tác tối thiểu với nhà cung cấp dịch vụ Cũng từ đây, NIST đưa ra mô hình điện toán

Trang 5

đám mây mang năm đặc điểm cơ bản, ba mô hình dịch vụ (Service Model) và bốn

mô hình triển khai cài đặt (Deployment Models)

Theo NIST thì điện toán đám mây bao gồm những đặc điểm như sau: Khả năng tự phục vụ theo yêu cầu,khả năng truy cập mạng diện rộng, khả năng sử dụng chung các tài nguyên, tính uyển chuyển và có thể co giãn một cách nhanh chóng của tài nguyên, Các dịch vụ có thể đo lường được

Hình 1.1: Tổng thể của điện toán đám mây

Nguồn: Bài giảng về điện toán đám mây, Carnergie Mellon University in Qatar

1.2 Tổng quan về cân bằng tải trên điện toán đám mây (Workload

balancing in Cloud Computing)

1.2.1 Khái niệm về cân bằng tải trên điện toán đám mây

Điện toán đám mây giúp chúng ta chia sẽ dữ liệu và cung cấp nhiều nguồn tài nguyên cho người dùng Người dùng chỉ cần chi trả cho những gì họ sử dụng Chính vì thế điện toán đám mây lưu trữ dữ liệu và phân phối tài nguyên trong một môi trường mở Cân bằng tải được xem là quá trình tìm ra các nút mạng bị quá tải

và từ đó chuyển sang các nốt khác đang tải ít hoặc không tải Trong môi trường đám mây, cân bằng tải đòi hỏi phân bổ lại các tải đang hoạt động liên tục giữa tất cả các nốt mạng

Trang 6

Việc dự đoán và ước lượng được tải cần thiết là vô cùng quan trọng, cần phải so sánh với tất cả các tải, tính ổn định tương đối của các hệ thống khác nhau, hiệu suất làm việc của các hệ thống mục tiêu, tương tác giữa các nốt và các công việc cần làm để truyền đi trong quá trình xây dựng một thuật toán cân bằng tải Vấn

đề quan trọng nữa đó là lựa chọn các nốt mà trong đó có nhiều loại khác nhau

1.2.2 Phân loại cân bằng tải

Các thuật toán cân bằng tải được chia thành 02 nhóm chính là :

- Nhóm dựa vào trạng thái của hệ thống (depending on system state): nhóm này chia thành 02 nhóm con là nhóm tiếp cận tĩnh (Static), và nhóm tiếp cận động (Dynamic)

- Nhóm dựa vào người khởi tạo quá trình xử lý (depending on who initiated the process): nhóm này chia thành 03 nhóm con là nhóm khởi tạo do người gửi (sender Initiated), nhóm khởi tạo do người nhận (Reciever Initiated), và nhóm khởi tạo do cả hai (Symmetric)

Nhưng nhìn chung, thì các thuật toán cân bằng tải chủ yếu tập trung vào trạng thái hệ thống và gồm 02 nhóm chính là thuật toán cân bằng tải tĩnh, và thuật toán cân bằng tải động:

- Tiếp cận tĩnh (static approach): tức là các thuật toán cân bằng tãi tĩnh , chia lưu lượng thành các phần bằng nhau giữa các máy chủ

- Tiếp cận động (dynamic approach): chủ yếu xem xét đến các quyết định đưa

ra để cân băng tải Hướng tiếp cận này phù hợp rộng rãi cho các hệ thống phân tán như đám mây

Trang 7

Hình 1.2: Phân loại thuật toán cân bằng tải [8]

1.2.3 Đo lường trong cân bằng tải

- Thông lượng (Throughput): Được sử dụng để tính toán tất cả các tác vụ mà đã hoàn tất thực thi Nếu thông lượng lớn thì hiệu suất làm việc của hệ thống sẽ được cải thiện

- Dung sai lỗi (Fault Tolerance): Có nghĩa là hồi phục sau sự cố Cân bằng tải cần có kỹ thuật tính toán ra dung sai lỗi tốt nhất

- Thời gian di dời (Migration Time): là tổng thời gian cần thiết để di dời các tác

vụ hay tài nguyên từ nốt này sang nốt khác Thời gian này cần được tối thiểu hóa để nâng cao hiệu suất làm việc của hệ thống

- Thời gian đáp ứng (Response Time): Là khoảng thời gian trung bình mà thuật toán cân bằng tải trả lời một tác vụ trong hệ thống Thông số này cần được tối thiểu hóa để nâng cao hiệu suất hệ thống

- Khả năng mở rộng (Scalability): Là khả năng của thuật toán cân bằng tải, có thể xử lý cùng lúc số lượng nốt nhất định trong hệ thống Thông số này cần được cải thiện để hệ thống đạt hiệu năng tốt hơn

Trang 8

1.2.4 Các chính sách của thuật toán cân bằng tải

Có rất nhiều chính sách được sử dụng trong các thuật toán cân bằng tải, bao gồm:

- Chính sách về thông tin (Information policy): là chính sách sẽ định nghĩa các loại thông tin nào được yêu cầu và làm thế nào để lấy được loại thông tin đó Chính sách này cũng định nghĩa rõ về thời gian thu thập các thông tin này

- Chính sách về trigger: chính sách này sẽ định nghĩa khoảng thời gian thực thi các hành động về cân bằng tải và bắt đầu kiểm soát tải

- Chính sách về các loại tài nguyên (Resource type policy): chính sách này định nghĩa các loại, kiểu tài nguyên mà luôn sẵn sàng phục vụ trong quá trình cân bằng tải

- Chính sách về khu vực (location policy): chính sách này sử dụng tất cả các kết quả của chính sách loại tài nguyên, từ đó được dùng để tìm ra các đối tượng thích hợp cho máy chủ hay cho người nhận

- Chính sách về chọn lựa (selection policy): chính sách này được dùng để tìm

ra các tác vụ nào được truyền từ nốt quá tải sang nốt trống

1.2.5 Các mục tiêu chính của thuật toán cân bằng tải

- Hiệu quả chi phí (Cost effectiveness): Cân bằng tải sẽ giúp hệ thống hoạt động hiệu suất cao với chi phí thấp

- Khả năng mở rộng & tính linh hoạt (Scalability and flexibility): Kích thước tổng thể của hệ thống có cân bằng tải sẽ thay đổi theo thời gian Thuật toán sẽ giúp

hệ thống xử lý các vấn đề này Chính vì vậy, thuật toán cũng có tính linh hoạt và khả năng mở rộng

- Tính ưu tiên (Priority): Sắp xếp ưu tiên các tác vụ hoặc các nguồn tài nguyên cần phải xử lý trước vì vậy, tác vụ nào có độ ưu tiên cao hơn sẽ có cơ hội được thực thi trước

Trang 9

1.3.6 Các thuật toán cân bằng tải hiện nay

Có rất nhiều thuật toán cân bằng tải giúp giải quyết thông lượng tốt và giảm thời gian đáp ứng trên môi trường cloud Mỗi thuật toán đều có những lợi ích riêng:

- Thuật toán phân bố tác vụ dựa trên LB (Task Scheduling based on LB

- Thuật toán cân bằng tải cơ hội (Opportunistic Load Balancing – OLB

- Thuật toán Round Robin (RR)

- Thuật toán ngẫu nhiên hóa (Randomized)

- Thuật toán Min-Min

- Thuật toán Max-Min

- Thuật toán hành vi Tìm kiếm của Ong Mật (Honeybee Foraging Behavior)

- Thuật toán gom cụm động (Active Clustering)

- Thuật toán so sánh và cân bằng (Compare & Balance)

- Thuật toán Lock-free (Lock-free multiprocessing solution for LB)

- Thuật toán đàn kiến (Ant Colony Optimization)

- Thuật toán thời gian đáp ứng ngắn nhất đầu tiên (Shortest Response Time

First

- Thuật toán lấy mẫu ngẫu nhiên (Based Random Sampling)

1.3 Tổng quan về thuật toán dự báo ARIMA

Theo [9], ARIMA là thuật toán dựa trên thống kê, là thuật toán tự hồi quy tích hợp trung bình trượt (Auto Regression Integrated Moving Average), được phát triển từ mô hình hồi quy ARMA (Auto Regression Moving Avera) Đây là mô hình phát triển trên số liệu chuỗi thời gian đã biết và dự báo số liệu trong tương lai gần

1.3.1 Dữ liệu chuỗi thời gian [10]

Dữ liệu thời gian thực hay chuỗi thời gian là một chuỗi các giá trị của một đại lượng nào đó được ghi nhận là thời gian Bất cứ dữ liệu chuỗi thời gian nào cũng được tạo ra bằng một quá trình ngẫu nhiên

Trang 10

Các giá trị của chuỗi thời gian của đại lượng X được kí hiệu là X1, X2, X3,…, Xt,… , Xn với X là giá trị của X tại thời điểm t

Một dãy số liệu thực tế cụ thể như giá bắp cải từng tháng là kết quả của một quá trình ngẫu nhiên Đối với dữ liệu chuỗi thời gian, chúng ta có những khái niệm về tổng thể và mẫu như sau:

- Quá trình ngẫu nhiên là một tổng thể

- Số liệu thực tế sinh ra từ quá trình ngẫu nhiên là mẫu

Chuỗi thời gian bao gồm 4 thành phần:

- Thành phần xu hướng dài hạn (long –term trend component)

- Thành phần mùa (seasional component)

- Thành phần chu kỳ (cyclical component)

- Thành phần bất thường (irregular component)

1.3.2 Tính dừng và tính mùa vụ

- Nếu mỗi chuỗi thời gian gọi là dừng thì trung bình, phương sai, đồng phương sai (tại các độ trễ khác nhau) sẽ giữ nguyên không đổi dù cho chúng được xác định vào thời điểm nào đi nữa

- Trung bình: E(Yt)=const (Kỳ vọng không đổi theo thời gian)

- Phương sai: Var(Yt)=const (Phương sai không đổi theo thời gian)

- Đồng phương sai: Covar(Yt,Yt-k)=gk (Đồng phương sai chỉ phụ thuộc khoảng cách của độ trễ mà không phụ thuộc thời điểm tính đồng phương sai

đó, không phụ thuộc t)

- Để xem một chuỗi thời gian có dừng hay không, ta có thể sử dụng Đồ thị của Yt theo thời gian, Đồ thị tự tương quan mẫu (Sample Auto Correlation), hay kiểm định bước ngẫu nhiên (kiểm định Dickey-Fuller)

- Nếu chuỗi Yt không dừng, ta có thể lấy sai phân bậc 1 Khi đó chuỗi sai phân bậc 1 (Wt) sẽ có thể dừng Sai phân bậc 1: Wt=Yt-Yt-1

- Nếu chuỗi sai phân bậc 1 (Wt) không dừng, ta có thể lấy sai phân bậc 2 Khi

đó chuỗi sai phân bậc 2 có thể dừng Sai phân bậc 2: Vt=Wt-Wt-1

Trang 11

- Nếu sai phân bậc 2 mà chưa dừng, có thể chuỗi Yt có yếu tố mùa vụ (Nếu

có yếu tố mùa vụ, tức là chuỗi vẫn chưa dừng)

- Nếu cứ sau m thời đoạn, SAC lại có giá trị cao Khi đó Yt có tính mùa vụ với chu kỳ m thời đoạn Phương pháp đơn giản nhất để khử tính mùa vụ là

lấy sai phân thứ m

- Zt=Yt-Yt-m

1.3.3 Nhận dạng mô hình [10]

- Mô hình ARIMA (hay còn gọi là phương pháp Box-Jenkin)

- Nhận dạng mô hình tức là xác định p, d, q trong ARIMA(p,d,q), Do mô hình Box-Jenkins chỉ mô tả chuỗi dừng hoặc những chuỗi đã sai phân hóa, nên

mô hình ARIMA(p,d,q) thể hiện những chuỗi dữ liệu không dừng, đã được sai phân (ở đây, d chỉ mức độ sai phân)

1.3.4 Kiểm tra chuần đoán mô hình

- Mô hình ARIMA tốt có RMSE nhỏ và sai số là nhiễu trắng: Sai số có phân phối chuẩn, và đồ thị SAC giảm nhanh về 0

- Tìm kiếm mô hình ARIMA phù hợp là một quá trình thử và sai

Trang 12

Hình 1.3: Sơ đồ mô phỏng mô hình Box-Jenkins [6]

1.3.5 Các bước phát triển mô hình ARIMA

Theo [10], phương pháp Box – Jenkins bao gồm các bước chung:

- Xác định mô hình

- Chuỗi ARIMA không dừng

- Ước lượng tham số

- Kiểm định độ chính xác

- Dự báo:

Trang 13

Chương 2: CÁC CÔNG TRÌNH LIÊN QUAN

Trong chương này học viên sẽ giới thiệu các công trình liên quan tới cân bằng tải

trên điện toán đám mây

2.1 Các công trình trên thế giới

Theo tài liệu [4], Tác giả bài báo “A Workload Balanced Approach for Resource Scheduling in Cloud Computing” Ritu Kapur, Resource Scheduling (LBRS) để nâng cao chất lượng phục vụ trên Cloud Kết

quả thực nghiệm đã có những hiệu quả tốt hơn

Tác giả Agraj Sharma [5], Ấn Độ, năm 2014 đưa ra giải thuật về cân bằng tải

dựa vào thời gian đáp ứng: “Response Time Based Balancing in Cloud

Computing” Tác giả đưa ra các vấn đề: (i) việc cân bằng tải diễn ra sau khi các

server bị quá tải, (ii) các yêu cầu cứ liên tục được gửi về server không tương

xứng với tài nguyên của server, tạo ra sự gia tăng tiêu thụ tài nguyên & chi phí

Từ đó, tác giả đưa ra giải thuật giảm tải dựa trên thời gian đáp ứng của server, từ

đó đưa ra quyết định yêu cầu tiếp theo sẽ được xử lý bởi server nào (VMs nào)

Ngoài ra, tác giả Rashmi K.S [6], Ấn Độ, năm 2012 cũng đã đưa ra giải pháp

nâng cao tải làm việc tránh Deadlocks trên Cloud : “Enhanced Load Balancing

Approach to Avoid Deadlocks in Cloud” Vì lý do Cloud dựa trên tính chất phân

tán và ảo hóa nên có thể bị deadlock Tác giả đã đưa ra thuật toán tránh bị

deadlocks, khi người dùng đưa ra các yêu cầu với cloud (request), thuật toán này

được gọi để xử lý tuần tự các VMs, bằng cách nâng cao số lượng công việc xử lý

trên cloud để phục vục tốt hơn, tránh bị deadlocks

Năm 2013, Huankai Chen và các tác giả [7], đã công bố thuật toán “Min-Min

Scheduling” (tạm dịch là thuật toán lên kế hoạch Min-Min) theo tính ưu tiên

người dùng trong việc cân bằng tải trên điện toán đám mây Bài báo này nhấn

mạnh về sự mất cân bằng trong tải, là vấn đề chính của đám mây, đồng thời đưa

ra thuật toán Min-Min để giảm khoảng trống và tang hiệu suất sử dụng tài

nguyên (LBIMM), và thuật toán nâng cao của nó dựa trên ưu tiên người dùng là

thuật toán PA-LBIMM Công trình nghiên cứu này được cài đặt và kiểm nghiệm

Ngày đăng: 24/08/2018, 16:06

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w