Nghiên Cứu Các Thuật Toán Cân Bằng Tải Trên Môi Trường Điện Toán Đám Mây (LV thạc sĩ)Nghiên Cứu Các Thuật Toán Cân Bằng Tải Trên Môi Trường Điện Toán Đám Mây (LV thạc sĩ)Nghiên Cứu Các Thuật Toán Cân Bằng Tải Trên Môi Trường Điện Toán Đám Mây (LV thạc sĩ)Nghiên Cứu Các Thuật Toán Cân Bằng Tải Trên Môi Trường Điện Toán Đám Mây (LV thạc sĩ)Nghiên Cứu Các Thuật Toán Cân Bằng Tải Trên Môi Trường Điện Toán Đám Mây (LV thạc sĩ)Nghiên Cứu Các Thuật Toán Cân Bằng Tải Trên Môi Trường Điện Toán Đám Mây (LV thạc sĩ)Nghiên Cứu Các Thuật Toán Cân Bằng Tải Trên Môi Trường Điện Toán Đám Mây (LV thạc sĩ)Nghiên Cứu Các Thuật Toán Cân Bằng Tải Trên Môi Trường Điện Toán Đám Mây (LV thạc sĩ)Nghiên Cứu Các Thuật Toán Cân Bằng Tải Trên Môi Trường Điện Toán Đám Mây (LV thạc sĩ)Nghiên Cứu Các Thuật Toán Cân Bằng Tải Trên Môi Trường Điện Toán Đám Mây (LV thạc sĩ)Nghiên Cứu Các Thuật Toán Cân Bằng Tải Trên Môi Trường Điện Toán Đám Mây (LV thạc sĩ)
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Trang 2HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Trang 3Tôi xin cam đoan luận văn “Nghiên cứu các thuật toán cân bằng tải trên môi trường điện toán đám mây” này là nghiên cứu của riêng tôi
Ngoại trừ các tài liệu được tham khảo và đã được trích dẫn trong bài thì kết quả thuật toán, các số liệu, kết quả mô phỏng trong bài 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 Hồ Chí Minh, ngày 20 tháng 5 năm 2017
Học viên thực hiện luận văn
Phạm Thị Ngoan
Trang 4Trong 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, tôi đã 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 tôi xin được gửi lời cảm ơn chân thành tới:
Ban giám hiệu, Học viện Bưu chính Viễn thông, Phòng đào tạo sau đại học
đã tạo điều kiện thuận lợi giúp tôi hoàn thành chương trình học tại trường Tôi xin chân thành cảm ơn TS.Võ Thị Lưu Phương, PGS.TS Trần Công Hùng đã chỉ bảo, hướng dẫn và giúp đỡ tôi trong suốt quá trình học tập và làm luận văn tốt nghiệp
Bên cạnh đó tôi cũng xin chân thành cảm ơn ThS Nguyễn Xuân Phi và ThS Bùi Thanh Khiết đã giúp đỡ, hỗ trợ tận tình trong suốt quá trình làm luận văn tốt nghiệp
Tôi xin bày tỏ lòng biết ơn đến lãnh đạo Trường đại học Kiến trúc TP.Hồ Chí Minh – nơi mà tôi đang công tác, đặc biệt là những đồng nghiệp cùng phòng đã
hỗ trợ và tạo điều kiện để tôi có thể học tập và nghiên cứu đề tài một cách tốt nhất
Tôi xin cảm ơn những người trong gia đình tôi, đã tạo điều kiện và luôn luôn động viên khích lệ tinh thần để tôi có thể chuyên tâm học tập và thực hiện luận văn tốt nghiệp
Mặc dù đã có nhiều cố gắng, nhưng do thời gian và kinh nghiệm nghiên cứu khoa học còn nhiều hạn chế nên không tránh khỏi những thiếu sót Tôi rất mong nhận được sự góp ý của quý thầy cô và bạn bè để kiến thức của tôi ngày một hoàn thiện hơn
Tp Hồ Chí Minh, ngày 20 tháng 5 năm 2017
Học viên thực hiện luận văn
Phạm Thị Ngoan
Trang 5LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH SÁCH BẢNG v
DANH SÁCH HÌNH VẼ vi
MỞ ĐẦU 1
CHƯƠNG 1 - CƠ SỞ LÝ LUẬN 3
1.1 Tổng quan về Điện toán đám mây 3
1.2 Kiến trúc của điện toán đám mây 5
1.3 Các mô hình dịch vụ của điện toán đám mây 7
1.4 Tổng quan về cân bằng tải 8
1.4.1 Khái quát về cân bằng tải 8
1.4.2 Chức năng và ưu điểm cân bằng tải 9
1.4.3 Các thông số đo lường trong cân bằng tải 11
1.5 Cân bằng tải trên môi trường điện toán đám mây 12
1.5.1 Cân bằng tải tĩnh 14
1.5.2 Cân bằng tải động 15
1.5.3 Một số vấn đề trong cân bằng tải động 16
1.6 Bộ mô phỏng điện toán đám mây CloudSim 17
1.6.1 Thiết kế các lớp trong CloudSim 17
1.6.2 Luồng giao tiếp giữa các thực thể lõi trong CloudSim 20
1.7 Tính cấp thiết của đề tài 21
1.8 Tình hình nghiên cứu 22
CHƯƠNG 2 -MỘT SỐ THUẬT TOÁN CÂN BẰNG TẢI TRÊN MÔI TRƯỜNG ĐIỆN TOÁN ĐÁM MÂY 24
Trang 62.2 Thuật toán Round-Robin 24
2.3 Thuật toán Weighted Round-Robin 25
2.4 Thuật toán cải tiến Max-min trong môi trường điện toán đám mây 26
2.4.1 Quy trình chọn yêu cầu để cấp phát máy ảo 26
2.4.2 Cập nhật hàng đợi công việc cần xử lý và máy ảo 27
2.4.3 Đánh giá thuật toán 28
2.5 Thuật toán cân bằng tải tránh tắc nghẽn trong môi trường điện toán đám mây.28 2.5.1 Giải pháp cấp phát tài nguyên máy ảo cho các yêu cầu 29
2.5.2 Đánh giá thuật toán 31
2.6 Thuật toán Throttled 31
2.6.1 Giải thuật thuật toán Throttled 31
2.6.2 Đánh giá thuật toán 32
CHƯƠNG 3 - THUẬT TOÁN ĐỀ XUẤT 35
3.1 Giới thiệu 35
3.2 Thuật toán cải tiến 36
3.2.1 Ý tưởng 36
3.2.2 Cơ sở tính toán cho giải thuật cải tiến 36
3.2.3 Thiết kế thuật toán 39
3.2.4 Thiết lập mô hình dữ liệu đám mây mô phỏng 41
3.2.5 Kết quả thực nghiệm mô phỏng 45
3.3 Kết luận 52
CHƯƠNG 4- KẾT LUẬN VÀ KIẾN NGHỊ 53
DANH MỤC CÁC TÀI LIỆU THAM KHẢO 54
Trang 7Bảng 2.1 Bảng so sánh các thuật toán cân bằng tải 33 Bảng 3.1 Giá trị các tham số trong thiết lập đám mây 41 Bảng 3.2 Thiết lập tham số cấu hình các máy ảo 42
Bảng 3.4 Kết quả mô phỏng trên thuật toán Throttled (50 Cloudlets) 45 Bảng 3.5 Kết quả mô phỏng trên thuật toán cải tiến (50 Cloudlets) 47 Bảng 3.6 So sánh kết quả mô phỏng giữa hai thuật toán Throttled và
thuậttoán cải tiến(Số lượng Cloudlet lần lượt là 10, 20, 30, 40, 50, 60, 70,
80, 90, 100)
50
Trang 8Hình 1.1 Mô hình điện toán đám mây 4
Hình 1.2 Các thành phần trong điện toán đám mây 6
Hình 1.3 Mô hình kiến trúc đám mây trong cân bằng tải 14 Hình 1.4 Mô hình cân bằng tải tại một nút xử lý 15
Hình 1.5 Chiến lược di trú tải trong cân bằng tải động 16
Hình 1.6 Sơ đồ thiết kế lớp trong CloudSim 18
Hình 1.7 Luồng giao tiếp giữa các thực thể lõi trong CloudSim 21
Hình 2.1 Mã giả thuật toán quy trình cấp phát máy ảo 26
Hình 2.2 Mã giả thuật toán cập nhật hàng đợi công việc và máy ảo 27
Hình 2.3 Mã giả thuật toán tránh tắc nghẽn trong cân bằng tải 30
Hình 3.2 Biểu đồ thể hiện thời gian cấp phát tài nguyên cho 50 cloudlet
trong một Datacenter của hai thuật toán
Trang 9MỞ ĐẦU
Ngày nay với việc sử dụng máy tính, điện thoại, các thiết bị điện tử ngày một phổ biến, bởi vậy mà điện toán đám mây cũng ngày càng trở nên quen thuộc với người sử dụng Điện toán đám mây đã đóng góp một phần không nhỏ đối với sự phát triển của ngành công nghiệp máy tính, cụ thể nó đã làm 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 Đa số chúng ta đều đã và đang sử dụng một hoặc nhiều các dịch vụ ứng dụng công nghệ điện toán đám mây trong đời sống hàng ngày cũng như trong quản lý doanh nghiệp
Điện toán đám mây còn gọi là điện toán máy chủ ảo, là mô hình điện toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet Thuật ngữ "đám mây" ở đây là lối nói ẩn dụ chỉ mạng Internet (dựa vào cách được bố trí của nó trong sơ đồ mạng máy tính) và như một liên tưởng về độ phức tạp của các cơ sở hạ tầng chứa trong nó Ở 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 sử 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ệ đó Người sử dụng điện toán đám mây chỉ cần quan tâm tới các dịch vụ máy tính đang được yêu cầu Các chi tiết bên dưới hệ thống của nó như thế nào thì được ẩn khỏi người dùng Các dữ liệu và các dịch vụ cung cấp nằm trong các trung tâm dữ liệu của đám mây có khả năng mở rộng lớn và có thể được truy cập ở bất kỳ đâu, từ bất kỳ thiết bị được kết nối trên thế giới Nhiều nhà cung cấp điện toán đám mây đã xuất hiện và có một sự tăng trưởng đáng kể trong việc sử dụng dịch vụ này Google, Microsoft, Yahoo, IBM và Amazon đã bắt đầu cung cấp dịch vụ điện toán đám mây Trong đó Amazon là nhà tiên phong trong lĩnh vực này Các công ty nhỏ hơn như SmugMug, một trang web lưu trữ hình ảnh trực tuyến, có sử dụng dịch vụ điện toán đám mây để lưu trữ tất cả các dữ liệu và thực hiện một số dịch vụ của mình Điện toán đám mây được sử dụng
Trang 10trong các lĩnh vực khác nhau như web hosting, lập trình song song, dựng hình đồ hoạ, mô hình tài chính (IBM Clouds), các phương pháp duyệt và tìm kiếm trên web (web spider), phân tích gen (Amazon Clouds), v.v
Với tính tiện dụng và hiệu suất như trên, điện toán đám mây sẽ trở thành xu hướng tất yếu trong tương lai Sự gia tăng về số lượng của người dùng điện toán đám mây đòi hỏi các nhà cung cấp dịch vụ phải đáp ứng nhiều yêu cầu hơn trong môi trường điện toán đám mây Trong khi đó tăng thêm số lượng máy chủ hoặc cấu hình máy chủ chỉ là phương pháp tạm thời Vì vậy mà các phương pháp cân bằng tải trên môi trường điện toán đám mây ngày càng được quan tâm và chú trọng Việc
sử dụng một cách có hiệu quả các nguồn tài nguyên trên “đám mây” đang là vấn đề cần thiết Đây cũng là một thách thức to lớn trong lĩnh vực điện toán đám mây Để đáp ứng được những yêu cầu trên thì việc thiết lập một thuật toán cân bằng tải hiệu quả và làm thế nào để sử dụng nguồn tài nguyên một cách hợp lý nhất chính là mục đích mà điện toán đám mây muốn đạt đến [1], [2] Chính vì vậy mà tôi chọn đề tài
luận văn là “Nghiên cứu các thuật toán cân bằng tải trên môi trường điện toán
đám mây” Luận văn sẽ thực hiện nghiên cứu các thuật toán cân bằng tải trên môi
trường điện toán đám mây đang được áp dụng hiện nay, đồng thời đề xuất cải tiến một thuật toán cân bằng tải động và thực hiện cho khung IaaS trong môi trường mô hình và mô phỏng điện toán đám mây CloudSim Bộ phận trung tâm dữ liệu sẽ cân bằng tải các yêu cầu giữa các máy ảo có sẵn một cách có hiệu quả và để các thông
số trong hệ thống như thời gian đáp ứng, thời gian xử lý dữ liệu đạt được hiệu năng tốt nhất
Trang 11CHƯƠNG 1 - CƠ SỞ LÝ LUẬN 1.1 Tổng quan về Điện toán đám mây
Những năm gần đây điện toán đám mây (cloud computing) nổi lên như một
xu hướng công nghệ, hầu hết các nhà cung cấp công nghệ hoặc sử dụng phần mềm, phần cứng và cơ sở hạ tầng đều có thể tận dụng Công nghệ và kiến trúc dịch vụ điện toán đám mây cho phép khách hàng của các dịch vụ này không sở hữu tài sản trong các đám mây điện tử nhưng trả tiền trên cơ sở mỗi lần sử dụng Về bản chất,
họ đang thuê cơ sở hạ tầng vật lý và các ứng dụng trong kiến trúc dùng chung Dịch
vụ điện toán đám mây có thể từ lưu trữ dữ liệu cho đến các ứng dụng Web của người dùng cuối, cùng với các dịch vụ điện toán tập trung khác
Một sự khác biệt quan trọng giữa mô hình tính toán truyền thống và điện toán đám mây là khả năng mở rộng và tính chất co giãn mà điện toán đám mây cung cấp Thay vì một kiến trúc hệ thống tĩnh, điện toán đám mây hỗ trợ khả năng tự động mở rộng quy mô và nhanh chóng thu hẹp quy mô, cung cấp cho khách hàng các dịch vụ có độ tin cậy cao, thời gian đáp ứng nhanh chóng và sự linh hoạt để xử
lý các biến động thông lượng và nhu cầu Điện toán đám mây cũng hỗ trợ nhiều người dùng, cung cấp các hệ thống cấu hình trong suốt một cách thống nhất mang tính chia sẻ được Công nghệ ảo hóa cho phép các nhà cung cấp điện toán đám mây
để chuyển đổi một máy chủ thành nhiều máy ảo, do đó loại bỏ máy tính server (khách – chủ) với các hệ thống một mục đích Điều này tối đa hóa khả năng phần cứng và cho phép khách hàng tận dụng một cách triệt để và kinh tế theo quy
client-mô sử dụng [1]
Trang 12Hình 1.1: Mô hình điện toán đám mây [3]
Các mô hình điện toán đám mây có thể được phân loại theo phương thức
quản lý và sở hữu, được phân ra thành các loại sau:
Đám mây công cộng (Public Cloud): Đám mây được thiết lập và cung cấp
cho rộng rãi người dùng thông qua Internet Nó còn được biết như là đám mây nhiều thuê bao với các đặc trưng cơ bản là hạ tầng thống nhất, chính sách chung, nguồn lực chia sẻ cho nhiều thuê bao, đa qui mô Mô hình đám mây này thường ít
an toàn hơn các mô hình khác và thường chỉ cung cấp các dịch vụ phần mềm chung nhất như bộ phần mềm văn phòng, chat, họp trực tuyến,…
Đám mây riêng (Private Cloud): đám mây được thiết lập chỉ cho một tổ
chức tương tự như một mạng nội bộ Nó có thể được quản lý bởi chính tổ chức đó
Trang 13hoặc một bên thứ ba và có thể tồn tại trên cơ sở hạ tầng trước đó đã có Mô hình này còn được gọi là đám mây nội bộ và thường chỉ dành quyền truy cập vào tài nguyên của nó cho người dùng trong nội bộ tổ chức là chủ sở hữu đám mây Đặc điểm cơ bản của đám mây riêng là hạ tầng không đồng nhất, chính sách “may đo” và tùy chỉnh, tài nguyên dành riêng, cơ sở hạ tầng “cây nhà lá vườn” Tuy nhiên do chỉ có các tổ chức và người dùng được phép mới có thể truy cập nên nó có thể được bảo vệ bởi các quy trình, quy chế bảo mật riêng, điều này làm cho nó khó bị tấn công hơn
Đám mây cộng đồng (Community Cloud): đây là dạng đám mây mà hạ
tầng được chia sẻ bởi một vài tổ chức Nó hỗ trợ một vài thứ chung của cộng đồng
đó, chẳng hạn như nhiệm vụ, chính sách bảo mật
Đám mây hỗn hợp (Hybrid Cloud): hạ tầng của đám mây là một sự kết nối
của nhiều mô hình triển khai đám mây (chung, riêng, cộng đồng)
1.2 Kiến trúc của điện toán đám mây
Kiến trúc điện toán đám mây gồm có các thành phần chính:
Hạ tầng: cơ sở hạ tầng (Infrastructure) của điện toán đám mây là phần cứng được cung cấp như là các dịch vụ, nghĩa là được chia sẻ và có thể sử dụng lại dễ dàng Các tài nguyên phần cứng được cung cấp theo thời gian cụ thể theo yêu cầu Dịch vụ kiểu này giúp cho khách hàng giảm chi phí bảo hành, chi phí sử dụng,…
Lưu trữ (Storage): lưu trữ đám mây là khái niệm tách dữ liệu khỏi quá trình
xử lý và chúng được lưu trữ ở những vị trí từ xa Lưu trữ đám mây cũng bao gồm cả các dịch vụ cơsở dữ liệu, ví dụ như BigTable của Google, SimpleDB của Amazon,…
Nền tảng: là dịch vụ phát triển phần mềm ứng dụng và quản lý các yêu cầu phần cứng, nhu cầu phần mềm Ví dụ nền dịch vụ như khung ứng dụng Web, web hosting,…
Trang 14Ứng dụng: ứng dụng đám mây (Cloud Application) là một đề xuất về kiến trúc phần mềm sẵn sàng phục vụ, nhằm loại bỏ sự cần thiết phải mua phần mềm, cài đặt, vận hành và duy trì ứng dụng tại máy bàn/thiết bị của người sử dụng Ứng dụng đám mây loại bỏ được các chi phí để bảo trì và vận hành các chương trình ứng dụng
Dịch vụ: dịch vụ đám mây là một phần độc lập có thể kết hợp với các dịch vụ khác để thực hiện tương tác, kết hợp giữa các máy tính với nhau để thực thi chương trình ứng dụng theo yêu cầu trên mạng Ví dụ về các dịch vụ hiện nay như: simple Queue Service, Google Maps, các dịch vụ thanh toán linh hoạt trên mạng của Amazon,…
Khách hàng: bao gồm phần cứng và phần mềm, để dựa vào đó khách hàng có thể truy cập và sử dụng các ứng dụng, dịch vụ được cung cấp từ điện toán đám mây
Ví dụ như máy tính và đường dây kết nối Internet và các trình duyệt web
Trang 151.3 Các mô hình dịch vụ của điện toán đám mây
Dịch vụ điện toán đám mây rất đa dạng và bao gồm tất cả các lớp dịch vụ điện toán từ cung cấp năng lực tính toán trên lưới máy chủ hiệu năng cao hay các máy chủ ảo, không gian lưu trữ dữ liệu, hay một hệ điều hành, một công cụ lập trình, hay một ứng dụng kế toán Các dịch vụ cũng được phân loại khá đa dạng, nhưng các mô hình dịch vụ điện toán đám mây phổ biến nhất có thể được phân thành ba nhóm:
Dịch vụ hạ tầng IaaS (Infrastructure as a Service):
IaaS cung cấp dịch vụ cơ bản bao gồm năng lực tính toán, không gian lưu trữ, kết nối mạng tới khách hàng Khách hàng (cá nhân hoặc tổ chức) có thể sử dụng tài nguyên hạ tầng này để đáp ứng nhu cầu tính toán hoặc cài đặt ứng dụng riêng cho mình Với dịch vụ này khách hàng làm chủ hệ điều hành, lưu trữ và các ứng dụng do khách hàng phát triển và cài đặt Khách hàng điển hình của dịch vụ IaaS có thể là mọi đối tượng cần tới một máy tính và tự cài đặt ứng dụng của mình
Ví dụ điển hình về dịch vụ này là dịch vụ EC2của Amazon Khách hàng có thể đăng ký sử dụng một máy tính ảo trên dịch vụ của Amazon và lựa chọn một hệ điều hành (ví dụ như Windows hoặc Linux) và tự cài đặt ứng dụng của mình
Dịch vụ nền tảng PaaS (Platform as a Service):
PaaS cung cấp nền tảng điện toán cho phép khách hàng phát triển các phần mềm, phục vụ nhu cầu tính toán hoặc xây dựng thành dịch vụ trên nền tảng Cloud
đó Dịch vụ PaaS có thể được cung cấp dưới dạng các hạ tầng trao đổi thông tin ứng dụng (middleware), các nền tảng ứng dụng (application server) cùng các công cụ lập trình với ngôn ngữ lập trình nhất định để xây dựng ứng dụng Dịch vụ PaaS cũng có thể được xây dựng riêng và cung cấp cho khách hàng thông qua một giao diện lập trình ứng dụng riêng Khách hàng xây dựng ứng dụng và tương tác với hạ tầng điện toán đám mây thông qua giao diện ứng dụng đó Ở mức PaaS, khách hàng
Trang 16không quản lý nền tảng đám mây hay các tài nguyên lớp như hệ điều hành, lưu trữ ở lớp dưới Khách hàng điển hình của dịch vụ PaaS chính là các nhà phát triển ứng dụng (ISV)
Dịch vụ App Engine của Google là một dịch vụ PaaS điển hình, cho phép khách hàng xây dựng các ứng dụng web với môi trường chạy ứng dụng và phát triển dựa trên ngôn ngữ lập trình Java hoặc Python
Dịch vụ Phần mềm SaaS (Software as a Service):
SaaS cung cấp các ứng dụng hoàn chỉnh như một dịch vụ theo yêu cầu cho nhiều khách hàng với chỉ một phiên bản cài đặt Khách hàng lựa chọn ứng dụng phù hợp với nhu cầu và sử dụng mà không quan tâm tới hay bỏ công sức quản lý tài nguyên tính toán bên dưới
Điện toán đám mây cung cấp 3 mô hình dịch vụ cơ bản kể trên với một số đặc trưng chính: thuê bao theo yêu cầu, nhiều thuê bao, dùng bao nhiêu trả bấy nhiêu Về mặt kỹ thuật, đám mây là một tập hợp tài nguyên tính toán rộng lớn và cung cấp 3 dịch vụ nói trên
1.4 Tổng quan về cân bằng tải
1.4.1 Khái quát về cân bằng tải
Cân bằng tải là một tính năng công nghệ rất quan trọng trong ngành mạng máy tính, giúp các máy chủ ảo hoạt động đồng bộ và hiệu quả hơn thông qua việc phân phối đồng đều tài nguyên
Cân bằng tải là việc phân bố đồng đều lưu lượng truy cập giữa hai hay nhiều các máy chủ có cùng chức năng trong cùng một hệ thống Bằng cách đó, sẽ giúp cho hệ thống giảm thiểu tối đa tình trạng một máy chủ bị quá tải và ngưng hoạt động Hoặc khi một máy chủ gặp sự cố, cân bằng tải sẽ chỉ đạo phân phối công việc của máy chủ đó cho các máy chủ còn lại, đẩy thời gian hoạt động liên tục của hệ thống lên cao nhất và cải thiện năng suất hoạt động tổng thể
Trang 17Như vậy cân bằng tải là một phương pháp phân phối khối lượng tải trên nhiều máy tính hoặc một cụm máy tính để có thể sử dụng tối ưu các nguồn lực, tối
đa hóa thông lượng, giảm thời gian đáp ứng và tránh tình trạng quá tải trên máy chủ
Quá trình cân băng tải là quá trình xử lý giúp cho hệ thống tránh hiện tượng tắc nghẽn xảy ra do mất cân bằng tải Cân bằng tải cũng đề cập đến vấn đề xử lý lỗi trong tình huống khi một trong các thành phần của các dịch vụ bị lỗi trong khi các dịch vụ tiến hành giao tiếp thông tin với nhau Điều đó có nghĩa cân bằng tải cung cấp một máy cho phép tự động cấp phép, tái cấp phép mà không cần phải cấu hình lại mạng Đặc trưng cân bằng tải được thừa kế từ mô hình điện toán lưới (Grid computing)
1.4.2 Chức năng và ưu điểm cân bằng tải
Chức năng của cân bằng tải:
Chặn lưu lượng mạng (chẳng hạn lưu lượng web) đến một trang web Bản thân thiết bị cân bằng tải có thể là một Proxy hay một Firewall tầng ứng dụng (Application Layer), nó sẽ là đối tượng đầu tiên nhận các yêu cầu trước khi chia tải,
do đó, chức năng này được coi như là thiết yếu của một cân bằng tải
Tách các lưu lượng thành các yêu cầu riêng biệt và quyết định máy chủ nào nhận các yêu cầu đó Đây là chức năng chủ chốt của cân bằng tải Tùy vào thuật toán áp dụng mà sẽ có từng cách thức khác nhau để phân chia cụ thể cho mỗi máy chủ
Duy trì một cơ chế ở những máy chủ đang sẵn sàng Giữa cân bằng tải và máy chủ luôn phải có liên lạc với nhau (Keep Alive) để biết được máy chủ đó còn
“sống” hay không
Cung cấp khả năng dự phòng bằng cách sử dụng nhiều hơn một kịch bản fail-
over
Trang 18Cung cấp khả năng nhận thức nội dung phân tán bằng cách đọc URL, chặn cookie và biên dịch XML Đây được coi là một trong những tiêu chí chia tải của hệ thống
Ưu điểm của cân bằng tải:
Tăng khả năng đáp ứng, tránh tình trạng quá tải trên máy chủ, đảm bảo tính linh hoạt và mở rộng cho hệ thống
Tăng độ tin cậy và khả năng dự phòng cho hệ thống: Sử dụng cân bằng tải giúp tăng tính sẵn sàng (High Availability) cho hệ thống, đồng thời đảm bảo cho người dùng không bị gián đoạn dịch vụ khi xảy ra lỗi sự cố lỗi tại một điểm cung cấp dịch vụ
Tăng tính bảo mật cho hệ thống: Thông thường khi người dùng gửi yêu cầu dịch vụ đến hệ thống, yêu cầu đó sẽ được xử lý trên bộ cân bằng tải, sau đó thành phần cân bằng tải mới chuyển tiếp các yêu cầu cho các máy chủ bên trong Quá trình trả lời cho khách hàng cũngthông qua thành phần cân bằng tải, vì vậy mà người dùng không thể biết được chính xác các máy chủ bên trong cũng như phương pháp phân tải được sử dụng Bằng cách này có thể ngăn chặn người dùng giao tiếp trực tiếp với các máy chủ, ẩn các thông tin và cấu trúc mạng nội bộ, ngăn ngừa các cuộc tấn công trên mạng hoặc các dịch vụ không liên quan đang hoạt động trên các cổng khác
Tính linh hoạt (Flexibility): Hệ thống cho phép bổ sung và loại bỏ các máy chủ bất kỳ khi nào cần và hiệu quả ngay tức thì Thực tế, việc này không làm gián đoạn tới hoạt động của cả hệ thống, mà chỉ tại một điểm (node) trong hệ thống đó Điều này cho phép duy trì, sửa chữa bất kỳ máy chủ nào trong hệ thống (thậm chí trong giờ cao điểm) mà ít tác động hoặc không có tác động nào tới hệ thống Một cân bằng tải (Load Balancer) cũng có thể trực tiếp điều khiển lưu lượng mạng bằng cách sử dụng tập tin cookie, phân tích cú pháp URL, các thuật toán tĩnh hoặc động
để tìm ra cách phân tải tối ưu cho hệ thống
Trang 19Tính sẵn sàng cao (High Availability): Hệ thống sẽ liên tục kiểm tra trạng thái của các máy chủ trong hệ thống và tự động “loại” bất kỳ máy chủ nào không
“trả lời” trong một chu kỳ, cũng như tự động bổ sung máy chủ đó ngay khi nó hoạt động trở lại Quá trình này là hoàn toàn tự động, thông qua cơ chế giao tiếp của cân bằng tải và các máy chủ, không cần có sự tham gia điều khiển trực tiếp của người quản trị Do dó, một hệ thống cân bằng tải hướng đến tính dự phòng cho thiết bị chính trong trường hợp có thiết bị nào đó bị “hỏng”
Khả năng mở rộng (Scalability): Cân bằng tải chịu trách nhiệm phân phối tải tới nhiều máy chủ trong một hệ thống (Server Farm theo mặt vật lý và được gọi là Server Cluser – các bó Server), với mục đích là nâng cao hiệu quả, tăng sức mạnh phục vụ với số lượng lớn các máy chủ Điều này mang lại lợi ích lớn về kinh tế, vì chỉ phải chi phí cho nhiều máy chủ nhỏ, thay vì đầu tư cho một máy chủ lớn, thiết
bị chuyên dụng Ngoài ra, trong quá trình hoạt động, số các máy chủ có thể thay đổi, thêmbớt, loại bỏ, thay thế một cách dễ dàng mà không ảnh hưởng đến hoạt động của hệ thống, giữ cho hệ thống luôn có tính sẵn sàng cao
1.4.3 Các thông số đo lường trong cân bằng tải
Để đo lường các thuật toán cân bằng tải trong môi trường điện toán đám mây người ta thường xem xét tới rất nhiều thông số khác nhau Mỗi thuật toán sẽ có những cách đánh giá khác nhau, tùy vào mục đích sử dụng và yêu cầu từ người sử dụng.Tuy vậy, các thuật toán cân bằng tải cũng căn cứ vào một số thông số cơ bản
để đo lường như: phí tổn, hiệu suất, thời gian đáp ứng, khả năng mở rộng, thông lượng, khả năng chịu lỗi, ngay cả lượng khí thải cũng được tính đến [4]
Thời gian đáp ứng: là thời gian từ lúc có yêu cầu của người dùng đến khi có đáp ứng đầu tiên Thời gian đáp ứng càng nhỏ thì hiệu suất của thuật toán cân bằng tải càng cao
Chi phí: là chi phí trong quá trình thực hiện thuật toán cân bằng tải như chi phí di chuyển tác vụ, phối hợp các tiến trình, bộ xử lý Để đánh giá một thuật toán
Trang 20cân bằng tải người ta sẽ xem xét nhiều tới vấn đề chi phí, vì vậy để thuật toán cân bằng tải hoạt động hiệu quả thì phải giảm thiểu chi phí thấp nhất có thể
Thông lượng: thông lượng càng lớn thì hiệu năng của thuật toán cân bằng tải càng cao Nó thể hiện bằng số lượng các tác vụ đã được thực thi
Hiệu năng: thể hiện hiệu quả của hệ thống Một thuật toán cân bằng tải hiệu quả nó phải có chi phí hợp lý, giảm thời gian đáp ứng và độ trễ có thể chấp nhận được
Sử dụng nguồn tài nguyên: trong một thuật toán cân bằng tải sự tận dụng tài nguyên sẵn có là vô cùng quan trọng, việc sử dụng tài nguyên cần phải hợp lý và tối
Thời gian di trú: là thời gian di trú các tác vụ hoặc tài nguyên từ nút này ới nút khác Thời gian di trú càng nhỏ thì hiệu suất của thuật toán cân bằng tải càng cao
Lượng khí thải: đây cũng là một thông số để đánh giá trong cân bằng tải Việc sử dụng cơ sở hạ tầng càng nhiều thì việc tiêu thụ năng lượng cũng tăng lên, dẫn tới lượng khí thải ra môi trường càng lớn Lượng khí thải càng nhỏ, thuật toán cân bằng tải được đánh giá có hiệu suất tốt hơn
1.5 Cân bằng tải trên môi trường điện toán đám mây
Điện toán đám mây có thể có một trong hai môi trường tĩnh hoặc động dựa vào cách phát triển cấu hình các đám mây bởi các nhà cung cấp điện toán đám
Trang 21mây.Cân bằng tải trong điện toán đám mây cung cấp một giải pháp hiệu quả cho các vấn đề khác nhau về thiết lập và sử dụng trong môi trường điện toán đám mây Cân bằng tải phải cân nhắc đến hai nhiệm vụ chủ yếu, một là việc cung cấp tài nguyên hoặc phân bổ nguồn lực, một vấn đề khác là lập lịch công việc trong môi trường phân tán Trích lập dự phòng có hiệu quả các nguồn lực và lập kế hoạch các nguồn tài nguyên cũng như nhiệm vụ để đảm bảo [5]:
- Sẵn sàng tài nguyên khi có yêu cầu
- Các nguồn tài nguyên thực hiện có hiệu quả trong điều kiện tải cao hoặc thấp
- Tiết kiệm năng lượng khi điều kiện tải thấp
- Chi phí sử dụng tài nguyên thấp
Để đo hiệu quả của các thuật toán cân bằng tải trên môi trường điện toán đám mây việc mô phỏng là rất cần thiết CloudSim [6] là một công cụ có hiệu quả khá tốt trong việc sử dụng để mô phỏng các thuật toán cân bằng tải trên môi trường điện toán đám mây CloudSim gồm những thành phần cơ bản cho phép người dùng có thể thiết lập và tính toán thuật toán cân bằng tải trên môi trường điện toán đám mây
cơ bản Nhờ có công cụ hữu ích này mà các thuật toán cân bằng tải trên môi trường điện toán đám mây ngày càng được quan tâm nghiên cứu và đạt được những kết quả đáng mong đợi
Kỹ thuật cân bằng tải hiện nay chủ yếu tập trung vào hai kỹ thuật là cân bằng tải tĩnh và cân bằng tải động
Kỹ thuật cân bằng tải tĩnh không thu thập thông tin trạng thái hiện tại của hệ thống Những yếu tố được đo lường trước khi gán công việc cho một nút tính toán như thời gia đến, qui mô nguồn tài nguyên, thời gian thực thi và giao tiếp các tiến trình
Kỹ thuật cân bằng tải động trong tự nhiên không xem xét trạng thái trước đó hoặc hành vi của hệ thống, nó chỉ phụ thuộc vào hành vi hiện tại của hệ thống
Trang 22Hình 1.3: Mô hình kiến trúc đám mây trong cân bằng tải [7]
1.5.1 Cân bằng tải tĩnh
Trong cân bằng tải tĩnh, số lượng công việc của mỗi nút là cố định Khi các tiến trình chạy nó sẽ không được gán lại hay thu thập bất kỳ thông tin nào về các nút mà chỉ thực hiện theo đúng biên dịch từ ban đầu Các quy tắc trong thuật toán cân bằng tải tĩnh được lập trình trước và không có sự thay đổi nào Việc phân phối công việc cho các nút tính toán dựa trên các thông số như thời gian đến, cấu hình tài
Hàng đợi các yêu cầu
Trung Tâm Dữ Liệu Cung Cấp Dịch Vụ Đám Mây
Trang 23nguyên có sẵn, thời gian thực thi và phân phối giao tiếp giữa các tiến trình Tất cả các thông số này cần được đo trước khi gán, đây là lý do tại sao cân bằng tải tĩnh còn được gọi là thuật toán xác suất Như vậy, không có sự di trú công việc ở thời gian chạy trong cân bằng tải tĩnh [8]
Một thuật toán điển hình cânvề bằng tải tĩnh đó là thuật toán Round-Robin Hình 1.4 miêu tả hoạt động cân bằng tải tĩnh tại một nút xử lý Ở tại mỗi nút này các tác vụ sẽ được chuyển đến “hàng đợi chuyển giao” Sau đó được phân phối tới
“hàng đợi ngưỡng” Khi một công việc được gán tới “hàng đợi ngưỡng” thì nó sẽ không thể được di trú tới bất kỳ nút nào nữa Thông qua mạng truyền thông, các tác
vụ sẽ được xử lý tại nút đó hoặc di trú sang một nút bất kỳ
Hình 1.4: Mô hình cân bằng tải tại một nút xử lý [8]
1.5.2 Cân bằng tải động
Thuật toán cân bằng tải tĩnh phải thu thập thông tin và công việc trước khi các tiến trình thực thi Nhưng không phải thông tin nào cũng có thể biết trước khi các tiến trình chưa bắt đầu Để đáp ứng được một số yêu cầu cao hơn trong cân bằng tải, thuật toán cân bằng tải động ra đời Cân bằng tải động khác với cân bằng tải tĩnh, sự phân công công việc được thực hiện ở trong thời gian các tiến trình chạy Tùy vào tình trạng tải của hệ thống mà các công việc, yêu cầu trong cân bằng tải
Trang 24động được phân công cấp phát tài nguyên tại thời gian chạy Tải sẽ được chuyển từ nút tải nặng đến các nút có tải nhẹ Chiến lược của các thuật toán cân bằng tải động
là tập hợp thông tin về trạng thái hệ thống và thông tin các yêu cầu Bộ phận quản lý cân bằng tải cần phải tập hợp nhiều thông tin nhất có thể trong thời gian ngắn nhất
để có thể đưa ra các quyết định về việc phân công tài nguyên một cách tốt nhất Thuật toán cân bằng tải động hầu hết được ứng dụng vào hệ thống không đồng nhất
về cấu hình, khác biệt về yêu cầu tài nguyên và các tác vụ Nó gồm các nút với tốc
độ khác nhau, kích cỡ bộ nhớ khác nhau, và lượng tải có thể khác nhau, vì vậy mà
sẽ có sự biến đổi các thông số trong quá trình xử lý Thuật toán cân bằng tải động sẽ
xử lý các thông số trong quá trình chạy thuật toán và cải tiến chiến lược cân bằng tải tĩnh để hệ thống đạt được hiệu suất cao hơn [8]
Hình 1.5: Chiến lược di trú tải trong cân bằng tải động [8]
1.5.3 Một số vấn đề trong cân bằng tải động
Để thiết kế thuật toán cân bằng tải động ta phải xem xét tới các vấn đề sau [8]:
- Để có thể phân công xử lý công việc cho các nút tính toán sẽ phải dựa vào tình trạng hiện tại của hệ thống
- Việc tính toán tải thể hiện được để làm thế nào có thể tính toán khối lượng công việc của một nút cụ thể trong hệ thống
Trang 25- Chuyển giao công việc sẽ xác định liệu một công việc sẽ được thực thi ở cục bộ hay từ xa
- Trạng thái hệ thống thể hiện khả năng hiện tại của các nút rằng các nút có bị quá tải hay tải nhẹ
- Phân công ưu tiên:là sự ưu tiên để thực thi của tiến trình cục bộ và từ xa ở một nút
cụ thể
- Trao đổi thông tin tải hệ thống giữa các nút Để thực hiện được vấn đề này cần có chính sách thông tin trong hệ thống Chính sách thông tin này bao gồm các bước sau:
+ Yêu cầu: bộ xử lý bắt đầu tập hợp thông tin tải của các nút khác khi hoạt động cân bằng tải bắt đầu
+ Định kỳ: Bộ xử lý thông báo thông tin tải của chúng theo một khoảng thường xuyên giữa hai sự kiện tới các nút khác
+ Chuyển trạng thái: khi một bộ xử lý chuyển trạng thái của một nút, lập tức thông báo tới nút khác qua thông điệp truyền
- Giới hạn di trú: xác định tần số truyền đó là bao nhiêu thời gian một tiến trình có thể di trú từ một nút này tới một nút khác
1.6 Bộ mô phỏng điện toán đám mây CloudSim
1.6.1 Thiết kế các lớp trong CloudSim
CloudSim là bộ thư viện dùng để hỗ trợ mô hình hóa hệ thống điện toán đám mây Các thành phần của bộ mô phỏng CloudSim bao gồm: Trung tâm môi giới –Broker, trung tâm dữ liệu, máy ảo, các chính sách cung cấp nguồn tài nguyên và các chính sách quản lý các thành phần khác nhau của hệ thống Nhờ có các thành phần này mà người dùng có thể đánh giá các chiến lược mới trong việc sử dụng đám mây như các chính sách, thuật toán lập lịch, chính sách cân bằng tải……Bộ thư viện CloudSim dùng để đánh giá hiệu quả của các chiến lược để tăng tốc thời gian thực thi của các ứng dụng Các lớp thư viện trong CloudSim nhằm mục đích phục vụ cho vấn đề nghiên cứu Giúp cho người sử dụng dễ dàng mô phỏng thuật toán, chiến lược trong cân bằng tải Tất cả các chi tiết về thông số, mô hình đều được trừu
Trang 26tượng Sự mô phỏng ở đây được coi như là “chạy một mô hình của một phần mềm trong một mô hình phần cứng”
Thông qua bộ mô phỏng CloudSim đã giải quyết được các vấn đề về việc kiểm tra và thử nghiệm trong điện toán đám mây Ví dụ như tiết kiệm năng lượng, thời gian, đánh giá được các thuật toán và ứng dụng cân bằng tải trước khi đưa ra
mô trường đám mây thực Như vậy bộ mô phỏng CloudSim giúp cho việc kiểm tra hiệu suất cân bằng tải tốt hơn nhờ vào việc tốn ít thời gian để thử nghiệm và tính linh hoạt của nó
Hình 1.6: Sơ đồ thiết kế lớp trong CloudSim [6]
Hình 1.6 là sơ đồ thiết kế lớp trong CloudSim, mỗi lớp trên sơ đồ trên đều có một vai trò nhất định trong bộ mô phỏng CloudSim Một thành phần CloudSim có thể là một lớp hoặc tập các lớp đại diện một mô hình CloudSim chẳng hạn như Datacenter hay Host Một Datacenter có thể quản lý một vài Host, các Host này sẽ
NetworkTopology
SANtorage
BwProvisioner
VmSchedulerSpaceShared
VmAllocationPolicy Datacenter DatacenterCharateristics DatacenterBroker
VMAllocationPolicySimple FederatedDatacenter CloudCoordinator Sensor
1
1
1 1
1
1
1 1
1 1
Trang 27quản lý các máy ảo trong suốt thời gian hoạt động Host là một thành phần trong CloudSim đại diện cho một máy chủ tính toán vật lý trong đám mây Nó được gán một năng lực xử lý, tính bằng triệu chỉ thị trên giây gọi là MIPS Ngoài ra còn có các thống số như bộ nhớ, lưu trữ và một chính sách cung cấp để phân bổ các core
xử lý tới các máy ảo Host trong CloudSim thực hiện giao diện hỗ trợ mô hình và
mô phỏng các nút đơn core và đa core
BwProvisioner: Đây là lớp trừu tượng mô hình chính sách cung cấp băng thông cho máy ảo Nó có vai trò chính là phụ trách việc phân bổ băng thông mạng tới một tập máy ảo trên các Datacenter
Cloudlet: Đây là lớp mô hình dịch vụ ứng dụng cơ bán trên đám mây (phân phát nội dung, mạng xã hội và quy trình làm việc doanh nghiệp) CloudSim tổ chức
xử lý sự tính toán phức tạp của ứng dụng theo yêu cầu tính toán của nó Mỗi dịch vụ ứng dụng có chiều dài chỉ thị và được gán trước Lớp này được mở rộng để hỗ trợ việc mô hình hóa các nghiên cứu khác và cả những số liệu thành phần cho các ứng dụng giống như giao dịch trong các ứng dụng hướng đối tượng
CloudletScheduler: Lớp này được mở rộng để thực hiện các chính sách khác nhau để xác định cách chia sẻ nguồn lực xử lý gữa các Cloudlets trong một máy ảo
Có hai loại chính sách đó là Space-shared và Time-shared
Datacenter: Đây là lớp mô hình dịch vụ mức lõi cơ sở hạ tầng được cung cấp bởi các nhà cung cấp điện toán đám mây như Amazon, Azure, App Engine Nó bao gồm một tập các host tính toán Các host này có thể đồng nhất hay không đồng nhất
về cấu hình phần cứng
DatacenterBroker hay CloudBroker: Đây là lớp mô hình như là nhà môi giới,
nó chịu trách nhiệm là trung gian đàm phán giữa các nhà cung cấp SaaS và các nhà cung cấp đám mây, điểu khiển bởi yêu cầu QoS Nó tìm ra những nhà cung cấp dịch
vụ đám mây phù hợp bằng cách yêu cầu dịch vụ thông tin đám mây và đảm nhiệm đàm phán trực tuyến để phân bổ các dịch vụ hay nguồn tài nguyên để có thể đáp ứng được các yêu cầu QoS của ứng dụng
Trang 28DatacenterCharacteristics: Lớp này chứa thông tin cấu hình đặc điểm của các nguồn tài nguyên Datacenter
Host: Đây là lớp mô hình nguồn tài nguyên vật lý như một máy chủ tính toán hoặc máy chủ lưu trữ Nó bao gồm những thông tin quan trọng như là số lượng bộ nhớ và lưu trữ, danh sách core và loại core xử lý, đại diện cho một máy tính đa lõi, một chính sách phân bổ chia sẻ năng lực xử lý giữa các máy ảo và chính sách cung cấp bộ nhớ và băng thông cho máy ảo
Vm: Đây là lớp mô hình máy ảo, được quản lý và lưu trữ bởi một thành phần lưu trữ đám mây Mỗi thành phần máy ảo có thể truy xuất tới một thành phần lưu trữ kèm theo sau là bộ nhớ truy cập, bộ xử lý, kích thước lưu trữ.Ngoài một số lớp nêu trên thì còn một số lớp như CloudCoordinator, NetworkTopology, RamProvisioner, SanStorage, Sensor, VmAllocationPolicy… Đây là những lớp cơ bản, khối xây dựng của bộ mô phỏng CloudSim
1.6.2 Luồng giao tiếp giữa các thực thể lõi trong CloudSim
Như đã xét ở phần trên ta đã biết Datacenter và DatacenterBroker là hai lớp quan trọng trong bộ mô phỏng CloudSim Datacenter bao gồm một tập các host tính toán, còn DatacenterBroker là nhà môi giới, nó chịu trách nhiệm là trung gian đàm phán giữa các nhà cung cấp SaaS và các nhà cung cấp đám mây Ở hình 1.7: Luồng giao tiếp giữa các thực thể lõi trong CloudSim ta còn đề cập tới CISRgestry Đây là một thực thể dùng để đăng ký nguồn tài nguyên có thể cung cấp, lập chỉ mục và khả năng phát hiện tài nguyên Nó hỗ trợ hai phương thức cơ bản là cho phép thực thể đăng ký chính chúng với CIS và cho phép các thực thể như CloudCoordinator và Broker trong việc phát hiện tình trạng và địa chỉ liên lạc đầu cuối của các thực thể khác Thực thể này thông báo tới các thực thể khác về sự kết thúc mô phỏng
Bắt đầu mô phỏng, mỗi thực thể Datacenter sẽ đăng ký với CIS Sau đó CIS cung cấp các chức năng đăng ký thông tin, dàn xếp dịch vụ để lập bản đồ người dùng hay môi giới để yêu cầu các nhà cung cấp đám mây phù hợp Tiếp theo Datacenter đại diện cho người dùng tham khảo dịch vụ CIS để có được danh sách các dịch vụ từ các nhà cung cấp đám mây sao choc ho phù hợp với yêu cầuchất
Trang 29lượng dịch vụQoS, phần cứng và phần mềm của ứng dụng Trong trường hợp ngang hàng nhau DatacenterBroker sẽ triển khai ứng dụng với đám mây được đề xuất bởi CIS Luồng giao tiếp được mô tả từ trước đến nay liên quan tới luồng cơ bản trong một môi trường mô phỏng Một vài thay đổi trong luồng này có thể tùy thuộc vào các chính sách Ví dụ như thông tin từ Broker đến Datacenter có thể yêu cầu từ bộ phận khác của Datacenter, hoặc về số lượng tối đa của máy ảo mà người dùng có thể tạo ra
Hình 1.7: Luồng giao tiếp giữa các thực thể lõi trong CloudSim [6]
1.7 Tính cấp thiết của đề tài
Điện toán đám mây hiện nay là xu hướng công nghệ mới đang phát triển mạnh mẽ Điện toán đám mây cung cấp khả năng mở rộng tài nguyên ảo tự động thông qua các dịch vụ Internet để sử dụng theo yêu cầu, và cũng phát triển cao hơn điện toán phân tán, điện toán song song và điện toán lưới Ưu điểm chính của điện toán đám mây là có thể giảm nhanh các chi phí phần cứng và tăng khả năng tính
Datacenter CISRegistry DatacenterBroker
Đăng ký
Datacenter sẵn sàng Nhận đặc điểm tài nguyên Khởi tạo các máy ảo Lập lịch các tác vụ Hoàn thành các tác vụ Hủy cung cấp máy ảo Yêu cầu
Trang 30toán và khả năng lưu trữ, người sử dụng có thể truy cập dịch vụ chất lượng cao với mức chi phí thấp
Ngày nay với sự phát triển mạnh mẽ của internet, việc sử dụng điện toán đám mây ngày một phổ biến Chính vì vậy mà để đảm bảo sử dụng tối ưu các nguồn lực, tối đa hóa thông lượng, giảm thời gian đáp ứng và tránh tình trạng quá tải trên máy chủ, các nhà cung cấp rất quan tâm đến các thuật toán cân bằng tải trên điện toán đám mây nhằm khắc phục những hạn chế trên
Với rất nhiều tiện nghi, sự phổ biến, người dùng sử dụng điện toán đám mây
sẽ ngày một tăng lên Sự gia tăng số lượng người dùng đồng nghĩa với việc tăng số lượng các yêu cầu cho các nhà cung cấp dịch vụ điện toán đám mây tại bất kỳ thời điểm nào Số người sử dụng có thể được coi như là tải trọng của máy chủ Vì vậy, chắc chắn sẽ dẫn đến việc máy chủ xử lý bị quá tải Có nhiều giải pháp để giải quyết vấn đề này Có thể là tăng số lượng máy chủ, tăng cấu hình của máy chủ, hoặc có thể lên kế hoạch cho yêu cầu truy cập đến các máy chủ Sự gia tăng sức mạnh xử lý của máy chủ là tốn kém và là một giải pháp tạm thời và trong nhiều trường hợp không cần thiết
Vì vậy, giải pháp nghiên cứu để tăng tính ưu việt của các thuật toán cân bằng tải trên điện toán đám mây là vô cùng cần thiết Nó giúp cho các doanh nghiệp, các nhà cung cấp dịch vụ giảm các thiết bị cơ sở hạ tầng phần cứng một cách đáng kể Một trong những cách tiếp cận có hiệu quả đối với thuật toán cân bằng tải đó là thuật toán Max-Min, Min-Min, Ant Colony Từ những thuật toán cơ bản này, đã có thêm nhiều ý tưởng, cải tiến hơn [7], [9], [10], để giải quyết các vấn đề tắc nghẽn,
sử dụng tài nguyên một cách hợp lý trên điện toán đám mây
1.8 Tình hình nghiên cứu
Có nhiều phương pháp và cách tiếp cận khác nhau để giải quyết vấn đề cân bằng tải trên môi trường điện toán đám mây Các nhà nghiên cứu đã phát huy và kế thừa những thuật toán cân bằng tải truyền thống trước đó như Round-Robin, Least
Trang 31Connection, Weighted Least Connection…Vì vậy mà các thuật toán cân bằng tải ngày một trở nên tối ưu hơn
Nhóm tác giả trong các bài nghiên cứu [7], [9], [10], [11] đã đưa ra một số phương pháp cân bằng tải vô cùng hữu ích và rất đáng để tìm hiểu thêm Phương pháp cân bằng tải của nhóm tác giả trên chủ yếu chú trọng tới vấn đề nguồn tài nguyên và các yêu cầu công việc Cân bằng tải ra sao để có thể quản lý và điều phối các yêu cầu tới hệ thống một cách kịp thời và tốt nhất Tuy vậy những phương pháp của nhóm tác giả vẫn tồn tại một số nhược điểm Trong chương tiếp theo của luận văn tôi sẽ đi sâu vào phân tích và đánh giá các thuật toán mà các nhóm tác giả ở trên
đề xuất, đồng thời kết hợp những ưu điểm đã có để đưa ra một giải pháp tối ưu hơn
Kết luận chương 1:
Chương 1 giới thiệu tổng quan về điện toán đám mây và cân bằng tải trên môi trường điện toán đám mây Đồng thời cũng đề cập đến cân bằng tải tĩnh và cân bằng tải động, từ đó thấy được sự khác biệt của hai loại hình cân bằng tải này Qua
đó khẳng định tính cấp thiết của luận văn là rất quan trọng Trong chương này cũng trình bày về công cụ mô phỏng Cloudsim, đây là bộ thư viện dùng để hỗ trợ mô hình hóa hệ thống điện toán đám mây rất hữu ích được dùng để mô phỏng trong bài luận văn này.Chương kế tiếp sẽ trình bày và phân tích môt số thuật toán cân bằng tải trên môi trường điện toán đám mây