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

Nghiên cứu và xây dựng một framework mô tả workflow có khả năng tự thích nghi với đặc tính tài nguyên của 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.21 MB, 97 trang )

Đại Học Quốc Gia Tp. Hồ Chí Minh

TRƯỜNG ĐẠI HỌC BÁCH KHOA

LÊ NGUYÊN VĨNH PHÚ

NGHIÊN CỨU VÀ XÂY DỰNG MỘT FRAMEWORK
MƠ TẢ WORKFLOW CĨ KHẢ NĂNG TỰ THÍCH
NGHI VỚI ĐẶC TÍNH TÀI NGUN CỦA MƠI
TRƯỜNG TÍNH TỐN LƯỚI
Chun ngành: Khoa học Máy tính

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 02 năm 2008


CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

Cán bộ hướng dẫn khoa học : TS. Nguyễn Tuấn Anh
Cán bộ chấm nhận xét 1 : TS. Phạm Trần Vũ
Cán bộ chấm nhận xét 2 : TS. Trần Viết Huân

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG
Tp.HCM ngày 20 tháng 02 năm 2008
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1. Chủ tịch: TS. Trần Văn Hoài
2. Thư ký: TS. Phạm Trần Vũ
3. Ủy viên: TS. Nguyễn Tuấn Anh


4. Ủy viên: TS. Trần Viết Huân
5. Ủy viên: TS. Nguyễn Đức Cường


ĐẠI HỌC QUỐC GIA TP. HCM

CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

Độc Lập - Tự Do - Hạnh Phúc

----------------

---oOo--Tp. HCM, ngày . . . . . tháng . . . . . năm . . . . . .

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ và tên học viên
:
Ngày, tháng, năm sinh :

Lê Nguyên Vĩnh Phú
16/3/1980

Giới tính : Nam  / Nữ 
Nơi sinh : Quảng Ngãi

Chuyên ngành

Khoa học máy tính


MSHV : 00705148

:

I - TÊN ĐỀ TÀI: NGHIÊN CỨU VÀ XÂY DỰNG MỘT FRAMEWORK MÔ
TẢ WORKFLOW CĨ KHẢ NĂNG TỰ THÍCH NGHI VỚI ĐẶC TÍNH TÀI
NGUN CỦA MƠI TRƯỜNG TÍNH TỐN LƯỚI.
II - NHIỆM VỤ VÀ NỘI DUNG:
Phần 1: Tìm hiểu các khái niệm và cơng nghệ liên quan đến Workflow, mơi trường
tính tốn lưới. Khảo sát, đánh giá các mơi trường tính tốn lưới khác như: Triana,
GridAnt, GridFlow, Askalon … Phân tích những nhược điểm của các mơ hình hiện
tại làm cơ sở cho việc đề xuất mơ hình workflow cải tiến có khả năng thích nghi tốt
với mơi trường bất đồng nhất của Grid. Tìm hiểu cơng cụ lập trình lưới hướng đối
tượng POP-C++ để xây dựng Framework Workflow.
Phần 2: Đề xuất mơ hình workflow. Mơ hình có khả năng thích nghi được với đặc
tính của mơi trường lưới thơng qua khả năng kết hợp nhiều hiện thực với các yêu
cầu tài nguyên khác nhau trong các thành phần của workflow.
Phần 3: Sử dụng cơng cụ lập trình lưới POP-C++ hiện thực framework hỗ trợ
Workflow. Triển khai ứng dụng hoàn toàn dựa vào POP-C++.


III - NGÀY GIAO NHIỆM VỤ : 10-10-2006 .
IV - NGÀY HOÀN THÀNH NHIỆM VỤ : 20-02-2008
V - HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN:

TS. Nguyễn Tuấn Anh

Nội dung và đề cương Luận văn thạc sĩ đã được Hội Đồng Chun Ngành thơng
qua.

CÁN BỘ HƯỚNG DẪN

CHỦ NHIỆM BỘ MƠN
QUẢN LÝ CHUYÊN NGÀNH

TS. NGUYỄN TUẤN ANH


LỜI CAM ĐOAN
Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các cơng trình khác như
đã ghi rõ trong luận văn, các cơng việc trình bày trong luận văn này là do chính tơi
thực hiện và chưa có phần nội dung nào của luận văn này được nộp để lấy một bằng
cấp ở trường này hoặc trường khác.
Ngày 20 tháng 02 năm 2008
Lê Nguyên Vĩnh Phú


LỜI CẢM ƠN

TRANG 1

LỜI CẢM ƠN
Tài liệu này là kết quả của việc nghiên cứu luận văn thạc sĩ tại trường Đại Học
Bách Khoa Tp.HCM, khoa Công Nghệ Thông Tin. Tôi mong rằng bài viết này được
diễn đạt một cách dễ hiểu về việc xây dựng một framework mô tả workflow có khả
năng tự thích nghi với đặc tính tài ngun của mơi trường tính tốn lưới.
Nhân cơ hội này, tơi muốn bày tỏ lịng cảm ơn chân thành đến thầy hướng dẫn
TS. Nguyễn Tuấn Anh, đã giúp đỡ tôi rất nhiều trong việc nghiên cứu trong giai
đoạn làm đề cương luận văn cũng như giai đoạn luận văn tốt nghiệp. Thầy đã có
những đóng góp hết sức quý báu và chân thành trong q trình làm luận văn này.

Ngồi ra, tơi muốn bày tỏ lịng cảm ơn sâu sắc đến thầy cô của khoa Công Nghệ
Thông Tin đã giảng dạy và truyền đạt những tri thức mới cho tôi trong suốt thời
gian qua.
Tôi cũng xin trân trọng cảm ơn đến Phòng Đào Tạo Sau Đại Học, trường Đại
Học Bách Khoa Tp.HCM đã hỗ trợ tôi rất nhiều trong thời gian học tại trường.
Cuối cùng, tôi cũng muốn bày tỏ lịng cám ơn đến những người bạn và gia đình
đã ủng hộ và chia sẻ trong quá trình nghiên cứu đề tài.
Kính chúc mọi người sức khoẻ, thành đạt và hạnh phúc.
TP.HCM, ngày 20 tháng 02 năm 2008
Học viên
Lê Nguyên Vĩnh Phú

GVHD: TS. Nguyễn Tuấn Anh

HVTH: Lê Nguyên Vĩnh Phú


ĐỀ TÀI

TRANG 2

ĐỀ TÀI
Việc xây dựng và triển khai hiệu quả ứng dụng song song trong môi trường lưới
là một thách thức. Để chạy hiệu quả, ứng dụng có nhu cầu tính tốn lớn cần phải
được song song hóa với nhiều mức độ song song khác nhau từ mức mịn (fine grain
parallelism) đến mức thô (coarse grain, loosely coupled parallelism) và việc lựa
chọn mức độ song song phải được quyết định khi thực thi ứng dụng.
Workflow là một mơ hình thích hợp để đặc tả song song hóa đa mức độ. Tuy
nhiên, các mơ hình workflow hiện nay đều ở dạng tương đối tĩnh qua đó mức độ
song song được cố định sẵn khi thiết kế chương trình.


NGHIÊN CỨU VÀ XÂY DỰNG MỘT FRAMEWORK MƠ TẢ
WORKFLOW CĨ KHẢ NĂNG TỰ THÍCH NGHI VỚI ĐẶC TÍNH TÀI
NGUN CỦA MƠI TRƯỜNG TÍNH TOÁN LƯỚI
GVHD: TS. Nguyễn Tuấn Anh,

GVHD: TS. Nguyễn Tuấn Anh

HVTH: Lê Nguyên Vĩnh Phú


ĐẶT VẤN ĐỀ

TRANG 3

ĐẶT VẤN ĐỀ
Sự xuất hiện của môi trường lưới tính tốn và sự phát triển nhanh của công nghệ
Internet đã tạo ra thách thức cho những người lập trình ứng dụng và phát triển hệ
thống. Những mơ hình lập trình cổ điển đã bộc lộ một số khó khăn và hạn chế khi
được sử dụng trên Grid, điều đó dẫn đến yêu cầu về một cách lập trình mới, một mơ
hình lập trình mới để phát triển các ứng dụng tính tốn hiệu suất cao (HPC). Thêm
vào đó, để có một ứng dụng trên Grid hồn chỉnh, ngồi mơ hình lập trình, ngơn
ngữ lập trình phù hợp, ta cần một ứng dụng có khả năng thích nghi cao với mơi
trường Grid để có thể tận dụng hết sức mạnh mà Grid computing mang lại cho
chúng tôi.
Bên cạnh đó, việc xây dựng và triển khai hiệu quả ứng dụng song song trong
môi trường lưới là một thách thức. Để chạy hiệu quả, ứng dụng có nhu cầu tính tốn
lớn cần phải được song song hóa với nhiều mức độ song song khác nhau từ mức
mịn (fine grain parallelism) đến mức thô (coarse grain, loosely coupled parallelism)
và việc lựa chọn mức độ song song phải được quyết định khi thực thi ứng dụng.

Workflow là một mơ hình thích hợp để đặc tả song song hóa đa mức độ. Tuy
nhiên, các mơ hình workflow hiện nay đều ở dạng tương đối tĩnh qua đó mức độ
song song được cố định sẵn khi thiết kế chương trình.
Trước xu hướng đó, nhiều hệ thống Grid Workflow đã được đề xuất, nghiên cứu
nhằm tận dụng sức mạnh của môi trường Grid để chia sẻ, quản lý, xử lý tập dữ liệu
lớn. Thành phần tương tác người sử dụng giúp mô tả workflow được phát triển khá
hoàn chỉnh bao gồm: hỗ trợ giao diện đồ họa, ngơn ngữ mơ tả workflow XML,
trong đó một số hệ thống hỗ trợ sinh mã tự động dựa vào mô tả của người dùng.
Nhưng đa số các hệ thống đó đều mắc phải hạn chế là khơng hỗ trợ bậc khác nhau
của tính song song. Nghĩa là mỗi ứng dụng có thể chứa nhiều cấu hình, mỗi cấu
hình trình bày một bậc song song của ứng dụng.
Từ nhu cầu và thiết sót đó, việc thiết kế một hệ thống quản lý workflow động trở
nên cần thiết. Tuy nhiên, tính chất động của hệ thống workflow có thể xử lý ở nhiều
mức, giai đoạn khác nhau, khía cạnh khác nhau. Ở đây, đề tài sẽ tập trung nghiên
GVHD: TS. Nguyễn Tuấn Anh

HVTH: Lê Nguyên Vĩnh Phú


ĐẶT VẤN ĐỀ

TRANG 4

cứu, xây dựng một framework mô tả, quản lý workflow động dựa trên mơ hình lập
trình lưới đối tượng song song mà ngôn ngữ POP-C++ và môi trường run-time
POP-C++ là đại diện cho phép quyết định task nào trong workflow sẽ được thực thi
dựa trên nhu cầu về tài nguyên của nó. Nói cách khác là cấu hình nào của ứng dụng
sẽ được framework lựa chọn lúc thực thi. Vì vậy nó có khả năng thích nghi được
với những thay đổi, bất ổn trong môi trường lưới.
Luận văn này được tổ chức thành bốn thành phần chính:

Phần 1: Giới thiệu. Trong phần gồm 3 chương.
 Chương 1: Tổng quan
 Chương 2: Một số hệ thống Grid Workflow Management
 Chương 3: Hệ thống lập trình lưới POP-C++.
Phần 2: Nghiên cứu cơ sở lý thuyết. Phần này gồm 2 chương.
 Chương 4: Kiến trúc hệ thống Grid Workflow Management System.
 Chương 5: Mơ hình đối tượng song song.
Phần 3: Xây dựng framework. Trong phần này gồm 3 chương.
 Chương 6: Kiến trúc tổng quát.
 Chương 7: Mô tả framework.
 Chương 8: Hiện thực framework.
Phần 4: Tổng kết. Trong phần này bao gồm 1 chương.
 Chương 9: Kết luận.

GVHD: TS. Nguyễn Tuấn Anh

HVTH: Lê Nguyên Vĩnh Phú


MỤC LỤC

TRANG 5

MỤC LỤC
LỜI CẢM ƠN............................................................................................................1
ĐỀ TÀI .......................................................................................................................2
ĐẶT VẤN ĐỀ ............................................................................................................3
PHẦN 1.....................................................................................................................10
GIỚI THIỆU............................................................................................................10
Chương 1


TỔNG QUAN.............................................................................11

1.1

Động cơ...................................................................................................11

1.2

Mục tiêu ..................................................................................................11

1.3

Grid .........................................................................................................12

1.3.1

Động lực phát triển..........................................................................12

1.3.2

Các lĩnh vực của Grid Computing: .................................................13

1.3.3

Những khó khăn:.............................................................................13

1.4

Một số mơ hình lập trình ........................................................................14


1.4.1

Mơ hình truyền thơng điệp..............................................................14

1.4.2

Mơ hình chia sẻ bộ nhớ phân bố .....................................................15

1.4.3

Song song đồng bộ (bulk synchronous parallel).............................15

1.5

Workflow ................................................................................................16

1.6

Grid workflow ........................................................................................17

1.6.1

Giới thiệu.........................................................................................17

1.6.2

Động lực..........................................................................................18

1.6.3


Kết luận ...........................................................................................19

Chương 2

MỘT SỐ HỆ THỐNG QUẢN LÝ GRID WORKFLOW
(GWMS)......................................................................................20

2.1

Condor DAGMan ...................................................................................20

2.2

Triana ......................................................................................................21

2.3

GridAnt ...................................................................................................22

2.4

GridFlow.................................................................................................23

2.5

Askalon ...................................................................................................24

GVHD: TS. Nguyễn Tuấn Anh


HVTH: Lê Nguyên Vĩnh Phú


MỤC LỤC

TRANG 6

2.6

Karajan....................................................................................................25

2.7

Kepler......................................................................................................26

Chương 3
3.1

HỆ THỐNG LẬP TRÌNH LƯỚI POP-C++ ...........................28

Hệ thống lập trình POP-C++ ..................................................................28

3.1.1

Đối tượng song song C++ ...............................................................28

3.1.1.1

Ngơn ngữ lập trình POP-C++.....................................................28


3.1.1.2

Lớp song song POP-C++............................................................29

3.1.1.3

Object Description (OD) ............................................................30

3.1.1.4

Hỗ trợ Exception.........................................................................30

3.1.1.5

Trình biên dịch POP-C++...........................................................31

3.1.1.6

Đánh giá......................................................................................32

3.1.2 Tính tốn cường độ lớn (data intensive computing) trong
POP-C++.............................................................................................32
3.1.3

Kiến trúc POP-C++ run-time ..........................................................33

3.1.3.1

Mơ hình thực thi .........................................................................33


3.1.3.2

Các service POP-C++ thiết yếu..................................................34

3.1.3.3

Đánh giá......................................................................................35

PHẦN 2.....................................................................................................................36
CƠ SỞ LÝ THUYẾT ..............................................................................................36
Chương 4

KIẾN TRÚC HỆ THỐNG QUẢN LÝ WORKFLOW ..........37

4.1

Định nghĩa ..............................................................................................37

4.2

Động cơ thúc đẩy....................................................................................37

4.3

Kiến trúc hệ thống quản lý Grid Workflow............................................37

4.3.1

Thiết kế workflow ...........................................................................40


4.3.1.1

Cấu trúc workflow ......................................................................40

4.3.1.2

Đặc tả workflow .........................................................................41

4.3.1.3

Hệ thống soạn thảo workflow.....................................................42

4.3.1.4

Những ràng buộc chất lượng dịch vụ (QoS) của workflow .......42

4.3.2

Tìm kiếm thơng tin..........................................................................43

4.3.3

Định thời workflow.........................................................................44

4.3.4

Tính chịu lỗi ....................................................................................44

GVHD: TS. Nguyễn Tuấn Anh


HVTH: Lê Nguyên Vĩnh Phú


MỤC LỤC

TRANG 7

4.3.5
4.4

Di chuyển dữ liệu trung gian...........................................................45

Phân loại một số hệ thống quản lý grid workflow..................................46

4.4.1

Phân loại theo thiết kế workflow ....................................................46

4.4.2

Phân loại theo định thời Workflow .................................................47

4.4.3

Phân loại theo: tìm kiếm thơng tin, tính chịu lỗi, sự di chuyển dữ
liệu...................................................................................................48

4.5

Một số hạn chế của các mơ hình GWMS hiện tại ..................................49


Chương 5

MƠ HÌNH ĐỐI TƯỢNG SONG SONG .................................51

5.1

Giới thiệu ................................................................................................51

5.2

Mơ hình đối tượng song song .................................................................51

5.3

Ứng dụng mơ hình đối tượng song song vào đề tài................................52

PHẦN 3.....................................................................................................................54
XÂY DỰNG FRAMEWORK ................................................................................54
Chương 6
6.1

KIẾN TRÚC TỔNG QUÁT .....................................................55

Framework cần xây dựng .......................................................................55

6.1.1

Giới thiệu.........................................................................................55


6.1.2

Kiến trúc tổng thể của framework cần xây dựng ............................55

6.1.2.1

User Interface Layer ...................................................................56

6.1.2.2

Instantiation and Execution Layer..............................................56

6.1.3

6.2

6.1.3.1

Programmer ................................................................................57

6.1.3.2

End-user......................................................................................57

Tóm tắt....................................................................................................58

Chương 7
7.1

Lợi ích của programmer và end-user trên với mơ hình...................57


MƠ TẢ FRAMEWORK ...........................................................59

Framework cần xây dựng .......................................................................59

7.1.1

Mơ hình Workflow Abstractions ....................................................60

7.1.2

Mơ tả về thành phần thiết kế workflow (workflow design)............61

7.1.2.1

Cấu trúc workflow ......................................................................61

7.1.2.2

Đặc tả workflow .........................................................................61

7.1.2.3

Hệ thống soạn thảo workflow.....................................................61

7.1.2.4

QoS của workflow ......................................................................62

GVHD: TS. Nguyễn Tuấn Anh


HVTH: Lê Nguyên Vĩnh Phú


MỤC LỤC

TRANG 8

7.1.3

Mô tả vấn đề của người sử dụng trên mơ hình................................62

7.1.4

Mơ tả q trình thực thi trên mơ hình .............................................65

7.1.5

Các tính năng của framework .........................................................67

7.2

7.1.5.1

Cho phép song song hóa bài tốn tuần tự trong mơi trường
Grid..............................................................................................67

7.1.5.2

Tăng cường tính động của workflow để tăng cường khả năng

thích nghi cao..............................................................................68

7.1.5.3

Thuận tiện cho người sử dụng tạo một ứng dụng workflow để
giải quyết một problem nào đó trong mơi trường Grid ..............68

Tóm tắt....................................................................................................68

Chương 8

HIỆN THỰC FRAMEWORK .................................................69

8.1

Mục tiêu ..................................................................................................69

8.2

Kiến trúc cụ thể của framework cần xây dựng .......................................69

8.3

Framework cần xây dựng .......................................................................70

8.4

Sử dụng framework để giải quyết vấn đề ...............................................72

8.4.1


Phân rã problem tạo lược đồ song song ..........................................73

8.4.2

Khởi tạo giải pháp ...........................................................................76

8.4.3

Khởi tạo liên kết..............................................................................77

8.4.4

Thiết lập đầu vào và thực thi...........................................................78

8.5

Mô tả vấn đề của người sử dụng trên framework...................................79

8.6

Quá trình thực thi trong framework........................................................81

8.7

Đánh giá..................................................................................................84

PHẦN 4.....................................................................................................................85
TỔNG KẾT..............................................................................................................85
Chương 9


KẾT LUẬN ................................................................................86

9.1

Kết quả đạt được.....................................................................................86

9.2

Những vấn đề cần giải quyết và kế hoạch tương lai...............................87

9.2.1

Những vấn đề cần giải quyết...........................................................87

9.2.2

Kế hoạch tương lai ..........................................................................87

BẢNG THUẬT NGỮ..............................................................................................88
TÀI LIỆU THAM KHẢO ......................................................................................89

GVHD: TS. Nguyễn Tuấn Anh

HVTH: Lê Nguyên Vĩnh Phú


DANH MỤC HÌNH

TRANG 9


DANH MỤC HÌNH
Hình 1.1 – Minh họa Grid Workflow. ......................................................................18
Hình 3.1 - Xử lý Exception trong POP-C++ [26] .....................................................31
Hình 3.2 – Quá trình xử lý biên dịch của POP-C++. ................................................32
Hình 3.3 – POP-C++ as the glue of low level Grid toolkits .....................................34
Hình 3.4 – Kiến trúc của hệ thống POP-C++ run-time.............................................35
Hình 4.1 – Grid Workflow Management System .....................................................39
Hình 4.2 - Các thành phần của GWMS ....................................................................40
Hình 4.3 - Các phần trong thiết kế workflow ...........................................................40
Hình 4.4 - Phân loại trong cấu thiết kế workflow.....................................................41
Hình 4.5 - Các kiểu của đặc tả workflow.................................................................41
Hình 4.6 - Các kiểu trong hệ thống soạn thảo workflow ..........................................42
Hình 4.7 - Những ràng buộc trong QoS workflow ...................................................43
Hình 4.8 - Bậc ràng buộc QoS ..................................................................................43
Hình 4.9 - Phân loại tìm kiếm thơng tin....................................................................43
Hình 4.10 - Phân loại về cách định thời workflow ..................................................44
Hình 4.11 - Phân loại về tính chịu lỗi .......................................................................45
Hình 4.12 - Các cách xử lý di chuyển dữ liệu...........................................................45
Hình 6.1 - Các Layer của framework........................................................................55
Hình 6.2 - User Interface layer..................................................................................56
Hình 6.3 - Instantiation and Execution layer ...........................................................57
Hình 7.1 - Mơ hình quan hệ giữa các workflow abstractions. ..................................60
Hình 7.2 - Cấu trúc lồng nhau trong workflow.........................................................63
Hinh 7.3 – Minh họa biểu diễn một problem............................................................64
Hình 7.4 - Các đối tượng song song được khởi tạo thành cơng trong Grid.............66
Hình 7.5 – Các đối tượng song song sau khi liên kết. ..............................................66
Hình 8.1 - Kiến trúc chi tiết của framework. ............................................................69
Hình 8.1 - Lược đồ lớp UML tổng quát của framework...........................................71
Hình 8.2 - Lược đồ lớp UML cụ thể của framework ................................................73

Hình 8.3 - Ví dụ về cách xây dựng Workflow sử dụng framework .........................76
Hình 8.7 - Trạng thái thực thi của các đối tượng song song....................................84
GVHD: TS. Nguyễn Tuấn Anh

HVTH: Lê Nguyên Vĩnh Phú


PHẦN 1 GIỚI THIỆU

TRANG 10

PHẦN 1

GIỚI THIỆU

GVHD: TS. Nguyễn Tuấn Anh

HVTH: Lê Nguyên Vĩnh Phú


CHƯƠNG 1: TỔNG QUAN

Chương 1

TRANG 11

TỔNG QUAN

1.1 Động cơ
Với sự xuất hiện của Grid kết hợp mơ hình workflow và các công nghệ ứng

dụng, các nhà khoa học và chuyên gia đang xây dựng ngày càng nhiều ứng dụng
phức tạp để quản lý, xử lý các tập dữ liệu lớn đồng thời thực thi các thí nghiệm
khoa học trên tài nguyên phân bố. Trong hoàn cảnh các ứng dụng yêu cầu phương
tiện soạn thảo và thực thi các workflow phức tạp trong môi trường Grid, nhiều hệ
thống quản lý workflow được phát triển, nhưng đa số các hệ thống này không hỗ
trợ mô tả ứng dụng workflow với nhiều cấu hình, điều này dẫn đến ứng dụng
workflow kém thích nghi trong môi trường Grid bất đồng nhất và bất ổn định.

1.2 Mục tiêu
Trong đề tài này, ta sẽ xây dựng một mơ hình workflow có khả năng tự thích
nghi với đặc tính tài ngun của mơi trường tính tốn lưới và từ mơ hình đó xây
dựng một framework phù hợp với mơi trường tính tốn lưới. Đề tài này sẽ tận dụng
các ưu điểm của ngơn ngữ lập trình lưới hướng đối tượng song song POP-C++, hệ
thống POP-C++ run-time (chương 3) để hiện thực framework trên. Ngôn ngữ POPC++ hỗ trợ “Object description (OD)” để mô tả những yêu cầu về tài nguyên thông
qua hàm constructor của đối tượng song song. OD được sử dụng bởi hệ thống POPC++ run-time để tìm kiếm tài nguyên phù hợp cho đối tượng song song. Matching
giữa OD và các tài nguyên được thực thi bởi kĩ thuật multi-layer filtering: trước
tiên, mỗi biểu thức (item) trong OD được đánh giá và phân loại (ví dụ: power,
network, memory…). Kế đó, q trình matching chứa đựng nhiều lớp: mỗi lớp sẽ
lọc một category đơn bên trong OD và thực hiện matching với các category đó.
Cuối cùng, nếu OD có thể vượt qua tất cả các filters thì đối tượng sẽ được gán tới
tài ngun đó. Nhờ vào khả năng vượt trội này, ta có thể hiện thực được mơ hình
framework cho phép người sử dụng mơ tả ứng dụng với nhiều cấu hình, nhiều hiện
GVHD: TS. Nguyễn Tuấn Anh

HVTH: Lê Nguyên Vĩnh Phú


CHƯƠNG 1: TỔNG QUAN

TRANG 12


thực khác nhau với mô tả yêu cầu tài nguyên. Dựa vào yêu cầu tài nguyên của từng
cấu hình, hiện thực mà hệ thống sẽ lựa chọn động phù hợp với tài nguyên có sẵn
trong Grid tại thời điểm thực thi.
Một số hệ thống workflow đã có như Condor DAGMan, Triana, GridAnt,
GridFlow, Askalon, Karajan, Kepler sẽ được phân tích để thấy ưu và khuyết điểm
của những hệ thống này và đưa ra thiết kết cho framework.

1.3 Grid
Giống như Internet, khái niệm Grid được tiến triển từ như cầu tính tốn lớn
trong khoa học, nhu cầu chia sẻ tài ngun, thơng tin giữa các trung tâm tính toán.
Ian Foster và Carl Kesselman, người tiên phong trong Grid computing đã đưa ra
định nghĩa về Grid [10] (viết tắc từ computational Grid) như sau: “Lưới sử dụng
máy điện toán là một cấu trúc phần cứng và phần mềm mà cung cấp sự truy xuất tin
cậy, ổn định, rộng khắp và rẻ tiền tới những khả năng tính tốn cao”.

1.3.1 Động lực phát triển
Với việc tăng cường khối lượng dữ liệu khoa học và tri thức. Nhu cầu tận dụng
ở mức lớn nhất trong cách đơn giản nhất và hiệu quả nhất là một thách thức chính
trong khoa học ngày nay. Nhiều lĩnh vực khoa học cần phương thức tính toán và tài
nguyên để tiếp tục cải thiện chất lượng nghiên cứu. Trong khi đó, cơng nghệ chế tạo
chip, bộ nhớ…khơng đáp ứng kịp nhu cầu về sức mạnh tính tốn trong các thí
nghiệm khoa học. Mặt khác, các tài ngun tính tốn nằm rải rác khác nơi khơng
được tận dụng hết hết hiệu suất. Từ đó, Grid được hình thành nhằm giải quyết
những thách thức kĩ thuật. Grid computing cho phép ảo hóa (trực quan hóa) những
tài nguyên phân bố đa dạng như CPUs, hệ thống lưu trữ, sensor network, scientific
instruments như một môi trường thống nhất của tài nguyên. Người sử dụng không
cần phải biết ứng dụng của họ sẽ được tài nguyên nào giải quyết, mà chỉ cần đưa ra
đặc tả vấn đề, giải thuật giải quyết và nhận lại kết quả.


GVHD: TS. Nguyễn Tuấn Anh

HVTH: Lê Nguyên Vĩnh Phú


CHƯƠNG 1: TỔNG QUAN

TRANG 13

1.3.2 Các lĩnh vực ứng dụng của Grid Computing
Một câu hỏi mà chúng ta cần trả lời để hiểu Grid được sử dụng làm gì? Grid
được sử dụng trong nhiều lĩnh vực khoa học. Grid bao phủ 4 lĩnh vực ứng dụng: kĩ
thuật cộng tác, sự khai thác dữ liệu, tính tốn lưu lượng cao và siêu tính tốn phân
bố[10].
 Kĩ thuật cộng tác: là các nhà khoa học ở những nơi khác nhau cùng làm việc,
tương tác, thí nghiệm và thảo luận kết trong “phịng thí nghiệm ảo” thơng
qua Grid.
 Sự khai thác dữ liệu: cho phép các nhà khoa học tìm kiếm và truy xuất một
khối lượng khổng lồ dữ liệu ở các nơi khác.
 Tính tốn lưu lượng lớn: sử dụng Grid để định thời cho số lượng lớn công
việc trên các tài nguyên nhàn rỗi nhằm giải quyết vấn đề nào đó.
 Tính tốn hiệu năng cao phân bố (DHPC): được sử dụng để kết nối sức mạnh
tính tốn của các máy tính, cluster và siêu máy tính nằm ở những vị trí địa lý
khác nhau để giải quyết một vấn đề lớn không thể giải quyết trên hệ thống
đơn.
Trong phạm vi của luận văn này, chúng tôi sẽ xây dựng một framework cho các ứng
dụng: tính tốn lưu lượng lớn và tính tốn hiệu năng cao.

1.3.3 Những khó khăn
 Thứ nhất, làm thế nào để tận dụng được sức mạnh của Grid. Grid computing

khác với các hệ thống tính tốn song song cổ điển. Vì vậy mơ hình lập trình,
phương pháp luận lập trình cũng nên xem xét lại. Grid computing nối kết các
sức mạnh tính tốn ở nhiều nguồn hỗn tạp khác nhau nên các vấn đề về bảo
mật, độ tinh cậy, ổn định cần được quan tâm. Hơn nữa, các ứng dụng Grid
cần có khả năng thích nghi trong môi trường bất đồng nhất này.
 Thứ hai, các kết nối giữa các nguồn tài nguyên và giữa các thành phần của
ứng dụng cũng là một vấn đề lớn. Đó là làm thế nào chia sẻ tài nguyên một
cách thuận tiện mà vẫn đảm bảo được tính bảo mật và riêng tư.
GVHD: TS. Nguyễn Tuấn Anh

HVTH: Lê Nguyên Vĩnh Phú


CHƯƠNG 1: TỔNG QUAN

TRANG 14

 Thứ ba, khả năng mở rộng của hệ thống Grid. Khi tài nguyên phân bố ở
những vị trí địa lý khác nhau, nên cơ chế quản lý hiệu quả cũng là một thách
thức công nghệ.
 Thứ tư, hiện tại trong lĩnh vực Grid, vẫn chưa một có phương pháp đo lường
tính hiệu quả của Grid và ứng dụng của nó.
 Cuối cùng, chi phí phát triển hệ thống cũng vấn đề sống còn trong hệ thống
Grid. Hệ thống Grid không thể tồn tại chỉ dựa vào tài nguyên tự nguyện
tham gia.
Với mong muốn tận dụng sức mạnh, và những lợi ích to lớn mà Grid computing
mang lại, và những khó khăn gặp phải khi xây dựng ứng dụng để tận dụng tiềm
năng đó. Một trong những khó khăn bắt nguồn từ những mơ hình lập để xây dựng
ứng dụng. Mơ hình lập trình liên hệ trực tiếp đến quá trình phát triển ứng dụng.
Chúng định nghĩa con đường để mô tả cơ chế song song, phân rã vấn đề, sự tương

tác… Mơ hình lập trình không thể tách rời môi trường. Trong một số nghiên cứu
xác nhận rằng khơng có một mơ hình lập trình đặc biệt nào cho Grid. Hầu hết các
mơ hình đều bắt nguồn từ lập trình song song và phân bố cổ điển. Trong phần sau,
chúng tôi sẽ khảo sát một số mơ hình lập trình để biết tại sao cần phải tìm kiếm mơ
hình phù hợp mơi trường Grid.

1.4 Một số mơ hình lập trình
1.4.1 Mơ hình truyền thơng điệp
Truyền thơng điệp là một trong những mơ hình phổ biến trong lập trình phân bố
song song. Mơ hình chứa task hay process chạy song song với nhau. Sự kết nối giữa
các task là tường minh, được chỉ định bởi người lập trình thơng qua cơ chế truyền
và nhận đã được định nghĩa trước. Mơ hình này được sử dụng phổ biến trong các hệ
thống tính tốn hiệu năng cao (cluster, supercomputer…) và cũng có khả năng hoạt
động trong mơi trường bất đồng nhất. Tuy nhiên, mơ hình này là mơ hình lập trình

GVHD: TS. Nguyễn Tuấn Anh

HVTH: Lê Nguyên Vĩnh Phú


CHƯƠNG 1: TỔNG QUAN

TRANG 15

bậc thấp, yêu cầu người lập trình phải quản lý tất cả các kết nối và đồng bộ giữa
các task, đòi hỏi cấu trúc chặt chẽ giữa các task nên kém thích nghi.

1.4.2 Mơ hình chia sẻ bộ nhớ phân bố
Đây là một mơ hình lập trình khá hấp dẫn trong việc thiết kế các ứng dụng song
song và phân bố. Nhiều giải thuật đã được thiết kế dựa trên mơ hình này. Nhưng mơ

hình này yêu cầu một hệ thống xử lý song song lớn với sự hỗ trợ vật lý của kiến trúc
bộ nhớ. Trong mơ hình này, người lập trình tự do sử dụng các phương pháp lập
trình chuẩn mà đã từng sử dụng trên hệ thống lập trình đa bộ xử lý cổ điển (ví dụ:
hệ thống đa luồng, các vịng lập song song…). Tuy nhiên mơ hình này thường có
hiệu suất thấp, làm giới hạn khả năng mở rộng của ứng dụng.

1.4.3 Song song đồng bộ (bulk synchronous parallel)
Bulk Synchronous Parallel (BSP) được đề xuất bởi L.G. Valiant int 1990 [29].
Mô hình này định nghĩa như là 1 tập thành phần thực hiện một số task ứng dụng và
bộ định tuyến chuyển các thông điệp giữa các cặp thành phần. Sự tính tốn chứa
đựng một chuỗi superstep. Mỗi superstep bao gồm ba giai đoạn: (a) tất cả hay tập
con của thành phần được giả lập làm tính tốn trên dữ liệu cục bộ của chúng (sự
tính tốn); (b) mỗi thành phần chuyển dữ liệu với thành phần khác (sự nối kết); (c)
tất cả các thành phần được đồng bộ trước khi di chuyển tới bước tiếp theo (sự đồng
bộ).
Sự phân biệt giữa ba giai đoạn làm cho BSP là một mô hình tổng quát mà rõ
ràng và dễ dàng để quản lý. BSP có khả năng mở rộng hiệu quả trên các kiến trúc
khác nhau từ hệ thống đa bộ xử lý có bộ nhớ chia sẻ tới hệ thống bộ nhớ phân bố.
Nó cung cấp một framework tổng quát để phát triển các ứng có khả năng mở rộng
và có thể chạy trên các hệ thống khác. Do sự tách biệt giữa sự tính tốn và nối kết
làm cho BSP có một số ưu điểm: hiệu suất của chương trình có thể tiên đốn trước
được và deadlock khơng thể xảy ra. Tuy nhiên BSP vẫn còn một số nhược điểm:

GVHD: TS. Nguyễn Tuấn Anh

HVTH: Lê Nguyên Vĩnh Phú


CHƯƠNG 1: TỔNG QUAN


TRANG 16

kích thước của các task khác nhau có thể làm giảm khả năng trùng khớp giữa tính
tốn và kết nối, q trình đồng bộ có thể bị quá tải…
Không giống như các môi trường khác như parallel computing, cluster hay
distributed computing, Grid computing tập trung số lượng rất lớn các hệ thống để
giải quyết các vấn đề tính tốn lớn. Vơ số các hệ thống tham gia, cũng như rời khỏi
Grid lập tức và một hệ thống có thể thuộc nhiều Grid khác nhau. Trong điều kiện
đó, mơi trường Grid bất ổn định, bất đồng nhất hơn so với các mơi trường tính tốn
khác. Vì vậy, các mơ hình lập trình cũ khơng cịn thích hợp với Grid nên xuất hiện
nhu cầu về một mơ hình lập trình mới, cách lập trình mới để phát triển các ứng
dụng tính tốn hiệu suất cao (HPC). Song với bản chất của Grid, một mơ hình lập
trình mới chưa đủ, để tận dụng hết tiềm năng của Grid, ta cần thêm mơ hình ứng
dụng cho phép đặc tả song song hóa nhiều mức độ. Và mơ hình thỏa mãn đặc điểm
đó là mơ hình workflow.

1.5 Workflow
WfMC (Workflow Management Coalition) định nghĩa workflow như sau: workflow
là sự tự động của cơng việc kinh doanh, trong đó tồn bộ hay một số phần, các tài
liệu, thông tin hay công việc được truyền từ một người tham gia này tới một người
khác để được xử lý, tuân theo một tập các qui luật thủ tục. [31]
Workflow là một thành phần rất quan trọng trong service Grid. Nó cung cấp cơ
chế để mơ tả những tương tác khác nhau giữa các dịch vụ và có thể tạo động một
dịch vụ mới bằng cách liên kết các dịch vụ đang tồn tại. Cơ chế workflow cho phép
tạo thành ứng dụng trên Grid, cung cấp nhiều thuận lợi sau:
 Khả năng xây dựng các ứng dụng động từ việc sắp xếp các tài nguyên phân
bố.
 Việc tận dụng tài nguyên được định vị trong các vùng nhằm tăng thơng
lượng giảm chi phí thực thi.


GVHD: TS. Nguyễn Tuấn Anh

HVTH: Lê Nguyên Vĩnh Phú


CHƯƠNG 1: TỔNG QUAN

TRANG 17

 Thực thi trải rộng trên nhiều miền quản trị khác nhau để đạt những khả năng
xử lý đặc biệt.
 Việc tích hợp nhiều nhóm nghiên cứu trong workflow thí nghiệm hình thành
nên những sự cộng tác liên tổ chức.
 Nâng cao khả năng module hóa của ứng dụng lưới.
Nhiều hệ thống quản lý workflow xuất hiện nhằm tận dụng các ưu điểm này đưa
vào ứng dụng trong Grid. Nhưng không phải hệ thống nào cũng tận dụng hết các ưu
điểm này. Đa số các hệ thống quản lý workflow hiện tại sử dụng mơ hình workflow
ở trạng thái tương đối tĩnh, mức độ song song được cố định sẵn khi thiết kế chương
trình. Do đó hướng phát triển mơ hình workflow có khả năng thích nghi cao đối với
mơi trường Grid vẫn cịn nhiều khó khăn.

1.6 Grid workflow
1.6.1 Giới thiệu
Grid workflow là một sự kết hợp giữa cơng nghệ Grid và mơ hình workflow.
Grid workflow được sử dụng để xử lý các task phụ thuộc điều khiển và dữ liệu lẫn.
Grid workflow giúp xây dựng hiệu quả ứng dụng lưới trong môi trường tài nguyên
hỗn tạp và phân bố với đặc điểm linh hoạt, động và có thể sử dụng ở bậc cao hơn.
Hình 1.1 minh họa một hệ thống Grid Workflow mang tính chất của định nghĩa
workflow. Quá trình soạn thảo (compose) liên kết các task ở các site khác nhau mà
ta gọi là để hình thành nên application workflow nhằm giải quyết một mục đích

(goal) mà người sử dụng mong muốn. Các bước xây dựng nên một ứng dụng
workflow:
1. Site phát triển các dịch vụ và đưa lên Grid.
2. Các dịch được tổ chức lại thông qua các VO
3. Người dùng compose các dịch vụ tạo ra ứng dụng workflow.
4. a. Thực thi ứng dụng.
b. Ứng dụng trở thành 1 dịch vụ mới và được đưa vào Grid.

GVHD: TS. Nguyễn Tuấn Anh

HVTH: Lê Nguyên Vĩnh Phú


CHƯƠNG 1: TỔNG QUAN

TRANG 18

5. Giám sát sự thực thi của ứng dụng.

Hình 1.1 – Minh họa Grid Workflow.

1.6.2 Động lực
Với ưu điểm của công nghệ Grid, các nhà khoa học và kỹ sư xây dựng ngày
càng nhiều các ứng dụng xử lý, quản lý tập dữ liệu lớn và thực thi các thí nghiệm
khoa học trên mơi trường Grid. Tuy vậy, bản chất của Grid nên việc sử dụng, lập
trình trong mơi trường Grid lại hết sức khó khăn đối với các nhà khoa học lẫn người
sử dụng. Đứng trước tình hình đó, nhiều cơng cụ hỗ trợ đã được phát triển để giúp
người sử dụng môi trường Grid, sử dụng 1 cách trực quan và hiệu quả không quan
tâm đến mức độ phức tạp trong môi trường Grid.
Những công cụ này giúp cho người sử dụng tận dụng được Grid một cách hiệu

quả bằng cách liên kết tận dụng được tài nguyên rời rạc phân bố trong môi trường
GVHD: TS. Nguyễn Tuấn Anh

HVTH: Lê Nguyên Vĩnh Phú


CHƯƠNG 1: TỔNG QUAN

TRANG 19

Grid. Vì tài ngun trong mơi trường Grid là những thành phần rời rạc nhau, bất ổn
định, không luôn sẵn sàng nên việc tận dụng, phân phối cơng việc phù hợp với các
tài ngun đó là vơ cùng phức tạp và khó khăn. Mơ hình workflow giúp phân rã
problem thành nhiều tasks nhỏ với kích thước khác nhau, nhằm phù hợp với những
nguồn tài nguyên rời rạc, bất đồng nhất tham gia vào hệ thống Grid. Ứng dụng Grid
workflow dường như được tin là một lớp ứng dụng Grid đầy thách thức và quan
trọng.

1.6.3 Kết luận
Trong hồn cảnh, mơi trường Grid đầy bất ổn, tài ngun phân bố và hỗn tạp.
Từ những phân tích trên cho thấy những lợi ích to lớn mà workflow mang lại trong
ứng dụng trên Grid. Qua đó cho thấy, sự xuất hiện những hệ thống quản lý Grid
workflow là một một xu hướng tất yếu trong cơng nghệ tính tốn tương lai.

GVHD: TS. Nguyễn Tuấn Anh

HVTH: Lê Nguyên Vĩnh Phú


CHƯƠNG 2: MỘT SỐ HỆ THỐNG QUẢN LÝ GRID WORKFLOW TRANG 20


Chương 2

MỘT SỐ HỆ THỐNG QUẢN LÝ GRID
WORKFLOW (GWMS)

2.1 Condor DAGMan
Bộ quản lý đồ thị có hướng DAGMan (Directed Acyclic Graph Manager)
[36][20] là một meta-scheduler định thời công việc cho Condor. Trong mục tiêu của
Condor là khám phá ra các máy sẵn sàng thực thi công việc. DAGMan xử lý những
sự phụ thuộc giữa các công việc và sử dụng DAG như một cấu trúc dữ liệu để trình
bày những phụ thuộc giữa các công việc. Mỗi công việc là một node trong đồ thị và
mỗi cạnh xác định mối quan hệ giữa chúng. Mỗi node có thể có nhiều node cha hay
nhiều node con. Các node con không thể chạy đến khi node cha hồn tất. DAGMan
khơng hỗ trợ cạnh vòng, nghĩa là một node vừa là cha, cũng vừa là con của chính
nó, bởi vì vậy sẽ dẫn tới deadlock. Ngồi ra, DAGMan khơng hỗ trợ sự di chuyển
dữ liệu trung gian một cách tự động, vì vậy người sử dụng phải chỉ định vấn đề di
chuyển dữ liệu thông qua những lệnh tiền xử lý và hậu xử lý liên hệ tới cơng việc
đó.
Việc thực thi các công việc cá biệt được quản lý bởi bộ định thời Condor. Nếu
công việc thực thi bị thất bại do bản chất của hệ thống phân bố, chẳng hạn như gián
đoạn kết nối mạng, nó sẽ phục hồi bởi Condor. Trong khi đó DAGMan khơng nhận
thức được vấn đề này. Tuy nhiên, DAGMan chịu trách nhiệm cho việc báo cáo về
những lỗi của tập các công việc được đưa vào, và tạo ra DAG cứu hộ. Trong trường
hợp một trong những cơng việc đó bị thất bại, phần cịn lại của DAG vẫn tiếp tục
đến khi khơng cịn hoạt động xử lý nào được làm. Node không thực thi được có thể
được thực hiện lại nhiều lần, số lần có thể được cấu hình. DAG cứu hộ hiển thị mức
khơng hồn tất của DAG với chi tiết của các node khơng thực thi được. Người sử
dụng có thể sửa những lỗi đó và chuyển xuống DAG cứu hộ.


GVHD: TS. Nguyễn Tuấn Anh

HVTH: Lê Nguyên Vĩnh Phú


×