Передача сообщений - это другой способ реализации идеи параллельного программирования. Аксум и Эрланг используют передачу сообщений. Они на самом деле не сопоставимы напрямую, так как они оба обращаются к двум конкретным реализациям.
Преимущество, которое я видел при передаче сообщений, заключается в том, что любые границы сети / процесса можно сделать прозрачными, а сама передача сообщений не зависит от базовых потоков (все сообщения и участники могут быть в одном потоке).
Исходя из моего ограниченного понимания, TPL создан для того, чтобы опираться на / заменить / значительно улучшить текущую модель потоков в .NET, т.е. у вас есть реальные потоки, которыми вы управляете, и вы общаетесь, передавая аргументы или используя общее состояние. *
Если это с нуля, и дизайн подходит для разделения на очень маленькие сегменты кода, то я бы предложил MPI.NET. Если тип работы интенсивно использует процессор (например, математическая работа), я бы предложил маршрут TPL.
Редактировать: редактировать долго, этот ответ старый! MPI.NET непосредственно подходит для HPC, поскольку делает коммуникационную границу узлов HPC прозрачной и настраиваемой. MPI.NET отправляет сообщения конечным точкам - эти точки определяются как адреса IP / портов в файлах конфигурации. Код не знает, что конечная точка пересекает границу сети.
Если вы выберете TPL в HPC (не уверен, что он поддерживается), я думаю, ваш код должен будет знать об узлах и о том, как переносить обработку из одного в другой, поэтому вы не получите никаких преимуществ.