Phân tích hệ thống

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu kỹ thuật cân bằng tải trong điện toán đám mây (Trang 45)

L ỜI CẢ M ƠN

4.3.2 Phân tích hệ thống

Lung giao tiếp gia DatacenterBroker với các đối tượng

Hình 4.3 trình bày luồng giao tiếp giữa Datacenter và DatacenterBroker. Khi Datacenter được tạo ra sẽ đăng ký thông tin của với dịch vụ thông tin đám mây,

CIS. Dựa trên những thông tin được cập nhật, CIS giúp cho DatacenterBroker có thể tra cứu thông tin về đặc điểm nguồn tài nguyên tính toán của các nhà cung cấp dịch vụ đám mây phù hợp với yêu cầu của nó. Sau khi nhận được tài nguyên tính toán, DatacenterBroker sẽ gởi yêu cầu khởi tạo các máy ảo trực tiếp đến Datacenter và đóng vai trò trung gian đại diện cho người dùng lập lịch và điều phối các yêu cầu xửlý tới các máy ảo. Cho đến khi tất cảcác yêu cầu được hoàn thành xử lý, lúc này máy ảo sẽ được hủy bỏ. Vì vậy, hiệu quả của chính sách lập lịch và điều phối tải của DatacenterBroker sẽ ảnh hưởng đến thời gian đáp ứng của nguồn tài nguyên đám mây cho các yêu cầu xửlý của người dùng. Cân bằng tải ở mức máy ảo như đã đề cập ở trên là trường hợp đặc biệt của chính sách phân phối tải. Vì vậy, thuật toán được cài đặt và thực hiện tại thành phần điều phối, DatacenterBroker.

Hình 4.3. Sơđồ luồng giao tiếp giữa Datacenter với các đối tượng [16]

Cácthành phn trong DatacenterBroker

Mô tả chức năng các thành phần DatacenterBroker trong hình 4.3 như sau: 1. Thành phần tiếp nhận yêu cầu khởi tạo máy ảo, xử lý công việc từ phía

2. Thành phần tra cứu nguồn tài nguyên đám mây về nguồn tài nguyên đám mây thông qua dịch vụ thông tin đám mây.

3. Thành phần nhận về nguồn tài nguyên: Nhận về danh sách các Datacenter đang tồn tại trên đám mây. Gởi đặc điểm tài nguyên yêu cầu khởi tạo trên danh sách các Datacenter vừa nhận được.

4. Thành phần xửlý sự kiện trả về: Nó sẽ gọi một thành phần khác thực hiện một hành động tương ứng với sự kiện trả về.

5. Thành phần xử lý sự kiện trả về đặc điểm nguồn tài nguyên là trả về nguồn tài nguyênđã yêu cầu trước đó.Nó sẽ gọi thành phần “Khởi tạo máy ảo”.

6. Thành phần khởi tạo máy ảo: Thành phần này sẽ gởi sự kiện yêu cầu khởi tạo danh sách máy ảo đến các nguồn tài nguyên Datacenter đã nhận được trước đó.

7. Thành phần xử lý sự kiện trả lời yêu cầu khởi tạo máy ảo

Nếu tất cả yêu cầu khởi tạo máy ảo đã được khởi tạo thì gọi thành phần “Đệ trình yêu cầu xử lý”. Ngược lại, nếu tất cả yêu cầu khởi tạo máy ảo đã được hồi đáp, nhưng có một vài máy ảo chưa được khởi tạo thì tiếp tục tìm trong danh sách datacenter nhận được và gọi thành phần “Khởi tạo máy ảo” để tiếp tục khởi tạo máy ảo. Nếu tất cả datacenter đã được yêu cầu khởi tạo máy ảo, và có một vài máy ảo được khởi tạo thì gọi thành phần “Đệ trình yêu cầu xử lý” để tiếp tục gởi các yêu cầu còn lại chưa được xử lý cho các máy ảo đó. Nếu không có máy ảo nào được khởi tạo thìkhôngcó yêu cầu được phục vụ.

8. Đệ trình yêu cầu xử lý tác vụ

Thành phần này có nhiệm vụ phân phối các yêu cầu xử lý đến các máy ảo đã được khởi tạo trong nguồn tài nguyên Datacenter. Đây chínhlà thành phần cân bằng tải trong DatacenterBroker.

9. Thành phần xửlý sự kiện trả về trạng thái yêu cầu

Thành phần này sẽ cập nhật bảng chỉ mục trạng thái các yêu cầu đã hoàn thành xử lý được Datacenter trả về. Kiểm tra sự thực thi các yêu cầu xử lý.

Như vậy, thuật toán cân bằng tải sẽđược thực hiện tại thành phần “Đệtrình yêu cầu xử lý” của DatacenterBroker.

Khi tham gia vào đám mây DatacenterBroker bắt đầu tiếp nhận các yêu cầu từ phía người dùng, chức năng này được thực hiện bởi thành phần thành phần “tiếp nhận yêu cầu khởi tạo máy ảo, xử lý công việc”. Sau đó luồng công việc sẽ thực hiện trong hình 4.3 được mô tả như sau:

(1) Gọi thành phần tra cứu nguồn tài nguyên đám mây. (2) Gởi yêu cầu tra cứu nguồn tài nguyênđám mây trên CIS. (3) CIS trả về danh sách Id Datacenter.

(4) Gởi yêu cầu về đặc điểm nguồn tài nguyên cần khởi tạo trên các datacenter vừa nhận được.

(5) Trả về đặc điểm nguồn tài nguyên của nó cho thành phần “xử lý sự kiện trả về”.

(6) Gọi thành phần “xử lý sự kiện trả về đặc điểm nguồn tài nguyên”. (7) Gọi thành phần “khởi tạo máy ảo”.

(8) Gởi yêu cầu khởi tạo máy ảo trong danh sách datacenter nhận được trước đó.

(9) Trả về sự kiện về việc khởi tạo các máy ảo đã yêu cầu.

(10) Gọi thành phần xử lý sự kiện về việc khởi tạo máy ảo. (11) Gọi thành phần đệtrình cloudlet.

(12) Gởi các cloudlet đến các máy ảo thuộc datacenter quản lý. (13) Trả về cloudlet đã hoàn thành xử lý.

Hình 4.4 Sơ đồcác thành phần trong DatacenterBroker

Xử lý sự kiện nguồn tài

nguyên

Tiếp nhận yêu cầu khởi tạo máy ảo, xử lý yêu cầu tác vụ.

CIS Tra cứu nguồn tài nguyên có trên đám

mây

Tiếp nhận nguồn tài nguyên 1 2 3 4 5 7 8 9 13 Datacenter

Khởi tạo máy ảo

Xửlý sự kiện trả về trạng thái yêu cầu

Xử lý sự kiện trả về

Xử lý sự kiện trả về yêu cầu tạo

máy ảo Đệtrình yêu cầu xửlý 10 11 12 14 6 1 2 3 4 6 7 8 9

4.3.3 Cơ sở tính toán cho giải thuật cải tiến

Đo lường hiệu quả của cân bằng tải dựa trên nhiều yếu tố trong đó tập trung vào hai yếu tố là tải và hiệu suất. Tải là chỉ số hàng đợi CPU và sự tận dụng CPU. Hiệu suất là chỉ thời gian đáp ứng trung bình yêu cầu của người dùng. Mục tiêu luận văn đề xuất cải tiến thuật toán cân bằng tải Active Monitoring Load Balancer được thực hiện tại DatacenterBroker nhằm cải thiện thời gian đáp ứng yêu cầu của mỗi máy ảo theo 4 chính sách lập lịch cụ thể cho máy ảo và cho tác vụ. Thời gian đáp ứng dự kiến tìm thấy theo công thức sau [16],[21]:

Thời gian đáp ứng là thời gian xử lý cộng thêm chi phí thời gian truyền tải yêu cầu hay tác vụ, xếp hàng đợi qua các nút mạng.

Trong công thức (4.1):

 Arrt: là thời điểm đến của Cloudlet.

 Fint: là thời điểm hoàn thành xử lý Cloudlet:

 Nếu chính sách lập lịch là Space-Space hoặc là Time-Space thì được xác định theo công thức:

 Nếu chính sách lập lịch là Space-Time hoặc là Time-Time thì được xác định theo công thức:

Hay thời gian xử lý là thời gian xử lý của các core, tốc độ tính là MIPS. Trong công thức (4.2), (4.3): est(p) là thời điểm mà cloudlet p được khởi động, ct là thời gian mô phỏng hiện tại, rl(p) là tổng số chỉ thị của Cloudlet p.

core(p) : là số lượng cores hay phần tử xửlýđược yêu cầu bởi Cloudlet p. capacity: là năng lực xử lý trung bình (tính theo MIPS) của một core dành cho cloudlet p.

Tham số capacity xác định công xuất thực sự dành cho xử lý cloudlet trên mỗi máy ảo. Rõ ràng capacity tùy thuộc vào chính sách lập lịch tài nguyên tính toán trên hệ thống ảo hóa. Tổng năng lực xử lý trên một host vật lý là không đổi và tùy theo số core vật lý và năng lực xửlý của từng core. Tuy nhiên, khi tài nguyên xử lý này được đem chia sẻ cho nhiều cloudlet đồng thời, mỗi cloudlet yêu cầu một số core nhất định và nếu tổng số core đó lớn hơn số core vật lý thì khái niệm core ảo xuất hiện, mỗi core ảo sẽ có năng lực xử lý thấp hơn core vật lý. Nói cách khác, công suất một core ảo dành cho cloudlet chỉ có thể bằng hoặc nhỏ hơn core vật lý và như thế nào là tùy vào chính sách chia sẻ tài nguyên. Capacity chính là công suất xử lý của một core ảo. Từ phân tích này, ở đây sẽ căn cứ vào chính sách chia sẻ tài nguyên để phát triển công thức tính cho capacity. Chính sách chia sẻ tài nguyên được cụ thể hóa qua cơ chế lập lịch trong điện toán đám mây. Ta có hai mức lập lịch: lập lịch máy ảo để chia sẻ tài nguyên máy host vật lý và lập lịch cloudlet để chia sẻ tài nguyên máy ảo. Có hai cơ chế lập lịch là Time-Shared và Space-Shared. Như vậy sẽ có bốn trường hợp chia sẻ tài nguyên cần xem xét. Sau đây là đề xuất công thức tính cho cacacity trong từng trường hợp và sẽ dùng trong tính toán của giải thuật cải tiến:

(1)Host lập lịch cho máy ảo theo space-shared, máy ảo lập lịch cho cloudlet theo space-shared

𝐶𝑎𝑝𝑎𝑐𝑖𝑡𝑦 = ∑𝐶𝑎𝑝(𝑖)𝑛𝑝

𝑛𝑝 𝑖=1

Trong đó Cap(i) là năng lực xử lý của core i, np là số lượng core thực mà host đang xét có.

(2) Host lập lịch cho máy ảo theo space-shared, máy ảo lập lịch cho cloudlet theo time-shared 𝐶𝑎𝑝𝑎𝑐𝑖𝑡𝑦 = ∑ 𝐶𝑎𝑝(𝑖) 𝑛𝑝 𝑖=1 𝑀𝑎𝑥(∑𝑠𝑐 𝑐𝑜𝑟𝑒𝑠(𝑗), 𝑛𝑝) 𝑗=1

sc là tổng số cloudlet trong VM chứa cloudlet đang xét

cores(j) là số core mà cloudlet j cần

(3) Host lập lịch cho máy ảo theo time-shared, máy ảo lập lịch cho cloudlet theo space-shared 𝐶𝑎𝑝𝑎𝑐𝑖𝑡𝑦 = 𝑀𝑎𝑥(∑ ∑ 𝑐𝑜𝑟𝑒𝑠(𝑗), 𝑛𝑝) 𝑛𝑐 𝑗=1 sv 𝑘=1

sv là số VM trong host đang xét

nc là số cloudlet chạy đồng thời trong VM k

Trong công thức trên mặc dù máy ảo lập lịch cho các cloudlet theo space- shared nhưng cũng có thể có nhiều cloudlet chạy đồng thời trong một máy ảo, đó là trường hợp máy ảo có số core nhiều mà mỗi cloulet cần ít core (ví dụ máy ảo có 4 core, mỗi cloudlet chỉ cần 2 core thì có thể có 2 cloudlet chạy một lúc)

(4) Host lập lịch cho máy ảo theo time-shared, máy ảo lập lịch cho cloudlet theo time-shared 𝐶𝑎𝑝𝑎𝑐𝑖𝑡𝑦 = ∑ 𝐶𝑎𝑝(𝑖) 𝑛𝑝 𝑖=1 𝑀𝑎𝑥(∑𝑠ℎ 𝑐𝑜𝑟𝑒𝑠(𝑗), 𝑛𝑝) 𝑗=1

sh là tổng số cloudlet trong host đang xét

Vì thuật toán thực hiện công việc điều phối tải của DatacenterBroker, nên mức độ của thuật toán chỉ ảnh hưởng đến thời gian xử lý trong một môi trường mạng nội bộ của một datacenter. Do đó, tham số về độ trễ truyền có thể bỏ qua, TDelay = 0.

4.3.4 Thiết kế thut toán Thuật toán:

Bước 1: Khởi tạo DatacenterBroker và duy trì một bảng chỉ mục trạng thái của máy ảo và trạng thái các Cloudlet hiện tại được phân bổ tới máy ảo nào và trạng thái của nó đã hoàn thành xử lý hay chưa. Lúc khởi tạo chưa có máy ảo nào được phân bổ Cloudlet.

Bước 2: Khi có một yêu cầu phân bổ một máy ảo mới từ DatacenterBroker

đến, DatacenterBroker phân tích bảng chỉ mục trạng thái và tính tổng chi phí thời gian hoànthành xửlý tất cả Cloudlets hiện có trong hàng đợi của mỗi máy ảo cộng với thời gian dự kiến xử lý hoàn thành của Cloudlet chuẩn bị đệ trình. Nếu máy ảo nào có thời gian xử lý hoàn thành nhỏ hơn thì máy đó được chọn để đệ trình Cloudlet tiếp theo. Nếu có nhiều hơn một, thì xác định đầu tiên được chọn.

Bước 3: Thuật toán đề xuất trả lại Id của máy ảo được chọn đến DatacenterBroker.

Bước 4: DatacenterBroker gởi Cloudlet tới máy ảo được xác định bởi Id đó.

Bước 5: DatacenterBroker thông báo cho thuật toán đề xuất việc phân bổ mới.

Bước 6 : Thuật toán đề xuất cập nhật vào bảng chỉ mục trạng thái máy ảo đó và của Cloudlet.

Bước 7: Khi máy ảo hoànthành yêu cầu xửlývà DatacenterBroker nhận đáp ứng cloudlet, nó cập nhật vào bảng chỉ mục trạng thái của Cloudlet đã hoàn thành và giảm đi 1 Cloudlet trong bảng chỉ mục.

Hình 4.5 Lưu đồ thuật toán cân bằng tải cải tiến Máy ảo đó được chọn. Sai Sai Hết yêu cầu xử lý? Kết Bắt đầu

Nhận tác vụ từ trong danh sách tác vụ yêu cầu xử lý Chọn máy ảo tối ưu trong danh sách

- Gởi yêu cầu tới máy ảo được chọn trong Datacenter - Gán trạng thái yêu cầu là chưa hoàn thành

- Thêm tác vụ này vào danh sách tác vụ đã đệ trình - Xóa tác vụ khỏi danh sách tác vụ yêu cầu cần xửlý

Đúng

Tính tổng thời gian xử lý các tác vụ trong hàng đợi của máy ảo + Thời xử lý tác vụ chuẩn bị đệ trình ti

Thời gian nhỏ nhất

4.3.5 Mô phỏng và đánh giá thuật toán cải tiến Mục tiêu mô phỏng

Mục tiêu của việc mô phỏng này là nhằm kiểm tra so sánh, phân tích, đánh giá thời gian đáp ứng và thời gian xử lý dữ liệu của hai thuật toán Active Monitoring Load Balancer và thuật toán cải tiến. Ứng dụng được triển khai trong đám mây gồm một datacenter có 3 máy ảo đang chạy trên các host vật lý. Giá trị tham số hệ thống được cho trong bảng 4.1 và chúng tôi sẽ thay đổi kịch bản đệ trình số lượng Cloudlet tăng dần từ 10 cloudlet đến 50 cloudlet để làm rõ sự biến động thời gian đáp ứng và thời gian xử lý dữ liệu của hai thuật toán. Kịch bản mô phỏng sẽ được tiến hành mô phỏng cả 4 chính sách lập lịch cho máy ảo và cho cloudlet tại DatacenterBroker gồm: chính sách lập lịch: (1) Spaceshare-Spaceshare cho cả máy ảo và tác vụ, (2) Spaceshare cho máy ảomáy ảo-Timeshare cho tác vụ, (3) Timeshare cho máy ảo –Spaceshare cho tác vụ, (4)Timeshare –Timeshare cho cả máy ảo và tác vụ.

Dựa trên những kết quả đó để đi kết luận về hiệu quả của thuật toán cải tiến so với thuật toán Active Monitoring Load Balancer.

Chương trình mô phỏng hai thuật toán được chúng tôi lập trình bằng ngôn ngữ Java có sử dụng bộ thư viện hỗ trợ mô phỏng điện toán đám mây CloudSim [3].

Thiết lp mô hình đám mây

Ứng dụng được triển khai trong đám mây gồm một datacenter có 3 máy ảo đang chạy trên các host vật lý. Giá trị tham số hệ thống được cho trong bảng 4.1 dưới đây được áp dụng cho cả hai thuật toán Active Monitoring Load Balancer và thuật toán cải tiến và cho cả 4 chính sách lập lịch:

Bảng 4.1 Giá trị tham số thiết lập đám mây

Loại Tham số Giá trị

Datacenter Sốlượng Datacenter 1

Sốlượng Host 3

Host

Sốlượng PE trên mỗi Host 1-4

MIPS của PE 10000 – 40000 MIPS Bộ nhớ Host 3072-12288 Dung lượng lưu trữ 1048576 - 4194304

Băng thông 10000 MB Máyảo Tổng sốmáyảo 3 Bộ nhớ máy ảo (RAM) 1024–4096 Băng thông 1024 MB Tác vụ/cloudlet Tổng số cloudlet 10 - 50 Chiều dài của cloudlet 1246-9660MI

Số PE yêu cầu 1-3

Bảng 4.2 Tham số thiết lập cấu hình các máy ảo

Id Bộ nhớ (Mb) Băng thông (Mb) Số PE/Core Tốc độ PE (MIPS) 0 4096 1024 4 32400 1 2048 1024 2 16200 2 1024 1024 2 8100 Kết quả thực nghiệm Kch bn 1:Chính sách lp lch SpaceShare-SpaceShare:

Chính sách Spaceshared được áp dụng cho cả máy ảo và các đơn vị tác vụ. Bởi vì sử dụng chính sách Spaceshared, thời gian hoàn thành dự kiến của một cloudlet p được quản lý bởi máy ảo i được cho bởi công thức sau:

Trong đó est(p) là thời thời điểm của Cloudlet p được khởi động và rl(p) là tổng số chỉ thị mà Cloudlet sẽ cần thực thi trên một bộ xử lý, cores(p) là số core(PE : Processing Element) mà một Cloutlet cần. Thời gian bắt đầu dự kiến phụ thuộc vào vị trí của Cloudlet trong hàng đợi thực thi, bởi vì đơn vị xử lý được dùng độc quyền, chế độ space-shared, bởi Cloudlet. Các Cloudlet được đặt trong hàng đợi khi có core xử lý rỗi sẵn sàng để dùng sẽ được giao cho máy ảo. Trong chính sách này, tổng công suất của một Host có np phần tử xử lý được cho bởi công thức:

Trong đó cap(i) là năng lực xử lý của core I, np là số lượng core thực mà Host đang xét có.

Tác giả tiến hành chạy chương trình với kịch bản đệ trình Cloudlet từ 10, 15, 20, 25, 30, 35, 40, 45, và 50 cho cả hai thuật toán.

Tác giả đưa kết quả mô phỏng kịch bản đệ trình 30 Cloudlet của hai thuật toán đại diện cho các kịch bản đệ trình Cloudlet còn lại:

Bảng 4.3 Kết quả thực nghiệm trên thuật toán Active Monitoring Load

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu kỹ thuật cân bằng tải trong điện toán đám mây (Trang 45)

Tải bản đầy đủ (PDF)

(96 trang)