CSP, như một phép tính quá trình, về cơ bản là một điều lý thuyết cho phép chúng tôi chính thức hóa và nghiên cứu một số khía cạnh của một chương trình song song.
Nếu bạn thay vì muốn có một lý thuyết cho phép bạn xây dựng chương trình phân phối, sau đó bạn nên có một cái nhìn để parallel structured programming.
Lập trình cấu trúc song song là cơ sở của nghiên cứu HPC (tính toán hiệu suất cao) hiện tại và cung cấp cho bạn phương pháp về cách tiếp cận và thiết kế các chương trình song song (về cơ bản, sơ đồ giao tiếp các nút tính toán) và hệ thống thời gian chạy thực hiện chúng.
Ý tưởng chính trong lập trình có cấu trúc song song là của bộ xương thuật toán, được phát triển ban đầu bởi Murray Cole. Một bộ xương là một thứ giống như một mẫu thiết kế song song với một mô hình chi phí được liên kết và (thường) là một hệ thống thời gian chạy hỗ trợ nó. Bộ xương mô hình, nghiên cứu và hỗ trợ một lớp thuật toán song song có một "hình dạng nhất định".
Như một ví dụ đáng chú ý, MapReduce (được phổ biến bởi Google) chỉ là một loại xương mà giải quyết dữ liệu song song, nơi một tính toán có thể được mô tả bởi một đồ giai đoạn (áp dụng một hàm f cho tất cả các yếu tố đó soạn dữ liệu đầu vào) và giảm giai đoạn (lấy tất cả các mục được chuyển đổi và "kết hợp" chúng bằng cách sử dụng toán tử kết hợp +).
Tôi đã tìm thấy ý tưởng lập trình song song có cấu trúc cả âm thanh lý thuyết và thực tiễn hữu ích, vì vậy tôi khuyên bạn nên xem xét nó.
Một từ về đa luồng: vì bộ xương xử lý song song lớn, thường chúng được triển khai trong bộ nhớ phân phối thay vì chia sẻ. Intel đã phát triển một công cụ, TBB, địa chỉ đa luồng và (một phần) theo khuôn khổ lập trình có cấu trúc song song. Nó là một thư viện C++, vì vậy có lẽ bạn chỉ có thể bắt đầu sử dụng nó trong các dự án của bạn.
lol @ 50k loc là lớn –
[PySCP] (http://code.google .com/p/pycsp /) trông giống như một thực thi khả thi thực tế của CSP. Một số ví dụ được bao gồm. Mặc dù, tại thời điểm nó được báo cáo chỉ được sử dụng cho các mục đích giáo dục. – spacediver