Если вы хотите узнать больше о пакете remote
, также известном как CloudHaskell, см. статью и тезис Джеффа Эпштейна .Она направлена на то, чтобы предоставить именно ту абстракцию актера, которую вы хотите, но, как вы говорите, это на ранних стадиях.В настоящее время активно обсуждаются улучшения в списке рассылки parallel-haskell , поэтому, если у вас есть конкретные потребности, которых remote
не удовлетворяет, мы будем рады, если вы подключитесь и поможете нам решить его.будущие направления.
Более зрелый, но более низкий уровень, чем remote
- это пакет haskell-mpi
.Если вы придерживаетесь интерфейса Simple
, сообщения могут быть отправлены с произвольными Serialize
экземплярами, но абстракция все еще намного ниже, чем remote
.
. Существуют некоторые экспериментальные системы.например, как описано в разделе «Реализация высокоуровневой параллельной распределенной памяти Haskell в Haskell» (Патрик Майер и Фил Триндер, IFL 2011, не могут найти PDF-файл онлайн).Он сочетает monad-par
подход детерминированного параллелизма потоков данных с ограниченной способностью сделать I-структуры сериализуемыми по сети.Подобные абстракции обещают выполнять распределенные вычисления, но, поскольку основное внимание уделяется вычислению чисто функциональных значений, а не обеспечению процессов в стиле Erlang, они, вероятно, не подойдут для вашего приложения.
Такжедля полноты изложения я должен указать на вики-страницу Haskell по облаку и HPC Haskell , в которой описывается то, что я здесь описываю, а также подраздел по распространяемому Haskell , который, как представляется, нуждается в этом.обновления.