Czy nazywanie frameworku mapReduce jest rodzajem masowego synchronicznego frameworku programowania równoległego bez przechowywania pamięci lokalnej w procesorach między synchronizacjami? Jeśli nie, to jaki model programowania równoległego najdokładniej ujmuje strukturę mapReduce?
dc.parallel-comp
machine-models
Jeff Kubina
źródło
źródło
Odpowiedzi:
W sekcji 2 http://arxiv.org/abs/1101.1902 autorzy definiują model MapReduce, który jest celowo skonstruowany jak BSP. Dowodzą również twierdzeń symulacyjnych. Może być dobrym miejscem do rozpoczęcia.
źródło
Tak, moim zdaniem jest to, że klasyczny MapReduce jest modelem BSP (i dlatego ma swoje nieodłączne ograniczenia maksymalnej możliwej wydajności równoległej, którą można osiągnąć). Jednak nowsze prace nad MapReduce wydają się koncentrować na luźniejszych pojęciach synchronizacji, co pozwoliłoby usunąć to „uogólnione MapReduce” ze ścisłych ram BSP. W szczególności, jeśli powiela się niektóre dane, wówczas struktura synchronizacji może być rozluźniona, co powoduje wzrost wydajności.
Zobacz na przykład prace Foto Afrati i Jeffa Ullmana: Optymalizacja połączeń w środowisku zmniejszania mapy , EDBT 2010. ( preprint )
źródło
Ponieważ w MapReduce jest prosty i ustrukturyzowany wykres leżący u podstaw obliczeń, można to IMHO sklasyfikować jako model przepływu danych.
źródło