Nghiên cứu phát triển ứng dụng trên GRID

116 550 2
Nghiên cứu phát triển ứng dụng trên GRID

Đ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

Nghiên cứu phát triển ứng dụng trên GRID

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2006 NGHIÊN CỨU PHÁT TRIỂN ỨNG DỤNG TRÊN GRID Lê Bá Dũng ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2006 Ngô Cao Cường Lê Bá Dũng Trần Thiện Thịnh ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Cán bộ hướng dẫn: ThS.Nguyễn Nam Hải Lời cảm ơn Trước tiên, chúng em muốn gửi lời cảm ơn chân thành và sâu sắc nhất đến thầy giáo, ThS. Nguyễn Nam Hải, người đã tận tình hướng dẫn chúng em trong suốt quá trình làm nghiên cứu khoa học và làm khóa luận tốt nghiệp. Chúng em cũng xin gửi lời cảm ơn chân thành đến các thầy giáo, cô giáo đã giảng dạy chúng em trong những năm qua, những kiến thức mà các thầy cô đã dạy là hành trang vững chắc để chúng em bước vào cuộc sống. Cuối cùng chúng em xin gởi lời cảm ơn đến gia đình và bè bạn, những người đã luôn ở bên động viên, giúp đỡ chúng em trong cuộc sống. Hà Nội 5-2006 i Tóm tắt Trong vài năm trở lại đây tính toán mạng lưới (Grid computing) đã phát triển mạnh mẽ, mở ra các giải pháp mới cho các ứng dụng đòi hỏi khả năng tính toán lớn. Grid computing có thể được sử dụng cho các bài toán nghiên cứu về sinh học, y học, vật lí, hóa học…cũng như các ứng dụng trong phân tích và đánh giá tài chính, khai phá dữ liệu, các ứng dụng trong chính phủ điện tử và rất nhiều các loại ứng dụng khác. Trong khóa luận tốt nghiệp này, chúng tôi trình bày một cách tổng quan về công nghệ Grid computing như ưu nhược điểm, các mô hình kiến trúc và công nghệ liên quan. Trên cơ sở đó đi sâu vào tìm hiểu quy trình xây dựngtriển khai một ứng dụng trên môi trường Grid computing dựa trên nền tảng của bộ công cụ Globus Toolkit phiên bản 4.0. Để lấy ví dụ, chúng tôi trình bày chi tiết các bước để triển khai một ứng dụng có sẵn – Math Service và chi tiết các bước xây dựng cũng như triển khai một ứng dụng mới – Bài toán tìm số nguyên tố Merssene. ii Mục lục Lời cảm ơn i Tóm tắt .ii Bảng các ký hiệu viết tắt .ix Mở đầu .1 Chương 1.Cơ bản về Grid Computing .4 1.1.Grid Computing là gì? 4 1.2.Lợi ích của Grid Computing 5 1.2.1.Khai thác tài nguyên xử lý 5 1.2.2.Khả năng xử lý song song 6 1.2.3.Sự cộng tác các tài nguyên ảo và tổ chức ảo .6 1.2.4.Sự truy cập tới các tài nguyên khác 7 1.2.5.Cân bằng tài nguyên .8 1.2.6.Độ tin cậy .9 1.2.7.Khả năng quản lý 10 Chương 2.Các thuật ngữ và khái niệm 12 2.1.Các kiểu tài nguyên 12 3.1.1.Tài nguyên tính toán 12 3.1.2.Kho lưu trữ 12 3.1.3.Truyền thông .13 3.1.4.Phần mềm và bản quyền 13 3.1.5.Các thiết bị đặc biệt, sức chứa, kiến trúc và quyền hạn 14 2.2.Công việc và ứng dụng .14 2.3.Lập lịch, đặt chỗ, và quét dọn 15 2.4.Các gói phần mềm grid 16 iii 3.4.1.Gói quản lý 16 3.4.2.Gói lập lịch 17 3.4.3.Các gói truyền thông 17 3.4.4.Gói quan sát và đo đạc .18 2.5.Các cấu hình mạng grid 18 Chương 3.Người dùng trong mạng Grid Computing .21 3.1.Người dùng bình thường 21 3.1.1.Tham gia vào grid và cài đặt các phần mềm .21 3.1.2.Đăng nhập vào grid .21 3.1.3.Truy vấn và đưa công việc 22 3.1.4.Cấu hình dữ liệu 22 3.2. Nhà quản trị .22 3.2.1.Cài đặt .23 3.2.2.Quản lý người dùng .23 3.2.3.Chứng thực 23 3.2.4.Quản lý tài nguyên .24 Chương 4.Một số chuẩn trong môi trường Grid 25 4.1.Kiến trúc dịch vụ Grid mở - Open Grid Services Architecture (OGSA) .25 4.2.Cơ sở hạ tầng của dịch vụ Grid mở - Open Grid Service Infrastructure (OGSI) 26 4.3.GridFTP 27 4.4.Cơ chế tài nguyên của dịch vụ Web – Web service resource framework 27 4.5.Một số chuẩn của dịch vụ Web 28 4.6.Tổng kết chương 29 Chương 5. Tổng quan về dịch vụ Web 30 5.1.Ưu điểm của dịch vụ Web so với các công nghệ khác .30 5.2.Nhược điểm khi dùng dịch vụ Web .31 iv 5.3.Lời gọi dịch vụ Web điển hình .31 5.4.Địa chỉ dịch vụ Web .32 5.5.Kiến trúc dịch vụ Web .32 5.6.Ứng dụng dịch vụ Web 33 5.7.Các bước để gọi một dịch vụ Web .34 5.8.Tổng kết chương 35 Chương 6.Cơ chế tài nguyên của dịch vụ Web – Web service resource framework 36 6.1.Quản lí trạng thái tài nguyên trong dịch vụ Grid .36 6.1.1.Dịch vụ Grid là gì 36 6.1.2.Những yêu cầu của dịch vụ Grid theo chuẩn OGSA .37 6.2.Chuẩn WSRF 37 6.2.1.Khái niệm WS-Resource .38 6.2.2.Các thành phần trong WSRF .39 6.3.Tổng kết chương 40 Chương 7. An ninh trong mạng Grid .41 7.1.Các yêu cầu về an ninh trong mạng lưới 41 7.2.Cơ sở hạ tầng an ninh của mạng lưới .43 7.2.1.Truy cập vào mạng lưới .44 7.2.2.Xác thực và quyền hạn 44 7.3.Tổng kết chương 45 Chương 8.Các thành phần của Globus Toolkit 4.0 46 8.1. Tổng quan về Globus Toolkit 4.0 46 8.2.Các thành phần thường trực .46 8.2.1.Java WS Core 47 8.2.2.C WS Core .47 8.2.3.Python WS Core 47 8.3.Các thành phần bảo mật .47 v 8.3.1.Thẩm định và cấp phép WS .48 8.3.2.Thẩm định và cấp phép Pre-WS 48 8.3.3.Dịch vụ cấp phép cộng đồng (Community Authorization Service - CAS). 48 8.3.4.Dịch vụ uỷ quyền 48 8.3.5.SimpleCA 48 8.3.6.GSI-OpenSSH .48 8.4.Các thành phần quản lý dữ liệu 49 8.4.1.GridFTP .49 8.4.2.Truyền Tệp tin cậy (Reliable File Transfer - RFT) .49 8.4.3.Dịch vụ mô hình hoá địa chỉ (Replica Location Service - RLS) .50 8.4.4.Dịch vụ sao lưu dữ liệu (Data Replication Service - DRS) .50 8.4.5.Các dịch vụ kiểm tra và khám phá thông tin (Monitoring and Discovery Services - MDS) .51 8.4.6.Index service 51 8.5.Các thành phần quản lý thi hành 51 8.5.1.WS GRAM 51 Chương 9. Cài đặt và cấu hình Globus Toolkit 4.0 52 9.1.Download Globus Toolkit 4.0 52 9.2.Mô hình môi trường mạng Grid .52 9.3.Cài đặt Globus Toolkit 4.0 .53 9.3.1.Cài đặt các phần mềm yêu cầu cho Globus Toolkit 4.0 53 9.3.2.Cấu hình môi trường Linux cho Globus Toolkit 4.0 .55 9.3.3.Cài đặt Globus Toolkit 4.0 56 9.4.Cấu hình và thử nghiệm môi trường Grid 57 9.4.1.Cấu hình các biến môi trường .58 9.4.2.Cấu hình bảo mật .58 9.4.3.Cấu hình Java WS Core .63 vi 9.4.4.Cấu hình và kiểm tra GridFTP 63 9.5.Gỡ bỏ Globus Toolkit 4.0 .65 Chương 10.Các bước lập trình một chương trình Grid 66 10.1.Giới thiệu sơ lược về chương trình Math Service 66 10.2.Các bước lập trình chương trình Math Service 66 10.2.1. Bước 1: Định nghĩa giao diện dịch vụ 67 10.2.2. Bước 2: Thực thi dịch vụ 70 10.2.3.Bước 3: Định nghĩa việc triển khai dịch vụ .73 10.2.4.Bước 4: Biên dịch và tạo tệp GAR 74 10.2.5.Bước 5: Triển khai dịch vụ 75 10.3.Chạy thử chương trình Math Service .76 Chương 11.Tự xây dựng một dịch vụ Grid: Bài toán số nguyên tố .78 11.1.Giới thiệu công cụ phát triển 79 11.1.1.Giới thiệu công cụ GT4IDE 80 11.1.2.Cài đặt GT4IDE .80 11.2.Tạo project GT4 với GT4IDE 81 11.3.Thuật toán tìm số nguyên tố Mersenne 83 11.3.1.Các khái niệm và mệnh đề .84 11.3.2.Một số thuật toán tiêu biểu 84 11.3.3.Lựa chọn thuật toán .87 11.4.Phân tích và thiết kế bài toán 87 11.4.1.Mô tả hệ thống .87 11.4.2.Phân tích hệ thống .90 11.4.3.Thiết kế hệ thống .92 11.5.Kết quả thử nghiệm 98 11.5.1.Viết mã chương trình .98 11.5.2.Giao diện của chương trình client: 99 vii [...]... nhất trên grid là tài nguyên tính toán được cung cấp bởi các bộ xử lý trên các máy của grid Các bộ xử lý có thể khác nhau về tốc độ, kiến trúc, hay các thiết bị đi kèm như bộ nhớ, ổ lưu trữ Có ba cách chính để tận dụng tài nguyên tính toán trên grid Cách đầu tiên đơn giản nhất là chạy ứng dụng trên một máy đang rỗi trên grid Cách thứ hai là phân chia ứng dụng thành nhiều phần rồi chạy song song trên. .. điểm nổi trội hơn so với các chương trình chạy trên máy tính thông thường Chẳng hạn như: thời gian xử lý công việc ngắn hơn nhờ khả năng tính toán song song, hiệu suất sử dụng tài nguyên tính toán cao hơn nhờ khả năng phân tán tài nguyên v.v Với những ưu điểm đó của các chương trình Grid, chúng tôi nghiên cứu đề tài: Nghiên cứu phát triển ứng dụng trên Grid Đề tại được chia thành các chương, nội dung... khá mới mẻ Đã có một số nhóm, tổ chức nghiên cứu về Grid Computing, tuy quy mô và điều kiện nghiên cứu còn rất hạn chế Nhận thấy những ý nghĩa thiết thực của Grid Computing có thể mang lại trong tương lai, nhóm sinh viên chúng tôi quyết định đi vào nghiêu cứu Grid Computing về công nghệ và phát triển ứng dụng mang tính thực tiễn trong cuộc sống Các chương trình chạy trên môi truờng mạng lưới có một số... song trên các bộ xử lý khác nhau Cách thứ ba là chạy ứng dụng, cần được xử lý nhiều lần, trên nhiều máy khác nhau trên grid Khả năng mở rộng là thước đo bộ xử lý được sử dụng trên grid hiệu quả như thế nào Nếu hai bộ xử lý hoàn thành ứng dụng trong một nửa thời gian, đó là sự phân chia hoàn hảo Tuy nhiên có giới hạn như đã nói ở trên khi một ứng dụng chỉ có thể phân chia thành một số giới hạn các phần... cho các máy trên Các nhà quản trị phải phân loại các công việc để thực hiện phương pháp này 2.2 Công việc và ứng dụng Dù rất nhiều loại tài nguyên của grid được chia sẻ và sử dụng, chúng luôn luôn được truy cập thông qua ứng dụng hay công việc Chúng ta dùng định nghĩa ứng dụng như là cấp cao nhất của công việc trên grid Tuy nhiên từ “công việc” cũng được dùng với nghĩa tương đương Ứng dụng có thể... toán (Grid Computing) đang là “điểm nóng” công nghệ trên các diễn đàn công nghệ thông tin trên khắp thế giới Trên thế giới, công nghệ Grid (Grid Technologies) đang được giới khoa học – công nghệ nghiên cứu, phát triển sôi nổi Grid Computing hiện đang là nền tảng công nghệ chủ đạo của mạng Internet thế hệ mới, giữ vai trò giống như giao thức TCP/IP đối với mạng Internet hiện nay Ở Việt Nam hiện nay, Grid. .. cho cơ quan chứng thực CA (Certificate Authority) Cơ quan chứng thực cần chắc chắn rằng người sử dụng là có thật CA cấp một chứng chỉ đặc biệt cho phần mềm kiểm tra định danh của người dùng Người dùng có trách nhiệm giữ các thẻ chứng thực đã được phát Một khi người sử dụng đã được xác thực, phần mềm grid được cung cấp cho người sử dụng để anh ta có thể cài lên máy của mình và sử dụng grid Phần mềm... Chương này giới thiệu một chuẩn của dịch vụ Grid, đó là WSRF Chương 7: An ninh trong Mạng Grid Bảo mật là vấn đề quan trọng trong mạng Grid Computing Chương này đề cập đến những yêu cầu trong vấn đề bảo mật của Grid Computing Chương 8: Các thành phần của Globus Toolkit 4.0 Globus Toolkit 4.0 là công cụ nền tảng để phát triển các ứng dụng Grid, đang được sử dụng phổ biến hiện nay Chương này giới thiệu... hệ thống grid sử dụng chính hệ thống định danh của grid để phân biệt người sử dụng Cách này tỏ ra thuận tiện hơn với người sử dụng, giúp tránh được vấn đề trùng lặp định danh giữa các máy Nó làm cho grid trông giống như một máy tính cực lớn hơn là một tập hợp các máy khác nhau Khi đã đăng nhập, người sử dụng có thể sử dụng truy vấn và đưa lên grid các công việc cần thực hiện Một vài hệ thống grid cho... việc trên grid Ứng dụng chạy ở chế độ quét dọn sẽ đặt nó vào trong hệ thống với độ ưu tiên thấp nhất Vì thế, nó sẽ chỉ được chạy khi không có bất cứ chương trình nào khác đang chạy Với những bộ xử lý tốc độ cao ngày nay, ứng dụng grid có thể chạy trong vài phần trăm giây, thậm chí là giữa các lần bấm phím của người dùng Để có thể dự đoán dễ dàng hơn, các máy tính grid thường được thiết kế riêng cho grid

Ngày đăng: 27/04/2013, 17:54

Hình ảnh liên quan

Hình 1: Sự ảo hóa với nhiều cấp độ - Nghiên cứu phát triển ứng dụng trên GRID

Hình 1.

Sự ảo hóa với nhiều cấp độ Xem tại trang 18 của tài liệu.
Hình 2: Mạng grid ảo không đồng nhất - Nghiên cứu phát triển ứng dụng trên GRID

Hình 2.

Mạng grid ảo không đồng nhất Xem tại trang 20 của tài liệu.
Hình 3: Công việc được chuyển đến phần ít bận hơn trong mạng - Nghiên cứu phát triển ứng dụng trên GRID

Hình 3.

Công việc được chuyển đến phần ít bận hơn trong mạng Xem tại trang 22 của tài liệu.
Hình 4: Nhiều bản sao của công việc được tạo ra - Nghiên cứu phát triển ứng dụng trên GRID

Hình 4.

Nhiều bản sao của công việc được tạo ra Xem tại trang 23 của tài liệu.
Hình 5: Nhà quản trị có thể điều chỉnh chính sách thích hợp với tài nguyên - Nghiên cứu phát triển ứng dụng trên GRID

Hình 5.

Nhà quản trị có thể điều chỉnh chính sách thích hợp với tài nguyên Xem tại trang 24 của tài liệu.
Hình 6: Một ứng dụng có thể là một hay nhiều công việc được lập lịch chạy trên grid - Nghiên cứu phát triển ứng dụng trên GRID

Hình 6.

Một ứng dụng có thể là một hay nhiều công việc được lập lịch chạy trên grid Xem tại trang 28 của tài liệu.
Hình 9: Kiến trúc OGSA - Nghiên cứu phát triển ứng dụng trên GRID

Hình 9.

Kiến trúc OGSA Xem tại trang 39 của tài liệu.
Hình 10: Các thành phần trong OGSI - Nghiên cứu phát triển ứng dụng trên GRID

Hình 10.

Các thành phần trong OGSI Xem tại trang 40 của tài liệu.
Hình sau đây mô tả mối liên hệ giữa dịch vụ Web, WSRF và OGSA - Nghiên cứu phát triển ứng dụng trên GRID

Hình sau.

đây mô tả mối liên hệ giữa dịch vụ Web, WSRF và OGSA Xem tại trang 41 của tài liệu.
5.3.Lời gọi dịch vụ Web điển hình - Nghiên cứu phát triển ứng dụng trên GRID

5.3..

Lời gọi dịch vụ Web điển hình Xem tại trang 44 của tài liệu.
Hình 15:Các bước gọi dịch vụ web - Nghiên cứu phát triển ứng dụng trên GRID

Hình 15.

Các bước gọi dịch vụ web Xem tại trang 47 của tài liệu.
Hình 17: Các thành phần WSRF - Nghiên cứu phát triển ứng dụng trên GRID

Hình 17.

Các thành phần WSRF Xem tại trang 52 của tài liệu.
Hình 18: mô hình an ninh mạng lưới - Nghiên cứu phát triển ứng dụng trên GRID

Hình 18.

mô hình an ninh mạng lưới Xem tại trang 56 của tài liệu.
Hình 20: Mối quan hệ giữa Java WS Core và các dịch vụ trong Gridcomputing - Nghiên cứu phát triển ứng dụng trên GRID

Hình 20.

Mối quan hệ giữa Java WS Core và các dịch vụ trong Gridcomputing Xem tại trang 60 của tài liệu.
Hình 21: Mô hình truyền tệp với sự tham gia của bên thứ ba trong GridFTP - Nghiên cứu phát triển ứng dụng trên GRID

Hình 21.

Mô hình truyền tệp với sự tham gia của bên thứ ba trong GridFTP Xem tại trang 62 của tài liệu.
Hình 22: Mô hình hoạt động của RFT và GridFTP - Nghiên cứu phát triển ứng dụng trên GRID

Hình 22.

Mô hình hoạt động của RFT và GridFTP Xem tại trang 63 của tài liệu.
Hình 24: Chức năng tạo tệp GAR của công cụ Ant - Nghiên cứu phát triển ứng dụng trên GRID

Hình 24.

Chức năng tạo tệp GAR của công cụ Ant Xem tại trang 88 của tài liệu.
Hình 25: Cửa sổ cấu hình đường dẫn GT4 - Nghiên cứu phát triển ứng dụng trên GRID

Hình 25.

Cửa sổ cấu hình đường dẫn GT4 Xem tại trang 94 của tài liệu.
Hình 27: Cửa sổ tạo một project GT4 - Nghiên cứu phát triển ứng dụng trên GRID

Hình 27.

Cửa sổ tạo một project GT4 Xem tại trang 95 của tài liệu.
Hình 29: Giao diện chính của chương trình GT4IDE với Eclipse - Nghiên cứu phát triển ứng dụng trên GRID

Hình 29.

Giao diện chính của chương trình GT4IDE với Eclipse Xem tại trang 96 của tài liệu.
• Mô hình hoạt động của bài toán trong mạng Grid •Mô hình phân chia công việc - Nghiên cứu phát triển ứng dụng trên GRID

h.

ình hoạt động của bài toán trong mạng Grid •Mô hình phân chia công việc Xem tại trang 101 của tài liệu.
Mô hình phân chia công việc - Nghiên cứu phát triển ứng dụng trên GRID

h.

ình phân chia công việc Xem tại trang 102 của tài liệu.
Mô hình các thành phần của Service - Nghiên cứu phát triển ứng dụng trên GRID

h.

ình các thành phần của Service Xem tại trang 104 của tài liệu.
Hình 32: Sơ đồ mô tả hoạt động của Service - Nghiên cứu phát triển ứng dụng trên GRID

Hình 32.

Sơ đồ mô tả hoạt động của Service Xem tại trang 104 của tài liệu.
Hình 3 4: Biểu đồ mô tả hoạt động của việc lấy dữ liệu b- Client - Nghiên cứu phát triển ứng dụng trên GRID

Hình 3.

4: Biểu đồ mô tả hoạt động của việc lấy dữ liệu b- Client Xem tại trang 105 của tài liệu.
Hình 35: Sơ đồ biểu thị mối quan hệ giữa các đối tượng trong Service - Nghiên cứu phát triển ứng dụng trên GRID

Hình 35.

Sơ đồ biểu thị mối quan hệ giữa các đối tượng trong Service Xem tại trang 106 của tài liệu.
c- Mô hình các đối tượng trong Client - Nghiên cứu phát triển ứng dụng trên GRID

c.

Mô hình các đối tượng trong Client Xem tại trang 109 của tài liệu.
Hình 36: Sơ đồ biểu thị mối quan hệ giữa các đối tượng trong Client - Nghiên cứu phát triển ứng dụng trên GRID

Hình 36.

Sơ đồ biểu thị mối quan hệ giữa các đối tượng trong Client Xem tại trang 110 của tài liệu.
Hình 37: Giao diện chương trình Client - Nghiên cứu phát triển ứng dụng trên GRID

Hình 37.

Giao diện chương trình Client Xem tại trang 112 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan