Tải bản đầy đủ (.ppt) (87 trang)

tính toán lưới - chương 6 ứng dụng khả lưới tính toán

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.65 MB, 87 trang )

Chương 6
Chương 6
Ứng dụng khả lưới
Ứng dụng khả lưới
tính toán
tính toán
Giảng viên: TS Đàm Quang Hồng Hải
Giảng viên: TS Đàm Quang Hồng Hải
TÍNH TOÁN LƯỚI
TÍNH TOÁN LƯỚI
Ứng dụng khả Lưới tính toán
Ứng dụng khả Lưới tính toán

Khả lưới không có nghĩa là chỉ đơn giản là
thực hiện một công việc trên nền tảng Grid

Hầu như tất cả các chương trình máy tính
hàng loạt có thể được vận chuyển đến một
Lưới tính toán và thực hiện với một kết nối
ssh từ xa.

Đây là một mô hình đã có kể từ khi máy
tính lần đầu tiên được kết nối (thông qua
telnet).

Khả lưới bao gồm sử dụng tính chất phân
phối công việc trên nền tảng Grid.
Các mô hình Lưới tính toán
Các mô hình Lưới tính toán
Bài toán Lập trình lưới
Bài toán Lập trình lưới



Tính toán lưới cung cấp khả năng sử dụng nhiều
máy tính trên một bài toán duy nhất để giảm thời
gian thực hiện.

Giả sử một vấn đề được chia thành p phần bằng
nhau, với mỗi phần thực hiện trên một máy tính
riêng biệt tại cùng một thời điểm. Thời gian để
thực hiện vấn đề bằng cách sử dụng p máy tính
đồng thời sẽ là 1/p thời gian trên một máy tính
duy nhất.

Mô hình lý tưởng – bài toán có thể không được
chia thành các phần bằng nhau có thể được thực
hiện đồng thời.
Khả lưới tính toán cho một ứng dụng
Khả lưới tính toán cho một ứng dụng

Khả năng thực thi một ứng dụng trên một
nền tảng Lưới, bằng cách sử dụng các
nguồn lực phân phối có sẵn trên nền tảng
đó.

Khả lưới tính toán dùng để chỉ sự thích
ứng hoặc phát triển một chương trình
nhằm có khả năng giao tiếp với một trung
gian lưới (grid middleware) để sắp xếp và
sử dụng tài nguyên từ môi trường phân tán
Lưới một cách có hiệu quả đáp ứng nhu
cầu của chương trình.

Minh họa cần thiết ứng dụng lưới
Minh họa cần thiết ứng dụng lưới

Để tính toán dự báo một vùng 5 x 10
8
phần tử,
trong đó mỗi phần tử tính toán cần 200 phép tính.

Như vậy mỗi bước thời gian cần 200 x 5 x 10
8
=
10
11
phép tính.

Khi đó, nếu cần dự báo của 20 ngày sau, với bước
thời gian khoảng 10 phút, phải phân chia thành
20 x 24 x 60/10 = 2880 bước thời gian,

Cần 10
11
x 2880 = 2,88 x 10
14
phép tính.

Khi đó, với máy tính khả năng 100 MFlops (10
8

Flops), phải cần đến 2,88 x 10
14

/10
8
= 2,88 x 10
6

giây mới tính toán xong (khoảng 33 ngày đêm).
Như vậy, 33 ngày tính mới có được kết quả của
ngày thứ 20.
Minh họa cần thiết ứng dụng
Minh họa cần thiết ứng dụng
lưới (tiếp)
lưới (tiếp)

Nếu yêu cầu phải thực hiện tính toán trong
vòng 1 giờ = 3600 giây, phải có máy với
khả năng 2,88 x 10
14
/3600 = 80 x 10
9
Flops
(= 80 GFlops) . Nếu một bộ xử lý với 1
GFlops, cần 80 bộ xử lý.

Như vậy, để giải quyết được vấn đề đặt ra,
thay vì tăng tốc độ tính toán của máy tính,
chúng ta sử dụng cùng một lúc nhiều bộ
xử lý.
Ứng dụng lưới
Ứng dụng lưới


Ở đây chúng tôi sẽ mô tả cách tiếp cận
khác nhau

Chúng ta có thể phân chia việc sử dụng
các tài nguyên máy tính trong Grid thành
hai loại:

Sử dụng nhiều máy tính riêng biệt giải
nhiều vấn đề

Sử dụng nhiều máy tính chung giải một
vấn đề
N
N
hiều máy tính riêng biệt giải
hiều máy tính riêng biệt giải
nhiều vấn đề
nhiều vấn đề


Quét thông số

Trong một số lĩnh vực lĩnh vực, các nhà
khoa học cần để chạy các chương trình
tương tự nhiều lần, nhưng với dữ liệu đầu
vào khác nhau.

"Quét" qua không gian thông số với các giá
trị khác nhau của các tham số đầu vào tìm
kiếm một giải pháp.


Nhiều trường hợp, không dễ dàng để tính
toán câu trả lời và sự can thiệp của con
người là cần thiết để tìm kiếm hoặc thiết
kế không gian
Nhiều máy tính q
Nhiều máy tính q
uét
uét
thông số
thông số
Ví dụ ứng dụng q
Ví dụ ứng dụng q
uét
uét
thông số
thông số

Một nhà khoa học có thể muốn tìm kiếm
một loại thuốc mới và nhu cầu để thử công
thức khác nhau có thể phù hợp tốt nhất với
một loại protein cụ thể.

Một kỹ sư thiết kế có thể nghiên cứu ảnh
hưởng của thiết kế khí động học khác nhau
với hiệu suất của máy bay.

Tính toán quá trình thiết kế thẩm mỹ với
nhiều thiết kế có thể thay thế mà con người
có thể lựa chọn.


Đôi khi, kỹ sư muốn hiểu tác động của thay
đổi các thông số khác nhau của quá trình
nghiên cứu thiết kế
Các thông số trong quét thông số

Thông thường, nhiều thông số có thể được
thay đổi. Có thể là một sự kết hợp rộng lớn
các giá trị tham số.

Một cách lý tưởng, một số cách quét tham
số tự động cần bao gồm cả quy định quét
tham số cụ thể và cách lập kế hoạch quét
đơn lẻ trên nền tảng lưới.
Các ứng dụng thực hiện
quét thông số
Thực hiện quét thông số

Có thể chỉ đơn giản bằng cách gửi nhiều
tập tin mô tả công việc, một cho mỗi tập
các tham số, nhưng đó không phải cách
hiệu quả.

Thông số các ứng dụng quét là rất quan
trọng nên các dự án nghiên cứu để cho
chúng hiệu quả trên một lưới tính toán.

Việc quét tham số xuất hiện rõ ràng trong
các ngôn ngữ mô tả công việc.
Ví dụ RSL-2/JDD

<count> 5 </ count>

Đăng ký 5 trình thực thi công việc, đơn
giản là giống hệt nhau.

Chú ý: 4 trình thực thi là vô nghĩa trừ khi
mỗi trình thực thi có hành động lựa chọn
mã riêng hoặc các tập tin đầu vào và đầu
ra khác nhau được lựa chọn cho từng phiên
bản trong tập tin mô tả công việc.

Các yếu tố mô tả công việc thường có thể
mô tả để thay đổi cho mỗi trình thực thi.
Các tham số được liệt kê
trong trong JSDL Ver 1

Hai yếu tố bổ sung

<Parameter> Để xác định lựa chọn các
thông số

<value> Để liệt kê các giá trị

chứa trong một phần tử <Assignment>
cho từng.

Công việc Đa nhiệm/lồng nhau cho các
kịch bản khác nhau:

Duy nhất thay thế hoặc


Các thay thế đa nhiệm đồng thời trong các kết
hợp khác nhau.
Tham số quét, yếu tố lựa chọn và thay thế
Tham số quét, yếu tố lựa chọn và thay thế
Lựa chọn phần tử XML

Biểu hiện cần lựa chọn một phần tử
XML.

XPath expression cung cấp một cách
chọn một phần tử XML trong một tài
liệu XML.
XPath
XPath

Tài liệu XML có dạng:
<a>
<b>
<c>
</c>
</b>
</a>

Biểu thức XPath để xác định các yếu tố
<c> </c>
sẽ là /a/b/c
H
H

ình thức biểu
ình thức biểu
thị XPath
thị XPath

XPath cho phép nhiều hình thức biểu thị, ví
dụ có nhiều thẻ <c> được gọi:
<a>
<b>
<c>
</c>
.
.
<c>
</c>
</b>
</a>

Biểu thức để lựa chọn
yếu tố <c> thứ 3 là
/a /b /c [3]
Ví dụ cho quá trình quét tham số

Xem xét công việc JSDL:
<jsdl:JobDefinition>
<jsdl:JobDescription>
<jsdl:Application>
<jsdl-posix:POSIXApplication>
<jsdl-posix:Executable>/bin/echo</jsdl-posix:Executable>
<jsdl-posix:Argument>Hello</jsdl-posix:Argument>

<jsdl-posix:Argument>Fred</jsdl-posix:Argument>
</jsdl-posix:POSIXApplication>
</jsdl:Application>
</jsdl:JobDescription>
</jsdl:JobDefinition>
T
T
hay đổi tham số
hay đổi tham số
thứ hai là Bob, Alice, và Tom (3 lần quét):
thứ hai là Bob, Alice, và Tom (3 lần quét):
<jsdl:JobDefinition>
<jsdl:JobDescription>
<jsdl:Application>
<jsdl-posix:POSIXApplication>
<jsdl-posix:Executable>/bin/echo</jsdl-posix:Executable>
<jsdl-posix:Argument>Hello</jsdl-posix:Argument>
<jsdl-posix:Argument>Fred</jsdl-posix:Argument>
</jsdl-posix:POSIXApplication>
</jsdl:Application>
</jsdl:JobDescription>
<sweep:Sweep>
<sweep:Assignment>
<sweep:Parameter>//jsdl-
posix:Argument[2]</sweep:Parameter>
<sweepfunc:Values>
<sweepfunc:Value>Bob</sweepfunc:Value>
<sweepfunc:Value>Alice</sweepfunc:Value>
<sweepfunc:Value>Tom</sweepfunc:Value>
</sweepfunc:Values>

</sweep:Assignment>
</sweep:Sweep>
</jsdl:JobDefinition>
Các tham số tính toán
Các tham số tính toán

Ngôn ngữ mô tả công việc như JSDL
có thể được mở rộng để tăng một
tham số là số nguyên tự động với
một cấu trúc for.

Cấu trúc for xác định giá trị của một
tham số, sẽ thay thế như trước kia và
là một sự thay thế vĩ mô.
Mô tả Job với ngôn ngữ XML

Đầu tiên, tham số quy định cụ thể giá trị đối số:
<parameter name="arg1" type="integer" domain="range">
<range from="1" to="99" type="step" interval="2"/>
</parameter>

Đối số được gọi là arg1. Giá trị cho arg1 là 1,3,5 9

Đối số arg1 sẽ xuất hiện trong thực thi :
<execute>
<command value=" "/>
<arg value="$arg1"/>

</execute>


Mỗi giá trị của arg1 được thay thế trong một
lần quét.

×