Khóa luận Nghiên cứu phát triển ứng dụng trên Grid

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ựng và triể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.

doc117 trang | Chia sẻ: tuandn | Lượt xem: 2238 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Khóa luận Nghiên cứu phát triển ứng dụng trên Grid, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGHIÊN CỨU PHÁT TRIỂN ỨNG DỤNG TRÊN GRID HÀ NỘI - 2006 Ngành: Công nghệ thông tin KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC CHÍNH QUY 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ô Cao Cường Lê Bá Dũng Trần Thiện Thịnh HÀ NỘI - 2006 Cán bộ hướng dẫn: ThS.Nguyễn Nam Hải Ngành: Công nghệ thông tin 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 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ựng và triể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. Mục lục Bảng các ký hiệu viết tắt Ký hiệu viết tắt Ý nghĩa API Application Programming Interface – Giao diện lập trình ứng dụng CA Certificate Authority – Cơ quan chứng thực CAS Community Authorization Service - Dịch vụ cấp phép cộng đồng CORBA Common Object Request Broker Achitecture DRS Data Replication Service - Dịch vụ sao lưu dữ liệu FTP File Transfer Protocal - Giao thức truyền tệp GSI Grid Security Infrastructure - Cơ sở hạ tầng an ninh mạng lưới GT Globus Toolkit HTTP Hypertext Markup Language- Ngôn ngữ đánh dấu siêu văn bản MDS Monitoring and Discovery Services - Các dịch vụ kiểm tra và khám phá thông tin OSGA Open Grid Services Architecture - Kiến trúc dịch vụ web mở OSGI Open Grid Service Infrastructure - Cơ sở hạ tầng dịch vụ web mở RFT Reliable File Transfer - Truyền Tệp tin cậy RLS Replica Location Service - Dịch vụ mô hình hoá địa chỉ RMI Remote Method Invocation - RPs Resource Properties - thuộc tính tài nguyên SOA Service Oriented Architechture - Kiến trúc hướng dịch vụ SOAP Simple Object Access Protocol - Giao thức truy cập đối tượng đơn giản UDDI Universal Description, Discovery and Integration - chuẩn dịch vụ Tích hợp, Khám phá và Mô tả Toàn cầu URI Uniform Resource Identifiers - Địa chỉ dịch vụ Web WSDL Web serivce definition Language -Ngôn ngữ mô tả dịch vụ web WSRF Web service resource framework - Cơ chế tài nguyên của dịch vụ Web XML eXtensible Markup Language - Ngôn ngữ Đánh dấu Mở rộng Mở đầu Hiện nay, Mạng lưới tính 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 Computing đang còn là một vấn đề 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ố ưu đ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 chính của các chương gồm có: Chương 1: Cơ bản về Grid Computing? Chương này giới thiệu khái niệm Grid Computing để có thể hình dung được thế nào là Grid Computing và các khả năng mà Grid Computing có thể thực hiện được. Chương 2: Các thuật ngữ và khái niệm Grid Computing là lĩnh vực công nghệ khá mới mẻ nên xuất hiện nhiều thuật ngữ mới. Để có thể đi sâu vào nghiêu cứu Grid, chương này giới thiệu các thuật ngữ và khái niệm được dùng trong Grid. Chương 3: Người dùng trong mạng Grid Computing Chương này mô tả các cấp độ người dùng trong mạng Grid. Chương 4: Một số chuẩn trong môi trường Grid Chương này giới thiệu một số công nghệ chuẩn trong Grid Computing. Chương 5: Tổng quan về dịch vụ Web Dịch vụ Web là cơ sở cho dịch vụ Grid. Chương này giới thiệu các công nghệ của dịch vụ Web. Chương 6: Cơ chế tài nguyên của dịch vụ Web - WSRF 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 một số thành phần của bộ công cụ này. Chương 9: Cài đặt và cấu hình Globus Toolkit 4.0 Chương này hướng dẫn cài đặt bộ công cụ Globus Toolkit 4.0. Chương 10: Các bước lập trình một chương trình Grid Chương này giới thiệu các bước tiến hành xây dựng một chương trình Grid. Chương 11: Tự xây dựng một dịch vụ Grid: Bài toán Số nguyên tố Chúng tôi xây dựng một ứng dụng mang tính thực tiễn, đó là bài toán: Số nguyên tố. Mỗi thành viên trong nhóm thực hiện một số chương nhất định, cụ thể như sau: Từ Chương 1 đến Chương 3: Ngô Cao Cường. Từ Chương 4 đến Chương 7: Trần Thiện Thịnh. Từ Chương 8 đến Chương 10: Lê Bá Dũng. Chương 11: Chương trình Số nguyên tố được tất cả các thành viên cùng thiết kế và cùng tìm hiểu thuật toán. Các module chương trình được phân chia như sau: Ngô Cao Cường viết các module quản lý các tài nguyên trong Service bao gồm các lớp: PrimeResource, PrimeFactoryService và PrimeResouceHome. Lê Bá Dũng viết các module tìm kiếm và phân phối các công việc trong Service bao gồm các lớp: PrimeService và PrimePKC. Trần Thiện Thịnh viết chương trình Client. Cơ bản về Grid Computing Chương này mô tả định nghĩa về Grid computing và các lợi ích chính của Grid computing bao gồm: Khai thác tài nguyên xử lý Khả năng xử lý song song Cộng tác các tài nguyên ảo và tổ chức ảo Truy cập tới các tài nguyên khác Cân bằng tài nguyên Tính tin cậy Khả năng quản lý Grid Computing là gì? Có nhiều cách khác nhau để định nghĩa thế nào là Mạng tính toán lưới (Grid Computing). Để có thể hình dung Grid Computing là gì, chúng ta có thể tưởng tượng nó như một mạng lưới điện mà mọi người chỉ cần cắm phích điện vào để sử dụng mà không cần biết nguồn điện từ đâu đến.Tương tự như vậy, trong Grid Computing, một người dùng nào đó có thể truy nhập vào các tài nguyên (bao gồm: bộ xử lý, ổ lưu trữ, dữ liệu...) mà không cần biết các tài nguyên này nằm ở đâu, chúng dùng công nghệ gì, cấu hình phần cứng như thế nào,.v.v. Grid computing đã phải trải qua nhiều công đoạn hợp nhất các công nghệ và giải pháp để đạt được thành quả như hiện nay. Nhân tố cơ bản của Grid là công nghệ phân tán các thiết bị tính toán. Với công nghệ này, ta có thể chia sẻ tài nguyên và liên kết các tổ chức lại với nhau. Đây còn gọi là công nghệ ảo hóa. Để có được một môi trường hỗn hợp có thể chia sẻ tài nguyên, ngoài công nghệ ảo hóa, Grid còn dùng các công nghệ khác trong các lĩnh vực lập lịch, tài chính, bảo mật,.v.v. Sự ảo hóa trong môi trường grid có nhiều cấp độ khác nhau. Mỗi cấp độ phụ thuộc vào phạm vi và tính đồng nhất của tổ chức. Hình 1 mô tả từng cấp độ của sự ảo hóa từ đơn giản đến phức tạp khi đi theo chiều từ trái sang phải. Ở hình trái nhất là tổ chức đồng nhất, đơn tài nguyên. Tài nguyên ở đây có thể là CPU, ổ lưu trữ,các thiết bị và chương trình. Tiếp đến là hệ thống hỗn hợp gồm nhiều tài nguyên khác nhau. Cấp độ ảo hóa phức tạp hơn là ảo hóa trong một xí nghiệp. Hình bên phải là mức độ ảo hóa cao nhất với phạm vi trên toàn mạng Internet, bao gồm các đa tổ chức hỗn hợp. Hình 1: Sự ảo hóa với nhiều cấp độ Lợi ích của Grid Computing Khai thác tài nguyên xử lý Một trong những tính năng cơ bản của tính toán mạng lưới là khả năng chạy một chương trình trên nhiều máy tính khác nhau. Trong một mạng lưới bao gồm nhiều máy tính, có một số máy ở trạng thái bận do khối lượng công việc lớn, một số khác ở trạng thái rỗi do khối lượng công việc nhỏ. Trong hầu hết các tổ chức, luôn có những khối lượng lớn những tài nguyên dùng để tính toán. Trung bình mỗi ngày, mỗi máy tính có thời gian trung ở trạng thái thái bận là 5%. Điều đó chứng tỏ khối lượng tài nguyên rỗi trong một mạng là rất lớn. Grid cung cấp một khung làm việc (framework) để tận dụng những tài nguyên này và vì thế có thể tăng hiệu quả trong việc sử dụng các tài nguyên. Ngoài tài nguyên xử lý, tài nguyên lưu trữ cũng được sử dụng hiệu quả hơn nhờ Grid computing. Grid tận dụng các dung lượng đĩa cứng còn trống trong các máy tính để tập hợp thành một tài nguyên lưu trữ ảo trọng mạng. Khả năng xử lý song song Khả năng kết hợp nhiều CPU cùng xử lý song song là một tính năng hấp dẫn của Grid computing. Các chương trình chạy trên môi trường Grid sử dụng các thuật toán để phân chia công việc xử lý thành nhiều thành phần độc lập. Mỗi CPU trên mỗi máy tính trong mạng đảm nhận việc xử lý một hay nhiều thành phần đó. Tính độc lập của các thành phần càng cao thì chương trình càng dễ dàng được mở rộng trên phạm vi mạng lưới nhiều máy tính hơn. Một mạng lưới được gọi là hoàn hảo nếu với mười máy tính, tốc độ xử lý của mạng tăng lên gấp mười. Tuy nhiên, trên thực tế không có mạng lưới hoàn hảo. Có hai lí do chính để mạng lưới trên thực tế không thể trở thành hoàn hảo. Thứ nhất là: việc sử dụng thuật toán phân chia công việc ảnh hưởng lớn đến hiệu năng tính toán chung của mạng. Thứ hai là: các thành phần của công việc không hoàn toàn độc lập với nhau. Không phải ứng dụng nào cũng có thể chuyển đổi để Grid có thể xử lý song song. Hơn nữa, không có một công cụ nào có thể chuyển đổi một ứng dụng bất kỳ sang dạng chạy song song trên grid. Khả năng xử lý song song của một chương trình trên mạng lưới phụ thuộc vào người thiết kế, và đó không phải là công việc đơn giản. Sự cộng tác các tài nguyên ảo và tổ chức ảo Một khả năng khác của grid computing là tạo nên môi trường cộng tác rộng lớn, đồng nhất. Mỗi môi trường đó được gọi là một tổ chức ảo. Grid computing thậm chí có khả năng tạo nên một môi trường rộng lớn hơn bằng cách kết hợp các tổ chức ảo, không đồng nhất với nhau để cùng cộng tác với nhau. Hình 2 mô tả môi trường không đồng nhất đó. Mỗi người sử dụng mạng lưới được phân bổ vào một tổ chức ảo nào đó. Các tổ chức ảo này có thể chia sẻ tài nguyên với nhau như một mạng lưới lớn. Chia sẻ tài nguyên bắt đầu với dữ liệu dạng tệp hay cơ sở dữ liệu. Lưới dữ liệu có thể mở rộng dữ liệu theo nhiều cách khác nhau. Đầu tiên, tệp hay cơ sở dữ liệu có thể được trải rộng trên nhiều hệ thống tạo nên dung lượng lớn hơn rất nhiều so với hệ thống đơn. Cách trải dữ liệu này có thể tăng tốc độ truyền dữ liệu với công nghệ striping. Dữ liệu thường xuyên được sao lưu phục vụ cho việc khôi phục dữ liệu. Ngoài việc chia sẻ tài nguyên là các tệp và cơ sở dữ liệu, ta có thể chia sẻ nhiều tài nguyên khác, như các thiết bị chuyên dụng, phần mềm, dịch vụ, ...Những tài nguyên này được “ảo hóa” để giữ chúng đồng bộ trong một hệ thống mạng luới không đồng nhất. Các tài nguyên đó gọi là các tài nguyên ảo. Những người tham gia hay sử dụng grid là một thành viên trong một tổ chức nào đó. Grid có thể yêu cầu người dùng đó tuân thủ các luật lệ, quyền hạn sử dụng, từ đó có thể giải quyết được các vấn đề về ưu tiên, bảo mật,... Hình 2: Mạng grid ảo không đồng nhất Sự truy cập tới các tài nguyên khác Ngoài CPU và tài nguyên lưu trữ, Grid còn có thể truy nhập đến những tài nguyên khác. Các tài nguyên này có thể được cung cấp dưới dạng số lượng hoặc khả năng lưu trữ, băng thông. Ví dụ, nếu một người muốn tăng băng thông truy nhập Internet để thực hiện việc khai thác dữ liệu tìm kiếm, công việc này có thể phân chia giữa các máy trong mạng grid có đường truyền Internet không phụ thuộc nhau. Trong trường hợp này, khả năng tìm kiếm được nhân lên, khi mỗi máy có đường truyền riêng biệt. Nếu các máy chia sẻ đường kết nối Internet, thì nó sẽ không tăng băng thông. Trong một mạng lưới, một số máy tính nào có thể được cài đặt những phần mềm đắt tiền, có bản quyền mà một máy khác không có. Người sử dụng máy tính không cài đặt phần mềm đó có thể sử dụng phần mềm này bằng cách gửi công việc đến máy tính được cài phần mềm để yêu cầu xử lý. Đó là khả năng tận dụng phần mềm của Grid. Một vài máy tính có thể có những thiết bị đặc biệt, chẳng hạn như máy in. Hầu hết các máy in được sử dụng từ xa. Grid có thể chia sẽ được những thiết bị đặc biệt này. Thậm chí grid có thể chia sẻ những thiết bị, tài nguyên phức tạp như máy chuẩn đoán bệnh hay robot hỗ trợ phẫu thuật Cân bằng tài nguyên Grid liên kết các tài nguyên từ nhiều máy khác nhau tạo thành một hệ thống duy nhất. Grid có thể thực hiện cân bằng tài nguyên trong các chương trình bằng cách lập lịch làm việc cho các công việc, như hình 3 dưới đây. Chức năng này có ý nghĩa rất lớn trong việc xử lý các trường hợp quá tải về xử lý, tính toán trong một tổ chức. Chức năng cân bằng có thể được thực theo 2 cách sau: Những điểm quá tải được đưa đến những máy rỗi trên mạng lưới. Nếu toàn mạng grid đã bận, những công việc có độ ưu tiên thấp được tạm ngừng nhường cho những công việc khác có độ ưu tiên cao. Đôi khi có những công việc đột ngột được tăng độ ưu tiên do cần hoàn thành gấp. Grid không thể xử lý được những công việc cần hoàn thành quá gấp. Tuy nhiên grid có thể phân chia nó thành nhiều công việc nhỏ và huy động một lượng lớn tài nguyên để xử lý nó một cách nhanh nhất. Hình 3: Công việc được chuyển đến phần ít bận hơn trong mạng Một lợi ích khác khi dùng grid là cân bằng tải. Khi một công việc liên lạc với một công việc khác, với Internet, hoặc các tài nguyên khác, Grid có thể lập lịch cho chúng để có thể giảm thiểu tối đa lưu lượng đường truyền cũng như khoảng cách truyền. Điều này giúp Grid có thể giảm thiểu tắc nghẽn mạng. Cuối cùng, Grid còn có khả năng thương mại tài nguyên. Các trạng thái của tất cả các tài nguyên trong mạng được Grid quản lý. Các tổ chức trên grid có thể tạo tài khoản và trả tiền để sử dụng các tài nguyên này khi cần thiết. Điều này tạo nên tài chính mạng lưới. Độ tin cậy Những hệ thống tính toán mạnh sử dụng phần cứng đắt tiền để tăng độ tin cậy. Chúng sử dụng bộ xử lý kép để khi hỏng hóc có thể thay thế bộ xử lý thứ hai mà không cần tắt hệ thống. Các nguồn và hệ thống làm mát cũng đều được nhân bản. Hệ thống còn sử dụng một nguồn đặc biệt có thể phát điện khi nguồn điện bị mất. Tất cả chúng tạo nên một hệ thống tin cậy, tuy nhiên, giá thành cho hệ thống này rất cao. Trong tương lại, một mạng lưới có thể có khả năng thay thế một hệ thống đáng tin cậy như thế. Grid mới chỉ bắt đầu công nghệ này. Mô hình máy chủ đáng tin cậy sử dụng Grid có thể được mô tả như sau. Một mạng lưới gồm nhiều máy tính được phân bố khắp nới. Do đó, khi có một sự cố tại một nốt mạng nào đó trên mạng lưới, các điểm khác sẽ không bị ảnh hưởng. Khi một máy tính bị hỏng hóc, phần mềm quản lý trong Grid có thể tự động chuyển công việc xử lý từ máy này đến một máy nào đó trong mạng. Trong trường hợp quan trọng, nhiều bản sao của công việc được tạo ra và được chuyển đến nhiều máy khác nhau trên mạng lưới như hình 4 dưới đây. Hình 4: Nhiều bản sao của công việc được tạo ra Những hệ thống grid như thế sẽ tạo nên khả năng tính toán tự động. Nó là một dạng phần mềm có khả năng tự sửa lỗi trên grid, trước khi thông báo cho bộ xử lý hay người quản lý biết. Về nguyên tắc, hầu hết những hệ thống tin cậy đắt tiền ngày nay dựa vào phần cứng hoàn toàn cũng có thể dùng phần mềm để tạo nên sự tin cậy đó. Khả năng quản lý Việc ảo hóa tài nguyên và nhiều hệ thống hỗn hợp được tạo ra trên grid sẽ tạo nên quy mô rộng hơn, các thiết bị được phân phối nhiều hơn. Nó làm cho các nhà doanh nghiệp dễ dàng quản lý chi phí và tài nguyên tính toán trên phạm vi lớn. Grid quản lý độ ưu tiên giữa các dự án. Trước đây, mỗi dự án quản lý riêng tài nguyên và chi phí của nó. Có thể những tài nguyên đang rỗi trong khi các dự án khác gặp sự cố, cần thêm những tài nguyên khác. Với tầm nhìn bao quát, grid có thể giải quyết dễ dàng tình huống này. Trong hình 5, nhà quản lý có thể thay đổi các quyền hạn với tài nguyên để các tổ chức khác có thể chia sẻ hay sử dụng. 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 Các thuật ngữ và khái niệm Các kiểu tài nguyên Một mạng grid là tập hợp máy móc, đôi khi là các nút, thành viên, người quyên góp, máy chủ, khách... Tất cả chúng tạo nên tài nguyên của grid. Một vài tài nguyên có thể được sử dụng bởi tất cả mọi người sử dụng trên grid, trong khi số khác được giới hạn sử dụng. Tài nguyên tính toán Tài nguyên thường thấy 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 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 độc lập với nhau. Kho lưu trữ Tài nguyên thứ hai được sử dụng thường xuyên trong grid là kho lưu trữ. Một mạng lưới kết hợp các kho dữ liệu thường được gọi là “lưới dữ liệu” (data grid). Mỗi máy trên grid thường cung cấp cho grid một số lượng kho lưu trữ nhất định. Kho lưu trữ có thể là bộ nhớ trong hoặc bộ nhớ thứ cấp – đĩa cứng. Bộ nhớ trong có tốc độ nhanh nhưng chỉ lưu trữ tạm thời. Nó có thể dùng làm dữ liệu đệm để chạy chương trình. Bộ nhớ thứ cấp có thể dùng để tăng khả năng lưu trữ, hiệu năng, hay độ tin cậy dữ liệu. Nhiều hệ thống grid hiện nay dùng các hệ thống tệp AFS( Andrew File System) , NFS (Network File System), DFS (Distributed File System), GPFS (General Parallel File System. Chúng có tốc độ khác nhau, mức bảo mật và độ tin cậy cũng khác nhau. Sức lưu trữ có thể tăng bằng cách sử dụng ổ lưu trữ trên nhiều máy khác nhau với hệ thống tệp hợp nhất. Mỗi tệp hay CSDL có thể lưu trữ trên một vài máy hay vài ổ đĩa trên mạng grid. Một hệ thống tệp hợp nhất có thể tạo nên một tên hợp nhất cho các ổ lưu trữ trên grid. Điều này tạo điều kiện cho người sử dụng có thể dễ dàng truy cập dữ liệu mà không cần biết vị trí chính xác của nó. Các hệ thống tệp tiến bộ trên grid có khả năng tự động nhân bản dữ liệu, để