Các kết quả thực nghiệm

Một phần của tài liệu một số thuật toán lập lịch để phân phối tài nguyên trong hệ thống tính toán lưới (Trang 93 - 128)

Các kết quả thử nghiệm trình bày ởñây là kết quả trung bình của 20 lần chạy thử nghiệm ñộc lập. Chương trình mô phỏng ñược viết bằng ngôn ngữ C++ và chạy trên máy tính ñơn có bộ vi xử lý Intel PenIV 2.7 Ghz, RAM 1Gb.

Trong mục 3.3, luận án ñã chỉ ra rằng giải thuật di truyền ñạt ñược hiệu quả

cao hơn các giải thuật heuristics khác. Do vậy trong thử nghiệm này, luận án so sánh giải thuật ñược ñề xuất với giải thuật di truyền ñược mô tả.

* Các tham s ca gii thut PSO và di truyn

Trong các thí nghiệm của phần này, các tham số pc và pm của giải thuật di truyền ñược thiết lập theo khuyến cáo chung của giải thuật di truyền ñó là pc = 0.02

và pm = 0.6. Lấy p = 50 (kích thước của quần thể) và g = 50 (số thế hệ tối ña trong quá trình tiến hoá) cho giải thuật di truyền. Các giá trị này cũng ñược dùng cho giải thuật PSO, nghĩa là số particle là 50, số lần lặp là 50. Giá trị của α trong công thức (3.14) ñược chọn là 0.3 theo kết quảñưa ra trong [77].

a) Kch bn mô phng

Giả sử số công việc là n = 100 và số các tài nguyên của lưới tính toán m = 15.

Luận án cho sinh ngẫu nhiên tải tính toán cho mỗi công việc trong khoảng từ 10 ñến 100, khả năng tính toán của các tài nguyên 1000 ñến 2000. Sinh ngẫu nhiên tải tính toán ñang sử dụng của mỗi tài nguyên trong khoảng từ 500 ñến 1200. Dữ liệu này ñược giữ nguyên cho tất cả các mô phỏng trong phần này.

95

Kết quả so sánh trong bảng 3.8 chỉ ra rằng giải thuật PSO ñưa ra phương án lập lịch tương ñương với giải thuật di truyền, khi quan tâm ñến cả hai yếu tố Makespan và Flowtime.

Bảng 3. 8. So sánh hiệu quả của giải thuật di truyền và PSO

Giải thuật di truyền PSO

Makespan 43.6 43.01

Flowtime 4730 48721

Tuy nhiên, kết quả trong bảng 3.9 chỉ ra rằng giải thuật PSO có thời gian thực hiện là ít hơn so với giải thuật di truyền

Bảng 3. 9. So sánh thời gian chạy của giải thuật di truyền và PSO

Thời gian chạy của các giải thuật (ms)

Kích thước của

quần thể (p)

với số lần lặp

p = 50

Giải thuật di truyền PSO

30 71.8 60.2

40 78.2 64.8

96 0 20 40 60 80 100 30 40 50 S thế hT hi g ia n c hy ( m s ) GA PSO

Hình 3. 7. So sánh thời gian chạy của các giải thuật di truyền (GA) và PSO

Thời gian chạy của giải thuật PSO ít hơn chạy của giải thuật di truyền vì giải thuật di truyền phải chi phí thời gian cho quá trình lai ghép và ñột biến. Điều này không cần trong giải thuật PSO.

3.4.4 Đánh giá

Trong phần này, luận án ñã trình bày một giải thuật mới cho việc lập lịch trong các hệ thống tính toán lưới dựa trên kỹ thuật tối ưu hóa theo nhóm bầy (PSO). Các kết quả thực nghiệm chỉ ra rằng, giải thuật ñược ñề xuất có hiệu năng tương ñương với một giải thuật lập lịch tốt, dựa trên giải thuật di truyền, nhưng thời gian thực hiện ít hơn. Tuy nhiên, ñiều này chỉ mới ñược thể hiện thông qua thực nghiệm.

97 (adsbygoogle = window.adsbygoogle || []).push({});

Kết luận chương 3

Trong chương này, luận án ñã trình bày các giải thuật heuristics ñể giải bài toán lập lịch trong hệ thống tính toán lưới. Phương pháp lập lịch do Buyya ñề xuất là một phương pháp tiêu biểu cho các giải thuật heuristic. Luận án ñã ñề xuất áp dụng ba giải thuật bao gồm: giải thuật tham lam, giải thuật di truyền, giải thuật tối

ưu theo nhóm bầy. Những kết quả chính ñã ñạt ñược:

- Giải thuật tham lam: Dựa trên ñặc trưng của các ứng dụng luận án ñã chỉ ra rằng lập lịch bằng các giải thuật tham lam cho kết quả tốt hơn giải thuật mô phỏng tôi luyện ñã cho trong [77]. Điều này cũng ñã ñược kiểm chứng bằng thử nghiệm.

- Giải thuật di truyền: Luận án ñã ñưa ra ñược một hàm ño ñộ thích nghi mới,

ñồng thời quan tâm ñến cả hai yếu tố quan trọng: khoảng thời gian hoàn thành tất các công việc và tổng thời gian thực hiện của các công việc. Hơn nữa, luận án cũng quan tâm ñến giá của việc sử dụng các tài nguyên và giá của việc truyền dữ liệu ñến các tài nguyên. Giải thuật di truyền ñược ñề xuất ñã ñưa ra các phương án lập lịch tốt hơn giải thuật mô phỏng tôi luyện ñược mô tả trong [77]. Điều này ñã ñược kiểm chứng bằng thử nghiệm.

- Giải thuật dựa trên kỹ thuật tối ưu theo nhóm bầy (PSO): Các kết quả thực nghiệm chỉ ra rằng, giải thuật ñược ñề xuất có hiệu năng tương ñương với một giải thuật lập lịch tốt dựa trên giải thuật di truyền, nhưng có thời gian thực hiện ít hơn. Các kết quả thử nghiệm ñã minh chứng cho hiệu quả của giải thuật này.

98

Chương 4. MÔ HÌNH H THNG TH NGHIM 4.1 Gii thiu v h thng th nghim TestGrid

4.1.1 Kiến trúc chung của TestGrid

TestGrid ñược xây dựng trên nền tảng hệ ñiều hành Linux và bộ công cụ

Globus Toolkit phiên bản 4.2.1 [28]. Kiến trúc chung của toàn bộ hệ thống như sau.

Hình 4. 1. Kiến trúc TestGrid

Sau ñây trình bày vai trò và nhiệm vụ của từng môñun trong hệ thống cũng như tương tác giữa chúng.

Dch v an ninh

Trong một môi trường phân tán rộng lớn và phức tạp như môi trường lưới, vấn

ñề an ninh là vấn ñề cần ñược ñặt lên hàng ñầu. Dịch vụ an ninh trong TestGrid

ñảm bảo an ninh cho toàn bộ hệ thống, cung cấp các dịch vụ cơ bản như chứng thực người dùng, ñăng nhập vào môi trường lưới, cung cấp các giấy chứng nhận và các giấy ủy quyền. Người dùng muốn sử dụng các dịch vụ do TestGrid cung cấp nhất thiết phải vượt qua ñược tầng an ninh. Dịch vụ an ninh ñược triển khai theo mô hình

ña cấp và phân tán bao gồm phần phía Portal và phía máy cung cấp dịch vụ.

Hệ ñiều hành Linux

Java Framework Globus Toolkit 4.2.1

DV Thông tin Dịch vụ HPC Grid FTP Gram

Agent Bộ lập lịch TestGrid Portal

Bảo mật

99

Dch v thông tin

Dịch vụ thông tin là một thành phần quan trọng, cung cấp ñầy ñủ thông tin về

các tài nguyên và dịch vụ trong hệ thống ñể giúp các bộ lập lịch và phân phối tài nguyên có thể hoạt ñộng hiệu quả. Trong môi trường lưới phức tạp và rộng lớn việc có ñược ñầy ñủ các thông tin chính xác về tình trạng hiện tại của từng tài nguyên là rất khó, do có quá nhiều yếu tố bất ñịnh ví dụ như: ñường truyền mạng, chính sách cung cấp tài nguyên của người sở hữu,... Do vậy, ñây cũng là một yếu tố làm hạn chế hiệu năng của các bộ quản lý tài nguyên tập trung. Dịch vụ thông tin cung cấp các thông tin về tài nguyên như: loại tài nguyên, tải hiệu dụng, dung lượng tài nguyên còn trống. Ngoài ra, dịch vụ thông tin còn cung cấp thông tin về các loại dịch vụ ñược cài ñặt trong hệ thống. Các thông tin này là hết sức cần thiết cho các bộ lập lịch và môi giới tài nguyên tìm ñúng dịch vụ tính toán mà người dùng yêu cầu.

Agent

Hệ thống Agent ñược xây dựng trong TestGrid là hệ thống Multi-Agent có vai trò gắn kết các thành phần trong lưới. Bản thân các dịch vụ trong TestGrid cũng ñều (adsbygoogle = window.adsbygoogle || []).push({});

ñược thiết kế theo hướng kết hợp giữa dịch vụ lưới và Agent. Đây là ñiểm nhấn khá quan trọng về mặt công nghệ của TestGrid, vì hiện nay trên thế giới việc nghiên cứu

ứng dụng Agent vào lưới cũng mới chỉ ñang ở trong giai ñoạn khởi ñầu và việc tích hợp Agent vào lưới là khá khó khăn. Việc thiết kế các dịch vụ lai Agent cho phép tạo ra các dịch vụ rất linh hoạt gọn nhẹ, kết hợp ñược các ưu ñiểm của cả hai mô hình lập trình là mô hình Agent và mô hình dịch vụ lưới [58].

Trong TestGrid, hệ thống Agent ñược sử dụng ñể tập hợp thông tin tài nguyên trong môi trường lưới làm ñầu vào cho bộ lập lịch và môi giới tài nguyên. Ngoài ra, một ứng dụng rất quan trọng khác của Agent là quản lý từng tài nguyên và dịch vụ ñơn lẻ. Từng tài nguyên và dịch vụ sẽ có một Agent ñại diện và Agent này sẽ chịu trách nhiệm thay mặt người sở hữu tài nguyên ñó ñịnh ra các chính sách sử dụng,

100

thương lượng với agent người dùng. Agent quản lý tài nguyên cũng chịu trách nhiệm thực hiện một số tính năng nâng cao khác của môi trường lưới như tính năng

ñặt trước tài nguyên.

Các dch v tính toán hiu năng cao

Một trong những ưu ñiểm nổi bật của môi trường lưới là cho phép liên kết nhiều nguồn tài nguyên phân tán ñể tạo ra sức mạnh tính toán lớn hơn. Các công nghệ tính toán hiệu năng cao (HPC) ñã ñược phát triển từ lâu và có rất nhiều ứng dụng. Hiện nay, các trung tâm tính toán hiệu năng cao là các nguồn tài nguyên chính của các lưới lớn trên thế giới.

Dịch vụ tính toán hiệu năng cao trong TestGrid cho phép người dùng triệu gọi và sử dụng từ xa các tiện ích của trung tâm tính toán hiệu năng cao trong ñó dịch vụ

cơ bản nhất là dịch vụ chạy ứng dụng từ xa. Người dùng chỉ việc viết sẵn ứng dụng theo chuẩn MPI sau ñó ñưa lên Portal của TestGrid, dịch vụ tính toán trên cụm máy tính sẽ chịu trách nhiệm ñiều khiển thực thi ứng dụng này và trả lại kết quảñã xử lý cho người dùng.

GRAM

GRAM (Grid Resource Allocation and Management) là thành phần ñệ trình công việc của Globus Toolkit. Nó là một dịch vụ lưới cung cấp khả năng thực hiện và quản lý trạng thái công việc từ xa. Khi khách hàng ñệ trình công việc, yêu cầu ñó

ñược gửi tới bằng thông ñiệp SOAP (Simple Object Access Protocol) và ñược xử lý

bởi thành phần WS GRAM trên máy ñó. WS GRAM có khả năng chuyển các yêu

cầu ñó thành dạng mà các bộ lập lịch ñịa phương hiểu ñược và yêu cầu các bộ lập lịch ñịa phương thực hiện.

Dịch vụ GRAM cung cấp các thông tin sau ñây:

- Thông tin hàng ñợi.

101

- Thông tin bộñếm công việc.

- Thông tin về trạng thái công việc.

- Các thông tin thống kê bộ nhớ.

Dch v GridFTP

GridFTP là một dịch vụ truyền tệp mức thấp trong môi trường lưới. GridFTP phát triển từ giao thức FTP vì FTP là giao thức truyền dữ liệu ñược sử dụng nhiều nhất trên Internet và là ứng cử viên sáng giá ñáp ứng các yêu cầu của lưới.

4.1.2 Mô tả chức năng bộ lập lịch

V trí và vai trò

Xét từ phía ứng dụng, bộ lập lịch là một trong những thành phần trung tâm của TestGrid, nó chịu trách nhiệm chính cho sự hoạt ñộng trơn tru của toàn bộ hệ thống. Chức năng của bộ lập lịch bao gồm:

- Khám phá tài nguyên.

- Chọn tập tài nguyên phù hợp ñể thực hiện yêu cầu của người dùng theo những tiêu chí tối ưu mà người dùng ñặt ra.

Có thể gọi bộ lập lịch này là bộ lập lịch ở mức người dùng hay là bộ lập lịch ở

mức ứng dụng. Đặc ñiểm của các bộ lập lịch dạng này là tuy không mang tính tổng quát và phải ñược thiết kế cụ thể cho từng kiểu ứng dụng nhưng ñó cũng chính là một ưu thế của chúng do hiểu rõ và ñược thiết kế chuyên biệt cho từng ứng dụng nên chúng có ñiều kiện tối ưu hóa cho từng loại ứng dụng cụ thể. Đặc ñiểm này sẽ ñược bàn kỹ hơn ở phần sau khi tích hợp các giải thuật luận án ñề xuất vào bộ lập lịch này. (adsbygoogle = window.adsbygoogle || []).push({});

102

Tương tác vi các thành phn khác trong h thng

Là thành phần giữ vị trí trung tâm, các bộ lập lịch và môi giới tài nguyên có các mối liên hệ với hầu hết các thành phần khác của TestGrid một cách trực tiếp hay gián tiếp. Phần này sẽ trình bày về một số mối tương tác ñó.

a) Dch v thông tin

Để cho các bộ lập lịch hoạt ñộng hiệu quả, yêu cầu ñầu tiên là phải có ñầy ñủ

thông tin về môi trường lưới. Yêu cầu này cũng ñúng cho bất kỳ cơ chế quản lý tài nguyên nào dù là tập trung hay phân tán. Tuy nhiên, nhưñã ñề cập ở các phần trên, do tính chất rộng lớn và phức tạp của môi trường lưới, việc có ñầy ñủ các thông tin một cách kịp thời là rất khó khăn do có quá nhiều yếu tố bất cập nhưñường truyền mạng, lỗi tài nguyên. Do vậy trong phạm vi của mình, các dịch vụ thông tin sẽ cung cấp một cách ñầy ñủ nhất các thông tin về tài nguyên và dịch vụ trong phạm vi quản lý của chúng ñể làm ñầu vào cho các bộ lập lịch. Về phía các bộ lập lịch và môi giới tài nguyên cũng ñược thiết kế ñể có thể hoạt ñộng trong môi trường thiếu thông tin và không chính xác.

Các dịch vụ thông tin trong TestGrid ñược triển khai trên từng tài nguyên nhằm cung cấp các thông tin về chính tài nguyên ñó cũng như các dịch vụ ñược triển khai trên nó. Các thông tin này có thể là thông tin tĩnh như kiểu loại, kiến trúc tài nguyên (máy kiến trúc nào, hệ ñiều hành gì), kiểu loại dịch vụ cung cấp (dịch vụ

tính toán hay lưu trữ, cách thức sử dụng, giá cả, chất lượng dịch vụ...) hoặc có thể là các thông tin ñộng như tải CPU, dung lượng bộ nhớ trống, các tham số về chất lượng phục vụ hiện thời của dịch vụ như số lượng người dùng, tốc ñộ xử lý, ...

Việc thu thập các thông tin trên toàn bộ các tài nguyên sẽ do một hệña Agent

ñảm nhận. Trong TestGrid, bộ lập lịch và môi giới tài nguyên không tương tác trực tiếp với các dịch vụ thông tin mà thông qua hệ Multi-Agent này ñể lấy thông tin.

103

b) H thng Multi-Agent

Hệ thống Multi-Agent trong TestGrid chịu trách nhiệm thu thập các thông tin tài nguyên trong toàn bộ hệ thống lưới và tập trung lại về một kho lưu trữ chung. Các thông tin này sẽ ñược Agent quản lý và cung cấp cho bộ lập lịch theo yêu cầu. Tùy theo ñặc ñiểm riêng của mình mà mỗi bộ lập lịch và môi giới tài nguyên trong lưới sẽ chỉ quan tâm ñến một số kiểu loại tài nguyên và dịch vụ cụ thể. Ngoài ra, hệ

thống Multi-Agent còn phải có khả năng cập nhật thông tin và thông báo kịp thời cho các bộ lập lịch và môi giới tài nguyên về tình trạng hiện thời của lưới ñể có thể ñưa ra các xử lý kịp thời và hiệu quả. Ví dụ, có thêm tài nguyên mới xuất hiện trong lưới phù hợp với sự quan tâm của một bộ môi giới nào ñó.

Có thể kể ra một số Agent tiêu biểu trong hệ thống Multi-Agent này như: -System Agent: Cung cấp các thông tin về tài nguyên. Các dịch vụ do agent

này cung cấp có thểñược dùng bổ sung cho dịch vụ thông tin tài nguyên lưới. -Monitor Agent: cung cấp các thông tin về các dịch vụ khai phá dữ liệu hiện

ñang chạy trên tài nguyên. Các thông tin này rất quan trọng trong việc ñảm

Một phần của tài liệu một số thuật toán lập lịch để phân phối tài nguyên trong hệ thống tính toán lưới (Trang 93 - 128)