You are here

О проекте

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

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

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

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

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

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

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

  1. Масштабность. Суммарное число активных процессоров, общий объем памяти, число одновременно работающих пользователей и приложений в вычислительных средах может быть огромным. Чем больше значения подобных параметров, тем сложнее обеспечить эффективность расчета.
  2. Распределенность. Вычислительные узлы среды могут быть удалены друг от друга на тысячи километров, что вызовет большую латентность в их взаимодействии.
  3. Неоднородность. В состав среды могут входить компьютеры произвольной архитектуры и производительности, работающие каждый в своем режиме под управлением различных операционных систем, связанные между собой каналами с различной пропускной способностью.
  4. Динамичность. Архитектура среды может изменяться. Любой компьютер может выйти из состава среды в любой момент времени, но это не должно приводить к аварийной остановке вычислительного процесса. Более того, к среде могут добавляться новые ресурсы, которые нужно уметь оперативно подключать к текущему расчету.
  5. Различная административная принадлежность. Вычислительные узлы могут принадлежать различным людям и организациям. У всех свои правила администрирования и использования, свои режимы работы, свои политики обеспечения безопасности.

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

В настоящее время работы по использованию распределенных вычислительных сред идут по двум направлениям. Первое направление - создание универсальных сред. Как правило, при создании таких сред за основу берут Globus Toolkit, формируются глобальные полигоны, объединяющие в рамках высокоскоростных сетей значительные распределенные ресурсы. Направление интересное, однако реальные системы крайне тяжелы в установке, администрировании и сопровождении, организация расчетов на доступных компьютерах требует привилегированных административных полномочий, многие компьютерные платформы вообще не поддерживаются, тиражирование крайне затруднено. Примером работ в данном направлении является инфраструктура The Enabling Grids for E-sciencE.

Второе направление является развитием первого. Здесь универсальность среды заменяет четкая ориентация на конкретные задачи. Речь идет о создании специализированных сред для решения заранее предопределенного набора многократно используемых "тяжелых" вычислительных задач (своего рода специализированных вычислительных порталов). Это направление намного проще реализовать на практике, чем первое, однако в каждом случае среда жестко ориентирована на решение только одной конкретной задачи, не предоставляя сколько-нибудь универсальных средств решения других задач. Примеры систем данного направления: SETI@home, GIMPS, Folding@home и другие можно найти на сайте distributed.ru.

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

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

Одним из результатов работ по данному проекту станет создание и апробация прототипа вычислительной среды, направленной на объединение доступных компьютерных ресурсов организаций для оперативного решения актуальных вычислительно сложных задач. Активизируя на своих компьютерах специальный сервис, организации включаются в среду, предписывая режим использования своих ресурсов. Сервис обеспечивает безопасность подключения компьютера к среде, причем полный контроль над компьютерами остается за хозяевами компьютеров, и только они решают, когда и в каком объеме их компьютеры могут быть использованы под общие нужды. Зато в определенные моменты времени (ночью, в выходные и праздники, при других обстоятельствах) без каких-либо дополнительных затрат и вложений могут быть быстро сформированы и предоставлены для использования компьютерные системы с колоссальной производительностью. Подобный прототип может быть использован как для решения задач какого-либо отдельного предприятия, так и стать основой для формирования вычислительной среды национального масштаба.

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

В настоящий момент семейство программ X-Com включает в себя две версии системы метакомпьютинга X-Com². Java-версия X-Com² является полнофункциональным прототипом системы метакомпьютинга. В настоящее время ведется разработка системы X-Com² нового поколения, создаваемой при помощи Perl. Обе версии системы доступны на сайте, при этом поддержка Java-версии прекращена.