Tài liệu tham khảo công nghệ thông tin 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
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
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
Trang 2Lờ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
Trang 3Lờ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
Trang 4Vớ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
Trang 5Mục ụ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
Trang 62.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
Trang 74.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
Trang 88.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
Trang 9Danh 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
Trang 10Hì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
Trang 11Danh 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
Trang 12Grid 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
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
Service data Thành phần dữ liệu của một Service
Grid, có hệ thống quản trị riêng
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
Trang 13Cá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
Trang 14Tóm tắt uậ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, …
Trang 15• 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ó
Trang 16Chương 1 Mở đầu
1.1 Công nghệ Grid Computing ( ính toán ướ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
Trang 17¾ 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
Trang 18thay đổ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
Trang 19củ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
Trang 20Chương 2 Tổng quan về công nghệ Grid
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
Trang 21Laboratory) 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
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
Trang 222 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
Trang 23dụ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 l ê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ổ
Trang 24chứ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 oạ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
Trang 252.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ữ l ệ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
Trang 26Cá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.
Trang 272.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
Trang 28Hệ 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
Trang 292.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
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
Trang 30Hì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í
Trang 31Cầ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:
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
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
Trang 32hệ 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ộ
Trang 33Mỗ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
Trang 342.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
Trang 352.3.4 Quản lý dữ l ệ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ế
Trang 36¾ 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.
Trang 372.4 ch ợ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
Trang 38cầ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ở
Trang 39hạ 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
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ể
Trang 40khô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