Có chính xác không khi gọi khung mapReduce là một loại khung lập trình song song đồng bộ số lượng lớn mà không có bộ nhớ cục bộ trong bộ xử lý giữa các đồng bộ hóa? Nếu không, mô hình lập trình song song nào đóng gói chính xác nhất khung mapReduce?
Có chính xác không khi gọi khung mapReduce là một loại khung lập trình song song đồng bộ số lượng lớn mà không có bộ nhớ cục bộ trong bộ xử lý giữa các đồng bộ hóa? Nếu không, mô hình lập trình song song nào đóng gói chính xác nhất khung mapReduce?
Câu trả lời:
Trong phần 2 của http://arxiv.org/abs/1101.1902 , các tác giả định nghĩa một mô hình MapReduce được cấu trúc có chủ ý như BSP. Họ chứng minh các định lý mô phỏng là tốt. Có thể là một nơi tốt để bắt đầu.
Có, ý kiến của tôi là MapReduce cổ điển là một mô hình BSP (và do đó có những hạn chế vốn có của nó đối với hiệu suất song song tối đa có thể đạt được). Tuy nhiên, công việc mới hơn trên MapReduce dường như tập trung vào các khái niệm đồng bộ hóa lỏng lẻo hơn, điều này sẽ đưa "MapReduce tổng quát" này ra khỏi khuôn khổ BSP nghiêm ngặt. Cụ thể, nếu một bản sao một số dữ liệu thì cấu trúc đồng bộ hóa có thể được nới lỏng, mang lại hiệu suất tăng.
Xem ví dụ công việc của Foto Afrati và Jeff Ullman: Tối ưu hóa tham gia trong môi trường thu nhỏ bản đồ , EDBT 2010 ( bản in trước )
Vì trong MapReduce có một biểu đồ đơn giản và có cấu trúc nằm dưới tính toán, nên IMHO có thể được phân loại là một mô hình luồng dữ liệu.