Каждый параллельный алгоритм имеет дополнительные издержки по сравнению с его последовательным аналогом - эти издержки могут быть созданием потоков и обслуживанием на одной машине, но в основном это издержки связи - распределение исходных данных, IPC (межпроцессное взаимодействие), сбор частичных результатови / или комбинируя его.
Эффективность алгоритма зависит от различных факторов - очевидно, от размера ввода, а также количества узлов, которые вы используете для вычисления - см. изоэффективность .Использование большего количества машин не всегда означает более быстрое время обработки.Используя уравнения изоэффективности, вы можете вычислить, сколько узлов вы должны использовать для фиксированного размера задачи, чтобы максимизировать эффективность.
В вашем вопросе не содержится подробной информации о том, какой алгоритм вы использовали и какие примеры вы предоставили., но я ожидаю, что в очень больших случаях ваша распределенная система должна работать быстрее, чем ее последовательный аналог.