Жолудев Ю.А.  

Desktop Grid для параллельных задач с произвольным коммуникационым профилем

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

Распределенная вычислительная среда, строящаяся с таким инструментарием, должна удовлетворять следующим требованиям:
• Независимость среды от топологии физической сети и её искусственных ограничений;
• Независимость среды от программно-аппаратной платформы участвующих в среде узлов;
• Параллельная задача может быть поставлена на выполнение с любого узла среды;
• Параллельные процессы, выполняющиеся на разных узлах среды, должны иметь возможность обмениваться сообщениями;
• Среда должна поддерживать одновременную работу нескольких параллельных задач;
• Результаты решения задач должны быть доступны с любого узла среды;
• Состав узлов, участвующих в решении задачи, может меняться в ходе расчета, при этом решение задачи не должно прерываться.
Программная модель распределенной среды определяется следующим образом:
• Параллельная задача — набор взаимодействующих параллельных процессов;
• Каждый процесс может передавать сообщения любому другому процессу путем передачи сообщений;
• Исполняемый код всех процессов разбивается контрольными точками на фрагменты;
• Коммуникационные операции, запрошенные в ходе фрагмента, могут считаться выполненными по достижению контрольной точки;
• Процессы задачи не имеют информации о топологии и характеристиках физической сети; адресация в рамках задачи основана на нумерации процессов.

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

Программный инструментарий разработан с помощью языка Java с использованием технологии высокопроизводительных peer-to-peer сетей общего назначения JXTA, позволяющей объединять компьютерные ресурсы в виртуальную сеть, строящуюся поверх физических сетей, допускающих наличие различных искусственных барьеров (включая firewall'ы, proxy-серверы, NAT и т. п.). Прикладная задача также реализуется на языке Java, при этом допускается использование внешних программных библиотек, которые могут иметь реализации для различных программно-аппаратных платформ.

Файл тезисов: zholudev-dicr-abstract.doc
Файл с полным текстом: zholudev-dicr-paper.pdf


К списку докладов