1. Trang chủ
  2. » Luận Văn - Báo Cáo

PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN CÓ LƯỢNG DỮ LIỆU LỚN TRONG GRID COMPUTING

43 347 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 43
Dung lượng 1,53 MB

Nội dung

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÁO CÁO CHUYÊN ĐỀ TÍNH TOÁN LƯỚI Đề tài: PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN CÓ LƯỢNG DỮ LIỆU LỚN TRONG CÓ LƯỢNG DỮ LIỆU LỚN TRONG GRID COMPUTING GRID COMPUTING GVHD : PGS.TS Nguyễn Phi Khứ HVTH : Bùi Thị Thanh Bình- CH1101067 Thành Phố Hồ Chí Minh 07/2013 MỤC LỤC Tính toán lưới GVHD: PGS.TS. Nguyễn Phi Khứ CHƯƠNG 1 CỞ SỞ LÝ THUYẾT I. Tổng quan tính toán lưới 1. Sự hình thành tính toán lưới Giống như Internet, tính toán lưới tiến triển từ nhu cầu về điện toán trong sự phát triển cúa các ngành khoa học. Mạng Internet được phát triển để đáp ứng nhu cầu trao đổi thông tin giữa các trung tâm máy tính lớn. Các kết nối thông tin liên lạc này dẫn đến chia sẻ tài nguyên và thông tin giữa các trung tâm và cuối cùng là cung cấp truy cập vào chúng cho những người dùng khác. Đặc biệt “các thủ tục” chia sẻ tài nguyên giữa các nhóm khởi đầu dẫn đến việc hình thành chuẩn của các giao thức cần thiết để giao tiếp giữa các miền quản trị. Công nghệ lưới hiện tại có thể xem như là một mở rộng hay là ứng dụng của khuôn khổ này để tạo nên một ngữ cảnh chia sẻ tài nguyên tổng quát hơn. Dự án Distributed Computing System (DCS) tại University of California, Irvine vào đâu thập niên 1970 có thể xem là hệ thống tiền thân của Lưới với các tính năng như của Lưới Kiến trúc sư chính của dự án là David Farber. Hệ thống này được đăng trên tạp chí Business Week với tiêu đề “The ring acts as a single, highly flexible machine in which individual units can bid for jobs” (Vòng hoạt động như một chiếc máy đơn có tính linh hoạt cao mà các đơn vị riêng biệt có thể trả giá để thực hiện các tác vụ). Trong thuật ngữ hiện đại thì “vòng” chính là “mạng máy tính”, và các “đơn vị” là các “máy tính”, tương tự như cách các năng lực tính toán được sử dụng trên lưới. Kết quả cuối cùng của dự án được đưa ra vào năm 1977. Kỹ thuật này hầu như bị từ bỏ trong thập niên 1980 bởi không giải quyết được được các vấn đề về quản trị và bảo mật do không thể quản lý được sự tính toán đang ở đâu và ai đang sử dụng việc tính toán. Ý tưởng về lưới được đưa ra bởi Ian Foster, Carl Kesselman và Steve Tuecke, vì vậy họ được tôn vinh là “cha đẻ của lưới”. Họ dẫn đầu nhóm tạo ra Globus Tookit tích hợp không chỉ việc quản lý CPU (ví dụ: quản lý cụm máy tính (cluster) và tận dụng thời gian CPU rảnh) mà còn quản lý lưu trữ, cung cấp an ninh, luân chuyển dữ liệu, giám sát và bộ công cụ để phát triển các thêm dịch vụ dựa trên cùng kiến trúc bao gồm thoả thuận cấp phép, cơ chế thông báo, các dịch vụ bẫy lỗi và kết hợp thông tin. Ngắn gọn hơn thì giới hạn của lưới đạt xa hơn những giả thiết thông thường được công bố. Trong khi Globus Toolkit tiếp tục là chuẩn để phát triển các giải pháp lưới, Trang 5 Tính toán lưới GVHD: PGS.TS. Nguyễn Phi Khứ một số lượng các công cụ khác được xây dựng để đáp ứng các tập hợp dịch vụ cần thiết để tạo một lưới doanh nghiệp. 2. Tính năng tính toán lưới Tính toán lưới đưa ra một mô hình để giải quyết các vấn đề tính toán khổng lồ bằng cách sử dụng các tài nguyên dư thừa (chu kỳ CPU hay đĩa lưu trữ) của một số lượng lớn các máy tính khác nhau, thông thường là các máy để bàn, được xem như là một cụm máy tính ảo nhúng vào trong một hạ tầng viễn thông phân tán. Tính toán lưới tập trung vào tính năng hỗ trợ việc tính toán thông qua các miền quản trị làm cho nó khác hẳn với các cụm máy tính (computer clusters) truyền thống hay tính toán phân tán truyền thống. Lưới đưa ra một cách thức để giải quyết các vấn đề lớn như cấu trúc protein, mô hình tài chính, giả lập động đất và mô hình khí tượng/thời tiết. Lưới đưa ra một cách thức sử dụng các tài nguyên công nghệ thông tin một cách có lựa chọn bên trong một tổ chức. Nó cũng cung cấp một phương tiện đưa công nghệ thông tin như là một bộ công cụ tiện ích cho các khách hàng cả thương mại và phi thương mại, mà các khách hàng này chỉ trả tiền cho những gì họ sử dụng, giống như là sử dụng điện và nước. Tính toán lưới được thiết kế để giải quyết các bài toán rất lớn ngay cả so với bất kỳ một siêu máy tính đơn lẻ nào, trong khi vẫn linh động khi làm việc với nhiều bài toán nhỏ. Như vậy tính toán lưới cung cấp một môi trường đa người dùng. Tiếp theo, nó hướng đến sự khai thác tốt hơn năng lực tính toán sẵn dùng và cung cấp cho các yêu cầu không liên tục của một số lượng lớn các bài toán. Cách tiếp cận này hàm ý việc sử dụng các kỹ thuật cấp phép an toàn cho phép các người dùng từ xa có thể quản lý các tài nguyên tính toán. Tính toán lưới bao gồm việc chia sẻ các tài nguyên không đồng nhất (dựa trên các hệ điều hành khác nhau, kiến trúc phần cứng/phần mềm khác nhau và các ngôn ngữ máy tính khác nhau), được đặt ở các vị trí khác nhau, phụ thuộc vào các miền quản lý khác nhau thông qua một mạng máy tính sử dụng các tiêu chuẩn mở. Nói ngắn gọn hơn là nó bao gồm các tài nguyên tính toán ảo. Tính toán lưới thường bị lẫn lộn với cụm máy tính. Điểm khác biệt chính là cụm máy tính là một tập các máy nằm trên cùng một vị trí trong khi Lưới thì bao gồm nhiều cụm máy tính và các loại tài nguyên khác nữa (như là các mạng máy tính, các thiết bị lưu trữ). Về mặt chức năng có thể phân loại Lưới thành nhiều loại khác nhau như: Trang 6 Tính toán lưới GVHD: PGS.TS. Nguyễn Phi Khứ • Lưới tính toán: (bao gồm cả các loại lưới tận dụng thời gian rảnh của CPU) tập trung chính vào các hoạt động tính toán chuyên sâu. • Lưới dữ liệu: hay là điều khiển chia sẻ và quản lý một số lượng lớn các dữ liệu phân tán . • Lưới thiết bị: với một thiết bị chính (như là kính thiên văn) và Lưới bao quanh nó được dùng để điều khiển thiết bị từ xa và phân tích dữ liệu nó tạo ra. 3. Các định nghĩa tính toán lưới Khái niệm Tính toán lưới phát xuất từ đầu những năm 1990 với ẩn dụ là làm cho việc truy cập nguồn sức mạnh của máy tính có thể dễ dàng giống như sử dụng mạng lưới năng lượng điện. Ngày nay có rất nhiều định nghĩa của Tính toán lưới: • Định nghĩa cuối cùng về Lưới được lan Foster đưa ra trong bài báo “Thế nào là Lưới? Danh sách ba điểm cần kiểm tra”. Ba điểm cần kiểm tra là: o Không quản lý tập trung các tài nguyên tính toán. o Sử dụng các chuẩn mở. o Phải có loại “chất lượng dịch vụ” không tầm thường. • Plaszczak/Wellner định nghĩa công nghệ Lưới là “công nghệ cho phép ảo hoá tài nguyên, cung cấp theo yêu cầu, và chia sẻ dịch vụ (tài nguyên) giữa các tổ chức”. • IBM định nghĩa Tính toán lưới là “là khả năng, bằng cách sử dụng một tập hợp các tiêu chuẩn và giao thức mở, để truy cập được đến các ứng dụng và dữ liệu, năng lực xử lý, sức chứa kho lưu trữ và một lượng bao la các nguồn tài nguyên máy tính thông qua mạng Internet. Một Lưới là một thể loại của hệ thông song song và phân tán mà có thể chia sẻ, lựa chọn, và kết hợp các tài nguyên phân tán thông qua ‘nhiều’ miền quản trị dựa trên khả năng sử dụng, sức chứa, hiệu suất, giá thành và các yêu cầu chất lượng của dịch vụ người dùng của nó (tài nguyên)”. • Buyya định nghĩa Lưới là “một loại hệ thống song song và phân tán có thể chia sẻ, lựa chọn và kết hợp các tài nguyên tự trị phân tán theo địa lý một cách linh động vào thời điểm thực thi phụ thuộc vào khả năng sử dụng, năng lực, hiệu suất giá thành và các yêu cầu chất lượng của dịch vụ người dùng của nó” • CERN một trong những đơn vị sử dụng công nghệ Lưới lớn nhất, phát biểu về Lưới như sau: “một dịch vụ để chia sẻ năng lực máy tính và sức chứa kho dữ liệu thông qua Internet”. • Trên thực tế, Tính toán lưới thu hút các nỗ lực nghiên cứu cộng tác phi lợi Trang 7 Tính toán lưới GVHD: PGS.TS. Nguyễn Phi Khứ nhuận trên môi trường địa lý phân tán như là Trung tâm quốc gia ứng dụng Siêu máy tính (NCSA). Các Lưới Tin Sinh học như là hệ thống lưới BIRN (Biomedical Informatics Research Network): gọi là các Lưới bên ngoài (External Grids). • Tính toán lưới cũng thu hút các doanh nghiệp thương mại lớn có nhiều bài toán tính toán phức tạp, là những doanh nghiệp hướng đến việc khai thác toàn bộ các năng lực tính toán trong nội bộ của nó: gọi là các Lưới nội bộ (Internal Grids). Các Lưới có thể phân loại thành 3 loại theo phạm vi là Lưới bộ phận (departmental Grids), Lưới doanh nghiệp (enterprise Grids) và Lưới toàn cầu (global Grids). Phân loại này tương ứng với một công ty thiết lập tận dụng các tài nguyên trong một nhóm (ví dụ: một phòng kỹ thuật kết nối các máy tính để bàn, các cụm máy tính và các thiết bị lại với nhau). Tiến tới một Lưới doanh nghiệp là các tài nguyên máy tính của các nhân viên không thuộc bộ phận kỹ thuật cũng có thể được dùng để lưu trữ và tận dụng thời gian CPU rảnh. Một Lưới toàn cầu là kết nối giữa các lưới doanh nghiệp và các lưới bộ phận để có thể sử dụng trong khía cạnh thương mại hay cộng tác. 4. Các đặc tính của lưới Lưới được nhìn nhận ở nhiều góc độ khác nhau và có nhiều định nghĩa khác nhau. Tuy nhiên một tập các đặc tính được thống nhất cao và được đánh giá là quan trọng của Lưới như sau: ■ Tính cộng tác (Collaboration) ■ Tính kết hợp (Aggregation) ■ Tính ảo hóa (Virtualization) ■ Hướng dịch vụ (Service orientation) ■ Không đồng nhất (Heterogeneity) ■ Điều khiển không tập trung (Decentralized control) ■ Chuẩn hóa và kết nối hoạt động (Standardization and interoperability) ■ Truy cập trong suốt (Access transparency) ■ Khả năng mở rộng (Scalability) ■ Khả năng tái cấu hình (Reconfigurability) ■ An toàn (Security) ■ Hỗ trợ ứng dụng (Application support) ■ Khuôn mẫu tính toán (Computational model) ■ Khuôn mẫu giấy phép (Licensing model) ■ Thủ tục và chính sách (Procedures and policies) Cộng tác (Collaboration) Trang 8 Tính toán lưới GVHD: PGS.TS. Nguyễn Phi Khứ Chia sẻ tài nguyên trong môi trường phân tán là một khía cạnh được thống nhất cao. Hơn nữa một Lưới còn “nối các miền quản trị thành một khối duy nhất”. Nó phát triển thành định nghĩa Lưới cộng tác (collaboration Grids). Kết hợp (Aggregation) Một Lưới không phải chỉ là tổng cộng lại các thành phần. Một Lưới kết hợp nhiều tài nguyên lại và từ đó cung cấp một sức chứa kết hợp từ các tài nguyên đơn lập thành một tài nguyên ảo có sức chứa lớn hơn. Sức chứa của từng tài nguyên được giữ gìn. Hệ quả là đứng từ quan điểm toàn cục thì Lưới cho phép thực thi các ứng dụng lớn nhanh hơn (sự kết hợp sức chứa), trong khi đó đứng ở quan điểm cục bộ thì Lưới cho phép chạy những ứng dụng mới. Sự kết hợp này thì còn dùng để "tăng hiệu suất chất lượng dịch vụ, tận đụng tốt hơn và dễ dàng truy cập dữ liệu”. Cuối cùng các tài nguyên được thêm vào một cách tĩnh hay động. Ảo hóa (Virtualization) Các dịch vụ Lưới thường cung cấp các giao diện nào đó nhằm che dấu các tài nguyên phức tạp bên dưới. Việc này được gọi là ảo hoá, cũng cung cấp một “tầng” trừu tượng giữa khách hàng và tài nguyên. Như vậy, Lưới cung cấp “khả năng ảo hoá tổng cộng các phần thành một mô hình lập trình tầm rộng đơn nhất”. Việc ảo hoá bao gồm cả dữ liệu (các tập tin, cơ sở dữ liệu, …) và tài nguyên tính toán. Hướng dịch vụ (Service orientation) Lưới cung cấp các dịch vụ, tuân theo khái niệm kiến trúc hướng dịch vụ (service orient architecture). Trong ý nghĩa rộng nhất thì “tất cả các tập hợp các dịch vụ có qui mô rộng lớn thì có thể xem như là một Lưới”. Trang 9 Tính toán lưới GVHD: PGS.TS. Nguyễn Phi Khứ Không đồng nhất (Heterogeneity) Lưới thông thường bao gồm các tài nguyên không đồng nhất, vì vậy ở đây có các thành phần phần cứng và phần mềm đa dạng khác nhau với hiệu suất khác nhau và các đặc tính tiềm tàng. Điều khiển không tập trung (Decentralized control) Các thành phần của Lưới thuộc nhiều người sở hữu khác nhau. Khó khăn chính của Lưới là không có một người sở hữu duy nhất trên toàn bộ hệ thống. Một trong những yêu cầu của Lưới là việc sử dụng cơ chế điều khiển phân tán. Chuẩn hóa và kết nối hoạt động (Standardization and interoperability) Một lưới đẩy mạnh các định nghĩa giao diện chuẩn cho các dịch vụ nhằm kết nối hoạt động tạo ra một hạ tầng phân tán chung để đáp ứng các tác vụ của người dùng và cung cấp các tiện ích ở mức người dùng. Hệ thống Lưới thực thi một tiêu chuẩn phải động với các Lưới từ đó gia nhập vào một chuẩn chung. Truy cập trong suốt (Access transparency) Môt Lưới phải cho phép người dùng nó truy cập vào hạ tầng tính toán mà không cần phải CG kiến thức tường tận về kiến trúc bên dưới hay phương thức kết nối của mạng Điều này đôi khi được xem “khía cạnh phân biệt nhất của Tính toán lưới là các mức độ trong suốt được cung cấp cho người dùng thông qua việc ảo hoá các tài nguyên”. Khả năng mở rộng (Scalability) Ngay cả khi các hạ tầng và các bổ sung của Lưới không giải quyết thêm vấn đề mới thì nó thường mở rộng dữ liệu, tài nguyên và người dùng vì thế góp phần tăng thêm sự phức tạp của Lưới. Điều này cũng được diễn tả là sự thật một Lưới nên “không định trước phán đoán sớm là cái gì là người dùng không thể giải quyết” Khẳ năng tái cấu hình (Reconfigurability) Một Lưới nên “có thể tái cấu hình một cách linh động” như nó được chỉ ra trong định nghĩa của CoreGrid. An toàn (Security) Truy cập an toàn vào các tài nguyên là tính năng chính của một Lưới. Vì thế các người dùng và các ứng dụng được ủy quyền chỉ được một số lượng hạn chế (hoặc có thể là không có) các thao tác mà nó thực thi trên các dịch vụ. Về cơ bản, an toàn của Lưới là một trong những điều đầu tiên mà những người dừng Grid thật sự phải để cập đến và vì vậy nó là điểm chính yếu cho bất kỳ hệ thống Lưới nào mà nó bao gồm nhiều vùng quản trị. Trang 10 [...]... mở rộng 1 Bài toán tìm kiếm trên không gian dữ liệu lớn Để minh họa cho việc ứng dụng Tính toán lưới vào giải quyết bài toán có khối lượng tính toán và dữ liệu lớn, ta sử dụng một bài toán mang tính tổng quát sau: a Phát biểu bài toán Tìm kiếm một (hoặc nhiều) kết quả trong một tập hợp rất lớn các khả năng có thể (các dữ liệu) Đây là bài toán tổng quát có thể áp dụng cho các trường hợp như giải mã các... nhau trong kho dữ liệu khổng lồ… Có thể xem đây như là bài toán căn bản sẽ cần áp dụng trong các ứng dụng cụ thể về nghiên cứu Vật lý, Sinh học, Khí hậu Bài toán ở đây không quan tâm đến việc sử dụng các thuật toán tối ưu để làm giảm số lượng khả năng cần kiểm tra mà quan tâm đến việc xử lý khối lượng tính toán và dữ liệu lớn b Giải quyết bài toán bằng tính toán lưới Với yêu cầu đặt ra, nếu số lượng. .. với từng phần của bài toán hoặc cả bài toán để tìm ra nhiều giải thuật song song khác nhau Ở bước thiết kế này, tránh việc phải tạo ra các bản sao tính toán và dữ liệu, vì vậy phải tìm cách định nghĩa các công việc sao cho việc tính toán và dữ liệu phải thuộc các tập không trùng nhau Phân rã miền Với cách tiếp cận này, ta tìm cách phân rã dữ liệu của bài toán thành các mẫu dữ liệu nhỏ có kích thước xấp... phân chia có mục đích là tìm ra các cơ hội để thực hiện song song các công việc Vì vậy nó chú ý đến việc định nghĩa ra một số lượng lớn các công việc nhỏ để thực hiện Phân chia bao gồm việc phân chia các tính toán để giải quyết bài toán và phân chia các dữ liệu được xử lý trong bài toán Khi thiết kế một cách phân chia, thông thường lập trình viên nghĩ đến cách chia nhỏ các dữ liệu của bài toán, sau... đã được chia nhỏ này Áp dụng phương pháp thiết kế thuật giải song song trong trường hợp này, ta có thể tiếp cận theo các bước sau: Phân chia: Với bài toán này, dễ dàng nhận ra phương pháp thích hợp là phân rã miền Không gian dữ liệu cần tìm kiếm được chia thành các vùng nhỏ hơn Với đặc thù bài Trang 34 Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ toán này thì các dữ liệu có thể phân chia thành các đơn... chương trên, khả năng của Tính toán lưới là kết hợp nhiều nguồn tài nguyên để cung cấp cho các nhu cầu tính toán lớn Đối với một bài toán cụ thể, tính toán lưới có thể giúp giải quyết theo các cách sau: - Tìm nguồn tài nguyên tính toán phù hợp để thực hiện công việc tính toán (ví - dụ một bài toán đòi hỏi cần một máy tính với cấu hình phù hợp để thực thi) Thực thi bài toán bằng cách cho thực hiện trên... tính toán đồng thời Đối với trường họp này, bài toán được xử lý bằng cách chia nhỏ ra và thực hiện song song và phân tán Như vậy, vấn đề sử dụng Tính toán lưới trong trường hợp này liên quan mật thiết với vấn đề xử lý song song và phân tán I Phương pháp thiết kế các chương trình song song Hầu hết các bài toán có rất nhiều giải pháp để thực hiện nó theo cách song song Giải pháp song song tốt nhất có thể... này thì các tính toán cần thực thi được chú ý trước chứ không phải dữ liệu mà nó thao tác trong tính toán Nếu phân chia được các tính toán này thành các công việc tách rời nhau, ta sẽ định ra các dữ liệu cần thiết cho các công việc này Các dữ liệu cần thiết cho từng công việc này có thể tách rời nhau, nhưng cũng có thể chồng lên nhau Trường hợp này thì cần phải có lượng truyền thông lớn để tránh việc... thi Phương pháp cân bằng tải theo xác xuất thấp hơn là phương pháp khai thác cấu trúc trong một chương trình Vấn đề phức tạp nhất là trường hợp số lượng các công việc hay số lượng các tính toán và truyền thông trong một công việc thay đổi trong quá trình thực thi chương trình Trong trường hợp bài toán được thiết kế sử dụng kỹ thuật phân rã miền, chúng ta nên dùng chiến lược cân bằng tải động, giải. .. phân chia các tính toán phải được thực hiện, bằng cách kết nối mỗi xử lý với các dữ liệu mà nó xử lý Cách phân chia này tạo ra một số lượng các công việc, mỗi công việc bao gồm một số dữ liệu và các một tập các xử lý trên dữ liệu đó Một xử lý có thể yêu cầu dữ liệu trên nhiều công việc khác nhau, trong trường hợp đó thì cần phải có truyền thông giữa các công việc Phân rã chức năng Trong cách tiếp cận . CÁO CHUYÊN ĐỀ TÍNH TOÁN LƯỚI Đề tài: PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN CÓ LƯỢNG DỮ LIỆU LỚN TRONG CÓ LƯỢNG DỮ LIỆU LỚN TRONG GRID COMPUTING GRID COMPUTING GVHD :. và nước. Tính toán lưới được thiết kế để giải quyết các bài toán rất lớn ngay cả so với bất kỳ một siêu máy tính đơn lẻ nào, trong khi vẫn linh động khi làm việc với nhiều bài toán nhỏ. Như vậy tính toán. ngoài (External Grids). • Tính toán lưới cũng thu hút các doanh nghiệp thương mại lớn có nhiều bài toán tính toán phức tạp, là những doanh nghiệp hướng đến việc khai thác toàn bộ các năng lực tính toán trong

Ngày đăng: 09/04/2015, 16:12

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w