Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Sư phạm Nghiên cứu thuật toán cấp phát máy ảo dựa trên bài toán cái túi...

Tài liệu Nghiên cứu thuật toán cấp phát máy ảo dựa trên bài toán cái túi

.PDF
25
1
128

Mô tả:

TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT KHOA CÔNG NGHỆ THÔNG TIN Tên đề tài: Xây Dựng Hệ Quản Trị Tài Nguyên Trên Điện Toán Đám Mây IaaS Mã số: Tên báo cáo chuyên đề: Nghiên cứu thuật toán cấp phát máy ảo dựa trên bài toán cái túi Chủ nhiệm đề tài: ThS. Bùi Thanh Khiết Người chủ trì thực hiện chuyên đề: ThS. Bùi Thanh Khiết Bình Dương, 20/05/2015 1 MỤC LỤC MỤC LỤC ................................................................................................................... i DANH MỤC CÁC CHỮ VIẾT TẮT ........................................................................ ii DANH MỤC BẢNG ................................................................................................. iii 1. Đặt vấn đề ...............................................................................................................1 2. Phương pháp nghiên cứu .........................................................................................1 3. Công nghệ ảo hóa máy chủ .....................................................................................2 3.1. Khái niệm ảo hóa máy chủ ................................................................................2 3.2. Phân loại ảo hoá máy chủ [1, 2, 4, 7, 8] ............................................................3 3.2.1. Ảo hóa hệ điều hành ....................................................................................3 3.2.2. Ảo hóa phần cứng (Full-virtualization) .......................................................4 3.2.3. Ảo hóa song song (Para-virtualization) .......................................................5 3.3. Lợi ích ảo hóa máy chủ .....................................................................................6 3.3. Mối quan hệ của ảo hóa máy chủ và điện toán đám mây .................................7 4. Nghiên cứu bài toán cái túi .....................................................................................7 4.1 Bài toán cái túi ....................................................................................................7 4.2 Bài toán cái túi dạng 0-1.....................................................................................8 4.3 Một số cách giải bài toán cái túi .........................................................................9 4.3 Nhận xét .............................................................................................................9 5. Xây dựng thuật toán cấp phát máy ảo trên IaaS .....................................................9 5.1 Giới thiệu ............................................................................................................9 5.2 Thuật toán sử dụng tối thiểu máy chủ vật lý ....................................................10 5.3 Thuật toán cân bằng tải máy chủ vật lý ............................................................11 5.4. Kết quả nghiên cứu ..........................................................................................13 6. Kết luận và kiến nghị ............................................................................................15 Phụ lục .......................................................................................................................17 i DANH MỤC CÁC CHỮ VIẾT TẮT Viết tắt Tiếng Anh Tiếng Việt IaaS Infrastructure as a Service Dịch vụ cơ sở hạ tầng VM Virtual Machine Máy ảo VMM Virtual Machine Monitor Giám sát máy ảo OS Operating System Hệ điều hành HA High Availability Sẵn sàng cao BW Bandwidth Băng thông MIPS Millions Instructions Per Second ARCH System architecture PEs processing elements Kiến trúc hệ thống ii DANH MỤC BẢNG Bảng 5. 1 Cấu hình máy chủ vật lý ...........................................................................13 Bảng 5. 2 Cấu hình máy ảo .......................................................................................14 Bảng 5. 3 Kết quả thực nghiệm .................................................................................14 Bảng 5. 4 Kết quả thực nghiệm chi tiết .....................................................................19 iii DANH MỤC HÌNH VẼ Hình 3. 1 Mô hình ảo hóa hệ điều hành ......................................................................3 Hình 3. 2. Mô hình ảo hóa phần cứng .........................................................................4 Hình 3. 3. Mô hình ảo hóa song song .........................................................................5 Hình 4. 1. Bài toán xếp ba lô một chiều ......................................................................8 iv 1. Đặt vấn đề Mô hình điện toán đám mây (ĐTĐM) dịch vụ cơ sở hạ tầng (Infrastruture as a Server – IaaS) cung cấp cho người dùng cơ sở hạ tầng như mạng, máy chủ, CPU, bộ nhớ, không gian lưu trữ và các tài nguyên tính toán khác thường dưới dạng máy ảo (VM) bằng công nghệ ảo hóa máy chủ. Công nghệ ảo hóa máy chủ cho phép tạo ra nhiều máy ảo trên một máy chủ vật lý, mỗi máy ảo cũng được cấp phát tài nguyên phần cứng như máy thật với RAM, CPU, card mạng, ổ cứng, hệ điều hành và các ứng dụng riêng. Trong ĐTĐM IaaS có chứa rất nhiều máy chủ vật lý, do đó vấn đề cấp phát máy ảo làm sao để sử dụng hiệu quả tài nguyên máy chủ vật lý và đáp ứng yêu cầu sử dụng tài nguyên đa dạng của người dùng, tiết kiệm được năng lượng sử dụng điện là vấn đề rất cần thiết nhất là triển khai ĐTĐM IaaS cho một phòng thí nghiệm của một trường đại học. Hiện nay có nhiều chiến lược cấp phát máy ảo trong IaaS, để làm tốt việc cấp phát máy ảo thì phụ thuộc rất nhiều vào môi, chiến lược cấp phát. Trong chuyên đề này, chúng tôi nghiên cứu 2 chiến lược chính trong cấp phát tài nguyên là: (i) sử dụng tối thiểu máy chủ vật lý nhằm giúp tiết kiệm tài nguyên (điện) của hệ thống; (ii) cân bằng tải trong việc sử dụng các máy vật lý đảm bảo chất lượng dịch vụ nhằm tránh tình trạng quá tải ở máy chủ vật lý. Từ đó, chúng tôi nghiên cứu 2 thuật toán cấp phát cho hai chiến lược trên dựa vào thuật toán tham lam và thuật toán RoundRobin, sau đó xây dựng và thực nghiệm thuật toán trên CloudSim toolkit [3] 2. Phương pháp nghiên cứu  Nghiên cứu lý thuyết về công nghệ ảo hóa máy chủ.  Nghiên cứu lý thuyết và cách giải bài toán cái túi.  Nghiên cứu thuật toán tham lam, thuật toán RoundRobin.  Ứng dụng cách giải bài toán cái túi để xây dựng giải thuật cấp phát tài nguyên cho điện toán đám mây IaaS. 1 3. Công nghệ ảo hóa máy chủ Ngày nay, hệ thống máy chủ ở các trung tâm dữ liệu thường hoạt động khoảng 10% tới 25% công suất. Nói cách khác, 75% tới 90% công suất của máy không được dùng đến. Một máy chủ dùng chưa hết công suất vẫn chiếm diện tích sử dụng và hao tổn điện năng, vì vậy chi phí hoạt động của một máy chủ không được sử dụng đúng mức cũng gần bằng với chi phí khi chạy hết công suất. Như vậy chúng ta đang lãng phí các tài nguyên của cả hệ thống. Với sự cải tiến không ngừng các đặc điểm hoạt động của phần cứng, máy tính trong năm tới sẽ có công suất gấp đôi máy tính của năm nay. Từ đó, phải có một cách nào đó hiệu quả hơn để công suất của làm việc của máy tương ứng với tỷ lệ sử dụng và đó là những gì mà ảo hóa có thể làm được –bằng việc dùng một phần cứng duy nhất để hỗ trợ cùng một lúc nhiều hệ thống. Ảo hóa máy chủ mang lại cơ hội cắt giảm chi phí bằng việc giảm số lượng máy chủ. Ít máy chủ hơn nghĩa là cần ít diện tích hơn, ít nhân viên hơn và giảm điện năng tiêu thụ. 3.1. Khái niệm ảo hóa máy chủ Ảo hóa máy chủ là công nghệ ứng dụng ảo hóa nhằm khai thác triệt để khả năng làm việc của các phần cứng trong một hệ thống máy chủ. Ý tưởng của ảo hóa máy chủ là tạo ra nhiều máy ảo trên một máy chủ vật lý, mỗi máy ảo cũng được cấp phát tài nguyên phần cứng như máy thật với RAM, CPU, card mạng, ổ cứng, hệ điều hành và các ứng dụng riêng. 2 3.2. Phân loại ảo hoá máy chủ [1, 2, 4, 7, 8] 3.2.1. Ảo hóa hệ điều hành Hình 3. 1 Mô hình ảo hóa hệ điều hành Hình 3.1 minh họa mô hình ảo hóa hệ điều hành, bao gồm các tầng sau:  Phần cứng của máy vật lý;  Hệ điều hành chia sẻ (Shared OS): hệ điều hành máy vật lý có khả năng chia sẻ phần cứng cho những hệ điều hành ảo;  Hệ điều hành khách: hệ điều hành của máy ảo;  Ứng dụng: thực thi trên hệ điều hành khách. Ảo hóa hệ điều hành là một dạng ảo hóa phần mềm. Hệ điều hành cho phép nhiều thể hiện của không gian khách hàng khác nhau có thể cùng thực thi. Những thể hiện đó chính là những hệ điều hành ảo đem đến cho người dùng cảm giác như một máy thật. Nhân hệ điều hành cung cấp tính năng quản lý tài nguyên cho phép cô lập các hệ điều hành ảo, nhằm tránh xung đột tài nguyên với nhau. Chi phí để thực hiện ảo hóa hệ điều hành tương đối thấp, với hiệu năng hệ thống cao, vì các ứng dụng trong hệ điều hành ảo chỉ đơn giản thực thi và gọi những lời gọi hệ thống như bình thường, không cần phải có một bộ giả lập hoặc máy ảo trung gian. Giải pháp cũng không đòi hỏi sự hỗ trợ từ phần cứng. Tuy nhiên 3 nhược điểm lớn nhất của ảo hóa hệ điều hành là kém linh hoạt, bởi hệ điều hành khách cũng chính là hệ điều hảnh chủ (hoặc có chung nhân như nhân linux) do đó ảo hóa hệ điều hành chỉ thích hợp với cấu hình thuần nhất. 3.2.2. Ảo hóa phần cứng (Full-virtualization) Hình 3. 2. Mô hình ảo hóa phần cứng Hình 3.2 minh họa mô hình ảo hóa phần cứng, bao gồm các tầng sau:  Phần cứng vật lý: bao gồm thiết bị nhập xuất, thiết bị lưu trữ, bộ vi xử lý;  Bộ giám sát máy ảo (Virtual Machine Monitor – VMM): cung cấp cho máy ảo tất cả các dịch vụ của hệ thống phần cứng bao gồm BIOS ảo, thiết bị ảo, quản lý bộ nhớ ảo;  Các máy ảo: sử dụng tài nguyên do VMM quản lý;  Hệ điều hành khách: thực thi trên nền các máy ảo này;  Ứng dụng: thực thi trên hệ điều hành khách. Phương pháp ảo hóa này dựa trên việc giả lập phần cứng máy tính. VMM mô phỏng phần cứng và liên lạc với các trình điều khiển thiết bị. Các trình điều khiển thiết bị phần cứng liên lạc trực tiếp đến phần cứng vật lý. Các máy ảo sử dụng tài nguyên do VMM quản lý. Máy ảo là một ảnh của toàn bộ hệ thống, bao gồm BIOS ảo, 4 không gian bộ nhớ ảo và các thiết bị ảo. Hệ điều hành khách không bị thay đổi và chúng hoạt động như trên phần cứng thật sự. Phương pháp này không chỉ hỗ trợ nhiều hệ điều hành mà còn hỗ trợ nhiều loại hệ điều hành khác nhau thực thi trên cùng một máy chủ. Mỗi hệ điều hành này có thể khác nhau về phiên bản thậm chí còn khác nhau hoàn toàn như Windows và Linux có thể thực thi đồng thời trên phần mềm ảo hóa phần cứng. Nhược điểm của mô phỏng phần cứng là nó ảnh hưởng đến khả năng hoạt động của hệ thống. Điều này khiến cho các ứng dụng trên các máy ảo thực thi chậm hơn bình thường. Các công ty cung cấp phần mềm ảo hóa phần cứng gồm có VMware (ở cả hai phiên bản VMware Server và ESX Server) và Microsoft. 3.2.3. Ảo hóa song song (Para-virtualization) Hình 3. 3. Mô hình ảo hóa song song Hình 3.3 minh họa mô hình ảo song song, bao gồm các tầng sau:  Phần cứng vật lý: bao gồm thiết bị nhập xuất, thiết bị lưu trữ, bộ vi xử lý và các thiết bị khác như các thiết bị mạng, vi xử lý đồ họa, âm thanh ...;  Giám sát máy ảo (Virtual Machine Monitor – VMM): chỉ mô phỏng một phần và cung cấp các dịch vụ để hệ điều hành khách tương tác với hệ thống phần cứng; 5  Các máy ảo: sử dụng tài nguyên do VMM quản lý.  Hệ điều hành khách: thực thi trên nền các máy ảo này, hệ điều hành này được đã tinh chỉnh.  Ứng dụng: thực thi trên hệ điều hành khách. Với phương pháp ảo hóa này, thay vì mô phỏng một môi trường phần cứng hoàn chỉnh, VMM chỉ mô phỏng một phần và cung cấp các dịch vụ để hệ điều hành khách tương tác với hệ thống phần cứng. Để có thể tương tác với hệ thống phần cứng thì hệ điều hành khách phải được tinh chỉnh, không phải là phiên bản giống như hệ điều hành gốc. Do đó, hệ điều hành khách thực thi ảo hóa song song với phần giả lập phần cứng. Điều này có nghĩa không phải hệ điều hành nào cũng có thể thực thi ảo hóa song song. Ảo hóa song song có hai ưu điểm. Thứ nhất, hiệu năng hệ thống cao hơn do không cần mô phỏng toàn bộ phần cứng vật lý. Thứ hai, không giới hạn trình điều khiển thiết bị trong phần mềm ảo hóa như ảo hóa phần cứng. Bởi vì ảo hóa song song sử dụng trình điều khiển thiết bị có trong hệ điều hành chủ, tận dụng được nhiều loại phần cứng. Sản phẩm nguồn mở XenServer xuất hiện trong các bản phân phối Linux là một ví dụ điển hình về para-virtualization. 3.3. Lợi ích ảo hóa máy chủ Triển khai nhanh: thay vì cài đặt máy chủ, chỉ cần cần khôi phục một bản sao lưu hoặc đơn giản là sao chép tập tin của máy ảo trong phần mềm ảo hóa. Đối với nhiều máy ảo, việc triển khai hàng loạt một cách tự động là điều có thể. Việc nâng cấp phần cứng được thực hiện nhanh chóng và đơn giản bằng các thủ tục phần mềm. Tăng khả năng khôi phục sau thảm họa: việc ảo hóa cô lập phần lớn các lỗi của máy ảo khỏi máy vật lý. Ngoài ra, nếu một máy vật lý bị sự cố thì các máy ảo sẽ được di chuyển đến máy chủ khác và có thể hoạt động lại ngay tức thì. Sao lưu và khôi phục dễ dàng hoàn toàn bằng phần mềm. Phân phối tài nguyên linh hoạt: với các công cụ quản lý từ xa các máy chủ và máy ảo ta sẽ thấy tình trạng toàn bộ hệ thống từ đó có chính sách nâng cấp máy vật lý 6 hoặc máy ảo đó hoặc di chuyển máy ảo đang quá tải đó sang máy chủ vật lý có cấu hình mạnh hơn, có nhiều tài nguyên còn trống hơn để hoạt động. Điều này giúp đối phó với những yêu cầu tăng tài nguyên một cách đột biến trong thời gian ngắn, do đó tài nguyên vật lý được tận dụng tối đa. Những máy chủ thường xuyên trao đổi thông tin với nhau có thể được di chuyển đến những vị trí vật lý gần nhau hơn để tăng cường hiệu năng liên kết. Tiết kiệm: thông thường, các máy chủ chỉ sử dụng rất ít tài nguyên của hệ thống, trong đó phần lới là bộ vi xử lý và bộ nhớ. Các nghiên cứu cho thấy trung bình doanh nghiệp chỉ sử dụng khoảng 10% đến 25% công suất máy chủ. 3.3. Mối quan hệ của ảo hóa máy chủ và điện toán đám mây Ảo hóa được xem là một phần xu hướng chung đối với các hệ thống thông tin cho doanh nghiệp. Xu hướng đó bao gồm cả điện toán tự trị (autonomic computing) mà trong đó môi trường điện toán có thể tự quản lý dựa trên thông tin theo dõi được từ hoạt động của chính nó và điện toán theo yêu cầu (ultility computing) khi mà năng lực xử lý của máy tính được xem như tiện ích mà khách hàng có thể chi trả theo nhu cầu sử dụng. Trong cả hai xu hướng, vai trò của ảo hóa rất quan trọng. Ảo hóa chính là chìa khóa của điện toán đám mây. Mặc dù không phải bắt buộc nhưng những mô hình điện toán đám mây sử dụng công nghệ ảo hóa sẽ có hiệu năng và tính linh hoạt cao nhờ khả năng chia sẽ các tài nguyên ảo thông qua hệ thống mạng. Bằng cách sử dụng ảo hóa, chi phí triển khai hệ thống sẽ giảm đáng kể và còn đảm bảo được tính hiệu quả trong việc sử dụng tài nguyên. 4. Nghiên cứu bài toán cái túi 4.1 Bài toán cái túi Bài toán cái túi hay còn gọi là bài toán xếp ba lô là một bài toán tối ưu hóa tổ hợp. Bài toán được đặt tên từ vấn đề chọn những gì quan trọng có thể cho vừa vào trong một cái túi (với giới hạn khối lượng) để mang theo trong một chuyến đi. Các bài 7 toán tương tự thường xuất hiện trong kinh doanh, toán tổ hợp, lý thuyết độ phức tạp tính toán, mật mã học và toán ứng dụng. Hình 4. 1. Bài toán xếp ba lô một chiều Ví dụ về một bài toán xếp ba lô giới hạn 1 chiều: chọn các hộp nào để làm cực đại lượng tiền trong khi giữ được tổng khối lượng dưới 15 kg? Bài toán đa chiều có thể xét đến khối lượng riêng và kích thước của các hộp, đó là bài toán xếp vali điển hình (packing problem). Ta có n loại đồ vật, x1 tới xn. Mỗi đồ vật xj có một giá trị pj và một khối lượng wj. Khối lượng tối đa mà ta có thể mang trong ba lô là C. 4.2 Bài toán cái túi dạng 0-1 Hạn chế số đồ vật thuộc mỗi loại là 0 (không được chọn) và 1 (được chọn). Bài xếp ba lô 0-1 có thể được phát biểu bằng toán học như sau: 8 Cực đại hóa sao cho 4.3 Một số cách giải bài toán cái túi a) Thuật toán trực tiếp (Brute-force): duyệt tất cả 2n khả năng đồ vào túi, tình cách chất có tổng giá trị lớn nhất có tổng trọng lượng các đồ vật không quá dung lượng cái túi b) Thuật toán tham lam: sắp xếp các đồ vật theo thứ tự không tăng giá trị. Lần lượt xét các đồ vật theo thứ tự đã sắp, chất đồ đang xét vào túi nếu như dung lượng còn lại của cái túi đó đủ chứa nó( tức là tổng trọng lượng của các đồ vật đã xếp vào túi và trọng lượng của các đồ vật đang xét không vượt quá khả năng của túi). 4.3 Nhận xét Đây là vấn đề khó và được xếp vào dạng NP-Hard nên thường được giải theo dạng heurictic. Cần phải xác định mục tiêu, chiến lược cụ thể khi giải. 5. Xây dựng thuật toán cấp phát máy ảo trên IaaS 5.1 Giới thiệu Trong cơ sở hạ tầng của điện toán đám mây IaaS, giả sử có M máy vật lý đồng nhất được thể hiện P={P1 , P2 , …, Pn}. Nhờ công nghệ ảo hóa, máy vật lý có thể triển khai máy ảo trên chính nó. Tất cả các máy vật lý có thể nhận yêu cầu máy ảo và tạo ra máy ảo đáp ứng yêu cầu của người dùng. Một yêu cầu máy ảo được thể hiện trong tập Ri = {r1 , r2 , …, rn} các máy ảo trong lần yêu cầu thứ i, trong đó một máy ảo sẽ được thể hiện là ri (m, c, d) với m là yêu cầu ram của máy ảo, c là yêu cầu số cpu của máy ảo, d là yêu cầu image của máy ảo; mỗi yêu cầu máy ảo độc lập nhau. 9 Việc cấp phát máy ảo như thế nào để có thể đảm bảo việc sử dụng tài nguyên hiệu quả cũng như việc sử dụng dịch vụ cơ sở hạ tầng IaaS ổn định là một vấn đề quan trọng, cần phải có chiến lược cấp phát tài máy ảo trong IaaS hợp lý. Ở đây, chúng tôi sẽ nghiên cứu thuật toán đáp ứng hai chiến lược[5, 6, 10, 11]: (i) sử dụng tối thiểu máy chủ vật lý; (ii) cân bằng tải trong việc sử dụng các máy vật lý. Chúng tôi đề xuất 2 thuật toán cho hai chiến lược cấp phát máy ảo nói trên phương pháp tham lam, phương pháp RoundRobin[9] và triển khai thực nghiệm trên CloudSim toolkit 3.0. 5.2 Thuật toán sử dụng tối thiểu máy chủ vật lý Để xác định khả năng phân phối tất cả các máy ảo của người dùng vào các máy đơn vật lý thì đầu tiên, thuật toán sẽ sắp xếp các máy đơn vật lý theo các tiêu chuẩn sau: 1) Đầu tiên, ưu tiên máy đơn vật lý nào có ít hợp đồng đang chạy nhất tại thời điểm t. 2) Nếu tiêu chuẩn (1) bằng nhau, so sánh dựa vào số lượng tài nguyên rảnh tại thời điểm t. Khi các máy đơn đã được sắp xếp, sử dụng thuật toán tham lam để phân phối tất cả các máy ảo. Thuật toán cố gắng phân phối càng nhiều máy ảo lên một máy đơn vật lý càng tốt. 10 Thuật toán 1: Phân phối tham lam - Greedy Input: R {Danh sách yêu cầu máy ảo} Output: Một cách phân phối R → P map ← empty dictionary P' ←sort(P) {Sắp xếp dựa theo chiến lược lựa chọn máy đơn đã nêu} cur_vm ← Máy ảo đầu tiên trong R for P' do p_done ← false while not p_done do if cur_vm có thể phân phối lên p then mapcur-vm ← p cur_vm ← Máy đơn tiếp theo trong R else p_done ← true end if end while end for return map 5.3 Thuật toán cân bằng tải máy chủ vật lý 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ủ. Các lợi ích khi sử dụng phương pháp 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 HA (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ụ. 11  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àngcũng thô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. Chúng tôi đề xuất dùng thuật toán Round Robin cho chiến lược cân bằng tải các máy chủ vật lý – đây gọi là thuật toán luân chuyển vòng, các máy chủ sẽ được xem ngang hàng và sắp xếp theo một vòng quay. Các truy vấn dịch vụ sẽ lần lượt được gửi tới các máy chủ theo thứ tự sắp xếp. Ví dụ: Cấu hình một cụm Cluster bao gồm 03 máy chủ: A, B, C.  Yêu cầu dịch vụ thứ nhất sẽ được gửi đến máy chủ A.  Yêu cầu dịch vụ thứ hai sẽ được gửi đến máy chủ B.  Yêu cầu dịch vụ thứ ba sẽ được gửi đến máy chủ C.  Yêu cầu dịch vụ thứ tư sẽ lại được gửi cho máy chủ A…. 12 Thuật toán 2: Phân phối cân bằng tải – Round Robin Input: R {Danh sách yêu cầu máy ảo} Output: Một cách phân phối R → P map ← empty dictionary cur_p {Máy chủ vật lý đầu tiên trong P} size ← {số lượng máy chủ vật lý trong P} for ∀ vm ∈ R do cur_p = cur_p%size if vm có thể phân phối lên cur_p then mapcur_node ← p cur_p ← Máy chủ vật lý tiếp theo trong R else end for return map 5.4. Kết quả nghiên cứu Chúng tôi xây dựng thuật toán và thực nghiệm trên công cụ CloudSim 3.0 toolkit. Chúng tôi xây dựng một datacenter có 5 host (máy chủ vật lý), với cấu hình của các host sau: Tham số Giá trị System architecture (arch) x86 Operating system (os) Linux Time zone this resource located (time_zone) 7 Virtual machine monitoring (vmm) Xen Ram 2048 Mb Strorage 100,000 Mb Bandwidth (bw) 10,000 (*) PEs 5 Bảng 5. 1 Cấu hình máy chủ vật lý (*) CloudSim Pe (Processing Element) class represents CPU unit, defined in terms of Millions Instructions Per Second (MIPS) rating. ASSUMPTION: All PEs under the same Machine have the same MIPS rating. 13 Với yêu cầu cấu hình máy ảo như sau Tham số Giá trị Image size (size) 10,000 Mb Ram 512 Mb MIPS (mips) 1000 Bandwidth (bw) 1000 vmm xen Number of cpus (pesNumber) 1 Bảng 5. 2 Cấu hình máy ảo Với hệ thống IaaS gồm 1 datacenter có 5 host, chúng tôi đã thực thi chương trình giả lập lần lượt là 5, 10, 15, 20, 25 máy ảo được gửi lên hệ thống và thu được kết qủa như bảng sau (có thể xem kết quả chi tiết trong phần phụ lục): Số VM yêu cầu cấp phát 5 10 15 20 25 Số VM cấp Số lượng Host sử dụng phát thành theo thuật toán 1 công Greedy 5 2 10 3 15 4 20 5 20 ( 5 VM bị lỗi) 5 Số lượng Host sử dụng theo thuật toán 2 – Round Robin 5 5 5 5 5 Bảng 5. 3 Kết quả thực nghiệm Host 6 5 4 Greedy 3 RoundRobin 2 1 0 5 10 15 20 25 VM Hình 5. 1 Số lượng host được sử dụng theo thuật toán Greedy và RoundRobin Với hệ thống IaaS ( 5 Host) trên chỉ có thể cấp phát tối đa 20 máy ảo cùng lúc vì hệ thống các Host không đủ tài nguyên để cấp phát thêm, cụ thể ở đây là Ram. 14 6. Kết luận và kiến nghị Trong chuyên đề này chúng tôi trình bày cơ sở lý thuyết về công nghệ ảo hóa máy chủ được phân làm ba loại gồm: ảo hóa hệ điều hành, ảo hóa ful-virtuatlization, ảo hóa para-virtuatlization. Thuật toán cấp phát máy ảo trong IaaS được nghiên cứu theo hai chiến lược:  (i) Sử dụng tối thiểu máy chủ vật lý. Được hiện thực dựa trên thuật toán phân phối tham lam.  (ii) Cân bằng tải trong việc sử dụng các máy vật lý. Được hiện thực dựa trên thuật toán RoudRobin. Hai thuật toán được cài đặt, thực nghiệm trên công cụ nguồn mở CloudSim toolkit 3.0 trên ngôn ngữ Java. Tùy vào mục tiêu của người khai thác IaaS mà có thể chọn chiến lược thích hợp, chẳng hạn sử dụng chiến lược (i) nếu muốn tiệt kiệm tài nguyên hệ thống đặc biệt là năng lượng, ngược lại nếu muốn tránh tình trạng quá tải của hệ thống có thể dùng chiến lược (ii). Tuy nhiên, để đạt được sự linh hoạt trong việc cấp phát tài nguyên cần phải nghiên cứu thêm các vấn đề về chia sẻ tài nguyên, định thời trong cấp phát tài nguyên, … 15
- Xem thêm -

Tài liệu liên quan

Tài liệu vừa đăng