Luận văn Quá trì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 liệu Luận văn Quá trì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ợ, ...

pdf231 trang | Chia sẻ: hunglv | Lượt xem: 1018 | Lượt tải: 1download
Bạn đang xem trước 20 trang mẫu tài liệu Luận văn Quá trì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:

  • pdfUnlock-cong-nghe-tinh-toan-trong-quan-tri-mang.pdf
Tài liệu liên quan