Nghiên cứu và xây dựng hệ thống lập trình xử lý song song trên hệ đa xử lý Supernode tại TP.HCM

Nghiên cứu về việc xây dựng môi trường phát triển lập trình xử lý song song trên hệ đa xử lý supernode, tối ưu hóa hiệu năng tính toán.

Trường đại học

Khoa CNTT — Đại Học Kỹ Thuật TP. Hồ Chí Minh

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Nghiên cứu khoa học

2000

78
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Khám phá lập trình xử lý song song trên hệ đa xử lý Supernode

Trong bối cảnh khoa học và công nghệ phát triển vượt bậc, nhu cầu về tính toán hiệu năng cao (HPC - High-Performance Computing) ngày càng trở nên cấp thiết. Các bài toán phức tạp trong mô phỏng, phân tích dữ liệu lớn, và trí tuệ nhân tạo đòi hỏi sức mạnh xử lý vượt xa khả năng của các máy tính đơn xử lý truyền thống. Để giải quyết thách thức này, mô hình lập trình song song đã ra đời, cho phép chia nhỏ một tác vụ lớn thành nhiều phần và thực thi đồng thời trên nhiều bộ xử lý. Hướng tiếp cận này không chỉ rút ngắn đáng kể thời gian tính toán mà còn mở ra những khả năng mới cho nghiên cứu khoa học. Tuy nhiên, việc triển khai lập trình song song đòi hỏi một môi trường phần cứng và phần mềm chuyên biệt. Nghiên cứu này tập trung vào việc xây dựng một môi trường như vậy, có tên là hệ đa xử lý Supernode. Hệ thống Supernode được thiết kế như một máy chủ hiệu năng cao chi phí thấp, tận dụng sức mạnh của các máy tính cá nhân (PC) thông thường được kết nối với nhau qua mạng tốc độ cao. Nền tảng này cho phép tạo ra một kiến trúc đa xử lý linh hoạt, có khả năng mở rộng và tái cấu hình động để phù hợp với từng loại ứng dụng cụ thể. Sản phẩm cốt lõi của nghiên cứu là xây dựng một hệ thống hoàn chỉnh, bao gồm 4 node tính toán có thể mở rộng, và đặc biệt là Công cụ Lập trình Song song và Phân tán (DPPT), giúp đơn giản hóa quá trình phát triển ứng dụng trên hệ thống đa lõi (multi-core) này.

1.1. Nền tảng của lập trình song song và tính toán hiệu năng cao

Lập trình song song là phương pháp sử dụng nhiều đơn vị xử lý trung tâm (CPU) hoặc lõi xử lý để giải quyết một vấn đề tính toán một cách đồng thời. Thay vì thực hiện các chỉ thị một cách tuần tự, các tác vụ được phân chia và xử lý song song, giúp tăng tốc độ đáng kể. Đây là nền tảng cốt lõi của tính toán hiệu năng cao (HPC), một lĩnh vực quan trọng trong khoa học máy tính, ứng dụng để giải quyết các bài toán quy mô lớn như dự báo thời tiết, mô phỏng phân tử, hay phân tích gen. Sự phát triển của hệ thống đa lõi (multi-core) và các cụm máy tính (clusters) đã làm cho lập trình song song trở nên phổ biến và dễ tiếp cận hơn bao giờ hết.

1.2. Giới thiệu hệ đa xử lý Supernode giải pháp HPC linh hoạt

Hệ thống Supernode là một sáng kiến nhằm xây dựng một kiến trúc đa xử lý hiệu quả từ các thành phần phần cứng phổ thông (Off-the-Shelves). Mô hình này bao gồm nhiều node tính toán (máy PC) kết nối với nhau thông qua một thiết bị chuyển mạch (switch) tốc độ cao, có khả năng tái cấu hình động. Điều này cho phép tạo ra các cấu trúc liên kết (topology) khác nhau, tối ưu cho từng thuật toán cụ thể. Việc sử dụng hệ điều hành Linux và chuẩn truyền thông điệp MPI (Message Passing Interface) làm cho Supernode trở thành một môi trường mạnh mẽ và tương thích cao cho việc phát triển các ứng dụng lập trình song song.

II. Thách thức trong việc xây dựng môi trường lập trình song song

Mặc dù lập trình song song mang lại tiềm năng to lớn, việc xây dựng một môi trường phát triển hiệu quả phải đối mặt với nhiều thách thức kỹ thuật. Trở ngại lớn nhất chính là độ phức tạp trong việc quản lý và đồng bộ hóa các tác vụ. Người lập trình không chỉ phải am hiểu về thuật toán mà còn cần có kiến thức sâu về hệ thống, đặc biệt là cơ chế truyền thông điệp (message passing) giữa các node. Chi phí giao tiếp (communication overhead) là một yếu tố quan trọng ảnh hưởng trực tiếp đến hiệu năng. Như tài liệu nghiên cứu đã chỉ ra, tổng thời gian thực thi Tp = TCOMP + TCOMM + other terms. Khi số lượng bộ xử lý (P) tăng lên, thời gian tính toán (TCOMP) giảm, nhưng thời gian truyền dữ liệu (TCOMM) lại tăng. Nếu không được tối ưu hóa hiệu năng, chi phí giao tiếp có thể lấn át lợi ích từ việc song song hóa, thậm chí làm chương trình chạy chậm hơn. Một thách thức khác là vấn đề ánh xạ (mapping) và cân bằng tải (load balancing). Việc phân chia công việc và gán các module phần mềm lên các node tính toán vật lý một cách tối ưu là một bài toán NP-khó. Một chiến lược ánh xạ tồi có thể dẫn đến tình trạng một số node quá tải trong khi các node khác lại nhàn rỗi, đồng thời làm tăng lưu lượng giao tiếp không cần thiết giữa các node. Các công cụ hiện có như PVM tuy hỗ trợ nhưng thường có hiệu suất thấp do chi phí giao tiếp cao và khả năng mở rộng kém.

2.1. Vấn đề chi phí truyền thông điệp và tối ưu hóa hiệu năng

Hiệu quả của một hệ thống song song phụ thuộc rất nhiều vào tỉ lệ giữa thời gian tính toán và thời gian giao tiếp. Tài liệu gốc nhấn mạnh rằng tốc độ cải tiến (speedup) sẽ giảm khi chi phí truyền thông điệp tăng quá cao. Do đó, việc xây dựng một hệ thống truyền thông điệp hiệu quả là yêu cầu tiên quyết. Hệ thống Supernode giải quyết vấn đề này bằng cách triển khai một lớp truyền thông điệp dựa trên chuẩn MPI (Message Passing Interface), được tối ưu hóa cho kiến trúc đa xử lý của hệ thống. Việc này giúp giảm độ trễ và tăng thông lượng dữ liệu, là chìa khóa cho tối ưu hóa hiệu năng tổng thể.

2.2. Sự phức tạp của ánh xạ tác vụ và cân bằng tải tối ưu

Ánh xạ tác vụ là quá trình gán các tiến trình (modules) của một ứng dụng song song vào các bộ xử lý (nodes) của hệ thống. Một ánh xạ hiệu quả phải đảm bảo hai yếu tố: giảm thiểu giao tiếp giữa các node và phân bổ khối lượng tính toán một cách đồng đều (cân bằng tải). Đây là một bài toán tối ưu hóa phức tạp, đặc biệt khi cả cấu trúc ứng dụng và cấu trúc hệ thống đều không đồng nhất. Các thuật toán ánh xạ cần xem xét trọng số tính toán của mỗi module và chi phí giao tiếp giữa chúng để đưa ra quyết định phù hợp nhất, nhằm đạt được hiệu suất cao nhất cho ứng dụng.

III. Phương pháp xây dựng kiến trúc hệ thống Supernode hiệu quả

Để vượt qua các thách thức đã nêu, việc thiết kế kiến trúc đa xử lý Supernode tuân theo các tiêu chí nghiêm ngặt: linh hoạt, dễ mở rộng, hiệu quả và sử dụng các linh kiện phổ thông. Mô hình hệ thống bao gồm một máy chủ quản lý (Manager Host) và một tập hợp các node tính toán. Theo tài liệu, hệ thống ban đầu có 4 node, mỗi node là một máy PC Intel 233MHz, 64MB RAM, và 2 card mạng 100Mbps. Điểm nhấn của kiến trúc đa xử lý này nằm ở thiết bị kết nối trung tâm: SuperStack II-Switch 3000. Thiết bị này cho phép tái cấu hình động các liên kết mạng thông qua cơ chế Virtual LAN (VLAN), tạo ra các topology khác nhau (ví dụ: mesh, ring, star) để phù hợp với yêu cầu của từng thuật toán. Về phần mềm, mỗi node chạy hệ điều hành Linux Redhat 5, một lựa chọn phổ biến cho các hệ thống HPC vì tính ổn định, miễn phí và cộng đồng hỗ trợ mạnh mẽ. Lớp giao tiếp được xây dựng dựa trên LAM (Local Area Multicomputer), một bản triển khai của chuẩn MPI (Message Passing Interface). LAMD (LAM Daemon) chạy trên mỗi node, quản lý việc truyền thông điệp giữa các tiến trình ứng dụng. Kiến trúc này tạo ra một hệ thống bộ nhớ chia sẻ (shared memory) ảo thông qua cơ chế truyền tin, phù hợp với mô hình liên kết lỏng lẻo nhưng vẫn đảm bảo hiệu năng cao.

3.1. Thiết kế phần cứng và khả năng tái cấu hình động của Supernode

Nền tảng phần cứng của Supernode được lựa chọn để tối ưu giữa chi phí và hiệu năng. Việc sử dụng các máy PC thông thường giúp giảm giá thành, trong khi switch SuperStack II-Switch 3000 cung cấp tính năng tái cấu hình mạng linh hoạt. Khả năng này cực kỳ quan trọng vì các thuật toán song song khác nhau thường hoạt động hiệu quả nhất trên các cấu trúc mạng (topology) nhất định. Ví dụ, một thuật toán xử lý ảnh có thể chạy tốt trên cấu trúc mesh, trong khi một thuật toán khác lại cần cấu trúc ring. DPPT cho phép người dùng định nghĩa và triển khai các topology này một cách dễ dàng.

3.2. Hệ thống truyền thông điệp dựa trên chuẩn MPI và LAM

Hệ thống truyền thông điệp là xương sống của Supernode. Thay vì phát triển từ đầu, nghiên cứu đã chọn xây dựng dựa trên LAM, một bản triển khai mã nguồn mở và hiệu quả của chuẩn MPI. Mỗi node chạy một tiến trình nền LAMD có nhiệm vụ giám sát, định tuyến và chuyển tiếp các thông điệp giữa các module ứng dụng. Kiến trúc này cho phép các tiến trình giao tiếp với nhau một cách minh bạch, dù chúng đang chạy trên cùng một node hay các node khác nhau. Việc tuân thủ chuẩn MPI đảm bảo tính tương thích và di động của các ứng dụng được phát triển trên Supernode.

IV. Hướng dẫn sử dụng công cụ DPPT cho lập trình song song

Để đơn giản hóa quá trình phát triển ứng dụng, công cụ DPPT (Distributed and Parallel Programming Tool) được xây dựng với giao diện đồ họa trực quan. DPPT là cầu nối giữa người lập trình và sự phức tạp của hệ thống Supernode. Công cụ này có ba mục tiêu chính: hỗ trợ sử dụng tài nguyên hiệu quả, tiết kiệm thời gian phát triển ứng dụng, và nâng cao khả năng quản lý các dự án lớn. Giao diện chính của DPPT được chia thành các khu vực chức năng rõ ràng. Vùng 'System' hiển thị topology hiện tại của các node tính toán và cho phép người dùng tái cấu hình hệ thống. Vùng 'AG/CG' (Application Graph/Computation Graph) là nơi người lập trình thiết kế cấu trúc ứng dụng của mình bằng cách tạo ra các module và định nghĩa các luồng dữ liệu giữa chúng. DPPT hỗ trợ cả hai dạng hiển thị: quan hệ phân cấp chức năng và quan hệ phụ thuộc dữ liệu. Một trong những tính năng mạnh mẽ nhất của DPPT là khả năng tự động ánh xạ các module ứng dụng lên các node hệ thống. Người dùng có thể lựa chọn giữa nhiều thuật toán ánh xạ, từ đơn giản như 'chia đều số lượng' đến các thuật toán phức tạp hơn như 'ánh xạ tĩnh nhiều cấp'. Sau khi thiết kế và ánh xạ, DPPT có thể tự động sinh mã nguồn khung sử dụng các hàm từ thư viện xử lý song song MPI, giúp người lập trình chỉ cần tập trung vào logic thuật toán cốt lõi. Ngoài ra, công cụ còn tích hợp các chức năng như trình biên dịch song song và giám sát, gỡ lỗi chương trình song song (parallel debugging).

4.1. Thiết kế và trực quan hóa ứng dụng với giao diện đồ họa

DPPT cho phép người lập trình mô hình hóa ứng dụng của họ dưới dạng một đồ thị, trong đó mỗi đỉnh là một module (một tiến trình hoặc luồng (thread)) và mỗi cạnh đại diện cho một luồng dữ liệu. Giao diện đồ họa giúp dễ dàng hình dung cấu trúc tổng thể của chương trình, các mối quan hệ phụ thuộc, và các điểm nóng về giao tiếp. Người dùng có thể tạo, xóa, liên kết các module, cũng như thiết lập các thuộc tính chi tiết cho từng thành phần. Cách tiếp cận trực quan này làm giảm đáng kể rào cản cho những người mới làm quen với mô hình lập trình song song.

4.2. Tự động sinh mã và tích hợp thư viện xử lý song song MPI

Từ đồ thị ứng dụng được thiết kế, DPPT có khả năng tự động sinh ra mã nguồn C/C++ với các lời gọi hàm MPI tương ứng cho việc khởi tạo, gửi/nhận dữ liệu và đồng bộ hóa luồng (thread synchronization). Tính năng này giúp loại bỏ các lỗi lập trình phổ biến liên quan đến giao tiếp và cho phép người phát triển tập trung vào logic nghiệp vụ. Các thư viện xử lý song song được tích hợp sẵn, và công cụ hỗ trợ biên dịch và chạy ứng dụng trực tiếp từ giao diện, tạo ra một chu trình phát triển liền mạch và hiệu quả.

V. Top phương pháp ánh xạ và phân tải tối ưu trên Supernode

Ánh xạ và phân tải là bài toán cốt lõi quyết định hiệu năng của ứng dụng song song. Công cụ DPPT cung cấp nhiều thuật giải để giải quyết vấn đề này, trong đó nổi bật là 'thuật giải ánh xạ tĩnh nhiều cấp' và 'thuật giải chia đôi'. Mục tiêu chung của các thuật toán này là tối thiểu hóa hàm mục tiêu F = max{ExecCost(i) + CommCost(i)}, tức là giảm thời gian hoàn thành của node chạy lâu nhất. Để làm được điều này, các thuật toán phải cân bằng giữa hai yếu tố: phân bổ đều khối lượng tính toán (load balancing) và giảm thiểu lưu lượng giao tiếp giữa các node bằng cách đặt các module thường xuyên trao đổi dữ liệu lên cùng một node hoặc các node gần nhau. 'Thuật giải ánh xạ chia đều số lượng' là phương pháp đơn giản nhất, phân phối các module một cách tuần tự cho các node. Mặc dù không tối ưu, nó rất nhanh và hữu ích cho việc chạy thử nghiệm ban đầu. Dữ liệu đo lường hiệu năng (performance profiling) từ lần chạy này có thể được DPPT sử dụng để 'học' và cải tiến các lần ánh xạ sau bằng các thuật toán thông minh hơn. Đây là một cách tiếp cận kết hợp giữa lý thuyết và thực tiễn để đạt được tối ưu hóa hiệu năng cao nhất trên hệ thống thực.

5.1. Phân tích thuật giải ánh xạ tĩnh nhiều cấp Multi level Scheme

Đây là một thuật toán tinh vi, hoạt động qua ba giai đoạn. Giai đoạn 1: Phân nhóm (Partitioning), đồ thị ứng dụng được chia thành P phần (với P là số node) sao cho tổng trọng số tính toán trong mỗi phần là tương đương và số cạnh cắt giữa các phần là nhỏ nhất. Giai đoạn 2: Định vị (Allocation), P phần này được gán vào P node của hệ thống sao cho tổng chi phí giao tiếp là thấp nhất. Giai đoạn 3: Tinh chế (Refinement), kết quả ánh xạ được kiểm tra và điều chỉnh lại để cải thiện hơn nữa chất lượng phân tải và giao tiếp.

5.2. Nguyên lý hoạt động của thuật giải ánh xạ chia đôi Bipartitioning

Thuật giải này hoạt động bằng cách chia đệ quy đồ thị ứng dụng và đồ thị hệ thống thành hai phần. Ở mỗi bước, nó cố gắng tìm ra một lát cắt (cut) chia đồ thị thành hai nửa có khối lượng công việc cân bằng và số cạnh bị cắt qua lát cắt là tối thiểu. Quá trình này được lặp lại cho đến khi mỗi phần của đồ thị ứng dụng được gán cho một node tương ứng của hệ thống. Đây là một phương pháp hiệu quả để giải quyết bài toán ánh xạ trên các hệ thống có kiến trúc NUMA hoặc các cấu trúc phân cấp khác.

VI. Kết luận và định hướng tương lai cho hệ thống Supernode

Nghiên cứu đã thành công trong việc thiết kế và xây dựng một môi trường phát triển lập trình song song hoàn chỉnh trên hệ đa xử lý Supernode. Hệ thống này chứng minh rằng việc xây dựng một cụm máy chủ hiệu năng cao từ các linh kiện phổ thông là hoàn toàn khả thi, mang lại một giải pháp HPC hiệu quả về chi phí. Công cụ DPPT đi kèm đã giải quyết được những rào cản lớn đối với người lập trình, đơn giản hóa quá trình thiết kế, ánh xạ, và triển khai ứng dụng song song thông qua giao diện đồ họa trực quan và các tính năng tự động hóa thông minh. Việc tích hợp các thuật toán ánh xạ tiên tiến và sử dụng chuẩn truyền thông điệp MPI đã đảm bảo khả năng tối ưu hóa hiệu năng và tính tương thích của hệ thống. Sản phẩm của đề tài, bao gồm hệ thống Supernode 4 node và phần mềm DPPT, đã được kiểm nghiệm qua việc giải quyết các bài toán thực tế như phân chia tam giác Delaunay và xử lý ảnh Mandelbrot, cho thấy hiệu quả rõ rệt. Hướng phát triển trong tương lai có thể tập trung vào việc mở rộng hệ thống lên nhiều node hơn (16, 32 node), hoàn thiện các thuật toán ánh xạ tự học dựa trên dữ liệu đo lường hiệu năng (performance profiling) thực tế, và hỗ trợ thêm các mô hình lập trình song song khác như OpenMP cho môi trường bộ nhớ chia sẻ (shared memory).

6.1. Tổng kết những thành tựu và ưu điểm chính của dự án

Dự án đã đạt được các mục tiêu đề ra: xây dựng một hệ thống kiến trúc đa xử lý có khả năng tái cấu hình, một hệ thống truyền thông điệp hiệu quả dựa trên MPI, và một công cụ lập trình đồ họa tiện ích (DPPT). Ưu điểm lớn nhất của giải pháp là sự cân bằng giữa chi phí, hiệu năng và tính dễ sử dụng, giúp phổ biến hóa tính toán hiệu năng cao đến nhiều đối tượng người dùng hơn.

6.2. Hướng phát triển cho lập trình song song và các hệ thống HPC

Tương lai của lập trình song song sẽ tiếp tục gắn liền với các kiến trúc lai (hybrid), kết hợp cả mô hình truyền thông điệp (message passing) như MPI và mô hình bộ nhớ chia sẻ như OpenMP. Các công cụ phát triển cần thông minh hơn, có khả năng tự động tối ưu hóa hiệu năng và hỗ trợ gỡ lỗi chương trình song song một cách hiệu quả. Hệ thống Supernode là một nền tảng lý tưởng để tiếp tục nghiên cứu và phát triển các công nghệ này.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI từ nội dung tài liệu gốc; tài liệu do người dùng đóng góp và được kiểm duyệt trước khi xuất bản. Báo lỗi nội dung.

22/09/2025
Nghiên cứu và xây dựng môi trường phát triển lập trình xử lý song song trên hệ đa xử lý supernode

Trích đoạn nội dung tài liệu

chương 1 (phan Hệ thống truyền thông điệp), hiệu quả của ứng dụng thi thực thi trên hệ thống song song phụ thuộc rất nhiều vào vấn để trao đối dữ liệu. Cấu hình liên kết không hợp lý (vấn dé ánh xa khong tt) anhhưởng rất lớn đến kết quả của ứng dụng. Vì vậy hệ thống khi thiết kế phải uyển chuyển, có thể tái cấu hình được dễ dàng. Điều đó phụ thuộc vào việc chọn thiết bị liên kết mạng.

Ngoài ra, hệ thống phải dễ đàng trong việc mở rộng và thông dụng, không chuyên dụng, dễ thay thế và dễ tìm thấy trên thị trường. 10 Khoa CNTT— Đại Học Kỹ Thuật TP. Hồ Chí Minh Hệ thống đa xử lý Supernode Dựa vào các tiêu chí trên, hệ thống đa xử lý Supernode đã được xây dựng. Cấu hình hệ thống được trình tiếp sau đây.

Hệ thống đa xử lý Supernode Mô hình hệ thống gồm một máy tính điều khiển gọi là Monitor Host hay Manager Host và nhiều máy tính khác làm nhiệm vụ tính toán gọi là các nodes. Monitor host và các nodes được nối với nhau thông qua một hoặc nhiều Switch tùy thuộc vào số nodes của hệ thống và khả năng kết nối của Switch. Với các chức năng đuợc cung cấp bởi lớp dưới thì các nodes có khả năng tái cấu hình để tạo thành một topology theo yêu câu của người sử dung (có thể cho phù hợp với bài toán , thuật giải họ đang nghiên cứu). Monitor Host được sử dụng bằng một máy trạm mạnh của hãng Sun MicroSystem — Ulưal có cấu hình UltraSprc với 256 Mbytes RAM, 4 Gbytes Hard disk.

Tai Monitor Host, hệ thống phần mêm và công cụ được phát triển. Người sử dụng cũng có thể qua máy này để truy cập và thực thi các ứng dụng của mình trên các nodes tính toán. Hiện tại hệ thống Supernode có 4 nodes tính toán có cấu hình giống nhau. Mỗi node là một máy PC (ntel 233) với bộ nhớ trong là 64 Mbytes RAM, 2Gbytes Hard Disk và 2 Card mạng có tốc độ 100 Mbps Ethemet.

Tat c& cdc card mang của các nodes được nối vào 1 Switch 3000 và có thể thiết lập các hình thái liên kết thông qua cơ chế Virtual LAN ctia Switch. Một mô hình hệ thống trên lý thuyết như hình 1 và hình ảnh hệ thống Supernode thực hiện đang có tại Khoa Công Nghệ Thông Tin, Đại Học Kỹ Thuật TP HCM như hình 2: _—M Hình 1: Một mô hình hệ đa xử lý Supernode 11 Khoa CNTT ~ Đại Học Kỹ Thuật TP. Hỗ Chi Minh Hệ thống đa xử lý Supernode 2. Thiết kế giao diện 2.1, — Sơ đồ khối các components của DPPT Như chúng ta đã biết, mục tiêu chính trong để tài này là xây dựng công cụ hỗ trợ cho người lập trình trên hệ thống đa xử lý Supernode ứng dụng cho xử lý song song, nhưng cũng có thể áp dụng cho xử lý phân bố.

Vì thế chúng tôi đặt tên cho công cụ trợ giúp này là “Công cự lập trình song song va phan b6“ (Distributed and Parallel Programming Tool), goi tắt là DPPT. tạ 0) 2111-1010) ee Supernode Multiprocessing System " Hình 2: Hệ thống thực tại khoa CNTT - Đại Học BÁCH KHOA TP. Hồ Chí Minh Với các yêu cầu trong phần phân tích, Công cụ DPPT được thiết kế gồm các khối chức năng chính như trong hình 3 : — 12 Khoa CNTT - Đại Học Kỹ Thuật TP. Hỗ Chí Minh Hê thống da xử lý Supernode Visualization Hình 3: Các khối chức năng trong DPPT = System: phan nay biéu điễn hình thái liên kết (topology) của các nodes tính toán trong Supemode (thông tin được lấy từ hệ thống thực), cho phép cấu hình lại topology cho phù hợp với giải thuật của chương trình ứng dung, va xem thông tin vé cdc nodes.

" AG/CG (Application Graph/Computaton Graph): nội dung chủ yếu của phần này là hỗ trợ cho việc xây dựng, phát triển chương trình ứng dụng. AG/CG sẽ được thể hiện ở 2 đạng là quan hệ phân cấp chức năng và quan hệ phụ thuộc dữ liệu thực giữa các modules. " _ Visualization : phần này có hai chức năng chính: -Monitoring - theo dõi trạng thái của ứng dung khi thực thi (đây là hướng để phát triển, DPPT hiện tại chưa hỗ trợ phần này). -Tracing - lưu trữ thông tín trạng thái thực thi của ứng dụng và mô tả lại tiến trình thực hiện của ứng dụng.

" Other Tools: ~ Các tiện ich hỗ trợ việc tạo ra AG: tạo modules, xóa modules, thêm links, xóa lnks,. - Nhập và sửa đổi các đặc tính của các liên kết, module và soạn thảo chương trình. -Map, compile, run. - Các chức năng khác: tao app schema, giám sát, kết thúc ứng dụng,.

Ứng với các chức năng đã phân tích ở trên, giao diện dé hoa của DPPT được thiết kế như hình 4 sau đây: 13 Khoa CNTT - Đại Học Kỹ Thuật TP. Hồ Chí Minh Hệ thống đa vừ lý Supernode EESIDPeT = Distributed and Parallel.Programming Tao Hinh 4: Giao dién đồ hoạ của DPPT = System: gdm ving hiển thị cấu hình kết nối của các nodes, các chức năng trong sưbmenu “system” va trong vùng “quick tools” phía bên trái của DPPT (Update, Get,Basic,.) = AG/CG: gdm hai ving hién thị thông tỉn của một ứng dụng— hiển thị quan hệ phân cấp của các chức năng (functional bierarchical relation) và quan hệ dữ liệu (data-relation) modules trong ting dung. công cụ «Visualization: chifc ning nay được thiết kế và xây dựng riêng biệt, ghép vào DPPT qua menu Project/Visualization hoc button có hình một cái kính trong thanh công cu tool bar năm ở phía trên các vùng view. cho các người “ Other Tools: gồm toàn bộ các chức năng còn lại trong DPPT nhằm hỗ trợ sử dụng hoàn thành việc xây đựng và quần lý ứng dụng của chính minh.

14 Khoa CNTT— Dai Hoc Kỹ Thuật TP. Hỗ Chí Minh đê thống áa xử lý Supernode 2. __ Giao diên đồ hoa của DPPT Ở phần này sẽ giới thiệu qua vé DPPT’s GUI với mục đích để người sử dụng có thể hình dung và nắm bắt được những ý chính và quan trọng nhất để đọc các chương kế tiếp về cách thực thi các chức năng của công cụ DPPT chứ không có ý định giới thiệu cách sử dụng công cụ DPPT (xem User Manual). Giao diện đổ hoạ của DPPT giống như hình 4 đã giới thiệu.

Trong phần này sẽ trình chỉ tiết hơn về các chức năng của các bộ phận quan trọng trong công cụ DPPT. System Chức năng chính: thể hiện trạng thái các nodes trong hệ thống đa xử lý Supernode (chủ yếu là kết nối như thế nào, có quá trình nào được ánh xạ (map) lên hay không, có tham gia vào ứng dụng của người sử dụng hay không,. Thông tin này được lấy từ hệ thống thực (sau khi người sử dụng cấu hình xong và update lại hệ thống thì cấu hình hệ thống bên dưới -system topolosy - cũng thay đổi và thông tỉn được hiển thị biểu diễn trạng thái thực sự lúc đó của hệ thống bên dưới). Button “Upđate”: cấu hình hệ thống với topology dang hiển thị trong vùng system (các người sử dụng có thể thay đổi topology này một cách dễ dàng với các chức năng sẽ giới thiệu sau đây) Button “Get”: lấy cấu hình hệ thống thực hiện tại (của lần cấu hình trước hoặc của hệ thống khi mới khởi động lên - nếu chưa update systerm lân nào) Button “Basic”: hỗ trợ cho một số loại topology cơ bản trong xử lý song song, lựa chọn một trong các loại cơ bản này thì các người sử dụng không cần phải thiết kế lại mà chi cdn “click mouse” JA sẽ có một system topology mà mình mong muốn (sau đó nếu chấp nhận topology này thì phải “Update” nó như đã nói ở trên) Button “N.pro”: Node properties — cập nhật trọng số (đại diện cho khả năng tính toán của nó) của một node để phục vụ cho chức năng mapping.

Thực sự với các nodes trong hệ thống Supernode đồng nhất thì không cần chức năng này nhưng khả năng này cho phép DPPT có thể ứng dụng trên các hệ thống phân bố không đồng nhất (heterogeneous đistributed systems).pro”: nhập trọng số cho một link giữa một node và một channel. Chức năng này cũng tương tự như “N. lên Button “+Link”: để thêm một link giữa một channel và một node. Đầu tiên chck lại) button này sau đó “drop and drap” mouse point từ node tới channel (hoặc ngược thì chúng ta sẽ có một link mới giữa node và channel.

Button “-Link”: xóa một link giữa một node và một channel. Đầu tiên lựa node (bằng lên cách click lên nó) sau đó lựa channel (hoặc có thể làm ngược lại). Sau đó click và button này thì link giữa node và channel (chi cd nhiều nhất một link giữa một node một channel trong hệ thống) sẽ đuợc loại bỏ. 15 Khoa CNTT— Dai Hoe Ky Thudt TP.

Hd Chi Mink Hệ thống đa xử lý Supernode Button “+Channel”: thêm một channel. Sau đó người sử dụng có thể thêm các link giữa các nodes và channel này. Button "-Channel”: lựa channel sau đó click lên button nay thi channel đó cùng với các link của nó với các nodes sẽ bị xoá bỏ. Menu “System”: có vài chức năng tiện ích khác cho hệ thống, quan trọng nhất là cho phép người sử dụng có thể view/hide các nodes không có liên kết với channel nào và thông tin về từng node cụ thể trong system.

AG/CG Thể hiện AG/CG theo quan hệ phân cấp chức năng và quan bệ dữ liệu (data relation) của các module. Hai cách thể hiện này được thể hiện cùng một lúc trên màn hình. Quan hệ phân cấp chức năng của các module: chủ yếu thể hiện ý tưởng thiết kế chương trình của người sử dụng và mô hình hóa ý tưởng đó vào DPPT Quan hệ dữ liệu của các module: cho thấy,nhìn trước mối quan hệ dữ liệu thực sự của các module trong khi chúng thực thí. Đây cũng là một thông số đầu vào rất quan trọng cho vấn đề mapping của DPPT._ Các công cu khác Phan này gồm rất nhiều chức năng tiện ích của DPPT để giúp cho người sử dụng có thể xây dựng và quần lý ứng dụng một cách dễ đàng nhất.

Visualization quản lý Phần này được xây đựng như một công cụ mở rộng hỗ trợ cho người sử dụng và theo đõi ứng dụng của mình khi thực thi. Công cụ DPPT có thể dựa vào những thông tín thực thị thật sự để “học và từ cải tiến lai cách mapping” đã sử dụng trước đây do chính DPPT cung cấp (chỉ dựa vào lý thuyết). Đây là một phần rất mạnh của công cụ DPPT cho bai toán mapping. Chỉ tiết về phần trace của DPPT được trình bày trong các chương sau.

___Các Modules quan trong của ĐPPT cụ SPARCworks/Visual.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ