Erlang предназначен только для работы на одной многоядерной машине, или вы можете распределить процессы? - PullRequest
2 голосов
/ 20 апреля 2009

Мое приложение хорошо работает на моем четырехъядерном компьютере. Он «смущающе параллелен», имеет около 100 тыс. Процессов и поэтому прекрасно подходит для работы на кластере машин. Однако я не могу найти документацию о том, как распределить все эти процессы по всем доступным узлам в кластере.

Документация для распределенного Erlang, кажется, фокусируется на приложениях сервер-клиент, где каждый узел является клиентом, на котором выполняется одно приложение, и вы вручную указываете, какой узел запускает какой процесс.

Ответы [ 3 ]

10 голосов
/ 20 апреля 2009

Вы, конечно, можете распространять программу Erlang на несколько ядер и компьютеров в кластере. Он был разработан для такого рода вещей.

1 голос
/ 20 апреля 2009

Мне нравится использовать слово "прозрачный" при описании процессов Эрланга. Нет кода, который нужно изменить, если вы решите запустить процесс на другом хосте.

0 голосов
/ 20 апреля 2009

Есть ли вообще поддержка в Erlang для запуска одного параллельного приложения на распределенных процессорных ядрах?

Конечно! Но это зависит от того, как вы разработали свое приложение. «Идеальное» распространяемое приложение Erlang на самом деле построено из ряда независимых (Erlang) процессов, которые взаимодействуют друг с другом через систему обмена сообщениями для выполнения вычислений.

...