Trước khi bắt đầu 1 ứng dụng MPICH-G2, người dùng sử dụng Grid Sercurity Infrastruce (GSI) để yêu cầu một (khóa công khai) chứng thực proxy được sử dụng để chứng thực người dùng. Bước này cung cấp khả năng chỉ cần đăng nhập một lần, luôn giữ kết nối trong quá trình chạy ứng dụng mà không cần gõ passphase để chứng thực lại, kết nối này bị hủy khi sử dụng lệnh hủy.
Người dùng sử dụng Monitoring and Discovery Service (MDS) để lựa chọn các máy tính sẽ thực thi tiến trình bao gồm các công việc cơ bản như : cấu hình, kiểm tra tính sự tồn tại, kiểm tra kết nối mạng.
Sau khi chứng thực và tạo kết nối proxy, người dùng sử dụng dòng lệnh mpirun để yêu cầu tạo một phiên tính toán MPI. MPICH-G2 sử dụng Resource Specification Language (RSL) để đặc tả công việc tính toán. Người dùng viết các file RSL để nhận diện tài nguyên tính toán (ví dụ: máy tính) và môi trường tính toán cụ thể (số lượng CPU sử dụng, bộ nhớ, thời gian thực thi) và các tham số đi kèm cho mỗi một máy tính. Khi tìm thấy thông tin trong file RSL ,MPICH gọi một thư viện được phân phối kèm với Globus Toolkit đó là Dynamic-Updated Request Online Coallocator (DUROC) để lập lịch và khởi động ứng dụng.
Thư viện DUROC sử dụng API Grid Resource Allocation and Managenment (GRAM) và các giao thức để khởi động , sau đó quản lý các tiến trình tính toán phụ trên
43
mỗi máy tính. Với mỗi tiến trình tính toán phụ, DUROC sinh ra một yêu cầu GRAM để điều khiển GRAM server yêu cầu chứng thực người dùng, thực thi việc chứng thực người dùng cục bộ và sau đó tương tác với lập lịch cục bộ để khởi tạo quá trình tính toán. DUROC và các thư viện MPICH-G2 liên kết với nhau gói gọn các tiến trình tính toán phụ vào một tiến trình tính toán MPI.
GRAM sẽ sử dụng Global Access to Secondary Storage (GASS) để phân các giai đoạn thực thi từ các địa điểm từ xa. Khi GASS được sử dụng, chỉ một ứng dụng được khởi động, chuyển hướng các dòng thông tin đầu ra và lỗi (stdout ,stderr) tới các terminal người dùng.
Khi một ứng dụng được khởi động, MPICH-G2 lựa chọn các phương thức giao tiếp có hiệu quả nhất giữa 2 tiến trình, sử dụng phiên bản MPI đi kèm nếu có hoặc Globus communication (Globus IO) với Globus data conversion (Globus DC) cho các giao thức TCP.
DUROC và GRAM cũng theo dõi và quản lý các tiến trình thực thi của ứng dụng. Mỗi một server GRAM theo dõi vòng đời của tiến trình tính toán phụ xem chúng đã hoàn thành hay đang thực thi hay đã kết thúc, và chuyển những thông tin này trở về DUROC. Mỗi một tiến trình phụ bị chặn bởi DUROC và được trả lại sau khi các tiến trình phụ đã thực thi xong. Tất nhiên, yêu cầu hủy tiến trình từ người dùng (Coltrol C) cũng được xử lý bởi GRAM và DUROC.
Sau khi một tiến trình được khởi động, MPICH-G2 sử dụng thông tin được lưu trữ cụ thể trong file RSL để tạo cluster giữa các tiến trình.
44
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
Hệ thống các máy thuộc mạng Grid sẽ được triển khai sau đây bao gồm 5 máy tính. Người dùng sẽ được sử dụng dịch vụ của do hệ thống Grid mang lại sẽ là người dùng “thinh”. Cần triển khai lần lượt 2 gói phần mềm Globus Toolkit và MPICH lên cả 5 máy tính.