Với mục đích phát triển ứng dụng lưới, lưới có thể được xem như là một tập hợp nhiều máy tính trừu tượng (mỗi máy tính có một hay nhiều CPU) họat động như một máy tính "ảo" có nhiều CPU.
Do tính chất của môi trường lưới (tài nguyên không đồng nhất kết nối qua môi trường không đáng tin cậy, độ trễ mạng cao), ứng dụng lưới có các tính năng sau đây:
• Chúng có thể được parallelised vào một số đơn vị tính toán độc lập • Đơn vị làm việc có thời gian tính toán cao so với tỷ lệ thời gian liên lạc
Alchemi hỗ trợ hai mô hình cho các thành phần ứng dụng song song.
Course-Grained Abstraction: File-Based Jobs
Việc triển khai lưới truyền thống chỉ cung cấp trừu tượng cấp cao của máy ảo, nơi mà các đơn vị nhỏ nhất thực hiện song song là một process. Đặc điểm của job được thực thi trên lưới ở cấp độ cơ bản nhất bao gồm các tập tin đầu vào, các tập tin đầu ra và file thực thi (process). Trong trường hợp này, viết phần mềm để chạy trên lưới liên quan đến giao tiếp với các tập tin, một cách tiếp cận có thể phức tạp và không linh hoạt.
Fine-Grained Abstraction: Grid Threads
Ngược lại, mô hình lập trình chính được hỗ trợ bởi Alchemi cung cấp trừu tượng ở mức độ thấp của lưới cơ bản bằng cách cung cấp mô hình lập trình hướng đối tượng mở đầu cho lập trình đa luồng truyền thống.
Đơn vị nhỏ nhất thực hiện song song trong trường hợp này là grid thread (đối tượng .NET).
Các nhà phát triển ứng dụng lưới chỉ quan tâm đến đối tượng .NET grid thread và grid application, điều này cho phép bạn tập trung vào ứng dụng riêng của mình mà không lo lắng chi tiết về "plumbing". Hơn nữa, trừu tượng ở cấp độ này cho phép sử dụng mô hình lập trình đơn giản với giao diện rõ ràng giữa từ xa và cục bộ.
Lưu ý: Application và thread có thể được xem là grid application và grid thread, trừ khi có quy định khác.
So sánh Grids Jobs và Grid Threads
Việc hỗ trợ để thực thi grid job được trình bày vì những lý do sau: • Ứng dụng Grid-enabling legacy hoặc non-.NET
• Khả năng tương tác với grid middleware trên các nền tảng khác (thông qua giao diện dịch vụ web)
Mô hình grid thread được ưa chuộng do dễ sử dụng, mạnh mẽ và linh hoạt nên được sử dụng cho các ứng dụng mới.
So sánh mô hình đa xử lý truyền thống và mô hình lưới
Để làm rõ các khái niệm được thảo luận, xem xét sự tương tự giữa lập trình đa luồng truyền thống và lập trình lưới:
Multiprocessor Machine Grid
Operating System Alchemi
Processor Executor
OS Services (High-Level) - System API Alchemi API
OS Services (Low-Level) Manager
Process Grid Application
Thread Grid Thread