При небольших проблемах, «которые могут работать на маленькой машине или паре машин», да, вы должны переписать их, если производительность важна. Как отмечали другие, коммуникационные издержки высоки.
Я не думаю, что кто-либо делал какой-либо анализ сложности операций M / R, потому что он так сильно зависит от реализации, машины и алгоритма. Вы должны получить так много переменных только для, скажем, сортировки:
O(n log n * s * (1/p)) where:
- n is the number of items
- s is the number of nodes
- p is the ping time between nodes (assuming equal ping times between all nodes in the network)
Это имеет смысл? Это становится действительно грязным, очень быстрым. M / R также является структурой программирования, а не алгоритмом сам по себе, и анализ сложности обычно зарезервирован для алгоритмов.
Наиболее близким к тому, что вы ищете, может быть анализ сложности многопоточных алгоритмов , что намного проще.