Python, кажется, имеет много различных пакетов в наличии для помощи один в параллельной обработке в основанной на SMP системе или через кластер. Я интересуюсь созданием клиент-серверной системы, в которой сервер поддерживает очередь заданий и клиентов (локальный или удаленный) подключение и выполненные задания, пока очередь не пуста. Из упомянутых выше пакетов, который рекомендуется и почему?
Править: В частности, я записал средство моделирования, которое берет в нескольких исходных данных и обрабатывает вещи некоторое время. Я должен собрать достаточно образцов из моделирования, чтобы оценить, что среднее в пользователе указало доверительный интервал. Для ускорения вещей я хочу смочь выполнить моделирования во многих различных системах, каждая из которых сообщают серверу в некотором интервале с образцами, которые они собрали. Сервер затем вычисляет доверительный интервал и определяет, должен ли клиентский процесс продолжиться. После того, как достаточно образцов было собрано, сервер завершает все клиентские моделирования, реконфигурировал моделирование на основе прошлых результатов и повторяет процессы.
С этой потребностью в общении между процессами клиента и сервера я подвергаю сомнению, является ли планирование пакета эффективным решением. Извините я должен был быть более ясным для начала.
проходят с ParallyPhonthon . Кажется простым в использовании и должен предоставить работу заданий и очередей, которые вы хотите.
Существует также два разных обертка Python по карте / снижает рамочный капитал Hadoop:
http://code.google.com/p/happy/
http://wiki.github.com/klbostee / dumbo
Карта / Уменьшение - это хороший узор разработки с большим количеством рецептов для решения распространенных моделей проблем.
Если у вас нет кластера, сам Hadoop сам приятно, потому что он имеет полное планирование работы, автоматическое распространение данных в кластере (I.E. HDF) и т. Д.
Самый простой способ сделать это, вероятно, просто будет просто выводить промежуточные образцы для разделения файлов (или базы данных), поскольку они завершают, и имеют процесс иногда опроса этих выходных файлов, чтобы увидеть, если они достаточно или достаточны или если необходимо представить больше рабочих мест.
Я предполагаю, что это потому, что вы используете список, который, я полагаю, имеет внутренний предел.
Узнайте, что можно получить, если попробовать создать свой старый школьный список:
public class ListItem<T>
{
public ListItem Parent;
public T Value;
public ListItem(ListItem<T> parent, T item)
{
this.Parent = parent;
this.Value = item;
}
}
Я писал почти этот точный код раньше (только мой предмет был int) и запускать его на машине с 32 процессорами и 128 ГБ баранки, он всегда уныло в одном размере независимо от того, что, и всегда было что-то связано с Int32.MaxValue, надежда, что помогает.
-121--2586078-XML с новыми строками и без них и другие пробелы не считаются одинаковыми с помощью «match». При использовании scala.xml.Utility.trim можно удалить пробел. (Вы, вероятно, хотите обрезать и ваш ввод, и то, что дает вам сервер, если вы не уверены, что сервер не отправит вам пробел.)
-121--4407700-Учитывая, что вы отметили свой вопрос «научные вычисления», и упомянули кластер, какая-то MPI обертка кажется очевидным выбором, если целью является разработка параллельных приложений, как можно догадаться из названия. Затем в тексте вопроса предлагается разработать планировщик партий. Так что я не знаю, какой вопрос ты задаешь.