научная статья по теме РЕШЕНИЕ БОЛЬШИХ ЗАДАЧ В РАСПРЕДЕЛЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ СРЕДАХ Автоматика. Вычислительная техника

Текст научной статьи на тему «РЕШЕНИЕ БОЛЬШИХ ЗАДАЧ В РАСПРЕДЕЛЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ СРЕДАХ»

Автоматика и телемеханика, Л- 5, 2007

РАС Б 89.20.Ff

© 2007 г. В.В. ВОЕВОДИН, чл.-корр. РАН (Научно-исследовательский вычислительный центр МГУ им. М.В. Ломоносова)

РЕШЕНИЕ БОЛЬШИХ ЗАДАЧ В РАСПРЕДЕЛЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ СРЕДАХ1

Исследуются методы построения вычислительных сред для решения больших задач па доступных распределенных неоднородных компьютерных ресурсах. Разработанные подходы положены в основу системы Х-Сош. предназначенной для проведения широкомасштабных метакомпыотерпых расчетов. Кратко описаны принципы построения системы, приведены результаты реальных расчетов.

1. Введение

Большие задачи это тот класс задач, для прямого решения которых не хватает ресурсов доступных компьютеров. Такие задачи появились одновременно с рождением вычислительной техники и будут существовать всегда. Они всегда вызывают повышенный интерес, поскольку являются отражением новых компьютерных методов проведения исследований в различных областях науки, расширяя и дополняя традиционные подходы. Вычислительная аэро- и гидродинамика, молекулярное моделирование. квантово-химические методы, вычислительные технологии биоинформатики и биоинженерии имеют колоссальный потенциал для решения реальных задач. однако все они предъявляют исключительно жесткие требования к параметрам используемых компьютерных систем, превышающие возможности существующей вычислительной техники. Чтобы к подобным задачам все же можно было подступиться. их постановки приходится упрощать, понижать размер или размерность, снижать точность проведения исследований. Процесс упрощения продолжается до тех пор. пока не удается достичь той грани, где задача не теряет физического смысла и может быть решена на доступных компьютерах. Ищется тонкая грань. Своего рода точка равновесия. Шаг в одну сторону и задача становится неинтересной, шаг в другую ее решение выходит за разумное время. Большие задачи всегда балансируют на этой грани. Как только компьютерная техника предоставляет новые возможности, они мгновенно используются для смещения точки в пользу задачи, а затем опять работа на грани, но уже на грани новых возможностей. Поддерживать такое состояние непросто, многие характеристики нужно привести в согласованное состояние, множество тонких эффектов нужно учитывать и уметь контролировать.

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

1 Работа выполнена при поддержке грантов Российского фонда фундаментальных исследований: № 05-07-90206, 05-07-08009.

сотой продолжается. Обладая целым рядом положительных свойств, сети создают основу для нового поколения компьютерных систем распределенных вычислительных сред. Берем какое-то количество компьютеров в локальной сети или Интернет: офисные машины, рабочие места в учебных классах, кластеры, и рассматриваем это как единый параллельный компьютер. Или суперкомпьютер все определяется масштабностью такого объединения [1]. Суммарная производительность компьютеров сети весьма высока, и. следовательно, есть необходимый потенциал для создания инструмента решения больших задач. В отлично от традиционных суперкомпьютеров данный инструмент не является уникальной единичной установкой, он дешев и доступен всем. В самом деле, среды формируются на основе уже действующих компьютеров сети, новых затрат практически не требуется, что и делает такой подход экономически привлекательным. Более того, развитие и модернизация вычислительных сред происходит автоматически по мере обновления компьютерного парка сети.

2. Распределенные вычислительные среды

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

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

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

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

4. Динамичность. Архитектура среды может изменяться. Любой компьютер может выйти из состава среды в любой момент времени, но это не должно приводить к аварийной остановке вычислительного процесса. К среде могут добавляться новые ресурсы, которые нужно уметь оперативно подключать к текущему расчету.

5. Различная административная принадлежность. Вычислительные узлы могут принадлежать различным людям, организациям, государствам. У всех свои правила администрирования и использования, свои режимы работы, свои политики обеспечения безопасности.

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

'2 Автоматика и телемеханика, № о

33

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

Все указанные выше свойства в той или иной мере повлияют на решение задач в распределенных вычислительных средах, однако относительно неоднородности и динамичности нужно сделать несколько особых замечаний. Начать следует с того. что в средах все вычислительные узлы потенциально ненадежны. При этом делается акцент не на поломке или сбое в работе компьютера, а на факте его возможного выхода в любой момент времени из состава среды. В самом деле, если кто-то согласился отдать ресурсы своего компьютера для расчета, то на правах хозяина он всегда может забрать его назад под свои собственные нужды. Опять же. непредсказуемый сбой в работе маршрутизатора может привести к отключению от сети целого сегмента. Любой узел может "исчезнуть" вне зависимости от того, завершил ли он обработку выделенного ему задания или нет. Звучит парадоксально, но у компьютеров, составляющих вычислительную среду, нет никаких обязательств перед самой средой. В других компьютерных системах такого произвола нет. Узлы кластера работают только на кластер, и обязательства перед системой максимальные. Компьютеры, входящие в грид-системы. соблюдают определенный регламент в предоставлении своих ресурсов, определяющий их вклад в работу системы в целом. В нашем случае все по-другому. Ориентация на подключение максимального числа компьютеров к расчетам но позволяет выдвигать каких-либо требований на режим их использования, что и приводит к их потенциальной ненадежности.

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

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

3. Вычислительные среды и прикладные задачи

Особенности архитектуры компьютерных систем всегда накладывают отпечаток на этапы технологической цепочки решения задач. Так и в нашем случае: структура процесса вычислений в среде, технология программирования, требования на систе-

Особенности неоднородных распределенных вычислительных сред

Класс и Структура Про

Для дальнейшего прочтения статьи необходимо приобрести полный текст. Статьи высылаются в формате PDF на указанную при оплате почту. Время доставки составляет менее 10 минут. Стоимость одной статьи — 150 рублей.

Показать целиком