Đ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 so
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI - 2012
Trang 2MỞ ĐẦU
Đ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 grid Ư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 toá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
Lập lịch là một phần rất quan trọng trong điện toán đám mây, nó là một cơ chế sắp xếp các nhiệm vụ người dùng tới nguồn tài nguyên thích hợp để thực thi Hiệu quả của nó ảnh hưởng trực tiếp đến hiệu suất của toàn bộ môi trường điện toán đám mây Bằng cách sử dụng kỹ thuật ảo hóa, tất cả các tài nguyên vật lý được ảo hóa và mang lại nhiều tiện ích cho người sử dụng Luận văn này đã được xây dựng với những nội dung chính như sau:
Chương I: Tổng quan về điện toán đám mây
Chương II: Các thuật toán lập lịch
Chương III: Nghiên cứu một số thuật toán lập lịch cụ thể
Trang 3CHƯƠNG I TỔNG QUAN VỀ ĐIỆN TOÁN
ĐÁM MÂY
Điện toán đám mây là một mô hình trong đó việc sử dụng máy tính được chuyển dời ra khỏi các máy tính cá nhân và thậm chí ra khỏi các server ứng dụng doanh nghiệp
và chuyển vào một “đám mây” các máy tính Một đám mây
là một khu vực server ảo có thể cung cấp các tài nguyên điện toán khác nhau cho khách hàng Người sử dụng hệ thống này chỉ cần quan tâm đến dịch vụ điện toán được yêu cầu Dữ liệu và các dịch vụ cung cấp đặt tại các trung tâm
dữ liệu và có thể truy cập từ bất cứ một thiết bị nào có nối mạng trên toàn thế giới
Đặc điểm của Điện toán đám mây
Điện toán đám mây có nhiều ưu điểm:
- Tự khôi phục Trong trường hợp lỗi hỏng ứng dụng, luôn luôn tồn tại một backup nhanh cho ứng dụng, sẵn sàng hoạt động mà không gây trì trệ
- Khả năng mở rộng tuyến tính Môi trường đám mây cho phép người sử dụng truy cập các tài nguyên điện toán bổ sung theo yêu cầu đáp ứng với tải ứng dụng ngày càng tăng
- Hướng dịch vụ Các hệ thống được xây dựng biệt lập với các dịch vụ riêng lẻ khác Nhiều dịch vụ đơn
lẻ độc lập nhau sẽ được phối hợp lại để tạo thành
Trang 4một dịch vụ Điều này cho phép tái sử dụng các dịch vụ.
- Hướng SLA Các dịch vụ điện toán đám mây có tính chất đảm bảo SLA sao cho khi hệ thống chịu nhiều tải, nó sẽ tự động điều chỉnh sao cho phù hợp với các SLA
- Ảo hóa Các ứng dụng trong điện toán đám mây hoàn toàn được tách biệt từ phần cứng tầng dưới Môi trường điện toán đám mây là một trường thực
sự ảo hóa Một lượng lớn các tài nguyên điện toán có thể được cung cấp và có tính khả dụng cho các ứng dụng mới trong vòng vài phút thay vì nhiều ngày hay nhiều tuần
- Linh hoạt. Điện toán đám mây phục vụ nhiều dạng tải tin, từ tải tin nhỏ của một ứng dụng nhỏ đến các tải tin khổng lồ của một ứng dụng mang tính thương mại
- Cung cấp dịch vụ theo yêu cầu Các đám mây cung cấp tài nguyên và dịch vụ cho người sử dụng theo yêu cầu
- Cung cấp QoS đảm bảo Môi trường đám mây cung cấp bởi các đám mây điện toán có thể đảm bảo QoS cho người sử dụng, ví dụ hiệu năng phần cứng như băng thông CPU và kích cỡ bộ nhớ
Các công nghệ được nhắc đến trong Điện toán đám mây:
Map Reduce, một khung phần mềm được phát triển tại
Trang 5Google năm 2003 nhằm hỗ trợ các vận hành máy tính song song trên một tập dữ liệu lớn, trên nhiều cụm máy tính Khung này được lấy từ các chức năng “map” và “reduce” thường sử dụng trong lập trình chức năng GoogleFileSystem là một hệ thống file phân phối có khả năng mở rộng được phát triển bởi Google, dành cho các ứng dụng chuyên sâu dữ liệu Nó được thiết kế để cung cấp truy cập dữ liệu hiệu quả, tin cậy sử dụng các cụm phần cứng lớn
Ưu điểm của điện toán đám mây là khả năng ảo hóa và chia
sẻ tài nguyên giữa các ứng dụng khác nhau nhằm sử dụng server tốt hơn
Dịch vụ điện toán đám mây
Mặc dù điện toán đám mây là công nghệ mới, nhưng
đã có nhiều công ty đưa ra các dịch vụ điện toán đám mây Các công ty như Amazon, Google, Yahoo, IBM, Microsoft đều tham gia vào công nghiệp dịch vụ điện toán đám mây Amazon là tiên phong với các dịch vụ như EC2 (Elastic Compute) và S3 (Simple Storage Service)
Các loại đám mây
Các đám mây có thể được phân loại theo phương thức quản lý và sở hữu, ta có thể phân ra thành Public Clouds, Private Clouds, Hybrid Clouds và Community Clouds
Trang 6Hình 1 Các loại đám mây Các mô hình dịch vụ điện toán đám mây
Cơ sở hạ tầng đám mây đóng vai trò dịch vụ (IaaS)
Các khả năng được cung cấp đến khách hàng là việc cung cấp sự xử lý, lưu trữ, các mạng lưới, và các tài nguyên điện toán cơ bản trong đó khách hàng có thể triển khai và chạy phần mềm, có thể bao gồm các hệ thống và các ứng dụng Khách hàng không quản lý hoặc điều khiển cơ sở hạ tầng đám mây tầng dưới nhưng có thể điều khiển hệ thống vận hành, lưu trữ, các ứng dụng triển khai và điều khiển có giới hạn một số thành phần mạng (ví dụ host firewall)
Phần mềm đám mây đóng vai trò dịch vụ (SaaS)
Đám mây lai
Đám mây công cộng
Đám mây riêng
Trang 7Khả năng được cung cấp đến khách hàng là việc sử dụng các ứng dụng của các nhà cung cấp chạy trên cơ sở hạ tầng đám mây Các ứng dụng có thể truy cập được từ nhiều thiết bị khác nhau thông qua một giao diện khách hàng chẳng hạn như một web browser (ví dụ email trên cơ sở web) Khách hàng không quản lý hoặc điều khiển cơ sở hạ tầng tầng dưới bao gồm mạng, server, hệ thống vận hành, lưu trữ hoặc thậm chí các khả năng ứng dụng đơn lẻ,…
Nền tảng đám mây đóng vai trò dịch vụ (PaaS)
Khả năng được cung cấp đến khách hàng là triển khai trên cơ sở hạ tầng đám mây các ứng dụng khách hàng có hoặc khách hàng tạo nên sử dụng các ngôn ngữ lập trình và các công cụ hỗ trợ bởi nhà cung cấp Khách hàng không quản lý hay điều khiển cơ sở hạ tầng tầng dưới bao gồm mạng, server, hệ thống vận hành, lưu trữ hoặc thậm chí các khả năng ứng dụng đơn lẻ,…
Lập lịch
Các thuật toán lập lịch trong các hệ thống phân bố đóng góp vai trò trong việc dàn trải tải trên các bộ xử lý và tối đa hoá sự sử dụng trong khi tối thiểu hoá thời gian thực thi nhiệm vụ tổng thể Lập lịch nhiệm vụ đóng vai trò chủ chốt để cải thiện các hệ thống tin cậy và linh hoạt Mục đích chính là để lập lịch các nhiệm vụ cho các tài nguyên thích ứng phù hợp với thời gian, bao gồm tìm ra một tuần tự hợp
lý trong đó các nhiệm vụ có thể được thi hành
Trang 8CHƯƠNG II CÁC THUẬT TOÁN LẬP LỊCH
Một số thuật toán lập lịch truyền thống
Genetic Algorithm - Thuật toán di truyền
Các thuật toán Genetic là các kỹ thuật phân bố dựa trên cơ chế chọn lựa tự nhiên và di truyền học Các thuật toán di truyền là một phân loại cụ thể của thuật toán tiến hoá
có mục đích tìm ra phương án để tối ưu hoá vấn đề, chúng được mã hoá theo chuỗi nhị phân và sử dụng tính đột biến hoặc trao đổi đoạn để chỉnh sửa mật độ qua các thế hệ Trong toán học, vấn đề tối ưu hoá tìm kiếm để tối thiểu hoá hoặc tối đa hoá một chức năng bằng cách chọn các giá trị thích hợp cho các biến số Các thuật toán di truyền bắt nguồn từ khảo sát sự tiến hoá sinh học và dựa trên các hoạt động di truyền trên gen, ví dụ như sự đột biến làm thay đổi giá trị của một gen, và sự trao đổi đoạn tạo ra các nhiễm sắc thể mới thừa kế các đặc điểm cũ từ hai nhiễm sắc thể bố mẹ Các hoạt động này được áp dụng cùng với thuyết tiến hoá của Darwin, rằng các cá nhân thích nghi hơn với môi trường
sẽ tồn tại, và sẽ sản sinh, tái tạo tối đa hoá các mã gen trong thế hệ con cái, với những đặc điểm tương đồng và sẽ thích nghi tốt hơn với môi trường sống Cơ chế di truyền là một phương thức linh động cho phép với cùng một vấn đề, các
cá nhân biểu diễn khác nhau, các thuật toán thực thi khác nhau để chọn ra đột biến
Trang 9Thuật toán 1: GAMapper
public void map(IntWritable deme_id, Chromosome individual,
outputCollector<IntWritable, Chromosome> output, reporter reporter) throws I0Exeption {
deme= demeParser.getDeme (deme_id.net()) ;
individual.fitness = fitnessFunction(deme_id, individual); migration(individual, output);
output.collect(deme_id, individual);
}
private Boolean migration (Chromosome individual,
outputCollector<IntWritable, Chromosome> output) throws I0Exception {
boolean migrated = false;
for (Map.Entry<Integer, Double> neighbor:
Thuật toán 2: GAReducer
public void reduce(IntWritable deme_id, Interator<Chromosome> values,
Trang 10thức Batch mode động xem xét các yếu tố này, cũng như các
nhiệm vụ đang đợi để được thực hiện Phương thức Minimum completion time (MCT) gán mỗi nhiệm vụ cho máy đưa ra thời gian hoàn thành sớm nhất Phương thức Minimum execution time (MET) gán mỗi nhiệm vụ cho máy thực hiện tính toán nhiệm vụ đó trong thời gian thực thi nhỏ nhất
Trang 11CHƯƠNG III NGHIÊN CỨU MỘT SỐ
Vl i Và tải của host được biểu diễn bởi tải trung bình của
máy ảo chạy trên nó, gọi là HL i, ta có = ∑ trong
đó n là số máy ảo chạy trên host
Từ HL i , giá trị tải trung bình avgl và giá trị đánh giá
cân bằng tải B của môi trường điện toán đám mây có thể định nghĩa như sau:
Trong các phương trình trên, số host là m, giá trị B
càng nhỏ thì cân bằng tải càng tốt và giá trị B càng lớn thì cân bằng tải kém hơn
Các bước thuật toán:
Trang 12Bước 1 Theo mô hình tài nguyên host, tạo tập tài nguyên host = {ℎ , ℎ , … , ℎ } và xếp theo thứ tự từ dưới lên theo công suất xử lý
Bước 2 Theo mô hình nhiệm vụ, tạo tập nhiệm vụ ={ , , … , } Trong quá trình này, bộ lập lịch mức thứ nhất tạo mô tả máy ảo theo các đặc tính của nhiệm vụ, cung cấp thông tin cấu hình cho việc gán tài nguyên và tạo máy
ảo
Bước 3 Theo mô tả máy ảo của Nhiệm vụ ∈ , chọn một
tài nguyên host h j có thể đạt được tài nguyên yêu cầu và tải
là nhỏ nhất Nếu host tồn tại, tạo máy ảo và gán tài nguyên
yêu cầu cho nó, sau đó cập nhật tài nguyên khả dụng hFcap của Host h j , nếu không nhiệm vụ t i sẽ xuống cuối hàng đợi nhiệm vụ và chờ lập lịch tiếp theo
Bước 4 Nếu yêu cầu tài nguyên của nhiệm vụ t i giảm đi, thì
giải phóng tài nguyên thừa mà máy ảo đó chiếm giữ, và cập nhật tài nguyên khả dụng giữ bởi host
Bước 6 Nếu nhiệm vụ t i đã được hoàn thành, thì huỷ máy
ảo của nhiệm vụ t i và giải phóng tài nguyên được chiếm giữ cho các nhiệm vụ chưa được thực thi khác
Bước 7 Tính giá trị đánh giá cân bằng tải B trong môi trường hiện tại, nếu B lớn hơn ngưỡng giá trị B0, điều này chỉ ra trạng thái cân bằng tải kém đi, thì chọn một máy ảo
với tải nhẹ hơn và chuyển nó đến host mà có thể đạt được yêu cầu tài nguyên với tải nhẹ nhất
Trang 13Bước 8 Lặp lại bước 3 đến 7 cho đến khi mọi nhiệm vụ được hoàn thành
Trong thuật toán trên, máy ảo được lập lịch cho host
có tải nhẹ nhất trong mỗi lần thực hiện Ưu điểm là để tránh quá tải cho host giữ nhiều tài nguyên hơn Nếu máy ảo hiện thời được lập lịch cho một host, khi lượng tính toán tăng lên, dẫn đến tải của máy ảo nặng gây mất cân bằng tải, thì hoạt động di chuyển động được sử dụng, giữ cân bằng tải trong môi trường hiện tại
kỹ thuật Min-Min, Max-Min và Genetic được phân tích
Trang 14trong hiệu năng cuối cùng của thuật toán GA tiêu chuẩn và
có sự so sánh với GA cải tiến
Bảng 1 Các tham số thời gian
GA hoạt động theo cách như sau:
1 Begin
2 Tạo quần thể với các phương án ngẫu nhiên
3 Ước lượng mỗi phương án
4 Lặp lại cho đến khi (điều kiện hoàn thành được thỏa mãn)
a Chọn bố mẹ
b Phối hợp lại các đôi bố mẹ
c Đánh giá ứng viên mới
d Chọn cá thể cho thế hệ tiếp theo;
5 End
Thuật toán di truyền cải tiến
1 Begin
2 Tìm phương thức bởi Min-Min và Max-Min
3 Tạo quần thể từ kết quả bước 2
4 Đánh giá mỗi ứng viên
Trang 155 Lặp lại cho đến (điều kiện hoàn thành)
a Chọn bố mẹ
b Phối hợp lại các đôi bố mẹ
c Đánh giá ứng viên mới
d Chọn cá thể cho thế hệ tiếp theo;
6 End
Mô phỏng và kết quả
Chúng ta sử dụng bộ công cụ mô phỏng Cloudsim để kiểm tra hiệu năng của thuật toán cải tiến và thuật toán di truyền tiêu chuẩn Chúng ta xem các Máy ảo là tài nguyên
và các đám mây Cloudlet là nhiệm vụ/công việc Trong trường hợp thứ nhất ta cố định số máy ảo và thay đổi số cloudlet, trong trường hợp thứ hai ta cố định số cloudlet và thay đổi số máy ảo Makespan mà thuật toán đưa ra được chỉ
ra trong bảng
Trong trường hợp thứ nhất, chúng ta cố định số máy
ảo là 10 và thay đổi số cloudlet từ 10 đến 40 với độ chênh lệch là 10 Chúng ta chạy mỗi thuật toán 10 lần
Bảng 2 Cố định máy ảo và thay đổi Cloudlet
Trang 16Biểu đồ hiệu năng:
Hình 3 Biểu đồ makespan cho trường hợp cố định
Trang 17Bảng 3 Cố định Cloudlet và thay đổi máy ảo
Biểu đồ hiệu năng:
Hình 3.5 Biểu đồ makespan cho trường hợp cố
định Cloudlet
Các mô hình lập lịch cho IaaS theo yêu cầu
Trang 18Xét một server farm với L server vật lý Mỗi host vật
lý có tài nguyên (C l , M l ), l=1,…,L trong đó C l là số đơn vị dung lượng CPU và M l là lượng bộ nhớ khả dụng cho việc gán các server ảo Sự tiêu thụ năng lượng và sự thải hơi
nóng lần lượt được định nghĩa là W l và H l đối với một server vật lý ∈ { , … , } Giả sử tổng dung lượng lưu trữ D là khả dụng
Trong server farm, N loại máy ảo được cấp cho khách
hàng Một máy ảo loại ∈ {1, … , }được cấp cho c n đơn vị
dung lượng CPU, m n bộ nhớ (ví dụ đo bằng megabyte) và d n
dung lượng đĩa Chúng ta giả sử rằng ≤ ≤ ⋯ ≤
Ta định nghĩa , = 1, … , là tốc độ đến của khách hàng
những người yêu cầu các máy ảo loại n với thời gian chờ
phân bố theo hàm mũ 1/
Gọi , ( ), = 1, … , , = 1, … , là số máy ảo loại n
được cấp cho các khách hàng trên một server vật lý l tại thời điểm t Chúng ta có thể viết công thức liên quan đến giới
hạn tài nguyên của một server ∈ {1, … , } như sau:
Trang 19= 1, …, L bao gồm những giá trị cụ thể của
Trang 20yêu cầu cho máy m phụ thuộc vào mô hình gán cụ thể, do
đó, việc gán này tạo ra một chuyển tiếp
Sự đến của một máy ảo loại n khi hệ thống ở trạng thái
∈ Θ tương ứng với sự chuyển tiếp từ trạng thái
Chú ý rằng l là chỉ số lớn nhất trong trường hợp có nhiều
server có cùng dung ượng CPU free lớn nhất bằng −
- Nếu ( 1, … , +, , … , ) ∈ Θ và − ∑ ,
là nhỏ nhất trong − ∑ , , = 1, … , khi mô hình dung lượng tự do tối thiểu (LF) được áp dụng
Chú ý rằng l là chỉ số lớn nhất trong trường hợp có nhiều
server có dung lượng CPU free nhỏ nhất bằng −
- Nếu ( 1, … , +, , … , ) ∈ Θ và
, … , , , … , ∉ Θ∀ = + 1, … ,