Tôi chưa bao giờ thấy chúng rất giống nhau. Hãy để tôi xác định cho mục đích của bài đăng này là một "nút" là một chuỗi phần cứng đang chạy trên một máy. Vì vậy, một máy lõi tứ là bốn nút, như là một cụm bốn hộp xử lý đơn.
Mỗi nút thường sẽ chạy một số quá trình xử lý và sẽ cần có một số loại giao tiếp qua nút. Thông thường, trường hợp đầu tiên của giao tiếp này là nói cho nút phải làm gì. Đối với giao tiếp này, tôi có thể sử dụng bộ nhớ chia sẻ, semaphores, các tệp được chia sẻ, tên đường ống, ổ cắm, các cuộc gọi thủ tục từ xa, được phân phối COM, v.v. Nhưng những cách dễ nhất để sử dụng, bộ nhớ chia sẻ và semaphores, thường không có sẵn trên mạng. Các tệp được chia sẻ có thể có sẵn, nhưng hiệu suất thường kém. Ổ cắm có xu hướng là lựa chọn phổ biến nhất và linh hoạt nhất trên mạng, thay vì các cơ chế phức tạp hơn. Tại thời điểm đó, bạn phải xử lý các chi tiết về kiến trúc mạng, bao gồm độ trễ, băng thông, mất gói, cấu trúc liên kết mạng và hơn thế nữa.
Nếu bạn bắt đầu với hàng đợi công việc, các nút trên cùng một máy có thể sử dụng bộ nhớ dùng chung đơn giản để thực hiện những việc cần làm. Bạn thậm chí có thể viết nó lên không khóa và nó sẽ hoạt động liên tục. Với các nút trên mạng, bạn đặt hàng đợi ở đâu? Nếu bạn tập trung nó, máy đó có thể bị chi phí băng thông rất cao. Cố gắng phân phối nó và mọi thứ trở nên rất phức tạp rất nhanh chóng.
Những gì tôi đã tìm thấy, nói chung, là những người giải quyết loại kiến trúc song song này có xu hướng chọn các vấn đề song song đáng xấu hổ để giải quyết. Raytracing đến với tâm trí. Không cần nhiều giao tiếp qua nút, ngoài việc phân phối công việc. Có rất nhiều vấn đề như thế này, để chắc chắn, nhưng tôi thấy nó có chút bất tiện khi đề xuất rằng tính toán phân tán cơ bản giống như luồng.
Bây giờ nếu bạn định viết luồng hành xử giống hệt với hệ thống phân tán, sử dụng thông điệp thuần tuý và không giả sử bất kỳ chuỗi nào là chủ đề chính và như vậy, thì có, chúng sẽ là rất tương đồng. Nhưng những gì bạn đã làm là giả vờ bạn có một kiến trúc phân tán và thực hiện nó trong các chủ đề. Vấn đề là luồng là một trường hợp song song đơn giản hơn nhiều so với tính toán phân tán thực. Bạn có thể tóm tắt hai thành một vấn đề duy nhất, nhưng bằng cách chọn phiên bản khó hơn và gắn bó chặt chẽ với nó. Và kết quả sẽ không được tốt như họ có thể được khi tất cả các nút là địa phương cho một máy. Bạn không tận dụng lợi thế của trường hợp đặc biệt.
Tính trong suốt của mạng chính xác là cụm từ tôi đang tìm kiếm. "nhiều công cụ được sử dụng cho truyền thông liên tiến trình là mạng trong suốt" - bất kỳ ví dụ cụ thể nào? – sdcvvc