Đăng ký Đăng nhập
Trang chủ Mô hình tính toán lưới và ứng dụng giải một số bài toán trên đồ thị...

Tài liệu Mô hình tính toán lưới và ứng dụng giải một số bài toán trên đồ thị

.PDF
86
148
55

Mô tả:

Mô hình tính toán lưới và ứng dụng giải một số bài toán trên đồ thị
ĐẠI HỌC THÁI NGUYÊN ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG Hà Thị Thúy MÔ HÌNH TÍNH TOÁN LƢỚI VÀ ỨNG DỤNG GIẢI MỘT SỐ BÀI TOÁN TRÊN ĐỒ THỊ LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - 2013 ĐẠI HỌC THÁI NGUYÊN ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG HÀ THỊ THUÝ MÔ HÌNH TÍNH TOÁN LƢỚI VÀ ỨNG DỤNG GIẢI MỘT SỐ BÀI TOÁN TRÊN ĐỒ THỊ Chuyên ngành : Khoa học máy tính Mã số : 60 48 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS ĐOÀN VĂN BAN Soá hoùa bôûi Trung taâm Hoïc lieäu Thái Nguyên - 2013 http://lrc.tnu.edu.vn/ LỜI CAM ĐOAN Tôi xin cam đoan những kiến thức trình bày trong luận văn này là do tôi tìm hiểu, nghiên cứu và trình bày lại theo cách hiểu của tôi. Trong quá trình làm luận văn tôi có tham khảo các tài liệu có liên quan và đã ghi rõ nguồn tài liệu tham khảo đó. Phần lớn những kiến thức tôi trình bày trong luận văn này chưa được trình bày hoàn chỉnh trong bất cứ tài liệu nào. Soá hoùa bôûi Trung taâm Hoïc lieäu http://lrc.tnu.edu.vn/ LỜI CẢM ƠN Lời đầu tiên, tôi xin gửi lời cảm ơn chân thành và biết ơn sâu sắc nhất tới PGS.TS. Đoàn Văn Ban, người thầy đã chỉ bảo và hướng dẫn tận tình cho tôi trong suốt quá trình nghiên cứu khoa học và thực hiện luận văn này. Tôi xin chân thành cảm ơn các thầy cô giáo, cán bộ thuộc phòng Khoa học và Đào tạo, Trường Đại học Công nghệ thông tin & Truyền thông Thái Nguyên, đã tạo điều kiện thuận lợi giúp đỡ tôi trong quá trình học tập và nghiên cứu. Và cuối cùng, tôi xin gửi lời cảm ơn tới gia đình, người thân và bạn bè - đồng nghiệp - những người đã luôn bên cạnh tôi những lúc khó khăn nhất, động viên và khích lệ tôi trong cuộc sống và trong công việc. Tôi xin chân thành cảm ơn! Soá hoùa bôûi Trung taâm Hoïc lieäu http://lrc.tnu.edu.vn/ MỤC LỤC LỜI CAM ĐOAN ........................................................................................................................ LỜI CẢM ƠN............................................................................................................................ .. MỤC LỤC ................................................................................................................................... DANH MỤC TỪ VIẾT TẮT ..................................................................................................... DANH MỤC HÌNH VẼ .............................................................................................................. LỜI MỞ ĐẦU............................................................................................................................ 1 CHƢƠNG 1. GIỚI THIỆU VỀ CÔNG NGHỆ TÍNH TOÁN LƢỚI ................................. 2 1.1 Giới thiệu về mô hình tính toán lưới ...................................................................... 2 1.1.1 Quá trình phát triển của tính toán lưới ............................................................ 2 1.1.2 Khái niệm tính toán lưới .................................................................................. 4 1.1.3 Lợi ích của tính toán lưới................................................................................. 6 1.1.4 Các dạng tài nguyên trên lưới .......................................................................... 9 1.1.5 So sánh tính toán lưới với các công nghệ khác ............................................. 12 1.2 Phân loại lưới........................................................................................................ 15 1.2.1 Lưới phòng ban (Departmental Grids) .......................................................... 15 1.2.2 Lưới doanh nghiệp (Enterprise Grids) ........................................................... 16 1.2.3 Lưới toàn cầu (Global Grids)......................................................................... 16 1.2.4 Lưới tính toán (Compute Grids) .................................................................... 17 1.2.5 Lưới dữ liệu (Data Grids) .............................................................................. 17 1.2.6 Lưới tiện ích (Utility Grids)........................................................................... 18 1.3 Vấn đề an toàn thông tin và những thách thức đối với tính toán lưới .................. 18 1.3.1 An toàn thông tin trong tính toán lưới ........................................................... 18 1.3.2 Những thách thức với một lưới...................................................................... 20 1.4 Kết luận ................................................................................................................ 20 CHƢƠNG 2. PHÁT TRIỂN ỨNG DỤNG TRÊN MÔI TRƢỜNG TÍNH TOÁN LƢỚI 22 2.1 Cơ sở hạ tầng lưới ................................................................................................ 22 Soá hoùa bôûi Trung taâm Hoïc lieäu http://lrc.tnu.edu.vn/ 2.1.1 Portal/Giao diện người dùng.......................................................................... 22 2.1.2 An toàn và bảo mật (Security) ....................................................................... 23 2.1.3 Bộ môi giới tài nguyên (Broker).................................................................... 23 2.1.4 Bộ lập lịch (scheduler) ................................................................................... 23 2.1.5 Thành phần quản lý dữ liệu (Data management)........................................... 24 2.1.6 Thành phần quản lý công việc và tài nguyên (Job and resource management) ................................................................................................................................ 24 2.1.7 Các thành phần khác ...................................................................................... 24 2.2 Kiến trúc của một lưới .......................................................................................... 25 2.2.1 Bản chất kiến trúc .......................................................................................... 25 2.2.2 Kiến trúc lưới tổng quát ................................................................................. 27 2.2.3 Các chuẩn đối với tính toán lưới.................................................................... 32 2.3 Một số môi trường và công cụ hỗ trợ tính toán lưới ............................................ 38 2.3.1 Alchemi .......................................................................................................... 39 2.3.2 Globus ............................................................................................................ 40 2.3.3 Legion ............................................................................................................ 47 2.3.4 UNICORE...................................................................................................... 48 2.4 Các vấn đề khi lập trình trên lưới ......................................................................... 51 2.4.1 Các yêu cầu đối với lập trình trên lưới .......................................................... 51 2.4.2 Các vấn đề cần quan tâm khi lập trình trên lưới ............................................ 53 2.5 Kết luận ................................................................................................................ 60 CHƢƠNG 3. GIẢI MỘT SỐ BÀI TOÁN ĐỒ THỊ TRÊN MÔI TRƢỜNG LƢỚI ......... 61 3.1 Các khái niệm cơ bản ........................................................................................... 61 3.1.1 Đồ thị ............................................................................................................. 61 3.1.2 Đường đi ........................................................................................................ 62 3.2 Thuật toán Dijkstra ............................................................................................... 63 3.2.1 Thuật toán tuần tự .............................................................................................. 63 Soá hoùa bôûi Trung taâm Hoïc lieäu http://lrc.tnu.edu.vn/ 3.2.2 Song song thuật toán Dijkstra trên lưới ......................................................... 63 3.2.3 Thực nghiệm chương trình ............................................................................ 64 3.3 Thuật toán tô mầu đồ thị....................................................................................... 66 3.3.1 Thuật toán tuần tự .......................................................................................... 67 3.3.2 Song song trên lưới ........................................................................................ 67 3.3.3 Thực nghiệm chương trình ............................................................................ 68 3. 4 Kết luận ............................................................................................................... 70 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ............................................................................. 71 TÀI LIỆU THAM KHẢO ...................................................................................................... 73 Soá hoùa bôûi Trung taâm Hoïc lieäu http://lrc.tnu.edu.vn/ DANH MỤC TỪ VIẾT TẮT Viết tắt Tên đầy đủ Chú giải API Application Programming Interface Giao diện lập trình ứng dụng CMM Common Management Model Quản lý chung mẫu CORBA Common Object Request Broker Architecture Yêu cầu chung kiến trúc đối tượng môi giới CPU Center Processing Unit Bộ xử lý trung tâm DAP Directory Access Protocol Giao thức đặc tả các kỹ thuật định danh đối tượng, tìm kiếm và ghi các khoản mục dữ liệu DCOM Digital Computer Thiết bị không dây DNS Domain Name System Hệ thống phân giải tên miền FTP File Transfer Protocol Giao thức truyền tệp qua mạng TCP GGF Global Grid Forum Diễn đàn lưới toàn cầu GRAM Globus Resource Allocation Management GridFTP Grid File Transfer Protocol Dịch vụ quản lý và định vị tài nguyên lưới GridFTP là mở rộng của giao thức FTP, tích hợp khả năng bảo mật lưới, truyền dữ liệu tốt hơn so với FTP GSH Grid Service Handle Lưới dịch vụ xử lý GSR Grid Service Reference Lưới dịch vụ tham khảo GSS-API Generic Security Service Application Program Interface Giao diện lập trình ứng dụng dịch vụ bảo mật chung Soá hoùa bôûi Trung taâm Hoïc lieäu http://lrc.tnu.edu.vn/ GT Globus Toolkit Bộ công cụ được phát triển bởi Globus Alliance, dùng đê phát triên các ứng dụng lưới GTCP Grid Telecontrol Protocol Giao thức điều khiển lưới từ xa GUI Graphical User Interface Giao diện người dùng đồ họa HPC High Performance Computing Tính toán hiệu năng cao HTML Hyper Text Markup Language Ngôn ngữ hiển thị siêu văn bản HTTP Hyper Text Transfer Protocol Giao thức truyền siêu văn bản tập đoàn công nghệ máy tính đa quốc gia có trụ sở tại Armonk, New York, Mỹ Giao thức điều khiển truyền tin trên mạng IBM International Business Machines ICMP Internetwork Control Message Protocol IDB Installation Database Thông số cần khai báo về cơ sở dữ liệu IP Internet Protocal Giao thức Internet IT Information Technology Công nghệ thông tin J2EE Java 2 Enterprise Edittion Java doanh nghiệp phiên bản 2 JMC Job Monitor Component Cấu tạo màn hình công việc LAN Local Area Network Mạng cục bộ MDS Monitoring and Discovery Service Giám sát dịch vụ NCSA National computer security association Hiệp hội an ninh máy tính quốc gia Soá hoùa bôûi Trung taâm Hoïc lieäu http://lrc.tnu.edu.vn/ NET Network Mạng lưới NFS National Science Foundation Quỹ khoa học quốc gia NJS Network Job Supervisors Mạng lưới giám sát công việc OGSA Open Grid Service Architecture Kiến trúc dịch vụ lưới OGSI Open Grid Service Infrastructure Hạ tầng dịch vụ lưới mở OSPF Open Shortest Path First Giao thức tìm đường ngắn nhất đầu tiên PC Personal Computer Máy tính cá nhân PU Processing Unit Đơn vị xử lý PVM Parallel Virtual Machine Song song máy ảo QoS Quality of Service Chất lượng dịch vụ RFT Reliable File TransferService Dịch vụ truyền file tin cậy RLS Replica Location Service Dịch vụ định vị bản sao trong kiến trúc lưới dữ liệu Globus, cho phép xác định vị trí của các bản sao của thực thể dữ liệu trong lưới. RMI Remote Method Invocation Gọi phương thức từ xa RPC Remote Procedure Call Lời gọi hàm xa SAML Security Assertion Markup Language Ngôn ngữ đánh dấu liên kết an toàn SDK Software Development Kit Tập công cụ hỗ trợ phát triển phần mềm Soá hoùa bôûi Trung taâm Hoïc lieäu http://lrc.tnu.edu.vn/ SOAP Simple Object Acess Protocol Giao thức truy cập đối tượng đơn giản SSL Secure Socket Layer Giao thức bảo mật lưới TCP Transmission Control Protocol Giao thức Điều khiển Giao vận TLS Transport Layer Security Giao thức bảo mật tầng giao vận UDP User Datagram Protocol Giao thức sử dụng gói VO Virtual Organizations Các tổ chức ảo VPN Virtual Private Networks Mạng riêng ảo WAN Wide Area Network Mạng diện rộng WS Web Service Dịch vụ web WSDL Web Service Deployment Descriptor Language Ngôn ngữ đặc tả dịch vụ web WSIL WS- Inspection Language Dịch vụ web kiểm tra ngôn ngữ WSRF Web Services Resource Framework Framework đưa ra bởi GT4 hỗ trợ kiến trúc lập trình mới WWW World Wide Web Mạng lưới toàn cầu Extensible Markup Language Là một cách thức linh động để tạo ra các định dạng thông tin và chia sẻ cả định dạng và dữ liệu trên web XML Soá hoùa bôûi Trung taâm Hoïc lieäu http://lrc.tnu.edu.vn/ DANH MỤC HÌNH VẼ Trang Hình 1.1 Hình 1.2 Mô hình tính toán lưới Tài nguyên lưới 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á. 5 12 Hình 2.1 Kiến trúc lưới tổng quát 27 Hình 2.2 Mối quan hệ giữa OGSA và OGSI 33 Hình 2.3 Kiến trúc của Alchemi 40 Hình 2.4 Mô hình hệ thống hướng dịch vụ web 41 Hình 2.5 Mô hình kiến trúc hoạt động của UNICORE 49 Hình 3.1 Cung (u, v) 61 Hình 3.2 Cạnh (u, v) 61 Hình 3.3 Biểu diễn khuyên 61 Hình 3.4 Đồ thị G cho trước 62 Hình 3.5 Giao diện chương trình trên máy server - thuật toán Dijkstra 65 Hình 3.6 Hướng dẫn sử dụng các chức năng chính 65 Hình 3.7 Giao diện chương trình trên client - thuật toán Dijkstra 66 Hình 3.8 Hình 3.9 Giao diện chương trình trên máy server - thuật toán tô màu đồ thị Giao diện chương trình trên client - thuật toán tô màu đồ thị 69 69 1 LỜI MỞ ĐẦU Nhân loại ngày nay đang chứng kiến sự phát triển mạnh mẽ của ngành Công nghệ Thông tin, một trong những ngành mũi nhọn của nhiều quốc gia trên thế giới. Sự phát triển vượt bậc đó là kết quả tất yếu của sự phát triển kèm theo các thiết bị phần cứng cũng như phần mềm tiện ích. Sự phát triển đó đã kéo theo rất nhiều các ngành khác phát triển theo, trong đó có lĩnh vực nghiên cứu khoa học. Tuy công nghệ ngày càng phát triển, tốc độ xử lý các thiết bị cũng không ngừng tăng cao, nhưng nhu cầu tính toán của con người là không giới hạn, vì thế tính toán lưới đã ra đời nhằm đáp ứng nhu cầu này. Công nghệ tính toán lưới 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. Tính toán lưới 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. 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. Cấu trúc của luận văn bao gồm các mục sau: Chƣơng 1: Giới thiệu về công nghệ tính toán lưới Chƣơng 2: Phát triển ứng dụng trên môi trường tính toán lưới Chƣơng 3: Giải một số bài toán đồ thị trên môi trường lưới Kết luận, hƣớng phát triển và tài liệu tham khảo được trình bày ở phần cuối của luận văn. 2 CHƢƠNG 1. GIỚI THIỆU VỀ CÔNG NGHỆ TÍNH TOÁN LƢỚI 1.1 Giới thiệu về mô hình tính toán lƣới 1.1.1 Quá trình phát triển của tính toán lưới Cũng như các công nghệ tính toán khác, tính toán lưới (Grid Computing) ra đời xuất phát từ nhu cầu tính toán của con người. Thực tế, ngày càng có nhiều bài toán phức tạp hơn được đặt ra và do đó các tổ chức cũng cần phải có những năng lực tính toán mạnh mẽ hơn. Có thể giải quyết vấn đề này bằng hai cách [1]: Một là: Đầu tư thêm trang thiết bị, cơ sở hạ tầng tính toán (mua thêm máy chủ, máy trạm, siêu máy tính, cụm máy tính (cluster), ...). Hai là: Phân bố lại hợp lý các nguồn tài nguyên trong tổ chức hoặc thuê thêm các nguồn tài nguyên từ bên ngoài (dĩ nhiên là với chi phí rẻ hơn nhiều so với việc đầu tư cho cơ sở hạ tầng tính toán). Cách giải quyết thứ hai này chính là mục tiêu và nguồn gốc yêu cầu cho sự hình thành của tính toán lưới. Các nhà khoa học tại Argone National Laboratory thuộc đại học Chicago (Mỹ) là những người đầu tiên đề xuất ý tưởng về tính toán lưới. Tính toán lưới hướng đến việc chia sẻ và sử dụng hiệu quả các nguồn tài nguyên thuộc về nhiều tổ chức trên một quy mô rộng lớn (thậm chí là quy mô toàn cầu). Chính công nghệ mạng và truyền thông phát triển mạnh mẽ trong những năm qua đã biến những khả năng này dần trở thành hiện thực. Các nghiên cứu về tính toán lưới đã và đang được tiến hành nhằm tạo ra một cơ sở hạ tầng lưới cho phép dễ dàng chia sẻ và quản lý các tài nguyên đa dạng và phân tán trong môi trường lưới. Giống như Internet, khái niệm lưới (Grid) đã phát triển từ những nhu cầu về tính toán khoa học lớn. Internet được phát triển để thoả mãn nhu cầu về một phương tiện liên lạc giữa các trung tâm tính toán lớn do liên bang đầu tư. Những sự liên kết này dẫn tới việc chia sẻ tài nguyên và thông tin giữa các trung tâm này và sau đó là cung cấp sự 3 truy nhập tới các tài nguyên cho các nhiều người sử dụng. Các thủ tục chia sẻ tài nguyên đặc biệt giữa các nhóm này đã hình thành phương thức để chuẩn hoá những giao thức cần để trao đổi thông tin giữa các khu vực hành chính. Công nghệ lưới có thể xem như một mở rộng hoặc một ứng dụng của nền tảng này để tạo nên phương thức chia sẻ tài nguyên tổng quát [13]. Dự án phi lợi nhuận Seti@home là một trong những nhân tố khoa học nổi tiếng thúc đẩy việc tạo ra một dự án tính toán lưới đơn giản bằng cách thu thập tất cả các tài nguyên CPU chưa được sử dụng (những người theo chủ nghĩa lưới thuần túy cho rằng CPUi@home thực chất là một ứng dụng tính toán phân tán bởi nó hầu như không thúc đẩy việc sử dụng bất kỳ một khái niệm lưới nào). Seti@home không phải là dự án đầu tiên mở đường cho kỹ thuật này. Việc tận dụng tài nguyên CPU trên các máy trong mạng cục bộ đã bắt đầu từ thập niên 1970 với những dự án phi lợi nhuận như distributed.net nhưng Seti@home nổi tiếng bởi dự án này được ứng dụng vào rất nhiều dự án khác như dự đoán cấu trúc protein, nghiên cứu thuốc cho bệnh ung thư, giải các bài toán phức tạp và dự báo thời tiết. Hầu hết những dự án này đều thực hiện dưới dạng các tiến trình chạy trên các máy tính cá nhân, xử lý những phần dữ liệu nhỏ khi máy tính ở trạng thái chờ hoặc sử dụng ít tài nguyên. Nhiều dự án như vậy đã bị kéo dài hoặc tốn quá nhiều tiền [13]. Vào năm 1997, một trong những dịch vụ tính toán lưới thương mại đầu tiên đã được Entropia cung cấp, và tới nay có rất nhiều dịch vụ như vậy do các công ty và các phòng thí nghiệm thực hiện. Một điểm khác biệt quan trong giữa các lưới và các dự án gần giống lưới là trong tính toán lưới cho phép di trú các nhiệm vụ tính toán tới tất cả các nút tính toán trên lưới để thực thi. Chẳng hạn chương trình xử lý ảnh viễn vọng Seti@home chứa cả mã xử lý dữ liệu từ kính viễn vọng vô tuyến và mã để lấy dữ liệu từ cơ sở dữ liệu và trả lại kết quả. Hai đoạn mã này được trộn lẫn vào một chương trình. Trong lưới, chỉ có các đoạn mã đòi hỏi phải truy vấn cơ sở dữ liệu và trả về kết 4 quả thì nằm trên các nút tính toán. Mã cần để thực hiện các tác vụ phân tán được gửi riêng rẽ tới các nút. Theo cách này, các nút của lưới có thể dễ dàng lập trình lại [13]. Có thể nói, việc phát triển và xây dựng mô hình tính toán lưới 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 cho các mô hình tính toán lưới ngày càng được ứng dụng để thực hiện được nhiều điều hơn những ý tưởng trước đây. 1.1.2 Khái niệm tính toán lưới Trong mỗi giai đoạn phát triển, mỗi tổ chức, cá nhân tùy theo quan điểm và thực tế xây dựng hệ thống của mình mà đưa ra các định nghĩa khác nhau về tính toán lưới. Dưới đây, luận văn xin trình bày một số định nghĩa về tính toán lưới như sau: Dưới quan điểm cá nhân của tiến sỹ I.Foster và các đồng nghiệp thì [9] "Một lưới là một hệ thống có các đặc trưng như phối hợp các tài nguyên phân tán từ nhiều miền tự trị khác nhau; sử dụng các chuẩn mở và giao thức mở; cung cấp chất lượng dịch vụ không tầm thường" - I. Foster„s Three-Point Checklist (HPCWIRE 20.07.2002). Còn dưới quan điểm của một số công ty và liên minh phát triển lưới uy tín trên thế giới thì tính toán lưới được định nghĩa như sau [6]: Định nghĩa của Oracle: tính toán lưới là việc liên kết nhiều máy chủ và thiết bị lưu trữ thành một siêu máy tính nhằm tối ưu hóa được tính ưu việt của các hệ thống máy chủ cũng như hệ thống ứng dụng, nhờ đó giảm thiểu đến mức thấp nhất chi phí. Định nghĩa của IBM: tính toán lưới là một môi trường tính toán ảo. Môi trường này cho phép bố trí song song, linh hoạt, chia sẻ, tuyển lựa, tập hợp các nguồn tài nguyên hỗn hợp về mặt địa lý, tùy theo mức độ sẵn sàng, hiệu suất, chi phí của các tài nguyên tính toán và yêu cầu về chất lượng dịch vụ của người sử dụng. Định nghĩa của liên minh điện toán lưới: môi trường tính toán lưới được hiểu như một hạ tầng kết nối hệ thống máy tính, hệ thống mạng, hệ thống cơ sở dữ liệu 5 được sở hữu và quản lý bởi nhiều tổ chức, cá nhân nhằm cung cấp môi trường tính toán ảo duy nhất với hiệu năng cao cho người sử dụng. Hình 1.1: Mô hình tính toán lưới Định nghĩa chính thức về một lưới được Ian Foster đưa ra trong bài báo “ What is a Grid?” và trong định nghĩa một lưới có ba đặc điểm chính là:  Tài nguyên tính toán không được quản lý tập trung  Sử dụng các chuẩn mở  Có chất lượng dịch vụ tốt. 6 Trên thực tế, tính toán lưới hấp dẫn đối với các nỗ lực cộng tác nghiên cứu phân tán theo địa lý phi lợi nhuận như các lưới nghiên sinh tin học của trung tâm ứng dụng siêu máy tính NCSA chẳng hạn lưới BIRN (lưới ngoài). Tính toán lưới cũng hấp dẫn đối với các doanh nghiệp thương mại lớn với các bài toán phức tạp, đây là các tổ chức luôn cố gắng tận dụng các tài nguyên tính toán bên trong một cách hiệu quả nhất (lưới nội bộ). Mỗi tác giả khi đưa ra định nghĩa đều đứng trên một số quan niệm nhất định. Để có cái nhìn toàn diện về tính toán lưới, ta không đưa ra một định nghĩa cụ thể nào, thay vào đó chúng ta sẽ xem xét khái niệm tính toán lưới các đặc trưng sau: Kích thước lớn: theo số lượng tài nguyên và khoảng cách địa lý giữa chúng Phân tán: có độ trễ đáng kể trong truyền dữ liệu, tài nguyên trải dài trên các vùng địa lý khác nhau Động: các tài nguyên có thể thay đổi khi ứng dụng đang được thực hiện Hỗn tạp: kiến trúc và tính chất của các nút lưới có thể là hoàn toàn khác nhau. Tài nguyên lưới có thể là các máy đơn hoặc mạng con khác nhau Vượt qua phạm vi một tổ chức: có nhiều trạm và các chính sách truy nhập có thể khác nhau trên các trạm, tổng thể lưới sẽ tạo ra một tổ chức ảo thống nhất. Cơ chế và chính sách an toàn bảo mật phức tạp. Cơ chế quản lý tài nguyên đa dạng, phức tạp. Có thể hình dung đơn giản một lưới bao gồm một tập các tài nguyên đa dạng (còn gọi là các nút lưới - có thể là PC, cluster, hệ thống lưu trữ, ...) thuộc về nhiều tổ chức nhằm giải quyết một bài toán nào đó. 1.1.3 Lợi ích của tính toán lưới Tính toán lưới có thể đem lại những ích lợi rất lớn [10]. 1/. Khai thác, tận dụng các tài nguyên nhàn rỗi 7 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”. Lưới 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, .... Lưới 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 lưới 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ó khăn khi các hoạt động đòi hỏi thêm nhiều tài nguyên hơn. Với lưới, 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. Lưới 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 lưới, 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 lưới 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ệ tính toán lưới 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 lưới cho phép mở rộng trên phạm vi toàn cầu khi đưa ra những 8 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, lưới 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 Internet 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 lưới 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ụ, 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. Lưới là sự khởi đầu cho các công nghệ đó. Các hệ thống trong lưới 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ị lưới có khả năng thực thi lại công việc trên một nút 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 lưới để đả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ở 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ó
- Xem thêm -

Tài liệu liên quan

Tài liệu xem nhiều nhất