LINUX.ORG.RU

Обмен сообщениями в Rust

 , ,


1

7

В перспективе мне нужен будет обмен сообщениями в Rust между процессами кластера. Что-то в духе Эрланга, Akka или Cloud Haskell. Как понимаю, на системном языке уже имеет смысл использовать Open MPI. Что используется в Rust?

Пока нашел вот это:

https://github.com/andrewjstone/rabble

https://github.com/bsteinb/rsmpi

Как один из основных вариантов рассматриваю непосредственное использование Open MPI через код unsafe.

★★★★★

Что за карго культ у этих кластерщиков? Родина им дала MessagePack-RPC, дала gRPC - пользуйся! Не хочу, хочу дремучее MPI и фортран.

Begpoug ()
Ответ на: комментарий от Begpoug

Ващет RPC и MPI это немного разные вещи, нужные для разных задач. MPI прежде всего нужен для распараллеливания алгоритмов с целью увеличения перфоманса. RPC с их обилием заголовков и прочей лишней инфой для этого не подходит.

Aswed ★★★★★ ()
Ответ на: комментарий от tailgunner

С MPI пока не сталкивался, но конкуренты его используют.

Мне нужна собственно сама пересылка сообщений. На точке назначения нужен ящик входящих сообщений. Желательна прозрачная идентификация точки назначения, чтобы этот идентификатор можно было считать или восстановить из текстового конфигурационного файла. Нужно уведомление, если происходит разрыв связи с точкой назначения во время передачи сообщения. Как вершина желаний - умение запускать удаленно код на другом системном процессе. Все это умеет Cloud Haskell, к примеру.

dave ★★★★★ ()
Последнее исправление: dave (всего исправлений: 1)
Ответ на: комментарий от dave

Насчет «прозрачной идентификации точки назначения» и ящиков не понял. Если ящик - это очередь сообщений, то такого вроде нет.

Как вершина желаний - умение запускать удаленно код на другом системном процессе.

MPI_Spawn? https://www.open-mpi.org/doc/v2.0/man3/MPI_Comm_spawn.3.php

tailgunner ★★★★★ ()

Как один из основных вариантов рассматриваю непосредственное использование Open MPI через код unsafe.

Настоящий программист на Фортране может писать на Фортране на любом языке.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.