Bài viết này trình bày các đề xuất để xử lý các mệnh đề về dữ liệu chia sẻ bằng cách bổ sung các câu lệnh xử lý chuyên biệt vào các khuôn dạng chuyển đổi của CAPE cho các cấu trúc song song của OpenMP. | Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XII về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin FAIR Huế ngày 07-08 6 2019 DOI XỬ LÝ CÁC MỆNH ĐỀ VỀ DỮ LIỆU CHIA SẺ CỦA OPENMP TRÊN CÁC HỆ THỐNG SỬ DỤNG BỘ NHỚ PHÂN TÁN Đỗ Xuân Huyền1 Hà Viết Hải2 Trần Văn Long3 1 Trường Đại học Khoa học Đại học Huế 2 Trường Đại học Sư phạm Đại học Huế 3 Trường Cao đẳng Công nghiệp Huế doxuanhuyen@ haviethai@ tvlong@ TÓM TẮT CAPE là một hướng tiếp cận để cài đặt OpenMP - giao diện lập trình chuẩn cho lập trình song song trên các hệ thống sử dụng bộ nhớ chia sẻ - lên các hệ thống sử dụng bộ nhớ phân tán. Các phiên bản đầu tiên của CAPE đã được xây dựng và thử nghiệm đánh giá với khả năng cung cấp hiệu năng gần tương đương với hiệu năng của MPI công cụ có khả năng cung cấp hiệu năng cao nhất trên các hệ thống phân tán. Tuy nhiên các phiên bản này chưa xử lý các vấn đề về dữ liệu chia sẻ của OpenMP do đó chưa cài đặt được một cách hoàn toàn các giao diện của nó. Bài báo này trình bày các đề xuất để xử lý các mệnh đề về dữ liệu chia sẻ bằng cách bổ sung các câu lệnh xử lý chuyên biệt vào các khuôn dạng chuyển đổi của CAPE cho các cấu trúc song song của OpenMP. Từ khóa Bộ nhớ phân tán CAPE OpenMP. I. MỞ ĐẦU OpenMP 1 là một giao diện lập trình API cung cấp một mức trừu tượng hóa cao để viết các chương trình song song chạy trên các hệ thống sử dụng bộ nhớ chia sẻ multi-core multi-CPU . OpenMP bao gồm một tập các biến môi trường các chỉ thị và hàm được xây dựng để hỗ trợ việc dễ dàng biến một chương trình tuần tự trên ngôn ngữ cơ sở là C C hoặc Fortran thành một chương trình song song. OpenMP sử dụng mô hình thực hiện fork-join với cấu trúc song song cơ sở là luồng thread . Do sử dụng cấu trúc cơ sở là luồng mặc nhiên phương thức tổ chức bộ nhớ của OpenMP là bộ nhớ chia sẻ trong đó không gian nhớ được sử dụng chung giữa các luồng. Để viết chương trình song song với OpenMP lập trình viên có thể bắt đầu bằng cách viết một chương trình .