Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
1,44 MB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN o0o BÁO CÁO TIỂU LUẬN TÍNH TOÁN LƯỚI ĐỀ TÀI: TÌM HIỂU CÔNG NGHỆ GRID COMPUTING VÀ GIỚI THIỆU BỘ GLOBUS TOOLKIT Bộ Môn : TÍNH TOÁN LƯỚI Giảng viên : TS.NGUYỄN PHI KHỨ Học viên : NGUYỄN NGỌC TÚ - CH1101053 HUỲNH TUẤN ANH - CH1101004 Lớp : CH CNTTQM - 06 TP. Hồ Chí Minh, tháng 07 năm 2013 1 Lời cảm ơn Tôi xin chân thành cảm ơn sự giúp đỡ nhiệt tình của thầy TS. NGUYỄN PHI KHỨ trong suốt thời gian học cũng như quá trình làm đồ án môn học:”TÍNH TOÁN LƯỚI”, và cũng xin cảm ơn các bạn trong khoa đã có nhiều đóng góp để chúng tôi hoàn thành môn học này. Tuy nhiên do thời gian hạn hẹp, và sự hiểu biết của chúng em về môn học này chưa được sâu, cho nên đề tài vẫn còn nhiều thiếu sót, nhiều vấn đề chưa được giải quyết hoàn chỉnh và phù hợp với thực tế hiện nay. Vì vậy, chúng tôi mong nhận được sự đóng góp của thầy và các bạn để đồ án được hoàn thiện hơn. Học viên thực hiện Nguyễn Ngọc Tú-Huỳnh Tuấn Anh 2 PHỤ LỤC I. TỔNG QUAN VỀ CÔNG NGHỆ GRID COMPUTING 3 TÀI LIỆU THAM KHẢO 28 I. TỔNG QUAN VỀ CÔNG NGHỆ GRID COMPUTING 1. 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ô ớ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” Grid Computing (tính toán lưới) là thực hiện liên kết tài nguyên phân bố theo địa lý để giải quyết vấn đề quy mô lớn đang trở nên phổ biến. Việc quản lý các nguồn tài nguyên trong môi trường lưới sẽ trở thành phức tạp khi các tài nguyên đó phân tán, không đồng nhất. Và cũng vì chúng thuộc sở hữu của cá nhân / tổ chức khác nhau, được áp dụng các chính sách quản lý tài nguyên, truy cập và tính toán chi phí trên các mô hình cũng khác nhau. Bài viết này 3 giới thiệu 3 mô hình dùng trong quản lý tài nguyên lưới (grid resource management): hierarchical model, abstract owner model, và economic mode. Hierarchical model được áp dụng phổ biến trong các hệ thống grid hiện tại theo mô hình phân cấp. Abstract owner model tiếp cận theo hướng order and delivery (yêu cầu và chuyển giao). Economic model áp dụng cả hai mô hình hierarchical và abstract owner models để phục vụ cho việc giải quyết bài toán về chi phí cho các nhà cung cấp và người sử dụng tài nguyên. - Sự phát triển ngày càng phổ biến của Internet, cùng với năng lực tính toán của máy tính ngày càng mạnh và mạng tốc độ cao cũng như các thiết bị có chi phí ngày càng thấp đang thay đổi cách tính toán và sử dụng các máy tính. Các tài nguyên được phân bố theo các vị trí địa lý khác nhau, cần phải được liên kết kết với nhau để phục vụ các bài toán tính toán lớn. Chính vì vậy cần áp dụng tính toán lưới để giải quyết việc kết hợp các tài nguyên đó lại. - Trong môi trường này, nhiều tài nguyên tính toán như các siêu máy tính, các cụm máy tính, thiết bị trực quan, hệ thống lưu trữ và cơ sở dữ liệu, đặc biệt các thiết bị khoa học như kính thiên văn kết nối ở mức luận lý với nhau và thể hiện ra bên ngoài đến người sử dụng như là một tài nguyên tích hợp đơn (single integrated resource) (xem hình 1). - Về cơ bản, người sử dụng tương tác với resource broker. Như vậy sẽ không thấy được những phức tạp của tính toán lưới. Khi Broker phát hiện ra tài nguyên mà người sử dụng có thể truy cập thông qua một hoặc nhiều hệ thống quản lý thông tin lưới (grid information server), Broker sẽ thương lượng (negotiates) với các resource hoặc các agent của chúng bằng cách sử dụng middleware services. Khi đã đạt được thỏa thuận với các resource, sẽ thực hiện việc lập lịch (scheduling) bằng cách ánh xạ các task đến các resource, sắp xếp ứng dụng và dữ liệu để xử lý và cuối cùng trả về tập hợp kết quả. Trong quá trình đó, cần theo dõi tiến trình thực hiện ứng dụng để việc quản lý các thay đổi trong cơ sở hạ tầng lưới (grid infrastructure) và resource failure. 4 - Có một số dự án trên thế giới, đang phát triển các thành phần, các dịch vụ và các ứng dụng trên hệ thống tính toán lưới: Globus, Legion, NetSolve, Ninf, Apple, Nimrod/G, và JaWS. Hình 1: Góc nhìn tổng quát của hệ thống GRID. - Trong môi trường tính toán lưới, việc truy cập vào các tài nguyên phân bố theo cơ chế truy cập ngang hàng. Vì vậy cần phải áp dụng các chính sách bảo mật cũng như xác thực quyền truy cập của người dùng. - Với việc Internet ngày càng phát triển manh, nhu cầu sử dụng các tài nguyên sẵn có ngày càng nhiều, và các tài nguyên đó tương tác với nhau để phục vụ các yêu cầu của người sử dụng. Tuy nhiên, trong môi trường phân bố, các tài nguyên đó lại được quản lý bởi các tổ chức khác nhau, có chính sách khác nhau vì vậy sẽ phát sinh các vấn đề rất phức tạp trong việc kết hợp các tài nguyên này với nhau. → Vì vậy cần có mô hình quản lý tài nguyên. 2. TÌM HIỂU 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 ngay nay đã trở nên mạnh mẽ 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 5 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 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 đặ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ặc khác, theo đà phát triển, con người 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 Enegy Physics) tạo ra khoảng 10 Petabyte (dung lượng 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. 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. 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 đó. 6 Hình 1: Grid computing trong khoa học 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 thông 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. 7 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 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áy tính đã phát triển vược bậc, hiệu năng mạng tăng gấp đôi sau mỗi năm, ý 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ệ Gird Computing ra đời đượcdự đoán là công nghệ nền tảng của thế kỷ XXI, làm thay đổi cách thức tính toán của chúng ta, giống như internet đã từng làm thay đổi cách thức trao đổi thông tin trong thế kỷ XX. Công nghệ Grid Computing đã mở ra một 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ạng, 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, 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ì nước chúng ta còn nghèo, kinh phí đầu tư cho nghành công nghệ thông tin chưa cao). Do đó, việc nghiên cứu, phát triển công nghệ Grid Computing vào thực tế được xem là một giải pháp quang trọng để giải quyết các bài toán trên. 3. GIỚI THIỆU MÔI TRƯỜNG LƯỚI Một số đặc điểm thường thấy trên hệ thống lưới như: - Tính không đồng nhất (Heterogeneity): tài nguyên trên lưới là đa dạng, thuộc nhiều loại khác nhau từ kiến trúc phần cứng (CPU, các loại thiết bị lưu trữ, thiết bị truyền thông,…) đến phần mềm (hệ điều hành, các thư viện, công cụ), ngôn ngữ. 8 - Tính quy mô lớn (large-scale): một hệ thống lưới kết hợp nhiều dạng tài nguyên trên phạm vi cả thế giới cho nên một hệ thống lưới sẽ rất phức tạp và khó mà có thể biết được một hình thù cụ thể của nó tại một thời điểm - Một hệ thống lưới phải có tính thích nghi, đáp ứng cao và có khả năng mở rộng: hệ thống lưới phát triển trên môi trường không đồng nhất đương nhiên phải có khả năng xử lý ngoại lệ, chịu đựng lỗi tốt, có thể bắt tay với một số hệ thống khác để thực hiện tác vụ nhưng vẫn đảm bảo vấn đề an toàn thông tin. Bên cạnh đó, hệ thống lưới phải có khả năng mở rộng, hệ thống phải đảm bảo là khi gia tăng hay giảm đi các phần tử trên lưới (tăng giảm quy mô) thì hệ thống không cần phải điều chỉnh lớn lao làm ảnh hưởng đến hoạt động của cả hệ thống như là cả hệ thống phải sụp đổ tạm thời khi thêm, bớt một đơn vị lưới nào đó sau đó mới hoạt động trở lại. Từ đó, cho thấy tính cấp thiết của một thành phần của hệ thống lưới có thể đáp ứng được các yêu cầu, một nhóm chương trình có chức năng, nhiệm vụ làm trung gian để tương tác giữa các ứng dụng lưới từ phía người dùng và môi trường lưới bên dưới, gọi là middleware Hình 2: Người dùng chỉ cần cắm và sử dụng dịch vụ mà không cần quan tâm đến phía sau đó là gì. 3.1Định nghĩa Grid Middleware 9 Grid middleware là gói phần mềm nằm giữa lớp ứng dụng và hệ điều hành. Grid middleware quản lý sercurity, truy cập và trao đổi thông tin: • Cung cấp khả năng kết nối số lượng lớn user • Che dấu các tài nguyên chia sẽ rời rạc như máy tính, trung tâm dữ liệu,các thiết bị khác… Cung cấp các công cụ để quản lý,khởi tạo các liên kết trao đổi thông tin. 3.2Nhiêm vụ và lợi ích của grid middleware Có 3 mục đích: • Xây dựng các giao tiếp, và các giao thức có tính mục đích chung, tính mở và tính chuẩn. Bởi vì hệ thống lưới được xây dưng trên những giao tiếp và giao thức với rất nhiều mục đích khác nhau. Những giao tiếp và giao thức này điều chỉ ra được các kết quả cơ bản, mang tính nền tảng như về việc xác nhận, xác thực, khám phá tài nguyên, truy xuất tài nguyên. Do đó, việc xây dựng các giao tiếp, giao thức chuẩn và mở là rất quan trọng, nếu không, chúng ta chỉ xây dựng được những ứng dụng mang tính đặc thù mà thôi. • Định nghĩa các giao thức chuẩn: Nó định nghĩa nội dung và chuỗi các sự kiện trao đổi thông điệp sử dụng các thao tác yêu cầu từ xa. Điều này rất quan trọng và thiết để thực hiện tính interoperability (nghĩa là khả năng mà 2 thực thể khác nhau có thể làm việc với nhau, và được thực hiện bởi các giao thức thông thường) mà hệ thống lưới phụ thuộc vào. • Cung cấp các API chuẩn: đó là các giao diện lập trình ứng dụng chuẩn, định nghĩa các giao tiếp chuẩn để viết mã thư viện, và cấu trúc các thành phần của Grid bằng cách cho phép các thành phần mã được sử dụng lại. Khi có grid middleware thì giúp: Tránh cho các nhà phát triển ứng dụng không cần lập trình các mức thấp, tránh error-prone flatform như việc lập trình mạng mức socket. Giảm chi phí thời gian phát triển phần mềm khi tập trung phát triển chuyên môn trước rồi mới phát triển ứng dụng bằng cách tái sử dụng framework chứ không cần xây dựng lại từ đầu. 10 [...]... hành của Globus toolkit Version 1.0 (GT1-1998), Globus toolkit Version 2.0 (GT2-2002), Globus toolkit Version 3.0 (GT3-2003) và hiện nay là Globus toolkit Version 4.0 (GT4-2005) GT1 và GT2 là các phiên bản xây dựng theo các mô hình và giao thức độc quyền của tổ chức Globus, đến GT3 và GT4 thì chuyển sang xây dựng các Grid Service theo các chuẩn OGSA và OGSI 2 GIỚI THIỆU Globus toolkit là một bộ toolkit. .. 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 đề tài đã thực hiện được các mục tiêu cơ bản đặt ra, bao gồm 2 mục tiêu như sau: 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 Computing trong tương lai Tìm. .. xây dựng các hệ thống và các ứng dụng Grid Globus toolkit hiện đang được phát triển bởi tổ chức Globus Alliance và nhiều tổ chức khắp nơi trên thế giới 11 Globus Alliance là một cộng đồng các cá nhân và tổ chức tham gia phát triển các công nghệ nền tảng cho Grid Globus toolkit cho phép thực hiện hóa các ý tưởng, mục tiêu đằng sau khái niệm grid Bộ toolkit bao gồm : các dịch vụ và thư viện phục vụ việc... vực thương mại Từ năm 2000 các công ty hàng đầu thế giới trong lĩnh vực công nghệ thông tin như : Avaki, Datasynapse, Entropia, Hewlett-Packerd, IBM, NEC, Oracle, Platform, Sun và United device, Microsoft đã bắt đầu xây dựng các chiến lược về Grid computing trên nền tảng Globus 3 KIẾN TRÚC CỦA GLOBUS TOOLKIT Bộ Globus Toolkit giải quyết các vấn đề của công nghệ Grid Computing dựa trên 4 thành phần... client và server phải phụ thuộc chặt chẽ vào nhau Công nghệ này thường lý tưởng cho các ứng dụng trong mạng cục bộ Còn với công nghệ Web Service thì ngược lại hoàn toàn, client không cần biết thông tin về server và service cho đến khi nó thực sự cần sử dụng service Do đó công nghệ Web Service thường thích hợp nhất để xây dựng các ứng có phạm vi rộng trên internet, 26 như các ứng dụng hướng Grid Công nghệ. .. ra Globus Toolkit còn cung cấp một bộ các hàm API và SDK nhằm giúp phát triển, xây dựng các ứng dụng Grid 12 Globus Toolkit 4 được thiết kế để hỗ trợ hoàn toàn OGSI và bao gồm rất nhiều dịch vụ, chương trình, công cụ, Một số trong chúng được xây dựng trên OGSI và được gọi là WS (Web Service) components, một số khác không dựa trên OGSI thì được gọi là pre-WS component Hình 3: Kiến trúc Globus Toolkit. .. Resources trong WSRF 21 9 HIỆN THỰC WSRF Hình 9: Hiện thực WSRF 22 II CÁC CÔNG NGHỆ TRONG GRID COMPUTING 1 SERVICE ORIENTED ARCHITETURE (SOA) Phần này giới thiệu đôi nét về một số khái niệm và thành phần cơ bản của kiến trúc Service Oriented Architeture (SOA) SOA là kiến trúc của Web Service và sau đó là Grid Service 2 GIỚI THIỆU VỀ SOA SOA là một hướng tiếp cận mới trong kiến trúc phần mềm ứng dụng,... Tuy nhiên, Web Service có một số lợi điểm mà các công nghệ khác không có • Web Service độc lập với ngôn ngữ lập trình, độc lập với nền tảng thực thi ứng dụng do được xây dựng trên chuẩn XML Đây cũng là lý do chính để chọn công nghệ Web Service làm nền tảng cho Grid Service để giải quyết thách thức lớn nhất của công nghệ Grid Computing là quản lý và sử dụng các tài nguyên phân tán, đa dạng, phức tạp,... đăng nhập và bảo mật giúp cho việc hoạt động hiệu quả trong môi trường mạng I GIỚI THIỆU BỘ GLOBUS TOOLKIT 1 LỊCH SỬ Cuối năm 1994 Rick Stevens (Argonne National Laboratory) và Tom DeFanti (Electronic Visualization Laboratory, University of Illinois, Chicago) đề nghị tạo một đường kết nối tạm thời giữa 11 mạng nguyên cứu tốc độ cao để tạo ra một Grid xuyên quốc gia (I-WAY) trong 2 tuần trước và trong... dụng, phát triển công nghệ Grid Computing trong tương lai 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 27 TÀI LIỆU THAM KHẢO [1] Rajkumar Buyya, Steve Chapin, and David DiNucci, Architectural Models for Resource Management in the Grid, USA, 2000 [2] Rajkumar Buyya, David Abramson, and Jonathan . PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN o0o BÁO CÁO TIỂU LUẬN TÍNH TOÁN LƯỚI ĐỀ TÀI: TÌM HIỂU CÔNG NGHỆ GRID COMPUTING VÀ GIỚI THIỆU BỘ GLOBUS TOOLKIT Bộ Môn : TÍNH TOÁN LƯỚI Giảng. đầu xây dựng các chiến lược về Grid computing trên nền tảng Globus. 3. KIẾN TRÚC CỦA GLOBUS TOOLKIT Bộ Globus Toolkit giải quyết các vấn đề của công nghệ Grid Computing dựa trên 4 thành phần. các mô hình và giao thức độc quyền của tổ chức Globus, đến GT3 và GT4 thì chuyển sang xây dựng các Grid Service theo các chuẩn OGSA và OGSI. 2. GIỚI THIỆU Globus toolkit là một bộ toolkit mã