LUẬN VĂN:GIẢI HỆ PHƢƠNG TRÌNH TUYẾN TÍNH KÍCH THƯỚC LỚN TRÊN NỀN TẢNG GRID COMPUTING pdf

69 268 0
LUẬN VĂN:GIẢI HỆ PHƢƠNG TRÌNH TUYẾN TÍNH KÍCH THƯỚC LỚN TRÊN NỀN TẢNG GRID COMPUTING pdf

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Đức Thịnh GIẢI HỆ PHƢƠNG TRÌNH TUYẾN TÍNH KÍCH THƢỚC LỚN TRÊN NỀN TẢNG GRID COMPUTING KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hƣớng dẫn: Tiến sĩ. Nguyễn Minh Hằng HÀ NỘI - 2010 Lời cảm ơn Trước hết là lời cảm ơn sâu sắc của em đến những người đã giúp đỡ em hoàn thành khóa luận tốt nghiệp này, một dấu mấu quan trọng trong cuộc đời và sự nghiệp của em. Em xin chân thành cảm ơn Khoa công nghệ thông tin trường đại học Công Nghệ - Đại học quốc gia Hà Nội đã tạo điều kiện cho em được thực hiện khóa luận này. Khóa luận sẽ không thể hoàn thành nếu thiếu sự chỉ bảo tận tình của TS.Nguyễn Minh Hằng, người đã định hướng, hỗ trợ em trong suốt thời gian 3 tháng thực hiện khóa luận. Em xin chân thành cảm ơn cô. Một lời cảm ơn từ đáy lòng con xin được gửi đến cha mẹ, những người đã nuôi nấng con thành người để được có ngày hôm nay. Em xin cảm ơn các quý thầy cô đã dạy dỗ em trong suốt 4 năm học ở nhà trường, cung cấp cho em những kiến thức quý báu để bước vào đời. Cảm ơn các bạn của tôi đã là những người động viên tinh thần cũng như ở bên tôi giúp đỡ tôi khi tôi gặp khó khăn. Thời gian 3 tháng vừa qua, mặc dù đã cố gắng để hoàn thành khóa luận một cách tốt nhất nhưng vẫn không thể tránh nổi những sai sót. Em xin kính mong nhận được sự góp ý cũng như chỉ bảo của quý thầy cô. Xin chân thành cảm ơn Sinh viên Nguyễn Đức Thịnh Mục lục Lời mở đầu 1 Tóm tắt khóa luận 3 Chương 1 : Tổng quan về công nghệ Grid Computing 4 1.1. Lịch sử phát triển của công nghệ Grid 4 1.2. Khái niệm 5 1.3. Các kiểu tài nguyên của Grid 6 1.3.1. Tài nguyên tính toán 6 1.3.2. Tài nguyên lưu trữ 6 1.3.3. Phương tiện liên lạc 6 1.3.4. Phần mềm, ứng dụng 7 1.3.5. Các thiết bị đặc biệt 7 1.4. Phân lọai các hệ thống Grid 7 1.4.1. Grid Tính toán (Computation Grid) 7 1.4.2. Grid Dữ liệu (Data Grid) 8 1.4.3. Scavenging Grid 8 1.5. Kiến trúc Grid 8 1.5.1. Bản chất Kiến trúc Grid 8 1.5.2. Chi tiết Kiến trúc Grid tổng quát 10 1.5.2.1. Tầng Fabric 10 1.5.2.2. Tầng Connectivity 11 1.5.2.3. Tầng Resource 12 1.5.2.4. Tầng Collective 13 1.5.2.5. Tầng Application 13 1.6. Grid computing đem lại những lợi ích gì ? 13 1.6.1. Khai thác tối đa tài nguyên xử lý 13 1.6.2. Khả năng xử lý song song 14 1.6.3. Chia sẽ tài nguyên ảo và tổ chức ảo 14 1.6.4. Sự truy cập đến các tài nguyên khác 14 1.6.5. Cân bằng tài nguyên 15 1.6.6. Độ tin cậy 16 Chương 2: Globus Toolkit 4 17 2.1. Khái niệm về Globus 17 2.2. Nguyên nhân thúc đẩy sự phát triển của Globus 18 2.3. Kiến trúc Globus 19 2.3.1. Các thành phần thường trực 19 2.3.1.1. Java WS Core 19 2.3.1.2. C WS Core 19 2.3.2. Các thành phần bảo mật 19 2.3.2.1. Cơ bản về bảo mật Grid và GSI 20 2.3.3. Các thành phần quản lý dữ liệu 25 2.3.3.1. GridFTP 25 2.3.3.2. Information services 26 2.3.3.3. Index Service 27 2.3.4. Các thành phần quản lý tài nguyên 27 2.3.4.1. Kiến trúc quản lý tài nguyên của Globus Toolkit 27 2.3.4.2. Chi tiết các thành phần 29 2.3.4.2.1. GRAM 29 2.3.4.2.2. Pre-WS GRAM 32 2.3.4.2.3. WS-GRAM 34 Chương 3 : MPICH và MPICH-G2 40 3.1. MPI 40 3.2. MPICH 41 3.3. MPICH-G2 41 3.3.1. Quá trình thực thi một ứng dụng 42 Chương 4 : Thí nghiêm triển khai hệ thống Grid cơ bản cho mục đích tính toán song song sử dụng Globus Toolkit và MPICH-G2 44 4.1. Triển khai Globus Toolkit 44 4.1.1. Chuẩn bị về phần cứng và phần mềm hệ thống 44 4.1.2. Cài đặt Globus Toolkit 45 4.1.3. Cấu hình các thành phần của globus toolkit 47 4.1.3.1. Cấu hình bảo mật 47 4.1.3.2. Cấu hình dich vụ GridFTP 50 4.1.3.3. Cấu hình gatekeeper 51 4.1.3.4. Cấu hình WS GRAM 52 4.2. Triển khai MPICH-G2 53 Chương 5 : Chạy và đánh giá hiệu năng của hệ thống Grid 54 5.1. Giới thiệu về 3 bài toán sẽ được thử nghiệm 54 5.1.1. Tính toán số PI 54 5.1.2. Hệ phương trình tuyến tính 54 5.1.3. Bài toán quy hoạch tuyến tính 55 5.2. Cách thức chạy 1 bài toán trên hệ thống Grid được xây dựng bởi 2 công cụ Globus Toolkit và MPICH 57 5.3. Kết quả chạy các chương trình và đánh giá kết quả 59 5.3.1. Kết quả chạy chương trình tính số PI 59 5.3.2. Kết quả chạy chương trình giải hệ phương trình tuyến tính 59 5.3.3. Kết quả giải bài toán quy hoạch tuyến tính 60 5.3.4. Nhận xét chung 62 Kết luận 63 Tài liệu tham khảo 64 1 Lời mở đầu Trong thập niên qua, nền công nghệ thông tin thế giới phát triển đã đóng góp rất nhiều vào sự phát triển chung của thế giới. Chúng ta có thể bắt gặp những ứng dụng của công nghệ thông tin ở khắp mọi nơi, giờ đây nhiều người sở hữu máy tính cá nhân, sở hữu những chiếc điện thoại, cập nhập thông tin qua những trang web, kết nối với nhau qua những phần mềm chat… Đấy là những thứ hiện hữu hàng ngày mà chúng ta trực tiếp sờ thấy và sử dụng nó, ẩn sau nó là những nghiên cứu, những công nghệ được rất nhiều nhà khoa học cũng như phát triển trên thế giới nghiên cứu để đóng góp vào sự phát triển của nền công nghệ thông tin nói riêng và nền khoa học thế giới nói chung. Khi nói đến máy tính, một khái niệm hay được nhắc đến là những chiếc máy tính để bàn nhỏ gọn hay những chiếc laptop cá nhân. Nhưng đó là những thiết bị cá nhân giúp chúng ta giải trí, làm việc, còn với những chiếc máy tính phải xử lý lượng dữ liệu từ khắp nơi trên thế giới một cách thường xuyên và liên tục thì sao. Khi đó ,chúng ta lại được bắt gặp khái niệm siêu máy tính (Super Computer) . Những siêu máy tính trên thế giới được xây dựng rất đắt tiền với hàng trăm ngàn hay hàng triệu bộ vi xử lý, để đầu tư cho những hệ thống máy như vậy tốn rất nhiều tiền của cho việc triển khai cũng như bảo dưỡng, với mục đích sử dụng kết nối những người dùng hay tổ chức có chung một mục đích xử lý hay tận dụng tài nguyên máy tính của bất kỳ người dùng máy tính nào để tạo thành một hệ thống mạnh mẽ phục vụ cho việc giải các bài toán về khoa học, thương mại, một lĩnh vực nghiên cứu mới được đưa ra, đó là Grid Computing. Nói một cách tống quát nhất Grid là một loại hệ thống phân tán, bố trí song song, cho phép linh hoạt chia sẻ, tuyển lựa và tập hợp các nguồn tài nguyên độc lập và rải rác về địa lý, tùy theo khả năng sẵn có, công suất, hoạt động, chi phí và yêu cầu về chất lượng dịch vụ của người sử dụng. Grid Computing có rất nhiều ưu điểm mà có thể áp dụng cho việc nghiên cứu cũng như những ưu điểm có thể áp dụng cho doanh nghiệp. Trên thế giới, ý tưởng về Grid Computing đã được hình thành và nghiên cứu từ rất lâu nhưng thực sự bùng nổ vào vài năm trở lại đây khi được các tổ chức cũng như tập đoàn lớn trên thế giới nghiên cứu và triển khai. Tại Việt Nam, công việc nghiên cứu Grid Computing đã được triển khai từ khá lâu và gần đây nhất là đề tài cấp nhà nước “Nghiên cứu, phát triển hệ thống tính toán lưới để hỗ trợ giải quyết các bài toán có khối lượng tính 2 toán lớn (VNGrid)” do PGS.TS. Vũ Đức Thi làm chủ nhiệm cũng đã đạt được một số thành tựu nhất định. Nhận thấy Grid computing là một hướng nghiên cứu đang rất được quan tâm tại ở Việt Nam cũng như thế giới và những lợi ích to lớn mà nó mang lại. Em quyết định chọn đề tài “Giải giải hệ phương trình tuyến tính kích thước lớn trên nền tảng Grid Computing” với mục đích là tìm hiểu Công nghệ Grid là gì ,những khái niệm và đặc điểm liên quan, thí nghiệm tạo một hệ thống Grid nhỏ bằng gói phần mềm GLOBUS TOOLKIT cùng MPICH-G2 để kiểm nghiệm hiệu năng của hệ thống grid khi chạy bài toán Giải hệ phương trình tuyến tính kích thước lớn. 3 Tóm tắt khóa luận 1. Thông tin chung về khóa luận Tên đề tài : Giải hệ phương trình tuyến tính trên nền tảng Grid Computing Giảng viên hướng dẫn : TS.Nguyễn Minh Hằng Sinh viên thực hiện : Nguyễn Đức Thịnh 2. Tóm tắt nội dung khóa luận Khóa luận thực hiện nghiên cứu tìm hiểu các vấn đề chung của công nghệ Grid về mặt khái niệm, kiến trúc của một hệ thống Grid và những ích lợi của Grid mang lại. Cung cấp một cái nhìn tổng quan về Grid. Tìm hiểu mô hình hoạt động của gói phần mềm Globus Toolkit, một gói phần mềm giúp xây dựng một hệ thống Grid, các vấn đề khi thực hiện triển khai tạo dựng một hệ thống Grid với Globus Toolkit. Tìm hiểu về MPICH, MPICH-G2, nguyên tắc hoạt động của MPICH kết hợp với Globus Toolkit để tạo dựng hệ thống Grid phục vụ việc tính toán song song sử dụng ngôn ngữ C và MPI. Thử nghiệm bài toán giải hệ phương trình tuyến tính theo thuật toán song song trên một hệ thống Grid để xem cách thức hoạt động và ưu điểm về khả năng kết hợp xử lý giữa các máy tính khác nhau. 3. Các công cụ đƣợc sử dụng triển khai và thử nghiệm  Globus Toolkit 4.2.1  Centos 5.4  MPICH-1.2.7 4 Chương 1 : Tổng quan về công nghệ Grid Computing 1.1. Lịch sử phát triển của công nghệ Grid Trong những năm gần đây, chúng ta được nghe nhiều đến công nghệ Grid và những ưu điểm của nó. Vậy Grid xuất hiện từ khi nào, từ bao giờ ? Trong quá khứ, những ý tưởng tính toán có liên quan đến Grid đã xuất hiện, với những tên gọi khác nhau và cách tiếp cận khác nhau. 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 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. 5 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. 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 như sau:  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.  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.  Đá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. [...]... pháp Grid thường là sự kết hợp 2 hay nhiều loại khác nhau 1.4.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. .. 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 1.4 Phân lọai các hệ thống 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. .. 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 7 đó phân phối đến các node trên Grid Mỗi node sẽ thực hiện xử lý dữ liệuvà 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 1.4.2 Grid Dữ liệu (Data Grid) Ở... 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 1.4.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... ~/.globus/ Grid- cert-request Grid- cert-info Diễn giải Lấy thông tin về chứng chỉ Ví dụ : -subject - $ Grid- cert-info –subject enddate -issuer -help “/O =Grid/ O=GridTest/OU=test.domain.com /CN=GreenStar -hours Thực hiện khởi tạo proxy và đăng nhập vào -bits Grid- proxy-init -all -startdate Grid -help Grid- proxydestroy Logout khỏi Grid, thực hiện hủy proxy cục bộ Lưu ý, các proxy ở xa không bị huỷ Grid- proxy-info... 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 1.5 Kiến trúc Grid 1.5.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, 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... người dùng cục bộ Điều này cho phép phân cho các người dùng Grid khác nhau các quyền khác nhau trên tài nguyên thông qua các người dùng cục bộ được ánh xạ Để từ chối truy cập đối với một DN, chỉ cần loại bỏ DN đó ra khỏi Grid map file Trong Globus Toolkit, trên hệ thống Linux, Grid map file được lưu trong file : /etc /grid- security /grid- mapfile Grid- mapfile là một file text, mỗi dòng là một ánh xạ 23 giữa... nguyên của Grid 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... dữ liệu 2.3.3.1 GridFTP Giao thức GridFTP đưa ra một cơ chế sử dụng cho mục đích truyền sữ liệu an toàn, tin cậy, đạt hiệu suất cao Grid được sử dụng rộng rãi trong các nhu cầu truyền tải 25 liệu với khối lượng lớn dữ liệu GridFTP được xây dựng trên nền tảng của giao thức FTP và đưa ra 2 kênh giao tiếp: một kênh điều khiển và 1 cây dữ liệu Các lệnh và những dòng phản hồi được di chuyển trên kênh điều... Resource) - 1.6 Grid computing đem lại những lợi ích gì ? 1.6.1 Khai thác tối đa tài nguyên xử lý Lợi ích đầu tiên cần nói đến đó là khả năng chạy một chương trình trên nhiều máy tính khác nhau Hay nói một cách khác ,đó là xử lý song song Trong một mạng lưới gồm nhiều máy tính ,rất ít khi các máy tính đều được sử dụng một cách tối đa những tài nguyên của mình ,thường thì với công việc văn phòng ,tính toán . HỌC CÔNG NGHỆ Nguyễn Đức Thịnh GIẢI HỆ PHƢƠNG TRÌNH TUYẾN TÍNH KÍCH THƢỚC LỚN TRÊN NỀN TẢNG GRID COMPUTING KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông. trình tuyến tính kích thước lớn trên nền tảng Grid Computing với mục đích là tìm hiểu Công nghệ Grid là gì ,những khái niệm và đặc điểm liên quan, thí nghiệm tạo một hệ thống Grid nhỏ bằng. hiệu năng của hệ thống grid khi chạy bài toán Giải hệ phương trình tuyến tính kích thước lớn. 3 Tóm tắt khóa luận 1. Thông tin chung về khóa luận Tên đề

Ngày đăng: 27/06/2014, 23:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan