Tải bản đầy đủ (.pdf) (38 trang)

TÍNH TOÁN LƯỚI VÀ ỨNG DỤNG GIẢI THUẬT ĐỊNH THỜI CHO CÁC BÀI TOÁN SONG SONG, ĐỘC LẬP TRÊN MÔI TRƯỜNG TÍNH TOÁN LƯỚI

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.62 MB, 38 trang )

Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

1
Sinh viên thực hiện : Lê Văn Đào

MỤC LỤC

I. KHÁI NIỆM TÍNH TOÁN LƯỚI 3
II. SO SÁNH TÍNH TOÁN LƯỚI VỚI MỘT SỐ MÔ HÌNH TÍNH TOÁN KHÁC. 6
1. Word Wide Web (Web computing) 6
2. Các hệ thống tính toán phân tán (Distributed computing systems) 6
3. Các hệ thống tính toán ngang hàng ( Peer to Peer computing systems): 7
4. Tính toán phân cụm: 7
III. MỘT SỐ ÍCH LỢI KHI SỬ DỤNG CÔNG NGHỆ GRID COMPUTING 7
1. Khai thác, tận dụng các tài nguyên nhàn rỗi. 7
2. Sử dụng CPU song song 8
3. Cho phép hợp tác trên toàn thế giới. 8
4. Cho phép chia sẽ, sử dụng tất cả các loại tài nguyên: 9
5. Tăng tính tin cậy cho các hệ thống mạng máy tính. 9
6. Tăng khả năng quản trị các hệ thống. 9
IV. MỘT SỐ ỨNG DỤNG ĐÃ ĐƯỢC TRIỂN KHAI. 10
1. IBM 10
2. Dự đoán cấu trúc protein: 11
3. Tính toán lưới và bài toán quản trị mạng 11
4. Mô hình lập lịch trong hệ thống tính toán lưới do Buyya đề xuất. 11
V. CÁC TỔ CHỨC HỖ TRỢ VÀ PHÁT TRIỂN TÍNH TOÁN LƯỚI. 12
VI. CÁC THUẬT GIẢI ĐỊNH THỜI CHO ỨNG DỤNG SONG SONG, ĐỘC LẬP
TRÊN MÔI TRƯỜNG LƯỚI. 13
1. Mô hình hoạt động của hệ thống: 13
Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ


2
Sinh viên thực hiện : Lê Văn Đào

2. Mô hình ứng dụng: 15
3. Những điểm chưa phù hợp với hoàn cảnh Việt Nam của các thuật giải đã có: 18
4. Hướng giải quyết của báo cáo. 20
5. Các thuật giải ở System Broker: 21
6. Thuật giải điều phối công việc tại một máy tính cụm. 28
7. Các đề xuất cho Provider – Nhà cung cấp: 31
TÀI LIỆU THAM KHẢO 38



Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

3
Sinh viên thực hiện : Lê Văn Đào

TÍNH TOÁN LƯỚI VÀ ỨNG DỤNG GIẢI THUẬT ĐỊNH THỜI
CHO CÁC BÀI TOÁN SONG SONG, ĐỘC LẬP TRÊN MÔI
TRƯỜNG TÍNH TOÁN LƯỚI.

I. KHÁI NIỆM TÍNH TOÁN LƯỚI
Cũng như các công nghệ tính toán khác, tính toán lưới ( grid computing) ra đời
xuất phát từ nhu cầu tính toán của con người. Thực tế, ngày càng có nhiều bài toán
phức tạp hơn được đặt ra và do đó các tổ chức cũng cần phải có những năng lực tính
toán mạnh mẽ hơn. Có thể giải quyết vấn đề này bằng hai cách:
Thứ nhất: Đầu tư thêm trang thiết bị, cơ sở hạ tầng tính toán ( mua thêm máy
chủ, máy trạm, siêu máy tính, cluster…). Rõ ràng là cách làm này hết sức tốn kém.
Thứ hai: Một cách thực hiện hiệu quả hơn là phân bố lại hợp lý các tài nguyên

trong tổ chức hoặc thuê thêm các nguồn tài nguyên từ bên ngoài ( dĩ nhiên là với chi
phí rẻ hơn nhiều so với việc đầu tư cho cơ sở hạ tầng tính toán). Thực tế cho thấy có
một phần lớn các nguồn tài nguyên của chúng ta đang bị sử dụng lãng phí: Các máy để
bàn công sở thường chỉ hoạt động khoảng 5% công suất, ngay cả các máy chủ cũng có
thể chỉ hoạt động với 20% công suất. Việc tận dụng hiệu quả các nguồn tài nguyên này
có thể mang lại một sức mạnh tính toán khổng lồ.
Cách giải quyết thứ hai này chính là mục tiêu của tính toán lưới. Tính toán lưới
hướng đến việc chia sẽ và sử dụng hiệu quả các nguồn tài nguyên thuộc về nhiều tổ
chức trên một quy mô rộng lớn ( quy mô toàn cầu). Chính các công nghệ mạng và
truyền thông phát triển mạnh mẽ trong những năm qua đã biến những khả năng dần trở
thành hiện thực. Các nghiên cứu về tính toán lưới đã và đang được tiến hành nhằm tạo
ra một cơ sở hạ tầng lưới cho phép dễ dàng chia sẽ và quản lý các tài nguyên đa dạng
và phân tán trong môi trường lưới.
Các thành phần mà công nghệ tính toán lưới đang phải giải quyết bao gồm:
Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

4
Sinh viên thực hiện : Lê Văn Đào

+ Các tài nguyên hết sức đa dạng, không đồng nhất. Tài nguyên ở trên được hiểu
theo nghĩa hết sức tổng quát. Đó có thể là các tài nguyên phần cứng: tài nguyên tính
toán, tài nguyên lưu trữ, các thiết bị đặc biệt khác…; các tài nguyên phần mềm: Các cơ
sở dữ liệu, các phần mềm đặc biệt và đẳ giá…; các đường truyền mạng …. Các tài
nguyên này có thể rất khác nhau về mặt kiến trúc, giao diện, khả năng xử lý…; Việc
tạo ra một giao diện thống nhất cho phép khai thác và sử dụng hiệu quả các nguồn tài
nguyên này hoàn toàn không dễ dàng. Ban đầu tính toán lưới đặt ra chủ yếu là để tận
dụng các nguồn tài nguyên tính toán nhưng hiện nay mục tiêu của nó đã được mở rộng
sang rất nhiều nguồn tài nguyên khác như đã kể trên.
+ Các tài nguyên không chỉ thuộc về một tổ chức mà thuộc về rất nhiều tổ chức
tham gia lưới. Các tổ chức phải tuân thủ một số quy định chung khi tham gia vào lưới

còn nhìn chung là hoạt động độc lập tức là các tài nguyên này đều có quyền tự trị. Các
tổ chức khác nhau thường có chính sách sử dụng hay cho thuê tài nguyên của họ khác
nhau và do vậy cũng gây khó khăn cho việc quản lý.
+ Các tài nguyên phân tán rộng khắp thế giới về mặt địa lý do đó phải có các cơ
chế quản lý phân tán.
+ Đảm bảo an toàn thông tin cho một môi trường phức tạp như môi trường lưới
là rất khó khăn trong khi đây là một trong những điểm ưu tiên hàng đầu.
Các định nghĩa tính toán lưới:
Khái niệm Tính toán lưới đã bắt đầu xuất hiện vào đầu thập niên 90 với nghĩa ẩn
dụ là làm cho việc sử dụng sức mạnh của máy tính dễ dàng như là việc sử dụng điện
năng. Ngày nay có rất nhiều định nghĩa về tính toán lưới. Một định nghĩa về Grid khá
hoàn chỉnh được đưa ra bởi tiến sỹ Ian Foster như sau:
“Grid là một loại hệ thống song song, phân tán cho phép chia sẻ, lựa chọn, kết
hợp các tài nguyên phân tán theo địa lý, thuộc nhiều tổ chức khác nhau dựa trên tính
sẵn sàng, khả năng, chi phí của chúng và yêu cầu về chất lượng dịch vụ (QoS) của
người dùng để giải quyết các bài toán, ứng dụng có quy mô lớn trong khoa học, kỹ
thuật và thương mại. Từ đó hình thành nên các “tổ chức ảo” ( Virtual Organization ),
Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

5
Sinh viên thực hiện : Lê Văn Đào

các liên minh tạm thời giữa các tổ chức và tập đoàn, liên kết với nhau để chia sẻ tài
nguyên hoặc kỹ năng nhằm đáp ứng tốt các cơ hội kinh doanh hoặc các dự án có nhu
cầu lớn về tính toán và dữ liệu, toàn bộ việc liên minh này dựa trên các mạng máy
tính”.
Một hệ thống Grid có 3 đặc điểm chính:
+ Có sự kết hợp, chia sẽ các tài nguyên không được quản lý tập trung.
+ Sử dụng các giao diện và giao thức chuẩn, mang tính mở, đa dụng.
+ Đáp ứng yêu cầu cao về chất lượng dịch vụ.



 Các định nghĩa khác:
- Plaszczak/Weller định nghĩa kỹ thuật lưới là “kỹ thuật cho phép ảo hóa tài nguyên
dự trữ theo yêu cầu và các chia sẽ dịch vụ, tài nguyên giữa các tổ chức”.
- IBM thì định nghĩa: “Lưới là khả năng sử dụng một tập các nguồn mở và giao thức
để có thể truy nhập tới các ứng dụng và dữ liệu, năng lực xử lý, khả năng lưu trữ và
một loạt các tài nguyên tính toán khác trên internet. Một lưới là một hệ thống song
song và phân tán cho phép chia sẽ giữa nhiều khu vực dựa trên sự sẵn có, dung
lượng, hiệu năng, giá cả và các yêu cầu về chất lượng dịch vụ của người sử dụng.”
Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

6
Sinh viên thực hiện : Lê Văn Đào

- Buyya định nghĩa Lưới là “ Một kiểu hệ thống song song và phân tán cho phép chia
sẽ, lựa chọn và kết hợp các tài nguyên phân tán theo địa lý tại thời điểm thực thi dựa
trên sự sẵn sàng, dung lượng, hiệu năng, giá và những yêu cầu về chất lượng dịch
vụ.
- CERN là một tổ trong những tổ chức lớn nhất sử dụng công nghệ Lưới, nói về Lưới
như sau:
“Một dịch vụ để chia sẽ năng lực của máy tính và dung lượng lưu trữ dữ liệu qua
internet”.
Bản chất của tính toán lưới giống một nền tảng dạng khái niệm hơn là một tài
nguyên vật lý. Lưới được tận dụng để cung cấp tài nguyên cho một nhiệm vụ tính
toán. Mục tiêu của công nghệ Lưới liên quan tới những yêu cầu của việc cung cấp
tài nguyên linh hoạt vượt ra khỏi các khu vực cục bộ.
II. SO SÁNH TÍNH TOÁN LƯỚI VỚI MỘT SỐ MÔ HÌNH TÍNH TOÁN
KHÁC.
1. Word Wide Web (Web computing): WWW hiện nay đang phát triển mạnh mẽ

và được sử dụng rộng khắp thế giới. Sử dụng các chuẩn mở và các giao thức mở
(TCP, HTTP, XML, SOAP), nó có thể được sử dụng để xây dựng các tổ chức ảo tuy
nhiên nói thiếu một số đặc tính quan trọng như các cơ chế chứng thực một lần, ủy
nhiệm, các cơ chế phối hợp sự kiện …
2. Các hệ thống tính toán phân tán (Distributed computing systems): Các
công nghệ tính toán phân tán hiện tại bao gồm CORBA, J2EE và DCOM rất thích
hợp cho các ứng dụng phân tán tuy nhiên chúng không cung cấp một nền tảng phù
hợp cho việc chia sẽ tài nguyên giữa các thành viên của tổ chức ảo. Một số khó
khăn có thể kể ra trong việc khai phá tài nguyên, đảm bảo an ninh và xây dựng hoạt
động các tổ chức ảo. Thêm nữa việc tương tác giữa các công nghệ này cũng gặp
phải khó khăn. Tuy nhiên cũng đã có một số nghiên cứu nhằm mở rộng những công
nghệ này cho môi trường lưới. ví dụ như Java JINI.
Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

7
Sinh viên thực hiện : Lê Văn Đào

3. Các hệ thống tính toán ngang hàng ( Peer to Peer computing systems):
Tính toán ngang hàng cũng là một lĩnh vực của tính toán phân tán. Những điểm
khác biệt chính giữa tính toán ngang hàng và tính toán lưới là:
- Tính toán lưới có cộng đồng người sử dụng có thể nhỏ hơn tuy nhiên tập trung
nhiều vào các ứng dụng và có yêu cầu cao hơn về an ninh cũng như tính toàn vẹn
của ứng dụng. Trong khi đó các hệ thống ngang hàng có thể có số người sử dụng
rất lớn bao gồm cả các người dùng đơn lẻ và các tổ chức tuy nhiên không đòi hỏi
cao về an ninh và mô hình chia sẽ tài nguyên cũng đơn giản hơn.
- Môi trường Lưới liên kết các nguồn tài nguyên mạnh hơn, đa dạng hơn và chặt
chẽ hơn.
4. Tính toán phân cụm: Tính toán lưới thường bị nhầm lẫn với tính toán phân cụm.
Tuy nhiên sự khác biệt chính giữa hai kiểu tính toán này là: một cum tính toán là
một tập đơn các nút tính toán tập trung trên một khu vực địa lý nhất định, trong khi

một lưới bao gồm nhiều cụm tính toán và những loại tài nguyên khác ( như mạng,
các thiết bị lưu trữ).
III. MỘT SỐ ÍCH LỢI KHI SỬ DỤNG CÔNG NGHỆ GRID COMPUTING
1. Khai thác, tận dụng các tài nguyên nhàn rỗi.
Hầu hết các tổ chức đều có một lượng lớn các tài nguyên tính toán nhàn rỗi,
các máy tính cá nhân thường chỉ sử dụng 5% thời gian xử lý CPU, ngày cả các
server cũng thường rảnh rỗi. Grid có thể tối ưu sử dụng các tài nguyên nhàn rỗi này
theo nhiều cách khác nhau, ví dụ gửi một công việc trên một máy tính đang bận rộn
đến một máy khác rảnh rỗi hơn để xử lý, hoặc phân nhỏ một công việc rồi gửi các
công việc con đến các máy tính nhàn rỗi khác cho xử lý song song,… Một chức
năng của Grid nữa là cân bằng sử dụng tài nguyên tốt hơn. Một tổ chức thường gặp
các vấn đề khó khăn khi các hoạt động đòi hỏi thêm nhiều tài nguyên hơn. Với Grid
có thể chuyển hoạt động đến các tài nguyên nhàn rỗi khác hoặc có thể thêm các tài
nguyên mới một cách dễ dàng, từ đó làm tăng khả năng chịu đựng của hệ thống.
Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

8
Sinh viên thực hiện : Lê Văn Đào

2. Sử dụng CPU song song


Khả năng sử dụng các CPU song song là một đặc tính tuyệt vời của Grid, ngoài
việc hỗ trợ các nhu cầu tính toán của các nhà khoa học, sức mạnh tính toán do Grid
cung cấp có thể giúp giải quyết các bài toán đòi hỏi năng lực xử lý lớn trong các ngành
khác như y dược, tính toán tài chính, kinh tế, khai thác dầu hỏa, dự báo thời tiết, công
nghiệp vũ trụ, thiết kế sản phẩm, … và rất nhiều lĩnh vực khác.
3. Cho phép hợp tác trên toàn thế giới.
Một trong những đóng góp quan trọng của công nghệ Grid Computing là cho
phép và đơn giản hóa hợp tác chia sẽ, làm việc giữa một cộng đồng rộng lớn trên thế

giới. Các công nghệ tính toán phân tán trước đây cũng cho phép hợp tác nhưng chỉ
trong phạm vi nhỏ, còn Grid cho phép mở rộng trên phạm vi toàn cầu khi đưa ra những
chuẩn quan trọng cho phép các hệ thống không đồng dạng làm việc chung với nhau để
tạo nên một hệ thống tính toán ảo cung cấp rất nhiều dạng tài nguyên khác nhau.
Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

9
Sinh viên thực hiện : Lê Văn Đào

4. Cho phép chia sẽ, sử dụng tất cả các loại tài nguyên:
Không chỉ cho phép chia sẽ chu kỳ tính toán, dữ liệu, Grid có thể cho phép chia
sẻ tất cả các loại tài nguyên mà trước đây chưa được chia sẽ, như băng thông, các thiết
bị đặc biệt, phần mềm bản quyền, các dịch vụ,… Ví dụ: nếu một người dùng muốn
tăng băng thông kết nối internet của mình lên để thực hiện một ứng dụng khai thác dữ
liệu, ứng dụng đó có thể được gửi đến nhiều máy tính trong Grid có các kết nối internet
riêng, từ đó băng thông truy cập internet của người đó tăng lên rất nhiều lần,…
5. Tăng tính tin cậy cho các hệ thống mạng máy tính.
Hiện nay, các hệ thống tính toán sử dụng các phần cứng chuyên dụng, đắt đỏ để
tăng độ tin cậy. ví dụ một máy tính có thể sử dụng các bộ vi xử lý đôi, cho phép “cắm
nóng”, để khi có một vi xử lý bị hỏng, có thể thay thế cái khác mà không làm ngưng
hoạt động của hệ thống. Các giải pháp này làm tăng độ tin cậy của hệ thống, tuy nhiên
với chi phí quá đắt khi phụ kiện đi kèm cũng phải nhân lên. Trong tương lai, các hướng
tiếp cận mới để giải quyết vấn đề độ tin cậy dựa nhiều hơn vào các công nghệ phần
mềm hơn là các phần cứng đắt tiền. Grid là sự khởi đầu cho các công nghệ đó. Các hệ
thống trong Grid thường rẻ và phân tán theo địa lý, dó đó nếu có sự cố về nguồn điện
hay các lỗi hệ thống khác tại một vị trí, toàn bộ phần còn lại không bị ảnh hưởng. Các
phần mềm quản trị Grid có khả năng thực thi lại công việc trên một node khác khi phát
hiện có lỗi hệ thống. Nếu quan trọng hơn nữa, trong các hệ thống theo thời gian thực,
nhiều bản dự phòng của các công việc quan trọng có thể được chạy trên nhiều máy
khác nhua trong Grid để đảm bảo độ tin cậy tối đa.

6. Tăng khả năng quản trị các hệ thống.
Mục tiêu ảo hóa tất cả các tài nguyên và cung cấp giao diện quản lý đơn nhất các
hệ thống hỗn tạp đem lại những co hội lớn để quản trị tốt hơn trong các cơ sở hạ tầng
công nghệ thông tin lớn, phân tán.

Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

10
Sinh viên thực hiện : Lê Văn Đào


Trên đây giới thiệu một số lợi ích sử dụng công nghệ Grid Computing, Grid còn
mang lại rất nhiều lợi ích khác mà không thể kể hết ở đây, tùy vào tình huống cụ thể
mà đem lại các lợi ích khác nhau. Vấn đề là phải hiểu rõ bản chất Grid, sử dụng tốt các
công cụ nhằm khai thác tốt nhất trong các tình huống cụ thể.
IV. MỘT SỐ ỨNG DỤNG ĐÃ ĐƯỢC TRIỂN KHAI.
Lưới cung cấp một giải pháp cho những bài toán về tính toán hiệu năng như tạo
nếp protein, mô hình hóa tài chính, mô phỏng động đất và dự đoán khí hậu thời tiết.
Ngoài ra lưới còn có thể giúp các tổ chức, doanh nghiệp sử dụng một cách tối ưu hóa
tài nguyên công nghệ thông tin và tạo ra các dịch vụ tính toán theo nhu cầu cho các
khách hàng thương mại và miễn phí trong đó khách hàng chỉ phải trả những gì họ đã sử
dụng giống như điện và nước. Sau đây là một số ứng dụng đã được triển khai.
1. IBM : Tính toán lưới giúp nghiên cứu ung thư: “Help defeat Cancer” - Dự án “Giúp
chiến thắng ung thư” là dự án do các nhà nghiên cứu tại Đại học Nha khoa và Y
khoa tại New Jersey và viện nghiên cứu Ung thư của New Jersey đang công tác với
tập đoàn IBM thực hiện. Dự án “Help Defeat Cancer” có mục đích giúp các nhà
nghiên cứu hiểu rõ hơn về nguyên nhân cơ bản của căn bệnh ung thư để có thể tăng
cường hiệu quả điều trị và lập kế hoạch điều trị cho bệnh nhân ung thư. Với sự hỗ
Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ


11
Sinh viên thực hiện : Lê Văn Đào

trợ củaWorld Community Grid của IBM, dự án này là cơ hội cho các nhà nghiên
cứu phân tích số lượng lớn mô ung thư cùng một lúc và cho phép thực hiện nhiều
thí nghiệm trong một khoảng thời gian ngắn hơn. Thông qua máy tính mạng lưới
cộng đồng toàn cầu, tất cả mọi người có thể đóng góp thời gian nhàn rỗi của máy
tính họ sau khi việc tải về máy tính phần mềm miễn phí World Community Grid và
đăng ký tại
2. Dự đoán cấu trúc protein: Từ các dãy amino-acid là một ứng dụng quan trọng
nhất của tin sinh học. Bài toán dự đoán cấu trúc protein có thể được mô hình hóa
như bài toán tối ưu hóa. Nó đòi hỏi số lượng tính toán rất lớn. Do đó cần có các kỹ
thuật metaheuristic, tính toán hiệu năng coa, tính toán lưới.
3. Tính toán lưới và bài toán quản trị mạng: Ngày nay bộ phận quản trị mạng
phải phân tích, xử lý một khối lượng thông tin khổng lồ nhằm đưa ra các giải pháp,
phản ứng theo thời gian thực để đảm bảo cho các hệ thống mạng hoạt động thông
suốt, tin cậy, an toàn. Để có thể thực hiện tốt công việc của mình, bộ phận quản trị
mạng cần phải có những công cụ phân tích, cung cấp thông tin hoạt động của hệ
thống mạng mạnh mẽ. Công nghệ Grid Computing được chọn wusng dụng vào bài
toán phân tích, cung cấp thông tin hỗ trợ quản trị mạng với hy vọng tận dụng được
năng lực xử lý nhàn rỗi hiện có trong các hệ thống mạng để giải quyết bài toán hiệu
quả hơn, trong giới hạn chi phí có thể chấp nhận được. Mục tiêu lâu dài là xây dựng
một hệ thống nhằm hỗ trợ bộ phận quản trị trong các lĩnh vực: Quản lý hiệu năng,
quản lý lỗi và bảo mật. Đưa các công nghệ khai thác dữ liệu (data mining) và trí tuệ
nhân tạo vào hệ thống để phân tích các dữ liệu thu được, tìm ra các quy luật sử dụng
của người dùng, các quy luật tấn công,… nhằm huấn luyện hệ thống có thể tự động
nhận dạng các mối nguy hiểm và đưa ra các phản ứng thích hợp hơn, hiểu quả hơn.
4. Mô hình lập lịch trong hệ thống tính toán lưới do Buyya đề xuất.
Bài toán lập lịch hay lập kế hoạch là một bài toán ta rất hay gặp trong thực tế.
Có thể kể ra như lập thời khóa biểu, lập kế hoạch quản lý dự án…. đều là các bài toán

Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

12
Sinh viên thực hiện : Lê Văn Đào

lập lịch tiêu biểu và rất kinh điển. Nội dung của bài toán là tìm ra một bản kế hoạch
thực hiện các công việc một cách tối ưu nhất dựa vào tất cả các thông tin đầu vào có
được từ tình trạng tại của hệ thống, tuy nhiên tùy theo bài toán cụ thể mà yêu càu và
phương pháp giải quyết của các bài toán này rất khác nhau.
Buyya đề nghị một phương pháp lập lịch cho các ứng dụng nghiên cứu tham số
(bao gồm một tập lớn các công việc độc lập trên tập các dữ liệu độc lập). Mô hình này
cũng giống như mô hình lập trình đơn chương trình đa dữ liệu ( Single Program
Multiple Data). Việc lập lịch và điều phối hoạt động của các ứng dụng dạng này trên
môi trường tính toán phân tán trên diện rộng tưởng chừng khá đơn giản tuy nhiên các
vấn đề phức tạp sẽ nảy sinh khi người dùng đặt ra một số các tham số về chất lượng
dịch vụ là rất khó thực hiện trong một môi trường như môi trường lưới khi mà các tài
nguyên lưới phân tán, không đồng nhất, được sở hữu bởi nhiều tổ chức khác nhau với
những chính sách và cơ chế tính giá khác nhau. Thêm vào đó các thuật toán lập lịch
phải được thiết kế để thích ứng được với sự thay đổi tải và sự sẵn dùng của tài nguyên
cùng lúc với việc phải đảm bảo được thời hạn và kinh phí.
Tư tưởng chủ đạo của việc thiết kế các thuật toán lập lịch cho lưới là: Không sử
dụng các thuật toán tối ưu truyền thống vẫn hay thường được sử dụng trong các bài
toán lập lịch mà chủ yếu sử dụng các heuristic.
V. CÁC TỔ CHỨC HỖ TRỢ VÀ PHÁT TRIỂN TÍNH TOÁN LƯỚI.

Diễn đàn điện toán lưới toàn cầu GGF: Diễn đàn Grid toàn cầu có mục đích định
nghĩa các đặc tả cho tính toán lưới. GGF được phát triển với hợp tác giữa khu vực công
nghiệp và khoa học với những hỗ trợ quan trọng từ cả hai khu vực này.
Tổ chức Globus Alliance. Globus Alliance triển khai một số chuẩn được phát
triển tại diễn đàn GGF thông qua bộ phần mềm lưới trung gian Globus Toolkit. Với

chức năng là một thành phần trung gian trong kiến trúc lưới, bộ phần mềm này cung
cấp nền tảng chuẩn để thiết lập các dịch vụ trên lưới tính toán, nhưng tính toán lưới còn
Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

13
Sinh viên thực hiện : Lê Văn Đào

cần có nhiều thành phần khác và rất nhiều công cụ để thiết lập và duy trì môi trường
lưới.
VI. CÁC THUẬT GIẢI ĐỊNH THỜI CHO ỨNG DỤNG SONG SONG, ĐỘC
LẬP TRÊN MÔI TRƯỜNG LƯỚI.

1. Mô hình hoạt động của hệ thống:
Mô hình hoạt động của hệ thống gồm các thành phần: Users, System Broker, GIS,
Providers và các Clusters tính toán.



Mỗi thành phần giữ vai trò khác nhau trong hệ thống:
- Users: Các người dùng sẽ gửi ứng dụng để thực thi trong môi trường lưới.
- System Broker: Bộ điều phối tập trung của hệ thống. Là nơi tiếp nhận các ứng
dụng. Broker đóng vai trò như một lối vào (portal) cho người dùng, thông qua
Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

14
Sinh viên thực hiện : Lê Văn Đào

broker người dùng có thể thực thi được ứng dụng mà không cần tham gia hay
hiểu cấu trúc của hệ thống tính toán lưới. Broker cũng là sẽ thành phần trả kết
quả thực thi cho người dùng sau khi hoàn tất.

- GIS – Grid Information Service: System Broker sẽ liên hệ với GIS để lây danh
sách các providers trong hệ thống cùng đặc điểm của các Providers này.
- Clusters: Là các hệ thống máy tính cụm, chịu trách nhiệm thực thi ứng dụng của
người dùng. Số lượng máy tính cụm trong hệ thống có thể rất lớn, nhiều máy
tính cụm sẽ tập hợp thành một vùng tài nguyên, do một Provider đại diện.
- Provider – Nhà cung cấp: Đại diện cho các máy tính cụm trong vùng mình quản
lý. System Broker sẽ gửi thông tin đặc tả về ứng dụng của người dùng cho
Provider ( thông qua các Request). Provider dựa vào tình trạng tài nguyên còn lại
và các ứng dụng hiện tại thực thi trong vùng sẽ tính toán giá tiền cũng như thời
gian hoàn tất dự kiến cho ứng dụng và gửi lời chào giá ( các offer) về broker.
- Dựa vào các thông tin chào giá ( offer) của các providers, system broker sẽ quyết
định thực thi một ứng dụng cụ thể của người dùng tại vùng tài nguyên nào phù
hợp nhất.
Đây là đề xuất sự xuất hiện của mô hình nhà cung cấp – Provider, giúp giảm độ
phức tạp cho hệ thống: Số lượng máy tính cụm (Cluster) trong một mô hình lưới
thường sẽ rất nhiều ( có thể đạt số lượng hàng ngàn), nếu system broker phải liên lạc
với tất cả các máy tính cụm này sẽ dẫn đến sự quá tải cho broker.
Khi đưa vào mô hình Provider, system broker chỉ liên lạc trực tiếp với các
providers; provider sec có trách nhiệm quản lý các máy tính cụm trong vùng mình phụ
trách tạo thành các vùng tài nguyên ( như vùng tài nguyên TP. Hồ Chí Minh, Vùng tài
nguyên Hà Nội…).
Lúc này hệ thống được phần cấp quản lý thành 2 cập: System broker đóng vai trò
quản lý chung, provider ở mức địa phương.
Mỗi cấp quản lý có thể có mục tiêu riêng của mình, ví dụ:
Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

15
Sinh viên thực hiện : Lê Văn Đào

- System broker : hoạt động vì lợi nhuận hoặc vì mục tiêu phục vụ nhiều người

dùng, phi lợi nhuận.
- Provider: Vì lợi nhuận hoặc vì mục tiêu tận dụng tối đa tài nguyên rảnh của các
máy tính cụm nội bộ ….
2. Mô hình ứng dụng:
Các thuật giải chủ yếu giải quyết cho trường hợp ứng dụng rất lớn, gồm vài
ngàn hoặc thậm chí vài trăm ngàn tác vụ con. Điển hình của bài toán có quy mô lớn ở
mức độ này là các ứng dụng parameter sweep. Ứng dụng dạng này gồm rất nhiều tác
vụ thực thi cùng một tính năng tính toán, phân tích nhưng trên các bộ tham số khác
nhau nhằm đánh giá ảnh hưởng của các tham số đầu vào lên một hệ thống, cũng như
tìm kiếm các tham số tối ưu. Loại ứng dụng này thường thấy trong các dự án nghiên
cứu lớn đang được triển khai trên môi trường lưới như phân tích cấu trúc protein, cấu
trúc gen, mô phỏng hoạt động não bộ, điều chế thuốc trong y học…
Trong điều kiện hiện tại của Việt Nam, chúng ta chưa có nhiều ứng dụng quá
lớn ở qui mô này. Môi trường lưới của Việt Nam tại một thời điểm cũng sẽ nhiều công
việc, tuy nhiên đó là nhiều ứng dụng gồm không quá nhiều các tác vụ con. Các dứng
dụng này hoạt động độc lập với nhau, không có sự ràng buộc trong quá trình thực
thi.(hình 4-2b)
Báo cáo này sẽ tập trung các thuật giải lập lịch phù hợp với điều kiện và hoàn
cảnh crua Việt Nam theo hình 4-2b

Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

16
Sinh viên thực hiện : Lê Văn Đào





Mô tả ứng dụng: Mỗi ứng dụng gồm không quá nhiều tác vụ ( Task/job), các tác vụ

thực thi song song và độc lập với nhau. Mỗi tác vụ có chiều dài ( length), ngân sách
(budget) và thời hạn thực thi (deadline) riêng. Ngân sách của một tác vụ là chi phí
người dùng sẵn sàng chi trả cho một hệ thống để thực thi tác vụ, thời hạn kết thúc
(Deadline) là thời điểm trễ nhất mà tác vụ phải hoàn thành.
Qui ước: Ứng dụng app gồm n tác vụ T
1
… T
n

- L
i
là chiều dài (length) của tác vụ T
i

Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

17
Sinh viên thực hiện : Lê Văn Đào

- D
i
là thời hạn kết thúc (Deadline) của tác vụ T
i

- B
i
là ngân sách (budget) giành cho tác vụ T
i

Người dùng sẽ gửi ứng dụng của mình lên môi trường lưới, khi ứng dụng hoàn

tất – là thời điểm tác vụ cuối cùng của ứng dụng được thực thi xong - kết quả sẽ được
trả về cho người dùng.
Người dùng sẽ chỉ nhận kết quả trả về cũng như chi phí cho ứng dụng toàn bộ
ứng dụng hoàn tất, không xét riêng khi từng tác vụ riêng lẻ thực thi xong.
Với đặc điểm trên, để tăng tính uyển chuyển và khả năng ứng dụng được thực thi
thành công hệ thống sẽ mở khái niệm Budget và Deadline cho ứng dụng như sau:




Việc mở rộng này không gây thiệt hại cho người dùng:
- Người dùng không phải chi trả thêm so với ngân sách ban đầu đề ra
- Thời điêm kết thúc của tác vụ trễ nhất trong ứng dụng không thay đổi, do đó thời
gian kế thúc của toàn ứng dụng vẫn như cũ.
Trong các nghiên cứu của nhóm Grid Computing thuộc bộ môn mạng máy tính,
chúng tôi đã gặp khá nhiều ứng dụng dạng này. Đơn cử như quá trình nghiên cứu hệ
thống quét virus trên môi trường lưới cho các tổ chức, tập hợp các thư mục, tập tin của
Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

18
Sinh viên thực hiện : Lê Văn Đào

một tổ chức có thể xem như một ứng dụng , trong đó mỗi file là một tác vụ của ứng
dụng.
3. Những điểm chưa phù hợp với hoàn cảnh Việt Nam của các thuật giải
đã có:
a. Hiệu suất thực thi kém
- Mỗi một tác vụ chịu sự ràng buộc bởi 2 điều kiện là thời hạn kết thúc (Deadline)
và ngân sách (Budget). Trong quá trình điều phối, sẽ có một số tác vụ mà hệ
thống không thể cùng đáp ứng 2 điều kiện này nên bị từ chối thực thi.

- Việc tác vụ nào bị từ chối thực thi do bản chất mỗi thuật giải lập lịch quyết định,
mặt khác mọi tác vụ đều đóng vai trò như nhau nên sẽ dẫn đến trường hợp như
hình 4.3



Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

19
Sinh viên thực hiện : Lê Văn Đào



Hình 4.3a dù nhiều tác vụ bị từ chối thực thi nhưng các tác vụ khác vẫn được
hoàn tất. Hình 4-3b, có sự bổ sung ràng buộc về ứng dụng. Mỗi ứng dụng đều có tác vụ
bị từ chối thực thi, dẫn đến không có ứng dụng nào thực sự hoàn tất dù vẫn có nhiều tác
vụ khác được thực thi. Điều này dẫn đến tỉ lệ các ứng dụng thực thi hoàn tất là rất thấp.
Các thuật giải đề xuất được xem toàn bộ ứng dụng là một đơn vị thống nhất, do
đó sẽ chỉ có trường hợp toàn bộ một ứng dụng được thực thi hoặc toàn bộ một ứng
dụng bị từ chối. không dẫn đến trường hợp như hình 4-3b.
- Mô hình ứng dụng đề xuất đã mở rộng khái niệm ngân sách (budget) và thời hạn
kết thúc (deadline) ở mức ứng dụng, cao hơn ở từng tác vụ riêng lẻ. Do điều kiện
đã được nới lỏng nên khả năng một ứng dụng được thực thi thành công sẽ cao
hơn.
Ví dụ: Trong một số ứng dụng có một số tác vụ có chi phí thực thi cao hơn ngân
sách cho phép. Tuy nhiên trong cùng ứng dụng đó, một số tác vụ lại chưa dùng hết
ngân sách của mình. Số dư này có thể giúp các tác vụ khác bù đắp và được phép thực
thi, dẫn đến toàn bộ ứng dụng vẫn thực thi thành công.
Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ


20
Sinh viên thực hiện : Lê Văn Đào

Với các nghiên cứu trước đó, khi một tác vụ vi phạm điều kiện ngay lập tức bị hủy
bỏ dẫn đến toàn ứng dụng không thể hoàn tất.
b. Thời gian thực thi ứng dụng cao:



Do các nghiên cứu trước chưa đề ra các ràng buộc ở mức ứng dụng, toàn bộ các
tác vụ xem như độc lập không có mối quan hệ gì với nhau, do đó sẽ xảy ra trường hợp
trong cùng một ứng dụng của người dùng có những tác vụ được điều phối thực thi từ
rất sớm, có những tác vụ được thực thi rất trễ dẫn đến thời gian thực thi tác vụ rất cao.
4. Hướng giải quyết của báo cáo.
Do một ứng dụng có kích thước không quá lớn, báo cáo đề xuất thực thi toàn bộ mỗi
ứng dụng trên một máy tính cụm (cluster ) duy nhất.
Việc xử lý toàn bộ một ứng dụng trên một máy tính cụm giúp đơn giản hóa quá
trình vận chuyển dữ liệu đến nơi thực thi cũng như việc tổng hợp kết quả khi ứng
dụng hoàn tất. Ngoài ra hướng tiếp cận này còn đơn giản hóa việc tính chi phí thực
thi cho ứng dụng so với việc thực thi một ứng dụng ở nhiều nơi khác nhau.

Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

21
Sinh viên thực hiện : Lê Văn Đào



5. Các thuật giải ở System Broker:
Ý tưởng chung: Các ứng dụng sẽ được quản lý tập trung tại system broker. Dựa

theo mỗi thuật giải, broker sẽ sắp xếp các ứng dụng của người dùng theo một độ
ưu tiên xác định.
Theo thứ tự đã sắp xếp, broker sẽ tuần tự gửi thông tin mô tả của từng ứng dụng
đến lần lượt các providers dưới dạng các lới yêu cầu (request). Mỗi provider sẽ tính
toán và trả lời cho broker biết thời điểm kết thúc và giá thành ước lượng ứng với ứng
dụng đó thông qua các offer chào giá. Trong số những lời chào giá thỏa yêu cầu về thời
gian và chi phí từ phía các broker, system broker sẽ lựa ra provider chào giá thấp nhất
và giao cho provider này thực thi ứng dụng.
Provider sau khi nhận được một ứng dụng sẽ phải cập nhật các thông số về tài
nguyên vì kết quả của những lần chào giá sau phải tính đến những ứng dụng minh đang
được xử lý trước đó.
Khi ứng dụng thực thi hoàn tất, kết quả được trả về phía system broker và từ đây
sẽ trả về cho người dùng.
Điểm khác biệt ở đay là quá trình sắp xếp các ứng dụng tại phía system broker.
Thứ tự sắp xếp khác nhau sẽ cho những kết quả thực thi rất khác nhau nhằm phục vụ
cho những mục tiêu khác nhau.
Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

22
Sinh viên thực hiện : Lê Văn Đào

a. Thuật giải điều phối Adeadline.
Thuật giải điều phối Adeadline chú trọng đến thời gian hoàn tất của ứng dụng (
Application’s Deadline). System Broker sẽ sắp xếp các ứng dụng theo Deadline tăng
dần, sau đó duyệt các ứng dụng theo thứ tự này để gửi đến các providers.
Mô tả:
Bước 1: Sắp xếp các ứng dụng trong tập A theo thứ tự Deadline tăng dần, các ứng dụng
có thời hạn kết thúc sơm hơn được ưu tiên xếp trước.
Bước 2: Duyệt danh sách các ứng dụng theo thứ tự đã sắp xếp, ứng với mỗi ứng dụng:
o Gửi thông tin về ứng dụng cho tất cả các providers

o Provider tính toán và gửi lời chào giá cho ứng dụng
- Trong số các lời chào giá thỏa yêu cầu của ứng dụng, Broker lựa chọn lời chào giá
có chi phí thấp nhất và giao cho provider đó thực thi.
Bước 3: Bỏ ứng dụng vừa xét ra khỏi tập ứng dụng A. Nếu còn ứng dụng trong tập A,
trở lại Bước 2.
Thuật giải: Gọi A là tập các ứng dụng trong hệ thống, P là tập các providers.
Finish_Time(Oij
):
Thời gian hoàn tất dự kiến của ứng dụng A
i
trên Provider P
j

Cost(Oij) : Chi phí dự kiến của ứng dụng A
i
trên Provider P
j

A= sort(A, BY_DEADLINE_ASC);
// Sort các ứng dụng theo deadline tăng dần.
While (A  )
A
i
=get_first(A); //Ứng dụng có deadline thấp nhất
O= ; // Tập các offer từ provider
Forech P
j
in P // Duyệt tất cả provider
Send_request(A
j

,P
j)
; // Gửi yêu cầu đến provider P
j

Recv(P
j
,Oij); // Nhận lời chào giá từ P
j
cho ứng dụng A
j

If(Finish_Time(Oij
)
Deadline(A
i
) &&
Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

23
Sinh viên thực hiện : Lê Văn Đào

Cost(Oij)

Budger(A
i
)) then // Lời chào giá thỏa yêu cầu
O=O+{Oij} // Thêm lời chào giá vào tập Offer
End foreach
If( O  ) then // Nếu có provider thỏa yêu cầu

O
ik
=min_cost(O); // Lựa chọn Offer có giá trị thấp nhất
Send_app(A
i,
P
k
); // Gửi A
i
cho provider P
k
thực thi
End if
A= A \{A
i
} ; // Loại A
i
khỏi tập Application
End while

Độ phức tạp ứng với Broker: Mỗi ứng dụng lần được gửi cho mỗi provider, do
đó độ phức tạp là O(n*m) với n là số lượng ứng dụng, m là số lượng providers.
Ở giải thuật này có quá trình sắp xếp danh sách các ứng dụng có độ phức tạp
O(n*log(n)), tuy nhiên quá trình này thật sự chỉ là quá trình sắp xếp mảng tại phía
broker nên diễn ra rất nhanh. Khi xem xét độ phức tạp, báo cáo chỉ tính đến quá trình
chào giá đến các providers, là quá trình đòi hỏi nhiều thời gian.
Đặc điểm:
- Ưu tiên các ứng dụng có nguy cơ bị trễ hạn được thực thi trước -> nâng cao khả
năng hoàn thành của các ứng dụng.
- Số lượng ứng dụng thực thi thành công sẽ cao nhất trong các thuật giải được đề

ra trong báo cáo, do đó sẽ phục vụ được số lượng người dùng cao nhất.
- Chưa chú trọng đến ngân sách của các ứng dụng thực thi, do đó lợi nhuận thu
được của hệ thống có thể không cao.
- Thuật giải này có thể áp dụng cho các hệ thống mới thiết lập, chú trọng đến việc
thu hút nhiều người dùng hơn việc nâng cao tối đa chi phí thu vào.
- Thuật giải cũng có thể áp dụng cho các hệ thống phục vụ cộng đồng, tao cơ hội
tiếp xúc với môi trường lưới cho nhiều người dùng.
Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

24
Sinh viên thực hiện : Lê Văn Đào

b. Thuật giải điều phối AcostPI
Định nghĩa khái niệm Cost Per Instruction (CostPI)












Khái niệm Cost PI của một ứng dụng là một đại lượng cho biết độ quan trọng
của một ứng dụng, thể hiện khả năng chi trả của khách hàng cho ứng dụng này.
Thuật giải điều phối ACostPI quan tâm đến giá trị CostPI của các ứng dụng để
công bằng đối với khách hàng, hệ thống sẽ ưu tiên cho các ứng dụng có CostPI cao hơn

được quyền chọn tài nguyên và thực thi trước.
Mô tả: Tượng tự như thuật giải điều phối Adeadline, chỉ khác ở Bước 1 - Sắp
xếp các ứng dụng
- Bước 1: Sắp xếp các ứng dụng trong tập A theo thứ tự CostPI giảm dần, các ứng
dụng có đại lượng CostPI cao hơn được ưu tiên xếp trước
- Bước 2: Duyệt danh sách các ứng dụng theo thứ tự đã sắp xếp, ứng với mỗi ứng
dụng:
+ Gửi thông tin về ứng dụng cho tất cả các providers
+ Provider tính toán và gửi lời chào giá cho ứng dụng
+ Trong số các lời chào giáo thỏa yêu cầu của ứng dụng, Broker lựa ra lời chào
giá có chi phí thấp nhất và giao cho provider có thực thi.
- Bước 3: Bỏ ứng dụng ra khỏi tập ứng dụng A. Nếu còn ứng dụng trong tập A, trở
lại bước 2
Thuật giải:

Báo cáo Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ

25
Sinh viên thực hiện : Lê Văn Đào






Độ phức tạp: hoàn toàn tương tự thuật giải điều phối theo Deadline, độ phức tạp là
O(n*m)
Đặc điểm:
- Chú ý nhiều hơn đến lợi nhuận vì săp xếp các ứng dụng theo CostPI giảm dần
- Ưu tiên hơn cho những khách hang chấp nhận trả giá cao cho ứng dụng, đây là

một yếu tố quan trọng giúp thuật giải gần với thực tế hơn.

×