Tài liệu Luận văn Tình hình tìm hiểu công nghệ grid computing và ứng dụng thử nghiệm trong bài toán quản trị mạng: TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
W X
SINH VIÊN THỰC HIỆN
Nguyễn Mạnh Dũng 0112132
Nguyễn Đăng Thành 0112280
TÌM HIỂU CÔNG NGHỆ
GRID COMPUTING
VÀ
ỨNG DỤNG THỬ NGHIỆM
TRONG BÀI TOÁN QUẢN TRỊ
MẠNG
LUẬN VĂN CỬ NHÂN TIN HỌC
GIÁO VIÊN HƯỚNG DẪN
Thầy Cao Đăng Tân
TP. HỒ CHÍ MINH, 12/2005
Lời cảm ơn
- i -
Lời cảm ơn
Nhóm thực hiện xin bày tỏ lòng biết ơn và tri ân sâu sắc đến tất cả mọi người
đã giúp đỡ, hỗ trợ thực hiện luận văn này, một điểm mốc rất quan trọng trong cuộc
đời và sự nghiệp của chúng em.
Chúng em xin cảm ơn Khoa Công nghệ Thông tin trường Đại học Khoa học
Tự nhiên TP.HCM đã cho phép và tạo điều kiện để chúng em thực hiện luận văn
này.
Luận văn này sẽ không thể hoàn thành nếu không có sự giúp đỡ và chỉ bảo
tận tình của thầy Cao Đăng Tân, người thầy hướng dẫn của chúng em. Chúng em
xin chân thành biết ơn về những chỉ bảo, định hướng nghiên cứu thực hiện, hỗ trợ,
...
231 trang |
Chia sẻ: hunglv | Lượt xem: 1100 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Luận văn Tình hình tìm hiểu công nghệ grid computing và ứng dụng thử nghiệm trong bài toán quản trị mạng, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
W X
SINH VIÊN THỰC HIỆN
Nguyễn Mạnh Dũng 0112132
Nguyễn Đăng Thành 0112280
TÌM HIỂU CÔNG NGHỆ
GRID COMPUTING
VÀ
ỨNG DỤNG THỬ NGHIỆM
TRONG BÀI TOÁN QUẢN TRỊ
MẠNG
LUẬN VĂN CỬ NHÂN TIN HỌC
GIÁO VIÊN HƯỚNG DẪN
Thầy Cao Đăng Tân
TP. HỒ CHÍ MINH, 12/2005
Lời cảm ơn
- i -
Lời cảm ơn
Nhóm thực hiện xin bày tỏ lòng biết ơn và tri ân sâu sắc đến tất cả mọi người
đã giúp đỡ, hỗ trợ thực hiện luận văn này, một điểm mốc rất quan trọng trong cuộc
đời và sự nghiệp của chúng em.
Chúng em xin cảm ơn Khoa Công nghệ Thông tin trường Đại học Khoa học
Tự nhiên TP.HCM đã cho phép và tạo điều kiện để chúng em thực hiện luận văn
này.
Luận văn này sẽ không thể hoàn thành nếu không có sự giúp đỡ và chỉ bảo
tận tình của thầy Cao Đăng Tân, người thầy hướng dẫn của chúng em. Chúng em
xin chân thành biết ơn về những chỉ bảo, định hướng nghiên cứu thực hiện, hỗ trợ,
tạo những điều kiện tốt nhất cho chúng em trong suốt quá trình thực hiện đề tài.
Chúng con xin bày tỏ lòng biết ơn sâu sắc đến Bố, Mẹ, những bậc sinh thành
đã chịu thương, chịu khó nuôi dưỡng, hỗ trợ, động viên, ủng hộ chúng con trong
những lúc khó khăn để chúng con có được như ngày hôm nay.
Chúng em xin chân thành cảm ơn tất cả quý thầy cô trong khoa Công nghệ
Thông tin đã tận tình chỉ bảo, rèn luyện, truyền đạt những tri thức, kỹ năng, kinh
nghiệm quý báu cho chúng em trong suốt 4 năm ở giảng đường đại học. Đây là
những hành trang quý giá để chúng em vững bước vào đời.
Nhóm thực hiện xin chân thành cảm ơn tất cả các anh chị, bạn bè, đặc biệt là
các thầy cô Phòng máy Mạng, thầy Trần Minh Triết, thầy Lu Boun Vinh, đã nhiệt
tình động viên, ủng hộ, chia sẻ những kinh nghiệm, kiến thức quý báu, tài liệu, hỗ
trợ không những trong quá trình thực hiện luận văn mà còn trong suốt thời gian học
tập dưới mái trường này.
Mặc dù đã hết sức nỗ lực và cố gắng, nhưng luận văn chắc chắn không tránh
khỏi những thiếu sót. Chúng em kính mong nhận được sự cảm thông và tận tình chỉ
bảo, góp ý của quý Thầy Cô và các bạn. Một lần nữa xin gửi đến tất cả mọi người
lời cảm ơn chân thành nhất. Xin cảm ơn !.
Nhóm thực hiện
Nguyễn Mạnh Dũng & Nguyễn Đăng Thành
Lời nói đầu
- ii -
Lời nói đầu
Công nghệ Grid Computing ra đời đánh dấu một bước phát triển mới trong
lĩnh vực điện toán hiệu năng cao. Nó cho phép tận dụng năng lực xử lý, lưu trữ
cùng các tài nguyên nhàn rỗi khác để cung cấp một môi trường tính toán có năng
lực xử lý lớn, khả năng lưu trữ dồi dào để giải quyết các bài toán phức tạp - khó có
thể giải quyết được với các công nghệ hiện hành hoặc giải quyết được nhưng với
chi phí rất cao - trong khoa học, thương mại. Grid Computing giúp tận dụng tối đa
tài nguyên, tăng cường hợp tác, giảm chi phí đầu tư trong khi vẫn cung cấp năng lực
tính toán như mong muốn. Trong những năm vừa qua, nhiều tổ chức, tập đoàn công
nghệ thông tin lớn đã chọn công nghệ Grid Computing làm chiến lược phát triển
của mình, đã đầu tư nghiên cứu nhằm sớm đưa công nghệ Grid Computing vào thực
tế. Công nghệ này đang ngày càng thu hút được sự quan tâm chú ý từ khắp nơi trên
thế giới. Có thể nói công nghệ Grid Computing là một xu hướng phát triển mới
trong ngành công nghệ thông tin.
Hiện nay, đất nước ta đang thực hiện công cuộc công nghiệp hoá, hiện đại
hóa, trong đó việc rút ngắn sự tụt hậu, phát triển về khoa học công nghệ là yếu tố
then chốt quyết định đến thành công của công cuộc đổi mới. Song song với quá
trình phát triển, ngày càng có nhiều bài toán mới, đòi hỏi năng lực xử lý lớn xuất
hiện trong khoa học, thương mại và quản lý đất nước. Các công nghệ tính toán hiện
hành cũng được áp dụng nhưng không thể triển khai rộng rãi để có thể giải quyết
hết các nhu cầu do chi phí đầu tư quá lớn. Việc nghiên cứu, áp dụng công nghệ Grid
Computing là một giải pháp tốt để giải quyết các tình huống này. Hơn nữa, công
nghệ Grid Computing hiện nay còn khá mới mẻ, đang trong giai đoạn hoàn thiện,
việc cùng tham gia nghiên cứu với cộng đồng thế giới sẽ giúp chúng ta học hỏi kinh
nghiệm, tiến tới làm chủ công nghệ, từ đó có thể phát triển theo hướng đi của riêng
mình, đáp ứng nhu cầu tính toán hiệu năng cao ngày càng tăng của đất nước.
Lời nói đầu
- iii -
Với tinh thần tham gia nghiên cứu, học hỏi công nghệ, đề tài luận văn “Tìm
hiểu công nghệ Grid Computing và ứng dụng thử nghiệm trong bài toán quản
trị mạng” được thực hiện nhằm đi những bước đầu tiên trong quá trình nghiên cứu,
phát triển, ứng dụng Grid vào thực tế. Luận văn nghiên cứu các vấn đề chung của
công nghệ Grid Computing, bộ Globus Toolkit, tiến hành cài đặt một môi trường
Grid với bộ Globus Toolkit, đề xuất mô hình và cài đặt thử nghiệm ứng dụng hỗ trợ
quản trị mạng trên nền Grid.
Luận văn được trình bày gồm 8 chương với nội dung như sau:
Chương 1. Đặt vấn đề : Giới thiệu sơ lược về công nghệ Grid
Computing và lĩnh vực quản trị mạng, đồng thời xác định mục tiêu của đề tài.
Chương 2. Tổng quan về công nghệ Grid Computing : Giới thiệu các
vấn đề của công nghệ Grid Computing, tìm hiểu và so sánh các phần mềm nền
tảng Grid để có cái nhìn khá toàn diện về công nghệ Grid Computing hiện nay.
Chương 3. Giới thiệu bộ Globus Toolkit phiên bản 3.2 : Giới thiệu mô
hình và các cơ chế hoạt động của các thành phần trong bộ Globus Toolkit 3.2. Ở
đây không thiên về giới thiệu chi tiết các triển khai cụ thể, điều này có thể tham
khảo từ các tài liệu hướng dẫn sử dụng.
Chương 4. Phát triển ứng dụng với Globus Toolkit 3.2 : Giới thiệu các
vấn đề cần quan tâm khi xây dựng một ứng dụng Grid với bộ Globus Toolkit
3.2.
Chương 5. Quản trị mạng và các hệ thống quản trị : Giới thiệu tổng
quan về lĩnh vực quản trị mạng cũng như các hệ thống quản trị mạng.
Chương 6. Hệ thống quản trị Grid NetManager : Giới thiệu mô hình
hệ thống quản trị mạng dựa trên nền công nghệ tính toán Grid Computing.
Chương 7. Phân tích, thiết kế, cài đặt thử nghiệm ứng dụng Grid
NetManager.
Chương 8. Kết luận : Là chương cuối cùng của luận văn, tóm lại các vấn
đề đã nghiên cứu tìm hiểu, đề ra hướng phát triển trong tương lai.
Mục lục
- iv -
Mục lục
Lời cảm ơn .........................................................................................................i
Lời nói đầu ........................................................................................................ii
Mục lục.............................................................................................................iv
Danh sách hình ...............................................................................................viii
Danh sách bảng .................................................................................................x
Một số thuật ngữ ..............................................................................................xi
Các chữ viết tắt................................................................................................xii
Tóm tắt luận văn.............................................................................................xiii
Chương 1. Mở đầu..........................................................................................1
1.1. Công nghệ Grid Computing (tính toán lưới) ..............................................................1
1.2. Vấn đề quản trị mạng..................................................................................................3
1.3. Mục tiêu đề tài ............................................................................................................4
Chương 2. Tổng quan về công nghệ Grid Computing ...................................5
2.1. Khái niệm Grid ...........................................................................................................5
2.1.1. Theo dòng lịch sử ................................................................................................5
2.1.2. Khái niệm.............................................................................................................6
2.1.3. Tài nguyên của Grid ............................................................................................7
2.2. Phân loại Grid & Grid Topology ................................................................................9
2.2.1. Các kiểu Grid .......................................................................................................9
2.2.2. Đồ hình Grid (Grid Topology)...........................................................................11
2.3. Các thách thức, yêu cầu của công nghệ Grid............................................................15
2.3.1. Quản lý tài nguyên (Resource Management) ....................................................15
2.3.2. Bảo mật (Security) .............................................................................................17
2.3.3. Quản lý thông tin ...............................................................................................19
2.3.4. Quản lý dữ liệu ..................................................................................................20
2.3.5. Phát triển ứng dụng............................................................................................20
2.3.6. Các vấn đề khác .................................................................................................20
2.3.7. Các việc cần làm................................................................................................21
2.4. Ích lợi & Ứng dụng...................................................................................................22
2.5. Các thành phần cơ bản của một hệ thống cơ sở hạ tầng Grid...................................24
2.6. Kiến trúc Grid ...........................................................................................................27
2.6.1. Bản chất Kiến trúc Grid .....................................................................................27
2.6.2. Chi tiết Kiến trúc Grid tổng quát .......................................................................28
2.6.3. Kiến trúc Grid trong thực tế...............................................................................35
2.7. Chuẩn hoá Grid.........................................................................................................36
2.8. Giới thiệu các dự án Grid middleware chính............................................................40
2.8.1. UNICORE..........................................................................................................40
2.8.2. Globus................................................................................................................43
Mục lục
- v -
2.8.3. Legion ................................................................................................................43
2.8.4. GridBus..............................................................................................................45
2.8.5. So sánh...............................................................................................................48
Chương 3. Giới thiệu bộ Globus Toolkit phiên bản 3.2...............................52
3.1. Giới thiệu ..................................................................................................................52
3.1.1. Giới thiệu ...........................................................................................................52
3.1.2. Lịch sử phát triển ...............................................................................................53
3.2. Các công nghệ, chuẩn liên quan ...............................................................................53
3.2.1. Service Oriented Architeture (SOA)..................................................................53
3.2.2. Web Service.......................................................................................................56
3.2.3. OGSA.................................................................................................................58
3.2.4. OGSI và Grid Service ........................................................................................65
3.3. Kiến trúc Globus Toolkit ..........................................................................................74
3.3.1. Mô hình kiến trúc GT2 ......................................................................................75
3.3.2. Mô hình kiến trúc GT3 ......................................................................................76
3.4. Các thành phần chính................................................................................................79
3.4.1. Sercurity Infrastructure ......................................................................................79
3.4.2. Resource Management.......................................................................................94
3.4.3. Information Service .........................................................................................107
3.4.4. Data Management ............................................................................................113
3.4.5. Thành phần mới trong GT3 .............................................................................114
Chương 4. Phát triển ứng dụng với bộ Globus Toolkit 3.2........................115
4.1. Khởi đầu dự án........................................................................................................115
4.1.1. Định hướng phát triển hệ thống .......................................................................115
4.1.2. Đánh tính khả thi của ứng dụng khi chạy trên Grid.........................................117
4.2. Các yêu cầu cần quan tâm khi xây dựng ứng dụng ................................................118
4.2.1. Khả năng mở rộng (Scalability).......................................................................118
4.2.2. Bảo mật ............................................................................................................118
4.2.3. Tính mềm dẻo của ứng dụng (Flexibility) .......................................................119
4.2.4. Các kết nối với bên ngoài ................................................................................119
4.2.5. Hiệu suất ứng dụng(Performance) ...................................................................120
4.2.6. Độ tin cậy (Reliability) ....................................................................................121
4.2.7. Quản trị hệ thống (Management).....................................................................122
4.2.8. Đồ hình hệ thống (System Topology)..............................................................123
4.2.9. Môi trường đa nền tảng....................................................................................123
4.2.10. Định dạng file ................................................................................................124
4.2.11. Việc cài đặt hệ thống .....................................................................................124
4.2.12. Vấn đề thông tin Grid ....................................................................................124
4.2.13. Tính tiện dụng................................................................................................124
4.3. Thiết kế tổng quan ..................................................................................................125
4.4. Một số vấn đề cần quan tâm trong thiết kế chi tiết và viết mã ...............................126
4.4.1. Kiến trúc ứng dụng ..........................................................................................127
4.4.2. Xem xét sử dụng ngôn ngữ lập trình ...............................................................130
4.4.3. Vấn đề phụ thuộc của công việc vào môi trường hệ thống..............................131
4.4.4. Đồ hình công việc ............................................................................................132
4.5. Triển khai cài đặt các Grid Service.........................................................................133
Mục lục
- vi -
4.5.1. Các bước xây dựng và triển khai Grid Service................................................134
4.5.2. Xây dựng client................................................................................................140
Chương 5. Quản trị mạng và các hệ thống quản trị....................................142
5.1. Quản trị mạng .........................................................................................................142
5.1.1. Khái niệm.........................................................................................................142
5.1.2. Các lĩnh vực quản trị mạng..............................................................................142
5.2. Hệ thống quản trị mạng ..........................................................................................144
5.2.1. Mô hình và hoạt động ......................................................................................144
5.2.2. Một số chức năng cơ bản của một hệ thống quản trị mạng .............................146
5.2.3. Hệ thống quản trị mạng trong thực tế ..............................................................148
5.3. Hệ thống Intrusion Detection System (IDS)...........................................................149
5.3.1. Khái niệm.........................................................................................................149
5.3.2. Các hướng tiếp cận ..........................................................................................149
5.4. Giới thiệu một số công cụ hỗ trợ quản trị mạng .....................................................150
5.4.1. Ethereal ............................................................................................................150
5.4.2. Snort.................................................................................................................152
Chương 6. Hệ thống quản trị Grid NetManager.........................................153
6.1. Giới thiệu ý tưởng...................................................................................................153
6.2. Yêu cầu chức năng của một hệ thống quản trị mạng..............................................154
6.3. Mô hình thành phần và hoạt động của hệ thống .....................................................155
6.3.1. Mô hình thành phần .........................................................................................155
6.3.2. Cách thức hoạt động ........................................................................................157
6.4. Phân tích và định hướng phát triển ứng dụng.........................................................158
6.5. Giới hạn vấn đề thực hiện của luận văn..................................................................159
Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng .................161
7.1. Phân tích .................................................................................................................161
7.1.1. Ngữ cảnh hệ thống...........................................................................................161
7.1.2. Lược đồ Use Case ............................................................................................162
7.1.3. Đặc tả Use Case ...............................................................................................163
7.1.4. Mô tả các dòng sự kiện ....................................................................................167
7.2. Thiết kế ...................................................................................................................179
7.2.1. Sơ đồ các đối tượng cài đặt..............................................................................179
7.2.2. Thiết kế giao diện ............................................................................................180
7.3. Cài đặt & Triển khai ...............................................................................................183
7.3.1. Công cụ và môi trường phát triển ứng dụng....................................................183
7.3.2. Mô hình cài đặt ................................................................................................184
7.3.3. Mô hình triển khai............................................................................................184
7.3.4. Thử nghiệm......................................................................................................185
Chương 8. Kết luận.....................................................................................186
8.1. Đánh giá..................................................................................................................186
8.1.1. Về luận văn ......................................................................................................186
8.1.2. Về ứng dụng.....................................................................................................186
8.2. Hướng phát triển, mở rộng của luận văn ................................................................187
8.2.1. Về luận văn ......................................................................................................187
Mục lục
- vii -
8.2.2. Về ứng dụng.....................................................................................................187
8.3. Lời kết .....................................................................................................................188
Phụ lục...........................................................................................................189
A. Các tiêu chí đánh giá tính khả khi của một dự án Grid.............................................189
B. Định dạng file GWSDL ............................................................................................191
C. Kỹ thuật cài đặt các chức năng cơ bản của Grid Service ..........................................193
C.1. Kỹ thuật cài đặt Operation Provider...................................................................193
C.2. Thêm thành phần dữ liệu (Service Data Element (SDE))..................................196
C.3. Cài đặt cơ chế Notification.................................................................................199
C.7. Cài đặt kỹ thuật tạo service động (Transient service) ........................................202
C.5. Kỹ thuật Logging (Ghi vết)................................................................................205
C.6. Kỹ thuật quản lý chu trình sống của service (Lifecycle Management)..............206
D. Các interface của một OGSI Service ........................................................................208
E. Cấu trúc một chứng chỉ điện tử .................................................................................211
Tài liệu tham khảo.........................................................................................213
Các Website...................................................................................................216
Danh sách hình
- viii -
Danh sách hình
Hình 2-1 Tài nguyên Grid dưới quan điểm của người dùng, là một khối thống nhất có được
nhờ sự ảo hoá. ................................................................................................................9
Hình 2-2 Hình thức hoạt động của Grid Tính toán..............................................................10
Hình 2-3 Các đồ hình Grid. .................................................................................................11
Hình 2-4 Đồ hình SimpleGrid .............................................................................................12
Hình 2-5 Đồ hình IntraGrid .................................................................................................13
Hình 2-6 Đồ hình ExtraGrid ................................................................................................14
Hình 2-7 Các minh họa về đồ hình InterGrid. .....................................................................15
Hình 2-8 Kiến trúc Grid tổng quát.......................................................................................29
Hình 2-9 Quan điểm của các lập trình viên về kiến trúc Grid. ...........................................34
Hình 2-10 Kiến trúc Grid trong thực tế với các thành phần. ...............................................35
Hình 2-11 Các dự án Grid tương ứng với các tầng..............................................................36
Hình 2-12 Mối quan hệ giữa các chuẩn về Grid Service.....................................................39
Hình 2-13 Mô hình kiến trúc hoạt động của UNICORE .....................................................41
Hình 2-14 Kiến trúc của Legion. .........................................................................................44
Hình 2-15 Kiến trúc GridBus...............................................................................................46
Hình 2-16 So sánh giữa UNICORE, Globus, Legion và GridBus. .....................................49
Hình 3-1 Các thành phần của kiến trúc SOA.......................................................................54
Hình 3-2 Kiến trúc của bộ Globus Toolkit. .........................................................................75
Hình 3-3 Mô hình các thành phần của một hệ thống sử dụng GT2.....................................76
Hình 3-4 Mô hình tổ chức các thành phần GT3. .................................................................77
Hình 3-5 Các thành phần của GSI. ......................................................................................80
Hình 3-6 Quy trình khởi tạo để sử dụng GSI.......................................................................87
Hình 3-7 Thủ tục chứng thực và phân quyền với GSI.........................................................88
Hình 3-8 Cơ chế ủy quyền trong GSI. .................................................................................89
Hình 3-9 Thủ tục uỷ quyền của một proxy trong GSI. ........................................................90
Hình 3-10 Kiến trúc quản lý tài nguyên trong Globus Toolkit............................................95
Hình 3-11 Các trạng thái của một công việc. ......................................................................98
Hình 3-12 Các thành phần và cơ chế hoạt động của pre-WS GRAM .................................99
Hình 3-13 Cơ chế hoạt động có DUROC trong pre-WS GRAM. .....................................101
Hình 3-14 Các thành phần và cơ chế hoạt động của WS-GRAM. ...................................105
Hình 3-15 Mô hình quản lý thông tin trong Grid của Globus Toolkit...............................107
Hình 3-16 Ví dụ tổ chức dữ liệu của MDS2......................................................................109
Hình 3-17 Mô hình tổ chức dữ liệu phân cấp trong MDS2. ..............................................110
Hình 3-18 Các thành phần và cơ chế hoạt động của MDS2.............................................111
Hình 4-1 Luồng ứng dụng song song. ...............................................................................128
Hình 4-2 Luồng ứng dụng tuần tự. ....................................................................................128
Hình 4-3 Luồng ứng dụng mạng........................................................................................129
Hình 4-4 Các file cần thiết để triển khai Grid Service với Ant. ........................................139
Hình 5-1 Mô hình hệ thống quản trị mạng ........................................................................144
Hình 5-2 Màn hình giao diện Ethereal...............................................................................151
Hình 6-1 Mô hình thành phần ứng dụng Grid NetManager. .............................................155
Hình 6-2 Mô hình các thành phần của ứng dụng Grid NetManager thử nghiệm. .............160
Hình 7-1 Ngữ cảnh hệ thống..............................................................................................161
Hình 7-2 Sơ đồ Usecase ứng dụng Grid NetManager thử nghiệm....................................162
Danh sách hình
- ix -
Hình 7-3 Sơ đồ lớp cài đặt lớp đối tượng. .........................................................................179
Hình 7-4 Màn hình chính ứng dụng Grid NetManager thử nghiệm..................................181
Hình 7-5 Màn hình Packet Capture Configue ...................................................................182
Hình 7-6 Mô hình cài đặt. ..................................................................................................184
Hình 7-7 Sơ đồ triển khai ứng dụngGrid NetManager thử nghiệm...................................184
Hình 7-8 Mô hình cài đặt thử nghiệm................................................................................185
Hình 8-1 Lớp triển khai interface của Grid service bằng kỹ thuật kế thừa........................194
Hình 8-2 Cài đặt intrface củaGrid service bằng kỹ thuật Operation Provider...................194
Hình 8-3 Ví dụ về SDE của MathService..........................................................................196
Hình 8-4 Sơ đồ hoạt động của cơ chế Notification trong GT3..........................................200
Hình 8-5 Cấu trúc một chứng chỉ điện tử. .........................................................................211
Danh sách bảng
- x -
Danh sách bảng
Bảng 2-1 Các đặc tính của tài nguyên. ................................................................................16
Bảng 2-2 Bảng so sánh các đặc tính của các middleware ...................................................50
Bảng 3-1 Bảng các interface chuẩn quy định bởi OGSA. ...................................................61
Bảng 3-2 Các thuộc tính cơ bản của một service data. ........................................................72
Bảng 3-3 Các file cấu hình GSI của GT3. ...........................................................................92
Bảng 3-4 Bảng các công cụ cấu hình GSI. ..........................................................................93
Bảng 3-5 Bảng các hàm API về GSI của GT3 ....................................................................94
Bảng 3-6 Bảng các hàm API của pre-WS GRAM.............................................................102
Bảng 3-7 Các thành phần của GT Core .............................................................................114
Bảng 6-1 Các thành phần của ứng dụng Grid NetManager...............................................156
Bảng 7-1 Danh sách các actor............................................................................................162
Bảng 7-2 Danh sách các usecase .......................................................................................162
Bảng 7-3 Danh sách các đối tượng cài đặt. .......................................................................180
Bảng 7-4 Danh sách các giao diện.....................................................................................180
Bảng 7-5 Mô tả màn hình chính. .......................................................................................182
Bảng 7-6 Mô tả màn hình cấu hình bắt packet. .................................................................183
Bảng 7-7 Các thành phần triển khai...................................................................................184
Bảng 8-1 Các tiêu chí đánh giá tính khả thi của ứng dụng Grid........................................190
Bảng 8-2 Các hàm callback trong GT3. ............................................................................206
Bảng 8-3 Các interface của một OGSI Service .................................................................211
Một số thuật ngữ
- xi -
Một số thuật ngữ
Capture filter Các tiêu chuẩn lọc packet.
Client Máy khách, sử dụng dịch vụ.
Factory Là một thành phần tạo lập và quản lý các Grid
service instance.
Grid Là một hệ thống tính toán sử dụng công nghệ
Grid Computing
Grid Computing Công nghệ tính toán lưới.
Grid service instance Một thể hiện của Grid service.
Hosting environment Môi trường mà trên đó các Grid Service có thể
thực thi.
Interface (OGSA) Giao diện của một OGSA Service.
Lifecyle Chu trình sống của Grid Service
Middleware Là phần mềm cho phép tổ chức, tích hợp các tài
nguyên và các chức năng vào Grid
Node, Host Là một nút của Grid, có thể là các máy tính hay
các thiết bị tính toán khác.
Protocol Các giao thức quy định các thức liên lạc giữa các
thành phần thông qua hệ thống mạng.
Proxy Là một thành phần đại diện cho người dùng Grid
thực thi các tác vụ.
Server Máy chủ, cung cấp dịch vụ.
Service, Grid
service(OGSA),
Một dịch vụ Grid theo khái niệm đưa ra bởi
OGSA.
Service data Thành phần dữ liệu của một Service
Site Là một đơn vị tham gia đóng góp tài nguyên cho
Grid, có hệ thống quản trị riêng.
User Người sử dụng dịch vụ Grid
Virtual Organization Tổ chức ảo, là một liên minh tạm thời giữa các tổ
chức trong Grid dùng để chia sẽ tài nguyên.
Các chữ viết tắt
- xii -
Các chữ viết tắt
CA Certificate Authority
DN Distinguished Name
EJB Enterprise JavaBeans
GGF Global Grid Forum
GSH Grid Service Handle
GSI Grid Security Infrastructure
GSR Grid Service Referance
GT{x} Globus Toolkit Version x
GWSDL Grid Web Services Description Language
MDS Metacomputing Directory Service
OGSA Open Grid Services Architecture
OGSI Open Grid Services Infrastructure
PKI Public Key Infrastructure
RA Registrant Authority
SDE Service Data Element
SOA Service Oriented Architeture
SSL Secure Sockets Layer
URI Uniform Resource Indicator
WSDL Web Services Description Language
WSRF Web Services Resource Framework
Tóm tắt luận văn
- xiii -
Tóm tắt luận văn
1. Thông tin chung về đề tài:
Tên đề tài:
“Tìm hiểu công nghệ Grid Computing và ứng dụng thử nghiệm
trong bài toán quản trị mạng”
GVHD: Thầy CAO ĐĂNG TÂN.
Sinh viên thực hiện:
1. MSSV : 0112132 Họ và tên : Nguyễn Mạnh Dũng.
2. MSSV : 0112280 Họ và tên : Nguyễn Đăng Thành.
2. Tóm tắt nội dung luận văn
Luận văn thực hiện nghiên cứu tìm hiểu các vấn đề chung của công nghệ Grid
Computing như bản chất, các thách thức, yêu cầu, kiến trúc, ích lợi, các chuẩn liên
quan, cũng như các dự án chính về cơ sở hạ tầng Grid nhằm đưa ra một tầm nhìn
tổng quan về công nghệ Grid Computing hiện nay.
Tìm hiểu về mô hình, hoạt động các thành phần, chi tiết các chuẩn sử dụng, một
số vấn đề khi phát triển ứng dụng Grid với bộ Globus Toolkit phiên bản 3.2.
Nghiên cứu, tìm hiểu lĩnh vực quản trị mạng và các hệ thống quản trị, các hệ
thống phát hiện xâm nhập, từ đó đề xuất mô hình ứng dụng hệ thống quản trị mạng
sử dụng công nghệ Grid Computing làm nền tảng tính toán và tiến hành cài đặt thử
nghiệm một số chức năng của ứng dụng.
3. Một số từ khoá liên quan đến tài
Grid, Grid computing, Globus, Grid sevice, network management, tính toán
lưới, …
4. Lĩnh vực áp dụng
¾ Tính toán lưới.
¾ Quản trị mạng.
5. Các thuật toán, phương pháp, quy trình chính được nghiên cứu, ứng
dụng trong đề tài
6. Các công cụ, công nghệ chính được nghiên cứu, ứng dụng trong đề tài
Tóm tắt luận văn
- xiv -
• Hệ điều hành và môi trường mạng Linux Redhat 9.0
• Môi trường lập trình C/C++ trong Linux với thư viện giao diện đồ hoạ
GTK.
• Bộ Globus Toolkit 3.2 và phát triển ứng dụng với nó.
Chương 1. Mở đầu
- 1 -
Chương 1. Mở đầu
1.1. Công nghệ Grid Computing (tính toán lưới)
Với những tiến bộ trong nền công nghiệp sản xuất phần cứng máy tính, các thế
hệ máy tính ngày nay đã trở nên mạnh và rẻ hơn rất nhiều so với các thế hệ trước
đó. Cùng với sự hữu ích, máy tính đã trở nên phổ dụng khắp nơi trên thế giới, đi sâu
vào mọi công việc của con người, từ công việc hàng ngày, công sở, kinh doanh đến
sản xuất, nghiên cứu khoa học. Do đó số lượng máy tính hiện nay trên thế giới là rất
lớn với tổng cộng năng lực xử lý và lưu trữ khổng lồ.
Tuy nhiên, các ứng dụng ngày nay chỉ mới sử dụng được một phần rất nhỏ năng
lực xử lý và lưu trữ do các ứng dụng chỉ chạy trên các máy tính cục bộ, đơn lẻ, phân
tán khắp nơi theo địa lý. Từ đó dẫn đến lãng phí rất lớn. Một câu hỏi được đặt ra là
làm sao tận dụng tốt hơn năng lực của máy tính.
Mặt khác, theo đà phát triển, con người càng ngày càng đối mặt với nhiều vấn
đề lớn, phức tạp trong khoa học, thương mại đòi hỏi năng lực xử lý tính toán, lưu
trữ lớn :
- Trong khoa học :
¾ Cách đây 10 năm các nhà sinh học đã rất vui mừng khi họ có thể giả
lập một đơn phân tử trên máy tính, ngày nay họ muốn giả lập hàng ngàn
phân tử thuốc, protein và tác dụng tương hỗ giữa chúng để tạo ra các loại
thuốc mới.
¾ Để nghiên cứu các hạt cơ bản và tương tác giữa chúng, hàng năm
ngành Vật lý Năng lượng cao (High Energy Physics) tạo ra khoảng 10
Petabytes (dung lượng của khoảng 20 triệu đĩa CD-ROM) dữ liệu. Hay các
nhà vật lý địa cầu thực hiện theo dõi bầu khí quyển, tầng ozone, hàng ngày
phải lưu trữ và phân tích khoảng 100 Gigabytes dữ liệu ảnh chụp từ vệ tinh.
Ở đây cho thấy cần phải có năng lực lưu trữ rất lớn.
¾ Việc phân tích, giải mã bộ gen người, các dự án nghiên cứu vũ trụ,…
cũng cần năng lực xử lý rất lớn.
Chương 1. Mở đầu
- 2 -
¾ Vấn đề hợp tác giữa hàng ngàn nhà khoa học trên toàn thế giới, hỗ trợ
việc chia sẻ một lượng lớn dữ liệu, thực hiện các tính toán phức tạp trực
tuyến trên các dữ liệu đó.
- Trong thương mại:
Các bài toán phân tích xử lý số liệu kinh tế của các quốc gia, các công
ty đa quốc gia, …
Các công ty cung cấp dịch vụ mạng cho hàng triệu người dùng trên
toàn thế giới.
Các bài toán mô phỏng, giả lập trong thiết kế sản phẩm công
nghiệp…
Bài toán xử lý thông tin trong quản trị mạng, các hệ thống phát hiện
tấn công, xâm nhập mạng.
…..
Một máy tính đơn, một nhóm các máy tính(cluster) hay thậm chí một siêu máy
tính chuyên dụng cũng không thể đáp ứng được nhu cầu tính toán, lưu trữ ngày
càng lớn như vậy. Một số bài toán cũng có thể được giải quyết nhưng rất khó khăn,
với chi phí rất cao mà không phải quốc gia, tổ chức nào cũng thực hiện được (đặc
biệt là các nước đang phát triển), còn những bài toán khác có thể nói là không thể
giải quyết được với công nghệ tính toán hiện nay.
Thực tế khiến người ta nảy sinh ý tưởng phải kết hợp các máy tính phân tán
khắp nơi trên thế giới trở thành một siêu máy tính khổng lồ nhằm tận dụng năng lực
tính toán, lưu trữ hiện đang lãng phí để giải quyết các bài toán phức tạp trên đây với
chi phí thấp hơn.
Trước đây, khi các công nghệ mạng chưa phát triển thì ý tưởng trên hầu như
chưa thực hiện được. Nhưng hiện nay, các công nghệ mạng máy tính đã phát triển
vượt bậc, hiệu năng mạng tăng gấp đôi sau mỗi 9 tháng, ý tưởng về “siêu máy tính”
toàn cầu đã có cơ sở để trở thành hiện thực. Đến những năm cuối thế kỷ XX, các dự
án nghiên cứu đầu tiên về lĩnh vực này đã khai sinh ra công nghệ Grid Computing.
Công nghệ Grid Computing ra đời được dự đoán là công nghệ nền tảng của thế
kỷ XXI, làm thay đổi cách thức chúng ta tính toán, giống như Internet đã từng làm
Chương 1. Mở đầu
- 3 -
thay đổi cách thức trao đổi thông tin trong thế kỷ XX. Công nghệ Grid Computing
đã mở ra cơ hội mới cho các nước không có nền công nghiệp thiết kế, chế tạo phần
cứng máy tính mạnh, tạo ra các siêu máy tính để giải quyết các bài toán của riêng
mình với chi phí thấp và độ làm chủ cao. Ở Việt Nam, nhu cầu ứng dụng công nghệ
thông tin vào các hoạt động nghiên cứu Khoa học-Kỹ thuật, quản lý Kinh tế-Xã hội
ngày càng cao, đòi hỏi phải xử lý những khối lượng dữ liệu lớn, khối lượng tính
toán khổng lồ với chi phí thấp (vì chúng ta còn nghèo, kinh phí đầu tư cho ngành
Công nghệ thông tin chưa cao). Do đó, việc nghiên cứu, phát triển ứng dụng công
nghệ Grid Computing vào thực tế được xem là một giải pháp quan trọng để giải
quyết các bài toán trên. Hiện nay, chúng ta mới đang đi những bước đầu tiên…
1.2. Vấn đề quản trị mạng
Ngày nay, mạng máy tính đã trở nên phổ biến khắp nơi với quy mô ngày càng
lớn. Do đó, công việc của bộ phận quản trị hệ thống mạng, đảm bảo cho hệ thống
hoạt động ổn định, hiệu năng cao, đáp ứng nhu cầu người dùng là một công việc hết
sức khó khăn. Để thực hiện tốt công việc của mình, bộ phận quản trị cần một hệ
thống theo dõi, giám sát các hoạt động trên mạng nhằm :
¾ Xác định các lỗi thiết bị, cấu hình trong hệ thống mạng.
¾ Tối ưu, quản lý hiệu quả tài nguyên mạng
¾ Lập tài liệu về các mức độ đe doạ đối với hệ thống, để lập kế hoạch đối
phó, giảm thiểu nguy cơ hệ thống bị xâm hại.
¾ Quản lý thông tin hoạt động của người dùng, phát hiện và ngăn chặn các
hoạt động xâm phạm hệ thống mạng.
Công việc quản lý trên đòi hỏi không những phải phân tích dữ liệu chạy trong hệ
thống mạng theo thời gian thực mà còn phải phân tích các dữ liệu ghi vết (log) về
các hoạt động trong hệ thống. Hiện nay, lượng dữ liệu lưu thông trong mạng máy
tính là rất lớn, nên 1 máy tính PC không thể thu thập và xử lý được mà cần một máy
lớn hoặc các thiết bị chuyên dụng hơn. Việc đưa vào sử dụng các thiết bị chuyên
dụng có chi phí rất cao, không thích hợp cho các hệ thống mạng vừa và nhỏ. Do đó,
hướng tiếp cận sử dụng công nghệ Grid Computing để tận dụng thời gian nhàn rỗi
Chương 1. Mở đầu
- 4 -
của các máy PC trong hệ thống mạng để xử lý thông tin, hỗ trợ các nhà quản trị
mạng được đưa ra.
1.3. Mục tiêu đề tài
Nhằm tìm hiểu, góp phần vào việc phát triển và ứng dụng công nghệ Grid
Computing vào thực tiễn, đề tài:
“Tìm hiểu công nghệ Grid Computing và ứng dụng thử nghiệm trong
bài toán quản trị mạng”
được thực hiện với một số mục tiêu:
+ Tìm hiểu về công nghệ Grid Computing hiện nay để có một bức tranh tổng
quan về công nghệ, các vấn đề, các hướng giải quyết chủ yếu của nó nhằm làm tiền
đề tham khảo cho việc ứng dụng, phát triển công nghệ Grid trong tương lai.
+ Cài đặt, tìm hiểu mô hình, kiến trúc, môi trường, cách thức lập trình và
phát triển ứng dụng của bộ Globus Toolkit, một bộ công cụ xây dựng Grid hàng đầu
hiện nay.
+ Tìm hiểu về quản trị mạng và các hệ thống quản trị mạng.
+ Nghiên cứu và đề xuất mô hình hệ thống quản trị mạng trên nền tảng công
nghệ Grid Computing. Xây dựng thử nghiệm một số chức năng điển hình của hệ
thống quản trị để hiểu biết thêm về kỹ thuật xây dựng và phát triển ứng dụng Grid.
Hệ thống quản trị mạng chỉ là một công cụ hỗ trợ, việc sử dụng thông tin, thiết lập
các chiến lược, chính sách quản trị là nhiệm vụ của các nhà quản trị mạng.
Các chương tiếp theo trình bày những vấn đề đã nghiên cứu, tìm hiểu được.
Chương 2. Tổng quan về công nghệ Grid Computing
- 5 -
Chương 2. Tổng quan về công nghệ Grid
Computing
2.1. Khái niệm Grid
2.1.1. Theo dòng lịch sử
Mặc dù công nghệ Grid Computing được nhắc đến rất nhiều trong thời gian gần
đây, nhưng thực ra nhiều ý tưởng cơ bản về Grid đã xuất hiện dưới dạng này hay
dạng khác trong lịch sử tính toán.
Ví dụ như ý tưởng “chia sẻ năng lực tính toán” đã xuất hiện từ những năm 60-
70 của thế kỷ XX, lúc đó toàn bộ năng lực tính toán được chia sẻ từ các máy
mainframe.
Năm 1965, những người phát triển hệ điều hành Multics (tiền thân của hệ điều
hành Unix) đã đề cập đến việc sử dụng năng lực tính toán như là một tiện ích, một
quan điểm rất gần với quan điểm về Grid hiện nay. Đó là một hệ thống cung cấp
năng lực tính toán tương tự như hệ thống cung cấp điện, nước hiện đang được sử
dụng trong cuộc sống hàng ngày. Người dùng khi muốn sử dụng tài nguyên tính
toán để xử lý công việc, chỉ cần cắm thiết bị vào hệ thống cung cấp, sử dụng và trả
tiền giống như khi cắm thiết bị điện vào lưới điện.
Tuy trước đó đã có nhiều ý tưởng về Grid nhưng nguồn gốc của Grid chính thức
được xác định vào năm 1990, khi thuật ngữ “siêu tính toán” (metacomputing) ra
đời, dùng để mô tả các dự án kết nối các trung tâm siêu máy tính của Mỹ nhằm kết
hợp sức mạnh xử lý của nhiều siêu máy tính lại với nhau.
Đến năm 1995, 2 dự án siêu tính toán quan trọng, ảnh hưởng lớn đến các công
nghệ nền tảng trong các dự án Grid ngày nay là FAFNER (Factoring via
Network-Enabled Recursion) và I-WAY(Information Wide Area Year) ra đời.
Khái niệm Grid ra đời ở phòng thí nghiệm Argonne National Laboratory vào
tháng 7/1997, sau đó được đưa vào quyển sách "The Grid: Blueprint for a New
Computing Infrastructure" viết bởi tiến sỹ Ian Foster (Argonne National
Chương 2. Tổng quan về công nghệ Grid Computing
- 6 -
Laboratory) và Carl Kesselman (University of Southern California) năm 1998. Ian
Foster đã từng tham gia dự án I-WAY, Carl Kesselman là người tham gia dự án
Globus Toolkit, một dự án nền tảng của công nghệ Grid và Metacomputing.
Từ đó đến nay, việc phát triển công nghệ Grid trở nên rất sôi động với sự tham
gia nghiên cứu, đầu tư của nhiều tổ chức, tập đoàn công nghệ thông tin, nhiều quốc
gia, và đã thu được những thành tựu bước đầu.
Có thể nói, việc phát triển và xây dựng hệ thống Grid là sự kế thừa và phát triển
các ý tưởng, các công nghệ hiện hành ở mức cao hơn. Sự phát triển không ngừng
của cơ sở hạ tầng, phần cứng máy tính, mạng đã giúp các hệ thống Grid ngày nay
thực hiện được nhiều điều hơn những ý tưởng trước đây.
2.1.2. Khái niệm
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 (VO)), 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 và/hoặc kỹ năng nhằm đáp ứng tốt
hơn 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ó những đặc trưng sau:
1. Có sự kết hợp, chia sẻ các tài nguyên không được quản lý tập trung
Grid tích hợp và phối hợp tài nguyên, người dùng thuộc nhiều vùng
quản lý khác nhau, nhiều đơn vị khác nhau trong một tổ chức, hay nhiều tổ chức
khác nhau. Công nghệ Grid tập trung giải quyết các vấn đề về bảo mật, chính sách
quản trị, chi phí, thành viên,… nảy sinh trong quá trình chia sẻ và sử dụng tài
nguyên.
Chương 2. Tổng quan về công nghệ Grid Computing
- 7 -
2. Sử dụng các giao diện và giao thức chuẩn, mang tính mở, đa dụng.
Grid được xây dựng trên các giao thức và giao diện tổng quát, đa dụng để
giải quyết các vấn đề cơ bản như chứng thực người dùng, phân quyền, tìm kiếm và
truy xuất tài nguyên.
3. Đáp ứng yêu cầu cao về chất lượng dịch vụ.
Grid cho phép sử dụng phối hợp các tài nguyên để cung cấp nhiều loại
dịch vụ với các mức chất lượng khác nhau, liên quan đến ví dụ như thời gian đáp
ứng, hiệu suất, tính sẵn sàng, bảo mật, cho phép kết hợp nhiều kiểu tài nguyên để
đáp ứng nhu cầu phức tạp của người dùng. Mục tiêu là phải phối hợp làm sao để
khả năng của hệ thống sau khi kết hợp phải lớn hơn hẳn tổng khả năng của từng đơn
vị cấu thành nên Grid.
2.1.3. Tài nguyên của Grid
Các tài nguyên của Grid bao gồm các loại sau
2.1.3.1. Tài nguyên tính toán
Đây là tài nguyên phổ biến nhất, là các chu kỳ tính toán (computing cycles)
được cung cấp bởi bộ vi xử lý của các thiết bị trong Grid. Các bộ vi xử lý không cần
phải cùng loại mà có thể có tốc độ, kiến trúc, chạy phần mềm khác nhau.
Có 3 cách để khai thác tài nguyên tính toán của Grid:
1. Cách đơn giản nhất là chạy các ứng dụng hiện có trên một node của Grid
thay vì chạy trên máy tính cục bộ.
2. Thiết kế ứng dụng, tách các công việc thành các phần riêng rẽ để có thể
thực thi song song trên nhiều bộ xử lý khác nhau.
3. Chạy ứng dụng thực thi nhiều lần trên nhiều node khác nhau trong Grid.
2.1.3.2. Tài nguyên lưu trữ
Tài nguyên phổ biến thứ nhì trong Grid là tài nguyên lưu trữ. Mỗi thiết bị trong
Grid thường cung cấp một số dung lượng lưu trữ phục vụ cho việc thực thi ứng
dụng trên Grid. Tài nguyên lưu trữ có thể là bộ nhớ trong, ổ đĩa cứng hoặc các thiết
bị lưu trữ khác. Bộ nhớ trong thường dùng để lưu trữ dữ liệu tạm thời cho ứng
Chương 2. Tổng quan về công nghệ Grid Computing
- 8 -
dụng, trong khi các thiết bị lưu trữ ngoài có thể được sử dụng để tăng không gian
lưu trữ, tăng hiệu suất, khả năng chia sẻ và đảm bảo tính tin cậy của dữ liệu.
2.1.3.3. Phương tiện liên lạc
Khả năng liên lạc giữa các máy tính phát triển nhanh chóng đã giúp cho công
nghệ Grid trở nên hiện thực, do đó đây cũng là một tài nguyên quan trọng. Ở đây
bao gồm việc liên lạc, trao đổi dữ liệu giữa các thành phần trong Grid và giao tiếp
giữa Grid với bên ngoài. Một số công việc đòi hỏi một lượng dữ liệu lớn nhưng các
dữ liệu này thường không nằm trên máy đang thực thi công việc. Khả năng về băng
thông trong những trường hợp như vậy là một tài nguyên then chốt, ảnh hưởng đến
khả năng của Grid.
Việc giao tiếp với bên ngoài được thực hiện thông qua mạng Internet. Grid có
thể sử dụng các kết nối Internet để liên lạc giữa các node. Vì các kết nối này không
chia sẻ một đường truyền nên làm tăng băng thông truy cập Internet.
Các đường truyền dự phòng đôi khi cần thiết để giải quyết tốt hơn các vấn đề về
hư hỏng mạng và truyền dữ liệu lớn.
2.1.3.4. Phần mềm, ứng dụng
Grid có thể được cài đặt các phần mềm mà có thể quá mắc để cài trên tất cả mọi
máy tính trong Grid. Các phần mềm này chỉ cần được cài trên một số node. Thông
qua Grid, khi một công việc cần đến chúng, nó sẽ gửi dữ liệu đến node đã được cài
đặt phần mềm và cho thực thi. Đây có thể là một giải pháp tốt để tiết kiệm chi phí
về bản quyền phần mềm.
2.1.3.5. Các thiết bị đặc biệt
Là các thiết bị dùng trong khoa học, kỹ thuật như kính viễn vọng, các bộ cảm
biến (sensor),… Các thiết bị này chủ yếu thu thập các dữ liệu khoa học, phục vụ cho
các bước phân tích, xử lý sau này.
Ghi chú: Các tài nguyên trên đây đến từ nhiều nguồn khác nhau, có thể không
thuộc quyền quản lý của một tổ chức, của một đơn vị mà có thể thuộc nhiều tổ
Chương 2. Tổng quan về công nghệ Grid Computing
- 9 -
chức, ở nhiều nơi khác nhau. Một số tài nguyên có thể được sử dụng tự do, trong
khi một số khác được sử dụng dưới những chính sách nhất định. Các tài nguyên
được “ảo hóa” (virtualize) để che dấu sự phức tạp, đa dạng nhằm đưa ra một cái
nhìn thống nhất, đơn giản về toàn bộ tài nguyên trên Grid sao cho dưới mắt của
người dùng, các tài nguyên Grid là một khối thống nhất. Hình 2-1 minh hoạ ý tưởng
này.
Hình 2-1 Tài nguyên Grid dưới quan điểm của người dùng, là một
khối thống nhất có được nhờ sự ảo hoá.
Các tài nguyên ảo được tổ chức lại thành các “tổ chức ảo”, đến lượt nó, các tổ
chức ảo lại thực hiện chia sẻ tài nguyên của mình để hình thành Grid lớn hơn, tạo
thành một kho tài nguyên khổng lồ.
2.2. Phân loại Grid & Grid Topology
2.2.1. Các kiểu Grid
Công nghệ Grid Computing có thể được sử dụng theo nhiều cách khác nhau để
giải quyết các loại yêu cầu ứng dụng. Thông thường Grid được phân loại bởi kiểu
của ứng dụng cần giải quyết. Có 3 loại Grid như trình bày dưới đây. Tuy nhiên
không có ranh giới phân biệt rõ ràng giữa các loại Grid và trong thực tế, các giải
pháp Grid thường là sự kết hợp 2 hay nhiều loại khác nhau.
Chương 2. Tổng quan về công nghệ Grid Computing
- 10 -
2.2.1.1. Grid Tính toán (Computation Grid)
Loại Grid này tập trung chủ yếu vào việc sử dụng năng lực tính toán. Ở dạng
Grid này, phần lớn các node là các máy tính hay các nhóm máy tính(cluster) có
năng lực xử lý, tính toán rất lớn.
Hình thức thực hiện là chia tác vụ tính toán lớn thành nhiều công việc nhỏ thực
thi song song trên các node của Grid. Việc phân tán các tác vụ tính toán trong Grid
sẽ làm giảm rất đáng kể toàn bộ thời gian xử lý và tăng khả năng tận dụng hệ thống.
Thông thường một hệ thống chính sẽ chia khối dữ liệu cần xử lý thành các phần
nhỏ, sau đó phân phối đến các node trên Grid. Mỗi node sẽ thực hiện xử lý dữ liệu
và trả kết quả về hệ thống chính để hệ này tổng hợp và trình diễn kết quả toàn cục
cho người dùng. Hình 2-2 minh họa quá trình này.
Hình 2-2 Hình thức hoạt động của Grid Tính toán
2.2.1.2. Grid Dữ liệu (Data Grid)
Ở đây, không gian lưu trữ là tài nguyên. Một Grid Dữ liệu chịu trách nhiệm
lưu trữ và cung cấp khả năng truy cập dữ liệu cho nhiều tổ chức khác nhau. Người
dùng không cần biết chính xác vị trí dữ liệu khi thao tác với dữ liệu.
Các cơ sở dữ liệu, đặc biệt các cơ sở dữ liệu liên hợp, đóng vai trò quan
trọng trong các Grid Dữ liệu, nhất là khi có nhiều nguồn dữ liệu và xuất hiện nhu
cầu kết hợp các thông tin từ các nguồn dữ liệu này.
Chương 2. Tổng quan về công nghệ Grid Computing
- 11 -
Các Grid Dữ liệu có thể được sử dụng trong lĩnh vực khai thác dữ liệu(data
mining) hoặc các hệ thống thương mại thông minh. Trong trường hợp này, không
chỉ có hệ thống file hay các cơ sở dữ liệu mà toàn bộ dữ liệu của tổ chức cần tập
hợp lại. Ở đây có thể phải kết hợp giữa Grid Dữ liệu và Grid Tính toán.
2.2.1.3. Scavenging Grid
Một Scavenging Grid thường được dùng với một lượng lớn các máy tính để
bàn. Các máy tính thường được kiểm tra định kỳ để xem khi nào bộ xử lý và các tài
nguyên khác rảnh rỗi để thực hiện các tác vụ Grid. Chủ nhân của máy để bàn
thường có quyền xác định khi nào thì chia sẻ chiếc máy của mình.
2.2.2. Đồ hình Grid (Grid Topology)
Grid có thể được xây dựng theo nhiều kích cỡ khác nhau, từ một nhóm vài máy
tính đặt trong một phòng ban đến hàng trăm nhóm máy tính tổ chức theo kiểu phân
cấp trải rộng khắp thế giới. Đồ hình Grid đơn giản nhất là SimpleGrid, chỉ bao gồm
một số máy tính đồng nhất ở cùng một vị trí. Độ phức tạp của đồ hình Grid tương
ứng với số lượng tổ chức tham gia Grid và các ràng buộc về địa lý. Phần này sẽ giới
thiệu sơ nét về một số đồ hình Grid cơ bản. Hình 2-3 cho thấy độ lớn của các đồ
hình Grid.
Hình 2-3 Các đồ hình Grid.
Chương 2. Tổng quan về công nghệ Grid Computing
- 12 -
2.2.2.1. SimpleGrid
Hình 2-4 Đồ hình SimpleGrid
Như trên hình 2-4, một SimpleGrid chỉ bao gồm vài máy tính, tất cả đều có cùng
kiến trúc phần cứng, chạy cùng một hệ điều hành, kết nối vào mạng cục bộ. Dạng
Grid này sử dụng các hệ thống đồng nhất nên ít phức tạp, thường chỉ dùng để thử
nghiệm, làm quen với các phần mềm Grid. Các máy tính thuộc một phòng ban trong
tổ chức nên việc sử dụng chúng cho Grid không cần các chính sách đặc biệt về quản
lý cũng như bảo mật. Các máy tính chạy cùng hệ điều hành, cùng kiến trúc phần
cứng nên việc chọn các phần mềm ứng dụng khá đơn giản, dễ dàng. Đồ hình này
khiến người ta liên tưởng đến các cluster hơn là Grid.
Chương 2. Tổng quan về công nghệ Grid Computing
- 13 -
2.2.2.2. IntraGrid
Hình 2-5 mô tả một Intra Grid.
Hình 2-5 Đồ hình IntraGrid
Mở rộng hơn một chút so với SimpleGrid là IntraGrid. Lúc này xuất hiện các hệ
thống không đồng nhất, nhiều loại tài nguyên mới trong Grid. Sử dụng cùng một
chính sách bảo mật, sử dụng mạng nội bộ để kết nối các hệ thống trong Grid là các
đặc tính quan trọng của đồ hình này.
Hệ thống Grid cần có các module lập lịch. Việc chia sẻ file có thể sử dụng các
hệ thống file mạng (network filesytem). Các máy tính tham gia Grid có thể thuộc
nhiều phòng ban khác nhau nhưng vẫn trong cùng một tổ chức.
Khi Grid mở rộng ra nhiều phòng ban, các chính sách mới về cách sử dụng Grid
cần phải được xác lập và áp dụng. Ví dụ: cần phải có chính sách quy định những
công việc nào được thực hiện trên Grid, vào thời điểm nào; độ ưu tiên của các
phòng ban,… Bên cạnh đó vấn đề bảo mật cũng cần được quan tâm, các dữ liệu
nhạy cảm của một phòng ban cần được bảo vệ khỏi sự truy cập từ các công việc của
các phòng ban khác.
Các máy tính dành riêng cho Grid bắt đầu được đưa vào để làm tăng chất lượng
dịch vụ của Grid, thay vì phải trông chờ vào các tài nguyên rảnh rỗi.
Chương 2. Tổng quan về công nghệ Grid Computing
- 14 -
2.2.2.3. ExtraGrid
Vẫn trong cùng một tổ chức, ExtraGrid là sự kết hợp 2 hay nhiều IntraGrid. Như
trong hình 2-6, ExtraGrid liên quan đến nhiều vùng quản lý khác nhau, phân tán
theo địa lý, sử dụng các kết nối truy cập từ xa hay WAN, do đó độ phức tạp trong
quản lý tăng lên rất nhiều. Đối với ExtraGrid, các tài nguyên mang tính động hơn,
Grid cần phải linh động trong việc quản lý các tài nguyên, cần có cơ chế kiểm soát
và phục hồi lỗi.
Cần có các dịch vụ cung cấp thông tin (information service) để tìm kiếm tài
nguyên.
Hình 2-6 Đồ hình ExtraGrid
2.2.2.4. InterGrid
Theo thời gian, các Grid mở rộng ra khỏi một tổ chức và bắt đầu liên kết nhiều
tổ chức với nhau, được dùng để phối hợp giữa các tổ chức trong các dự án lớn. Một
InterGrid đòi hỏi việc liên kết động các ứng dụng, tài nguyên và dịch vụ. Khách
hàng hay bất kỳ tổ chức hợp lệ nào khác đều có thể truy cập Grid thông qua các kết
nối Internet và WAN.
Trong dạng Grid này, cấp độ bảo mật cao nhất cần được áp dụng để ngăn ngừa
các khả năng bị tấn công và gián điệp. InterGrid cung cấp khả năng trao đổi, mua
bán, tìm kiếm tài nguyên ở mức toàn cầu. Các tài nguyên có thể được mua từ các
nhà cung cấp tin cậy.
Hình 2-7 minh hoạ các InterGrid.
Chương 2. Tổng quan về công nghệ Grid Computing
- 15 -
Hình 2-7 Các minh họa về đồ hình InterGrid.
2.3. Các thách thức, yêu cầu của công nghệ Grid
2.3.1. Quản lý tài nguyên (Resource Management)
Mục tiêu của công nghệ Grid Computing là chia sẻ, phối hợp, sử dụng hiệu quả
nhiều loại tài nguyên đến từ nhiều nguồn khác nhau. Để thực hiện được điều đó, cần
phải giải quyết các thách thức và yêu cầu chính sau đây:
1. Tài nguyên thuộc nhiều vùng quản trị khác nhau
Các tài nguyên Grid phân tán theo địa lý qua nhiều vùng quản trị và được sở
hữu và quản lý bởi nhiều tổ chức khác nhau. Không thể chờ đợi một sự thống nhất
chung về các chính sách sử dụng, chia sẻ, bảo mật giữa các tổ chức. Grid cần phải
tôn trọng, tương thích với các chính sách quản trị và sử dụng tài nguyên cục bộ.
Cần có một cơ chế chia sẻ có tính mềm dẻo cao, từ mô hình client-server
đến peer-to-peer để kiểm soát chi tiết, chính xác cách sử dụng các tài nguyên chia
sẻ, bao gồm kiểm soát truy cập, ủy quyền, áp dụng các chính sách cục bộ và toàn
cục; để chia sẻ nhiều loại tài nguyên khác nhau từ các chương trình, file, dữ liệu đến
các máy tính, sensor,…; và cho nhiều phương thức sử dụng khác nhau từ đơn người
dùng đến đa người dùng, từ hướng hiệu suất đến hướng chi phí, từ đó đưa ra mô
hình chất lượng dịch vụ, lập lịch, phối hợp cấp phát tài nguyên và thanh toán chi
phí.
Chương 2. Tổng quan về công nghệ Grid Computing
- 16 -
Cần có cơ chế dàn xếp việc chia sẻ tài nguyên giữa các bên tham gia (bên
cung cấp và bên sử dụng) hợp lý. Việc chia sẻ này phải được quản lý chặt chẽ và
đặc tả rõ ràng giữa các bên cung cấp và sử dụng về những gì được chia sẻ, ai được
phép chia sẻ, ở điều kiện nào thì việc chia sẻ được thực hiện.
2. Tài nguyên đa dạng, hỗn tạp
Grid phải quản lý nhiều tài nguyên không đồng nhất về bản chất, sử dụng
nhiều công nghệ, các hệ thống quản lý tài nguyên cục bộ khác nhau. Ngay cả khi có
2 site cùng sử dụng một công nghệ, một hệ quản lý tài nguyên cục bộ nhưng có cấu
hình khác nhau cũng dẫn đến có các chức năng khác nhau.
Dưới đây là bảng đặc tính các đối tượng cần quản lý cho thấy sự phức tạp
trong quản lý tài nguyên:
STT Đối Tượng Đặc tính
1. Người dùng, Người
cung cấp
Phân tán theo địa lý
2. Tài nguyên Đa dạng, phân tán theo địa lý, thuộc nhiều vùng quản
trị, sở hữu khác nhau.
3. Tính sẵn sàng và
khả năng của tài
nguyên
Thay đổi theo thời gian
4. Các chính sách và
chiến lược sử dụng
Đa dạng và không tập trung, nhà cung cấp và người
dùng có các mục tiêu và chiến lược chia sẻ, sử dụng
khác nhau.
5. Yêu cầu chất lượng
dịch vụ
Đa dạng
6. Chi phí/Giá cả Thay đổi tuỳ theo tài nguyên, người dùng, thời gian.
7. Yêu cầu của ứng
dụng
Đa dạng về tốc độ xử lý, bộ nhớ, đòi hỏi về năng lực
lưu trữ, năng lực mạng.
Bảng 2-1 Các đặc tính của tài nguyên.
3. Việc tồn tại của tài nguyên trong Grid thay đổi theo thời gian
Trong Grid, các tài nguyên có thể xuất hiện hoặc biến mất mà không hề báo
trước do nhiều nguyên do khác nhau như lỗi hệ thống, lỗi mạng, các chính sách chia
sẻ của nhà cung cấp,…Đây cũng là một thách thức lớn để đảm bảo tính tin cậy của
Chương 2. Tổng quan về công nghệ Grid Computing
- 17 -
hệ thống. Cần có các cơ chế tìm kiếm, xác định tài nguyên, phát hiện và phục hồi
lỗi.
4. Vấn đề phối hợp cấp phát tài nguyên
Các ứng dụng có nhiều đòi hỏi về tài nguyên mà chỉ có thể đáp ứng bằng
cách sử dụng song song các tài nguyên trên nhiều site khác nhau. Các chính sách
quản trị cục bộ của các site cùng với khả năng bị lỗi trong quá trình cấp phát tài
nguyên đòi hỏi phải có các cơ chế đặc biệt để phối hợp cấp phát nhiều tài nguyên,
khởi tạo các quá trình tính toán, theo dõi, và quản lý chúng trên các tài nguyên.
5. Vấn đề điều khiển trực tuyến, theo thời gian thực (online)
Cần có cơ chế cho phép thoả thuận sử dụng tài nguyên trong thời gian thực
thi để đáp ứng nhu cầu của ứng dụng, nhất là trong trường hợp các yêu cầu và tính
chất các tài nguyên thay đổi trong quá trình thực thi.
2.3.2. Bảo mật (Security)
Các hệ thống Grid cần phải cung cấp đầy đủ các chức năng bảo mật truyền
thống như chứng thực, phân quyền, bảo vệ thông điệp, toàn vẹn dữ liệu, … ngoài ra
cần đáp ứng các yêu cầu sau:
1. Đăng nhập một lần (Single sign-on)
Một tính toán đơn giản cũng cần phải sử dụng nhiều tài nguyên khác nhau, vì
thế nếu cứ mỗi lần truy xuất tài nguyên lại cần phải chứng thực người dùng là điều
không thực tế và không thể chấp nhận được. Thay vào đó, hệ thống Grid cần có cơ
chế cho phép người dùng chỉ cần chứng thực một lần mà có thể sử dụng nhiều tài
nguyên khác nhau.
2. Cho phép ủy quyền
Đây là một yêu cầu quan trọng, để thực hiện được yêu cầu “đăng nhập một
lần” thì cần phải có sự uỷ quyền. Người dùng cần có khả năng uỷ quyền cho các
chương trình sử dụng các quyền của mình, để chương trình có thể truy cập đến các
tài nguyên được phép khác của người dùng. Và chương trình, đến lượt nó cũng cần
có khả năng ủy quyền cho các chương trình khác.
3. Có khả năng tích hợp được với các chính sách bảo mật cục bộ
Chương 2. Tổng quan về công nghệ Grid Computing
- 18 -
Mỗi site hoặc nhà cung cấp tài nguyên đều có chính sách bảo mật riêng của
mình. Do đó, các giải pháp bảo mật trên Grid cần phải liên kết được với các giải
pháp cục bộ, không được thay thế toàn bộ các giải pháp này mà cho phép kế thừa,
sử dụng lại.
4. Sử dụng các quan hệ tin cậy lẫn nhau dựa theo người dùng
Để cho phép người dùng sử dụng kết hợp tài nguyên từ nhiều nhà cung cấp
khác nhau, hệ thống bảo mật không được yêu cầu các nhà cung cấp phải hợp tác,
liên lạc với nhau để thiết lập môi trường bảo mật. Ví dụ, nếu người dùng có quyền
sử dụng 2 site A và B, thì người dùng cũng có thể sử dụng kết hợp 2 site A, B cùng
lúc mà không cần các chuyên gia bảo mật của site A, B liên lạc với nhau.
5. Hỗ trợ bảo mật liên lạc nhóm
Một quá trình tính toán được cấu thành từ nhiều tiến trình khác nhau, những
tiến trình này cần phải liên lạc với nhau theo từng nhóm. Các nhóm có thể thay đổi
trong suốt quá trình tính toán. Grid cần có giải pháp để thực hiện bảo mật cho các
nhóm này.
6. Đảm bảo tính riêng tư
Một trong những khả năng của Grid là cho phép xử lý dữ liệu trên máy tính ở
xa. Từ đây cũng nảy sinh vấn đề cần bảo vệ tính riêng tư của dữ liệu, sao cho các
người dùng hay nhà quản trị trên máy tính ở xa không thể xâm nhập, sử dụng các
dữ liệu đang được xử lý trên máy tính của mình.
7. Cho phép có nhiều cài đặt khác nhau
Các giải pháp bảo mật không nên chỉ tập trung vào một cài đặt cụ thể mà nên
cài đặt theo nhiều công nghệ khác nhau dựa trên một nền tảng chung. Điều này đảm
bảo tính tương thích với nhiều hệ thống khác nhau.
Ghi chú: Các giải pháp bảo mật trên Grid cũng nên cung cấp sự hỗ trợ mềm dẻo
cho công tác bảo vệ liên lạc (ví dụ như điều khiển được mức độ bảo vệ, bảo vệ các
gói dữ liệu trong các protocol không đảm bảo tính tin cậy (UDP), hỗ trợ các
protocol vận chuyển tin cậy khác ngoài TCP,…) và cho phép các nhà cung cấp ra
quyết định về phân quyền cũng như hạn chế ủy quyền theo nhiều cách khác nhau.
Chương 2. Tổng quan về công nghệ Grid Computing
- 19 -
2.3.3. Quản lý thông tin
¾ Hệ thống thông tin Grid cần có các cơ chế hỗ trợ việc truy cập, tìm kiếm
thông tin các loại về hệ thống Grid một cách nhanh chóng, chính xác. Cần có các
chức năng để xác định đặc tính phần cứng, phần mềm cũng như các thông tin trạng
thái như tải hiện tại và trạng thái hàng đợi trong trường hợp tài nguyên được lập lịch
sử dụng và có các cơ chế cung cấp các thông tin này gần như theo thời gian thực.
¾ Hệ thống thông tin cần hỗ trợ theo dõi thông tin của một lượng rất lớn các
thành phần, cho phép nhiều loại thực thể truy cập, tìm kiếm thông tin trong khi
giảm thiểu các chi phí về công sức và tài nguyên cần thiết để tạo lập, cập nhật các
thông tin cả ở từng site lẫn toàn bộ Grid.
¾ Một trong những mục tiêu của hệ thống thông tin là đơn giản hoá việc tìm
kiếm thông tin để ra các quyết định sử dụng tài nguyên thích hợp, do đó hệ thống
thông tin cần phải được xây dựng theo mô hình dữ liệu đơn nhất (uniform), cung
cấp một giao diện chung để truy xuất nhiều thông tin khác nhau,
¾ Mô hình quản lý thông tin cần đủ bao quát để biểu diễn các cấu trúc thông tin
trong môi trường tính toán phân tán. Một trong những thách thức là biểu diễn được
các thuộc tính liên quan đến nhiều site cùng lúc (ví dụ như : băng thông liên lạc
giữa các site).
¾ Do tài nguyên của Grid rất đa dạng, có thể được thêm bớt theo thời gian, do
đó khả năng tích hợp thêm các thông tin mới vào hệ thống là rất quan trọng. Các hệ
thống thông tin Grid cần phải có khả năng này.
¾ Các hệ thống thông tin Grid cần có khả năng phát sinh thông tin từ nhiều
nguồn khác nhau để cung cấp các thông tin tổng hợp về hệ thống.
¾ Đưa ra các cách thức truy xuất mềm dẻo đến hệ thống thông tin, người dùng
cần có khả năng đọc, cập nhật cùng với khả năng tìm kiếm, định vị thông tin.
¾ Hệ thống thông tin chỉ có thể hữu dụng khi nó được triển khai rộng rãi, do đó
cần có những kỹ thuật cho phép cài đặt, triển khai, bảo trì dễ dàng trên các site khác
nhau.
¾ Cần có mô hình quản lý thông tin phân tán, nên cho phép uỷ quyền tạo lập
và quản lý thông tin tài nguyên cho các site.
Chương 2. Tổng quan về công nghệ Grid Computing
- 20 -
2.3.4. Quản lý dữ liệu
¾ Cần có mô hình quản lý dữ liệu phân tán, cho phép kết hợp dữ liệu từ nhiều
nơi khác nhau, hệ thống quản lý dữ liệu cần có các cơ chế quản lý sao cho có thể
che đi sự phức tạp của dữ liệu, cung cấp cho người dùng cách thức truy cập đơn
giản, hiệu quả thông qua một giao diện chung mà không cần biết đến vị trí của dữ
liệu.
¾ Cho phép sắp xếp các vị trí dữ liệu và có cơ chế lập lịch truy xuất dữ liệu tối
ưu nhằm nâng cao hiệu suất của Grid.
¾ Cần có cơ chế di chuyển dữ liệu đến nơi xử lý mà không tạo ra hiệu ứng cổ
chai trong hệ thống mạng hoặc các vấn đề về truy xuất dữ liệu khác.
¾ Cần có các cơ chế truyền file hiệu suất cao, đọc ghi một loạt các file hoặc các
chức năng chọn lựa, tinh giảm dữ liệu từ xa, các cơ chế điều khiển việc cấp phát tài
nguyên phục vụ truyền dữ liệu (không gian, băng thông, CPU).
2.3.5. Phát triển ứng dụng
Việc xây dựng Grid gặp khó khăn hơn nhiều so với các ứng dụng bình
thường hiện nay, cần phải đưa ra các mô hình, phương pháp giải quyết các vấn đề
như chia sẻ, chia nhỏ, phân tích, di chuyển , bảo mật, quản lý, dữ liệu, đồng bộ hoá
các tiến trình, công việc,… nhằm tận dụng tối đa khả năng của hệ thống.
Cần xây dựng các mô hình, các môi trường lập trình, các bộ công cụ phát
triển ứng dụng cho Grid nhằm đơn giản hóa việc phát triển ứng dụng, tạo điều kiện
đưa công nghệ Grid Computing vào thực tế.
2.3.6. Các vấn đề khác
¾ Khi kích cỡ Grid tăng lên, chi phí quản lý cũng tăng theo, hiệu suất của Grid
cũng giảm xuống, do đó khi xây dựng các công nghệ Grid cần tính toán khả năng
mở rộng của hệ thống.
¾ Cần có các cơ chế quản lý tiến trình để đặt chỗ trước trên tài nguyên, khởi
động, kiểm soát, điều khiển việc thực thi của các tiến trình.
Chương 2. Tổng quan về công nghệ Grid Computing
- 21 -
¾ Về mã thực thi ứng dụng, dạng đặc biệt của tài nguyên lưu trữ này đòi hỏi
các cơ chế để quản lý phiên bản mã nguồn và mã thực thi của các đối tượng để đảm
bảo tính tương thích.
¾ Nguời dùng mong muốn có thể dùng môi trường ảo của Grid với chất lượng
gần giống như trên hệ thống cục bộ. Do đó, Grid cần phải cung cấp các công cụ đơn
giản để hỗ trợ người dùng để xác định các dịch vụ, số lượng và chất lượng (QoS )
của chúng, chất lượng trong trường hợp này liên quan đến khả năng truy cập dịch
vụ một cách nhanh chóng thông qua các giao diện hoàn hảo, các hệ thống chứng
thực thông minh và các đường truyền tốc độ cao.
¾ Cần có một hệ thống quản lý phân phối hợp lý giữa các nhu cầu của người
dùng với khả năng của tài nguyên, theo dõi việc sử dụng các dịch vụ, và cung cấp
các dịch vụ cộng thêm khác như quản lý tài nguyên cục bộ, quản lý hiệu suất, trạng
thái tài nguyên, quản lý đăng nhập và bảo mật.
¾ Cần có một giao diện chuẩn để chuyển các yêu cầu của người dùng và khả
năng của tài nguyên thành một ngôn ngữ duy nhất bất kể nền tảng phần cứng, phần
mềm của mỗi tài nguyên phân tán nhằm mục đích phối hợp hoạt động.
2.3.7. Các việc cần làm
Các bước chung trong quá trình hiện thực hoá Grid:
1. Tích hợp các thành phần phần cứng và phần mềm đơn lẻ thành tài
nguyên kết hợp thông qua hệ thống mạng.
2. Xây dựng và triển khai
+ Middleware cấp thấp để cung cấp môi trường truy cập bảo mật và trong
suốt đến các tài nguyên.
+ Middleware cấp cao và các công cụ phục vụ kết hợp các tài nguyên
phân tán và phát triển ứng dụng.
3. Phát triển và tối ưu hoá các ứng dụng phân tán để tận dụng khả năng
tài nguyên và cơ sở hạ thầng.
Chương 2. Tổng quan về công nghệ Grid Computing
- 22 -
2.4. Ích lợi & Ứng dụng
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 hết 5% thời gian xử lý CPU, ngay 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,…
Grid cho phép kết hợp nhiều không gian lưu trữ nhàn rỗi để tạo thành một
không gian lưu trữ lớn hơn, được cấu hình để tăng hiệu suất, độ tin cậy hơn so với
các máy đơn lẻ thông qua các cơ chế quản lý dữ liệu.
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ông mong đợi 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. Grid có thể quản lý nhiều loại tài nguyên, do đó có
thể cho phép theo dõi tổng quan về các hoạt động sử dụng tài nguyên trong các tổ
chức lớn, hỗ trợ hoạch định các chiến lược sử dụng tài nguyên.
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 hoả, 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 hoá hợp tác chia sẻ, làm việc giữa một cộng đồng rộng lớn trên
toà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 một phạm vi nhỏ, còn Grid cho phép mở rộng trên phạm vi toàn
Chương 2. Tổng quan về công nghệ Grid Computing
- 23 -
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.
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ẻ các 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 mạ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 Intenet 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 anh
ta 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á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ụ, có thể sử dụng các “chip” có các mạch dự phòng để có thể
phục hồi lỗi khi có sự cố về phần cứng. 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 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ý, do đó, 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ác công việc quan trọng có thể được chạy trên nhiều máy tính khác nhau 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 hoá 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 cơ hội mới để quản trị tốt hơn trong các cơ sở
Chương 2. Tổng quan về công nghệ Grid Computing
- 24 -
hạ tầng công nghệ thông tin lớn, phân tán. Bên cạnh đó, đối với tầm quản lý vĩ mô,
có nhiều dự án sử dụng cơ sở hạ tầng công thông tin, Grid cho phép quản lý độ ưu
tiên sử dụng tài nguyên của các dự án này. Trước đây, mỗi dự án thường chịu trách
nhiệm quản lý một số tài nguyên, thường xảy ra tình trạng các tài nguyên của dự án
này đang nhàn rỗi trong khi dự án khác đang gặp vấn đề, thiếu tài nguyên do gặp
các sự kiện không lường trước. Với tầm nhìn rộng hơn do Grid cung cấp, các tình
huống trên có thể được giải quyết dễ dàng.
Trên đây giới thiệu một số ích lợi khi 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, tuỳ 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 khác tốt nhất trong các tình huống cụ thể.
Công nghệ Grid Computing có thể được ứng dụng trong các bài toán trong khoa
học lẫn thương mại:
+ Đòi hỏi năng lực xử lý lớn (High-performance computing), yêu cầu rút
ngắn thời gian hoàn thành kết quả càng nhanh càng tốt.
+ Hướng dữ liệu, đòi hỏi phải thu thập, lưu trữ, phân tích một lượng lớn
dữ liệu, mang tính phân tán.
+ Cần sự hợp tác, chia sẻ giữa các cộng đồng.
2.5. Các thành phần cơ bản của một hệ thống cơ
sở hạ tầng Grid
Một cơ sở hạ tầng (infrastructure) là một công nghệ cho phép chúng ta thực hiện
các hoạt động của mình, ví dụ hệ thống đường giao thông cho phép đi lại bằng xe,
hệ thống ngân hàng cho phép chuyển tiền một các nhanh chóng. Để có thể hữu
dụng, cơ sở hạ tầng cần phải được triển khai rộng rãi, điều đó cũng có nghĩa là nó
phải đơn giản hoặc có giá trị to lớn hoặc cả hai. Do đó, cơ sở hạ tầng Grid cần phải
vừa đơn giản, vừa hỗ trợ được nhiều dạng tài nguyên khác nhau.
Phần này sẽ giới thiệu tổng quan về các thành phần chính yếu của một môi
trường Grid. Tuỳ theo thiết kế và cách sử dụng Grid, một số thành phần có thể
Chương 2. Tổng quan về công nghệ Grid Computing
- 25 -
không cần thiết và đôi khi trong một số trường hợp, có thể kết hợp nhiều thành phần
lại thành một thành phần phức hợp.
1. Portal/Giao diện người dùng
Truy cập thông tin trên Grid là việc rất quan trọng, thành phần giao diện
người dùng đảm nhiệm chức năng này. Giao diện người dùng thuộc một trong 2
dạng:
+ Giao diện cung cấp bởi ứng dụng đang chạy của người dùng.
+ Giao diện cung cấp bởi các nhà quản trị Grid giống như portal cho phép
khả năng truy xuất đến các ứng dụng và tài trong Grid như trong một không gian ảo
duy nhất.. Một Grid portal đưa ra một giao diện cho người dùng để chạy các ứng
dụng sử dụng các tài nguyên và dịch vụ của Grid. Giao diện kiểu portal cũng có thể
giúp người dùng học cách sử dụng Grid.
2. Bảo mật
Các máy tính trong Grid đều được nối mạng và chạy các ứng dụng; chúng có
thể phải xử lý các dữ liệu nhạy cảm hoặc có giá trị lớn, do đó thành phần bảo mật
của Grid là hết sức quan trọng. Ở mức cơ sở, bất kỳ môi trường Grid nào cũng phải
có các cơ chế bảo mật.
3. Broker
Khi đã được chứng thực, người dùng sẽ thực thi ứng dụng. Tùy thuộc vào
ứng dụng và các thông số cung cấp bởi người dùng, bước tiếp theo là phải xác định
được các tài nguyên thích hợp để sử dụng. Việc này đòi hỏi các chức năng của một
broker.
4. Bộ lập lịch (scheduler)
Khi các tài nguyên đã được xác định và cấp phát, bước tiếp theo là lập lịch
điều phối các công việc chạy trên đó. Cần có các bộ lập lịch để xác định các node
thực thi ứng dụng và gửi các công việc được yêu cầu đến các node. Việc này có thể
đơn giản là lấy tài nguyên sẵn sàng tiếp theo trong hệ thống, nhưng thường thì nó
liên quan đến các hàng đợi công việc ưu tiên, quản lý tải, tìm kiếm các tài nguyên
đã đăng ký sử dụng, theo dõi tiến trình. Nếu có một tập các công việc riêng lẻ,
không phụ thuộc vào nhau thì không cần các bộ lập lịch phức tạp. Tuy nhiên, nếu
Chương 2. Tổng quan về công nghệ Grid Computing
- 26 -
muốn giữ chỗ các tài nguyên đặc biệt hay chắc chắn rằng các công việc chạy song
song thì nên sử dụng các bộ lập lịch để phối hợp hoạt động của các công việc. Lưu
ý, các cluster có thể được xem là một tài nguyên đơn lẻ, chúng có bộ lập lịch riêng
để quản lý các node của nó. Một bộ lập lịch cấp cao hơn dùng để quản lý các công
việc cần thực hiện trên cluster trong khi bộ lập lịch cục bộ của cluster sẽ điều phối
các công việc cụ thể trên từng máy tính con.
5. Thành phần quản lý dữ liệu (Data management)
Nếu bất cứ dữ liệu nào, bao gồm cả các module thực thi của ứng dụng, cần
phải di chuyển thì cần phải có các phương pháp an toàn, tin cậy để di chuyển các
file và dữ liệu qua lại giữa các node trong Grid. Do đó, cần phải có thành phần này.
6. Thành phần quản lý công việc và tài nguyên (Job and resource
management)
Sau khi đã có các tiện nghi như trên, việc tiếp theo là xây dựng các dịch vụ
hỗ trợ việc thực hiện các công việc thật sự trong môi trường Grid. Để giải quyết các
tác vụ nòng cốt như khởi chạy ứng dụng với các tài nguyên cụ thể, theo dõi trạng
thái các công việc, nhận kết quả, hệ thống Grid cần có thành phần quản lý công việc
và tài nguyên.
7. Các thành phần khác
Còn có nhiều thành phần khác để đưa vào môi trường Grid và cần được xem
xét khi thiết kế và cài đặt ứng dụng. Ví dụ : Các tiện ích như liên lạc giữa các tiến
trình (Inter Process Communication) và các dịch vụ hỗ trợ tính toán chi phí và chi
trả là những tiện ích được yêu cầu nhiều nhất.
Trên đây là giới thiệu vắn tắt và tổng quan về các thành phần chính của môi
trường Grid. Tuỳ thuộc vào việc triển khai Grid và các yêu cầu của ứng dụng, có
nhiều cách khác nhau để kết hợp các thành phần này lại với nhau để tạo nên một
giải pháp Grid.
Chương 2. Tổng quan về công nghệ Grid Computing
- 27 -
2.6. Kiến trúc Grid
2.6.1. Bản chất Kiến trúc Grid
“Tổ chức ảo”(VO) là đơn vị cơ bản quan trọng trong hệ thống Grid. Việc
thiết lập, quản lý, khai thác các quan hệ chia sẻ tài nguyên giữa các tổ chức ảo đòi
hỏi phải có kiến trúc hệ thống mới, kiến trúc Grid. Kiến trúc Grid dưới đây được
xây dựng dựa trên quan niệm “để các VO hoạt động hiệu quả đòi hỏi phải thiết
lập được các quan hệ chia sẻ với bất kỳ đơn vị tham gia tiềm năng nào”. Để làm
được điều này, vấn đề “liên kết hoạt động” (interoperability) cần phải được tập
trung giải quyết. Trong môi trường mạng, “liên kết hoạt động” đồng nghĩa với việc
sử dụng các protocol chung. Do đó, kiến trúc Grid sẽ là kiến trúc protocol, với các
protocol xác định các cơ chế nền tảng để người dùng và nhà cung cấp tài nguyên
thương lượng, thiết lập, quản lý và khai thác các mối quan hệ chia sẻ tài nguyên.
Kiến trúc Grid phải là kiến trúc dựa chuẩn, hướng mở, để dễ mở rộng, liên kết
hoạt động tốt, có tính khả chuyển (portability) cao. Các protocol chuẩn sẽ giúp định
nghĩa các service chuẩn, nhờ đó có thể xây dựng các service cao cấp hơn một cách
dễ dàng.
Sau khi có được kiến trúc Grid, việc tiếp theo là xây dựng các hàm API và các
bộ SDK để cung cấp các công cụ cần thiết để phát triển các ứng dụng chạy trên nền
Grid.
Sở dĩ vấn đề “liên kết hoạt động” được xem là vấn đề cơ bản vì các mối quan hệ
chia sẻ có thể phải được thiết lập giữa các bên tham gia khác nhau về các chính
sách, giữa các môi trường khác nhau về nền tảng, ngôn ngữ, môi trường lập
trình,…Nếu không có nó, các thành viên trong VO sẽ thực hiện các chính sách chia
sẻ song phương và không chắc rằng các cơ chế sử dụng cho 2 thành viên này sẽ mở
rộng được cho các thành viên khác. Điều này khiến cho việc thành lập các VO động
là không thể thực hiện hoặc cũng chỉ thành lập được VO theo một kiểu nào đó mà
thôi. Cũng giống như Web đã làm bùng nổ việc chia sẻ thông tin bằng cách cung
cấp các protocol và cú pháp chuẩn (HTTP và HTML) dùng cho việc trao đổi thông
tin, ở đây cũng cần các protocol và cú pháp chuẩn để chia sẻ tài nguyên.
Chương 2. Tổng quan về công nghệ Grid Computing
- 28 -
Để giải quyết vấn đề “liên kết hoạt động”, việc xây dựng các protocol là quan
trọng. Vì protocol xác định cách các thành phần phân tán trao đổi với nhau để đạt
được một mục đích nào đó, xác định các cấu trúc thông tin cần thiết trong quá trình
trao đổi. Các VO thường hay thay đổi, nên các cơ chế xác định, chia sẻ và sử dụng
tài nguyên cần phải mềm dẻo, gọn nhẹ, để các thỏa thuận chia sẻ tài nguyên có thể
được thiết lập, thay đổi một cách nhanh chóng. Các cơ chế chia sẻ không được ảnh
hưởng đến các chính sách cục bộ, và phải cho phép các thành viên quản lý được các
tài nguyên của họ. Vì các protocol quy định việc giao tiếp giữa các thành viên chứ
không quy định thành viên đó phải như thế nào, nên khi dùng các protocol, các
chính sách cục bộ được giữ lại. Do đó các protocol được cần đến.
Khi đã có các protocol, thì việc xây dựng các service là cần thiết và quan trọng,
các service là bản cài đặt cụ thể của các protocol. Việc xây dựng các service cơ bản
phục vụ truy cập đến tài nguyên tính toán, dữ liệu, tìm kiếm tài nguyên, lập lịch và
đồng bộ hoá, sao chép dữ liệu,… cho phép xây dựng các service cao cấp hơn cho
ứng dụng đồng thời trừu tượng hoá các chi tiết về tài nguyên.
Cũng cần phải xây dựng các bộ API và SDK, vì các nhà phát triển ứng dụng cần
phải có công cụ để hỗ trợ phát triển các ứng dụng phức tạp trong môi trường Grid,
người dùng cũng phải có khả năng thực thi được các ứng dụng này. Sức mạnh, tính
đúng đắn của ứng dụng, chi phí phát triển và bảo trì là những mối quan tâm quan
trọng. Các API và SDK có thể giúp tăng tốc việc phát triển mã, cho phép chia sẻ
mã, tăng tính khả chuyển cho ứng dụng. Tất nhiên, API và SDK chỉ hỗ trợ thêm chứ
không thể thay thế các protocol được.
2.6.2. Chi tiết Kiến trúc Grid tổng quát
Sau gần 10 năm tập trung nghiên cứu, phát triển, tích luỹ kinh nghiệm, các nhà
phát triển công nghệ Grid đã có những thống nhất đáng kể về kiến trúc Grid. Một
trong những kiến trúc Grid được chấp nhận nhiều nhất được đưa ra bởi Ian Foster,
phần dưới đây sẽ giới thiệu về kiến trúc này.
Kiến trúc Grid, theo Ian Foster, là một kiến trúc phân tầng như trong hình 2-8.
Các thành phần trong một tầng có chung đặc điểm, tính chất, có thể được xây dựng
Chương 2. Tổng quan về công nghệ Grid Computing
- 29 -
từ bất cứ tầng dưới nào. Các thành phần được phân tầng dựa theo vai trò của chúng
trong hệ thống Grid. Đây là một kiến trúc mở.
Kiến trúc này chỉ quy định các yêu cầu chung nhất về thiết kế và triển khai với
mục đích chính là để tham khảo. Việc xây dựng, cài đặt cụ thể tuỳ thuộc vào từng
dự án, từng lĩnh vực ứng dụng.
Dưới đây là chi tiết của kiến trúc:
Hình 2-8 Kiến trúc Grid tổng quát.
2.6.2.1. Tầng Fabric
Đây là tầng thấp nhất của kiến trúc, đại diện cho các thiết bị vật lý và toàn bộ tài
nguyên của Grid mà các tổ chức, người dùng muốn chia sẻ, sử dụng. Các tài nguyên
có thể tồn tại dưới dạng vật lý như các máy tính, hệ thống lưu trữ, các danh mục, tài
nguyên mạng, các loại sensor, cũng có thể là các thực thể logic - một thực thể trừu
tượng - đại diện cho một tập các tài nguyên vật lý, như hệ thống file phân tán, các
cluster,… Trong trường hợp các thực thể logic, việc triển khai có thể liên quan đến
các protocol cục bộ (ví dụ các protocol phục vụ dạng truy cập NFS, hoặc protocol
quản lý tài nguyên, tiến trình trong cluster,…) nhưng các protocol này không liên
quan đến kiến trúc Grid.
Các thành phần của tầng Fabric thực hiện các hoạt động cục bộ trên các tài
nguyên cụ thể (vật lý lẫn logic) như là bước tiếp sau của các hoạt động chia sẻ tài
nguyên của các tầng trên. Do đó, có một mối liên hệ phụ thuộc chặt chẽ giữa các
chức năng của tầng Fabric với các hoạt động chia sẻ được hỗ trợ. Các chức năng
Chương 2. Tổng quan về công nghệ Grid Computing
- 30 -
của tầng Fabric càng mạnh, càng nhiều sẽ cho phép các hoạt động chia sẻ phức tạp,
phong phú hơn. Kinh nghiệm cho thấy, việc quản lý tài nguyên ở tầng này ít nhất
cũng phải có cơ chế cung cấp thông tin để xác được cấu trúc, trạng thái, năng lực
của tài nguyên và cơ chế điều khiển chất lượng dịch vụ.
2.6.2.2. Tầng Connectivity
Tầng Connectivity định nghĩa các protocol liên lạc và chứng thực cơ bản cần
thiết cho các giao dịch mạng đặc trưng của Grid. Các protocol liên lạc cho phép trao
đổi dữ liệu giữa các tài nguyên tầng Fabric. Các protocol chứng thực xây dựng trên
các dịch vụ liên lạc nhằm cung cấp các cơ chế mã hóa, bảo mật, xác minh và nhận
dạng các người dùng và tài nguyên. Việc liên lạc đòi hỏi các công việc như vận
chuyển, định tuyến, đặt tên. Trong tương lai, việc liên lạc của Grid có thể cần các
protocol mới, nhưng hiện nay nên xây dựng trên các protocol có sẵn của bộ TCP/IP
protocol stack, cụ thể là các tầng Network (IP và ICMP), Transport (TCP,UDP) và
Application (DNS,OSPF,…).
Về khía cạnh bảo mật của tầng Connectivity, các giải pháp phải dựa trên các
chuẩn bảo mật hiện hành khi có thể. Cũng giống như liên lạc, rất nhiều chuẩn bảo
mật đã được phát triển với bộ Internet protocol có thể áp dụng được.
Việc chứng thực, phân quyền trong môi trường Grid là rất phức tạp. Các công
nghệ bảo mật truyền thống chủ yếu tập trung bảo vệ các giao dịch giữa các máy
client và server. Trong Grid, việc phân biệt client/server không tồn tại, vì các mỗi
tài nguyên trong một lúc nào đó có thể là server (khi nó nhận yêu cầu), một lúc khác
lại là client (khi nó đề xuất yêu cầu đến các tài nguyên khác). Do đó, các giải pháp
chứng thực cho các môi trường VO nên đạt được các yêu cầu về bảo mật trong Grid
như đã giới thiệu ở trên.
2.6.2.3. Tầng Resource
Tầng Resource dựa trên các protocol liên lạc và chứng thực của tầng
Connectivity để xây dựng các protocol, API và SDK nhằm hỗ trợ việc thương
lượng, khởi tạo, theo dõi, điều khiển, tính toán chi phí và chi trả cho các hoạt động
chia sẻ trên từng tài nguyên riêng lẻ một cách an toàn. Bản cài đặt các protocol của
Chương 2. Tổng quan về công nghệ Grid Computing
- 31 -
tầng Resource sẽ gọi các chức năng của tầng Fabric để truy cập và điều khiển các
tài nguyên cục bộ.
Các protocol tầng Resource tập trung toàn bộ vào các tài nguyên riêng lẻ, không
quan tâm đến trạng thái toàn cục và các hoạt động trong các tập tài nguyên phân
tán.
Các protocol tầng Resource được phân thành 2 dạng chính như sau:
+ Các protocol thông tin
Sử dụng để thu thập thông tin về cấu trúc và trạng thái các tài nguyên ví
dụ như cấu hình hiện tại, tải hiện tại, chính sách sử dụng,…
+ Các protocol quản lý
Sử dụng để thượng lượng truy xuất đến một tài nguyên chia sẻ, xác định
rõ, ví dụ, các yêu cầu về tài nguyên (bao gồm luôn việc giữ chỗ tài nguyên và
chất lượng dịch vụ) và các thao tác cần được thực hiện như tạo tiến trình, hoặc
truy xuất dữ liệu. Do các protocol quản lý chịu trách nhiệm đại diện cho các
quan hệ chia sẻ, đảm bảo các hoạt động sử dụng tài nguyên phải phù hợp với các
chính sách chia sẻ tài nguyên, bao gồm luôn việc tính toán và chi trả chi phí.
Mỗi protocol cũng nên hỗ trợ việc theo dõi trạng thái và điều khiển các hoạt
động.
Với những yêu cầu như vậy, tập các protocol tầng Resource (và Connectivity)
nên nhỏ gọn và tập trung. Các protocol này chỉ nên đáp ứng được các cơ chế chia sẻ
với nhiều loại tài nguyên khác nhau (ví dụ, các hệ thống quản lý tài nguyên cục bộ
khác nhau) là đủ.
Các chức năng chính của tầng Resource cũng giống như của tầng Fabric cộng
thêm nhiều ngữ nghĩa mới với cơ chế báo lỗi tin cậy khi hoạt động không thành
công.
2.6.2.4. Tầng Collective
Trong khi tầng Resource tập trung vào các tài nguyên đơn lẻ, tầng Collective
chứa các protocol, service, API, SDK không liên hệ đến bất kỳ một tài nguyên cụ
Chương 2. Tổng quan về công nghệ Grid Computing
- 32 -
thể nào mà thực hiện quản lý toàn cục, tập trung vào các giao tác giữa các tập tài
nguyên.
Tầng Collective có thể bổ sung thêm nhiều loại hoạt động chia sẻ mới ngoài
những gì đã có từ tầng Resource mà không cần bổ sung thêm các yêu cầu mới cho
các tài nguyên đang được chia sẻ. Ví dụ:
+ Directory service
Cho phép các thành phần tham gia VO phát hiện sự tồn tại và/hoặc đặc
tính của các tài nguyên trong VO. Một directory service có thể cho phép người
truy vấn tài nguyên qua tên và/hay các thuộc tính như kiểu, khả năng, tải, …
+ Co-allocation, scheduling, và broker service
Cho phép các thành phần tham gia VO yêu cầu cấp phát các tài nguyên
cho các mục đích cụ thể và lập lịch cho các tác vụ trên các tài nguyên tương
ứng.
+ Monitoring ang dianostics sevice
Hỗ trợ việc kiểm soát các tài nguyên của VO, kiểm tra xem có bị lỗi, bị
tấn công, bị quá tải,… hay không.
+ Data replication service
Hỗ trợ quản lý tài nguyên lưu trữ của VO để tối ưu hiệu suất truy cập dữ
liệu theo các độ đo như thời gian đáp ứng, tính toàn vẹn, tin cậy, chi phí,…
+ Grid-enable programming system
Cho phép các sử dụng các mô hình lập trình hiện tại trong môi trường
Grid, sử dụng nhiều loại dịch vụ Grid để giải quyết các vấn đề như phát hiện,
tìm kiếm tài nguyên, bảo mật, cấp phát tài nguyên,…
+ Workload management system and collaboration framework
Cung cấp khả năng đặc tả, sử dụng, quản lý các luồng công việc đa thành
phần, bất đồng bộ và qua nhiều bước.
+ Software discovery service
Tìm kiếm và chọn ra các cài đặt phần mềm tốt nhất và môi trường thực
thi dựa theo ứng dụng cần được giải quyết.
+ Community authorization server
Chương 2. Tổng quan về công nghệ Grid Computing
- 33 -
Thực hiện các chính sách công cộng quản lý truy cập tài nguyên, cho
phép các thành viên của cộng đồng truy cập đến các nguyên dùng chung. Các
server này sử dụng các dịch vụ xây dựng trên các protocol thông tin, quản lý tài
nguyên của tầng Resource và protocol bảo mật ở tầng Connectivity.
+ Community accounting and payment service
Thu thập các thông tin sử dụng tài nguyên để tính toán chi phí, thực hiện
chi trả và/hoặc giới hạn việc sử dụng tài nguyên của người dùng trong cộng
đồng.
+ Collaboratory service
Hỗ trợ việc trao đổi thông tin đồng bộ và bất đồng bộ trong cộng đồng
người dùng.
Các ví dụ trên đây cho thấy các protocol và dịch vụ tầng Collective rất phong
phú, đa dạng. Lưu ý rằng trong khi các protocol tầng Resource phải là các protocol
tổng quát và triển khai rộng rãi, thì các protocol tầng Collective có thể trải dài từ
việc phục vụ các vấn đề chung trong Grid đến việc phục vụ cho các lĩnh vực ứng
dụng cụ thể, có thể chỉ tồn tại trong các VO cụ thể. Theo nguyên tắc, càng phục vụ
nhiều người dùng thì các protocol và API của tầng Collective càng phải được dựa
theo chuẩn.
Các chức năng của tầng Collective có thể được cài đặt như các service (với các
protocol tương ứng), hay như các bộ SDK(với các API tương ứng) được thiết kế để
liên kết với ứng dụng. Trong cả hai trường hợp, các cài đặt này có thể được xây
dựng trên các protocol và API của tầng Resource và Connectivity.
2.6.2.5. Tầng Application
Tầng trên cùng của kiến trúc Grid bao gồm các ứng dụng của người dùng chạy
trong một trường VO. Hình 2-9 minh hoạ quan điểm của các lập trình viên về kiến
trúc Grid. Các ứng dụng được xây dựng theo cách sẽ gọi các dịch vụ định nghĩa bởi
các tầng phía dưới.
Chương 2. Tổng quan về công nghệ Grid Computing
- 34 -
Ví dụ : một chương trình phân tích bộ gen người cần phải chạy hàng ngàn tác vụ
độc lập, mỗi tác vụ cần nhiều file chứa thông tin từng phần của bộ gen có thể sử
dụng các chức năng Grid sau:
+ Lấy các thông tin, thẻ chứng thực (các protocol tầng Connectivity).
+ Truy vấn hệ thống thông tin Grid và các danh mục để tìm các tài nguyên
thích hợp và vị trí các file dữ liệu đầu vào. (các dịch vụ tầng Collective).
+ Gửi các yêu cầu đến các tài nguyên để thực hiện tính toán, di chuyển dữ
liệu,… và kiểm soát quá trình thực thi công việc, thông báo cho người dùng khi mọi
thứ hoàn tất, dò tìm và phản ứng với các điều kiện gây lỗi (tầng Resource).
Hình 2-9 Quan điểm của các lập trình viên về kiến trúc Grid.
Giải thích hình 2-9 : Các hàm API được cài đặt bằng các bộ công cụ phát triển phần mềm (SDK), tới
lượt nó, các bộ SDK sử dụng các Grid protocol để giao tiếp với các service cung cấp các chức năng cho
người dùng cuối. Các SDK cấp cao có thể cung cấp các chức năng mà không gọi trực tiếp một protocol cụ
thể nào, chúng có thể kết hợp nhiều hoạt động của các prtocol khác nhau bằng các gọi các hàm API cũng như
cài đặt các chức năng cục bộ. Các mũi tên đặc đại diện cho các lời gọi trực tiếp, các mũi tên ngắt quãng đại
diện cho việc giao tiếp giữa các protocol.
Các tầng trong kiến trúc trên có thể được hiện thực hóa bằng nhiều sản phẩm
khác nhau, được phát triển bởi nhiều nhà phát triển phần mềm, các tổ chức, cộng
đồng mã nguồn mở, các nhà sản xuất máy tính trên khắp thế giới.
Chương 2. Tổng quan về công nghệ Grid Computing
- 35 -
2.6.3. Kiến trúc Grid trong thực tế
Trong thực tế, kiến trúc Grid tổng quan đã được cài đặt và xây dựng như hình
2-10. Kiến trúc gồm 4 tầng tương ứng với các tầng của kiến trúc tổng quát như sau:
Hình 2-10 Kiến trúc Grid trong thực tế với các thành phần.
+ Tầng Fabric (tầng Fabric)
Giống như tầng Fabric trong kiến trúc tổng quát.
+ Tầng Core Middleware (Connectivity và Resource và nửa dưới của
Collective)
Cung cấp các dịch vụ như quản lý tiến trình ở xa, kết hợp, phân phối các tài
nguyên, quản lý truy cập không gian lưu trữ, đăng ký và tìm kiếm thông tin, bảo
mật và các khía cạnh của QoS như đặt trước, mua bán và trao đổi tài nguyên,… Các
dịch vụ này là sự trừu tượng hoá tính phức tạp và đa dạng của các tài nguyên bằng
cách cung cấp một phương pháp chung để truy cập tài nguyên.
+ Tầng User-level Middleware (Collective)
Chương 2. Tổng quan về công nghệ Grid Computing
- 36 -
Tận dụng các giao diện ở tầng Core Middleware để cung cấp các dịch vụ có
mức độ trừu tượng cao hơn. Tầng này bao gồm các môi trường phát triển phần
mềm, công cụ lập trình, resource broker, bộ lập lịch,…
+ Tầng Application và Portal (Application)
Giống như tầng Fabric trong kiến trúc tổng quát.
Dưới đây là một số dự án Grid tương ứng với các tầng khác nhau.
Hình 2-11 Các dự án Grid tương ứng với các tầng.
2.7. Chuẩn hoá Grid
Một trong những vấn đề lớn của bất kỳ công nghệ tính toán nào là làm sao để
các thành phần khác nhau có thể “nói chuyện” được với nhau. Không có gì quan
trọng hơn việc làm cho các nền tảng khác nhau giao tiếp được với nhau. Đây cũng
là một trong những thách thức của công nghệ Grid Computing. Bởi vì công nghệ
Grid computing cần phải đáp ứng nhiều nhu cầu khác nhau, hỗ trợ nhiều loại công
nghệ, tài nguyên, trải rộng khắp thế giới, do nhiều tổ chức tham gia xây dựng, nên
để các thành phần Grid, ứng dụng Grid tương thích được với nhau cần phải có một
chuẩn chung, một ngôn ngữ chung thống nhất cho toàn bộ nền công nghệ.
Trong công nghệ Grid Computing, việc thiếu chuẩn hóa sẽ dẫn đến toàn bộ các
công ty, tổ chức, nhà phát triển xây dựng, phát triển công nghệ với các kỹ thuật và
Chương 2. Tổng quan về công nghệ Grid Computing
- 37 -
giải pháp khác nhau. Trong thế giới riêng của mỗi nhóm phát triển Grid thì có thể
không là vấn đề lớn, nhưng khi mở rộng môi trường Grid, liên kết các nhóm vào thế
giới rộng hơn thì đây lại là vấn đề lớn, nó sẽ gây ra sự chia cắt, bất đồng và nhiều
hạn chế khác.
Việc xây dựng và áp dụng các chuẩn trong Grid mang lại lợi ích rất lớn, cơ bản
nhất là mang lại khả năng mở rộng các số lượng tài nguyên sẵn sàng cho Grid. Bên
cạnh đó, còn mang lại nhiều lợi ích khác như :
+ Liên kết hoạt động
Cho phép các hệ thống Grid có thể được thiết kế và phát triển theo nhiều
ngôn ngữ lập trình, nhiều môi trường, nhiều nền tảng khác nhau một cách dễ dàng
và hiệu quả.
+ Tăng tính mềm dẻo
Với sự chuẩn hóa, người dùng có thể chuyển đổi qua lại giữa các hệ thống
Grid, có nhiều lựa chọn hơn trong việc xây dựng các dự án.
+ Tăng năng lực của Grid
Khi có nhiều môi trường và nền tảng được hỗ trợ hơn, khả năng phát hành
các dịch vụ sẽ dễ dàng hơn, và từ đó sẽ làm tăng năng lực của hệ thống Grid.
+ Tăng tốc độ phát triển ứng dụng
Sử dụng các bộ toolkit được chuẩn hóa sẽ làm giảm thời xây dựng, phát
triển các hệ thống Grid. Thay vì dành nhiều thời gian cho việc xây dựng các chức
năng giao tiếp, các hệ thống quản lý, với việc sử dụng các hệ thống chuẩn hoá có
sẵn, các nhà phát triển ứng dụng sẽ có nhiều thời gian hơn để tối ưu các chức năng
xử lý dữ liệu.
Phân tích như trên cho thấy việc xây dựng các chuẩn
Các file đính kèm theo tài liệu này:
- Unlock-cong-nghe-tinh-toan-trong-quan-tri-mang.pdf