(Post 22/08/2006) OptimalGrid là một phần mềm trung gian tính toán phân tán được thiết kế để hỗ trợ tính toán song song trên bất kỳ Grid, cluster hoặc nhóm mạng nội bộ nào của máy tính. Hướng dẫn này sẽ cung cấp cho bạn phần giới thiệu thực tế về OptimalGrid và chỉ ra cách bạn thiết kế giải pháp Grid cho các vấn đề phát triển của riêng bạn.

Phần 1. Trước khi bạn bắt đầu

Về hướng dẫn này

Mục tiêu của hướng dẫn này là giới thiệu thực tế cho bạn về OptimalGrid. Điện toán lưới mang lại tiềm năng to lớn cho ngành công nghiệp, khoa học và người dùng cá nhân, nhưng bạn cần một cách dễ dàng để khai thác tiềm năng đó. OptimalGrid là một nỗ lực để giải quyết thách thức này.

OptimalGrid cung cấp một khung ứng dụng hỗ trợ Grid mà bạn có thể sử dụng để phát triển nhanh chóng và dễ dàng các ứng dụng Grid. Nó đang hoạt động phần mềm trung gian nguyên mẫu từ Trung tâm Nghiên cứu Almaden của IBM và được các ứng dụng yêu cầu tính toán quy mô lớn trên Grid sử dụng. OptimalGrid che giấu sự phức tạp của cơ sở hạ tầng Grid bên dưới khỏi nhà phát triển ứng dụng. Nó cũng cung cấp các tính năng tự trị cần thiết như tự cấu hình, chữa bệnh và tối ưu hóa để bạn không phải phát minh và triển khai các tính năng này. Đối với bạn, kết quả là bạn có thể nhanh chóng xây dựng và triển khai các ứng dụng trên Grid.

Sau khi hoàn thành hướng dẫn, bạn nên:

  • Hiểu những loại vấn đề OptimalGrid được thiết kế để giải quyết
  • Hiểu kiến ​​thức cơ bản về cách OptimalGrid triển khai giải pháp cho các loại vấn đề này
  • Có một cài đặt hoạt động của phần mềm OptimalGrid
  • Có thể viết mã Java ™ để triển khai giải pháp cho một vấn đề cụ thể

Tôi có nên thực hiện hướng dẫn này không?

Bạn là nhà phát triển ứng dụng với một số kinh nghiệm lập trình Java? Và bạn có gặp sự cố nào đòi hỏi sức mạnh tính toán nhiều hơn mức có thể được sử dụng trên một bộ xử lý đơn lẻ không? Nếu vậy, bạn nên hoàn thành các chương đầu tiên mô tả OptimalGrid và các vấn đề mà nó được trang bị tốt để xử lý. Nếu bạn xác định rằng trên thực tế, OptimalGrid và sự cố của bạn là một sự phù hợp, thì bạn nên hoàn thành hướng dẫn và tìm hiểu cách sử dụng OptimalGrid để nhanh chóng triển khai giải pháp cho vấn đề của bạn có thể được thực hiện trên mạng lưới máy tính.

Điều kiện tiên quyết

Để hoàn thành hướng dẫn này, bạn cần có kiến ​​thức về công nghệ Java.

Yêu cầu nền tảng tối thiểu cho OptimalGrid

  • Một hoặc nhiều máy tính (bộ xử lý 750 MHz)
  • Java runtime 1.3 hoặc cao hơn
  • TSpaces (bao gồm trong phân phối)
  • 10-Mbit Ethernet cho mỗi bộ xử lý
  • Yêu cầu lưu trữ phụ thuộc vào ứng dụng
  • Bất kỳ hệ điều hành nào hỗ trợ mã Java; các nền tảng đã thử nghiệm bao gồm Linux® và Windows®.

Cấu hình đề xuất

  • Linux
  • Cụm nhiều máy (bộ xử lý 1 GHz)
  • Java runtime 1.3 hoặc cao hơn với các phần mở rộng Java 3D được cài đặt
  • TSpaces (bao gồm trong phân phối)
  • 100-Mbit Ethernet cho mỗi bộ xử lý
  • Yêu cầu lưu trữ phụ thuộc vào ứng dụng

Phần 2. Giới thiệu về OptimalGrid

OptimalGrid là gì?

OptimalGrid – một nguyên mẫu nghiên cứu từ Trung tâm Nghiên cứu Almaden của IBM – là phần mềm trung gian nhằm mục đích đơn giản hóa việc tạo và quản lý các ứng dụng lưới song song, kết nối, quy mô lớn. Hệ thống OptimalGrid là mã Java thuần túy và chạy trên bất kỳ hệ điều hành nào hoặc tập hợp các hệ điều hành hỗ trợ công nghệ Java. OptimalGrid được thiết kế để hỗ trợ các ứng dụng song song yêu cầu giao tiếp liên tục giữa các bộ xử lý cụm hoặc các nút.

Mục đích của OptimalGrid là tối ưu hóa hiệu suất của hệ thống Grid phân tán với bất kỳ nguồn lực và cơ sở hạ tầng nào thực sự có sẵn. Theo nghĩa này, chúng tôi là người tối ưu.

Để có cái nhìn tổng quan cấp cao về các thành phần và kiến ​​trúc OptimalGrid , hãy xem “OptimalGrid – Tính toán tự động trên lưới.”

Phần 3. Giải quyết vấn đề bằng mô hình đối tượng OptimalGrid

Phần này là gì?

Phần này mô tả mô hình đối tượng OptimalGrid và cách nó được sử dụng để mô tả một tự động dữ liệu di động điển hình, vấn đề Phần tử hữu hạn hoặc ứng dụng khác trong đó tiến trình tính toán phụ thuộc vào việc chia sẻ thông tin giữa các nút.

Phần tiếp theo cho thấy cách bạn triển khai mã Java để giải quyết một trong những vấn đề điển hình này.

Mô hình đối tượng OptimalGrid

Tất cả các bài toán của Mô hình phần tử hữu hạn (FEM) đều được giải bằng cách chia không gian thành các vùng hoặc phần tử hữu hạn nhỏ trong đó nhỏ thường được xác định bằng tỷ lệ tự nhiên nhỏ nhất trong một bài toán. Hình 1 cho thấy một vật thể rắn liên tục được biến thành một tập hợp các nút rời rạc, mỗi nút có các đặc tính cụ thể.

Ô Vấn đề Gốc (OPC)

Để mô tả cách tiếp cận của hệ thống OptimalGrid, dễ dàng nhất là xem xét bài toán hai chiều đơn giản, như thể hiện trong Hình 2.

Ở đây một phần tử A được kết nối với bốn phần tử láng giềng gần nhất của nó, và mỗi phần tử láng giềng cũng được kết nối với ba phần tử cộng với phần tử A. Các phần tử cạnh kết nối với một, hai hoặc ba phần tử tùy thuộc vào vị trí của chúng. Chúng tôi gọi phần nhỏ nhất của một vấn đề (trong trường hợp này là một phần tử duy nhất) là Ô Vấn đề Gốc hoặc OPC. Trong phần tóm tắt, đây là một nút trên đồ thị ứng dụng chứa dữ liệu, phương thức và con trỏ đến các OPC khác.

Mô hình đối tượng OptimalGrid triển khai mã để giải quyết vấn đề bằng cách sử dụng các OPC trừu tượng. Người dùng triển khai một tập hợp nhỏ các phương thức được định nghĩa trong Lớp Tóm tắt OPC dành riêng cho vấn đề cụ thể đang được giải quyết. Các phương pháp này mô tả khả năng kết nối của ô với các ô lân cận và chúng chỉ định các phép tính sẽ được thực hiện bởi ô bằng cách sử dụng thông tin do các ô lân cận truyền đạt.

Một đối tượng OPC duy nhất rất nhỏ, cần rất ít bộ nhớ để lưu trữ và ít sức mạnh tính toán để thực thi. Một OPC có thể chứa 0 hoặc nhiều thực thể có thể chuyển từ một OPC sang các OPC lân cận và 0 hoặc nhiều Thuộc tính mô tả các thuộc tính của OPC hoặc các thực thể của nó.

Định nghĩa: OPC là đơn vị công việc nhỏ nhất trong hệ thống OptimalGrid. Giải pháp vấn đề của bạn được thực hiện bằng cách viết mã Java để thực hiện hành vi của OPC và tương tác của nó với các nước láng giềng.

Bộ sưu tập OPC

Hệ thống OptimalGrid tập hợp các OPC được kết nối với nhau để tạo thành một tập hợp OPC. Sau khi được tạo, các bộ sưu tập OPC có kích thước cố định, trong suốt thời gian tồn tại của sự cố.

Định nghĩa: OPCCollection là một tập hợp các đối tượng OPC được kết nối với nhau. Tập hợp các OPC có trong OPCCollection được chỉ định khi khởi tạo sự cố và vẫn được cố định.

Phân vùng vấn đề biến (VPP)

Đối tượng mảnh vấn đề có chứa một tập hợp OPC Collections được định nghĩa là một Phân vùng Vấn đề Biến (VPP). Điều này được minh họa trong Hình 3. VPP là đơn vị công việc được phân phối cho một nút máy tính. Cân bằng tải sẽ được thực hiện bằng cách
trao đổi Bộ sưu tập OPC giữa các VPP.

Định nghĩa: Phân vùng vấn đề biến hoặc VPP là tập hợp các Bộ sưu tập OPC được gán cho một nút tính toán lưới. Số lượng Bộ sưu tập OPC có trong VPP có thể thay đổi.

Kiến trúc OptimalGrid

Hình 4 cho thấy kiến ​​trúc OptimalGrid.

Thành phần điều phối chính của hệ thống OptimalGrid là Người quản lý Chương trình Tự động (APM). APM thực hiện một số việc:

  • Quản lý các tác nhân tính toán và các phần của vấn đề
  • Có thể gọi trình tạo sự cố (thành phần tạo ra sự cố ban đầu) nếu người dùng không thực hiện việc đó theo cách thủ công từ bảng điều khiển
  • Chỉ định phân phối ban đầu của vấn đề dựa trên tất cả thông tin được duy trì về vấn đề, tác nhân máy tính và môi trường máy tính chung
  • Gọi các Công cụ quy tắc có thể cắm được khác nhau để theo dõi các sự kiện của hệ thống OptimalGrid và lưu trữ các bài học kinh nghiệm để tối ưu hóa tính toán vấn đề

Đưa ra một vấn đề ban đầu, chẳng hạn như bài toán FEM trừu tượng, OptimalGrid tự động phân vùng vấn đề thành các bộ sưu tập OPC, dựa trên độ phức tạp của vấn đề. Sau đó, các tập hợp OPC đó được nhóm lại thành các phân vùng vấn đề có thể thay đổi, dựa trên các tài nguyên tính toán có sẵn. Giả sử rằng, trong ví dụ cụ thể này, bài toán FEM bao gồm 2 triệu phần tử hai chiều (OPC), sử dụng một lưới vuông đơn giản. Đối với một độ phức tạp nhất định, chúng tôi có thể biến nó thành 800 bộ sưu tập gồm 2500 OPC mỗi bộ, với trung bình 16 VPP bộ sưu tập có khoảng 40.000 OPC. Với phân phối đồng đều, 50 đại lý máy tính sẽ nhận được 40.000 VPP (với đơn vị thay đổi / sửa đổi là một tập hợp 2500).

(Bản quyền Tập đoàn IBM)

FPT Aptech – Hệ Thống Đào Tạo Lập Trình Viên Quốc Tế

FPT Aptech trực thuộc Tổ chức Giáo dục FPT có hơn 25 năm kinh nghiệm đào tạo lập trình viên quốc tế tại Việt Nam, và luôn là sự lựa chọn ưu tiên của các sinh viên và nhà tuyển dụng.
0981578920
icons8-exercise-96