| ||||||||||||||||||||||||
Тема увеличения скорости вычислений весьма актуальна для всех тех, чья деятельность связана с большим объемом вычислительных работ. Так, например, рассчеты гравитирующих газовых дисков зачастую требуют нескольких месяцев непрерывного счета на машине класса iPIII. В середине 80х, будучи студентом, выбрав для себя в качестве специализации теоретическую астрофизику, я напрямую столкнулся с проблемой быстродействия. Но, ни тогда, ни даже сейчас у российских университетов чаще всего нет средств для закупки мощных компьютеров типа nCube, Cray или подобных. Однако с развитием программного обеспечения и появлением свободно распространяемой операционной системы Linux стало возможным создать вычислительный комплекс с эффективным быстродействием, сравнимым с быстродействием суперкомпьютеров, но со стоимостью в десятки раз меньшей. Сейчас в наших научных организациях и университетах, как правило, имеются энтузиасты бесплатного распространяемого ПО и специалисты по ОС Linux. В то же время парк более-менее современных персональных компьютеров в этих организациях имеется. Закономерно появилась идея создавния параллельных вычислительных систем из общедоступных компьютеров на базе процессоров Intel и недорогих Ethernet-сетей, устанавив на эти компьютеры Linux и, объединив с помощью одной из бесплатно распространяемых коммуникационных библиотек (PVM, а затем MPI) эти компьютеры в кластер. Оказалось, что на многих классах задач и при достаточном числе узлов такие системы дают производительность, сравнимую с той, что можно получить, используя дорогие суперкомпьютеры.
При отсутствии высококвалифицированных параллельных программистов кластеры Beowulf (а речь на этом сайте пойдет имено о них) создаются и используются людьми с минимальным опытом параллельного программирования.В самом деле, кластеры Beowulf обеспечивают университеты с ограниченными ресурсами хорошей платформой для изучения параллельного программирования и недорогой производительной вычислительной системой для ученых. Затраты на установку в университетах минмиальны: многие студенты заинтересованы в таких проектах и используют Linux на собственных компьютерах, установка кластера и написание параллельных программ является частью процесса обучения.
Комплекс работает под операционной системой Linux. Отказ от использования каких-либо специальных hardware-компонентов делает архитектуру Beowulf легко воспроизводимой и имеющей уникальное соотношение быстродействие/стоимость.Beowulf - это не специфический пакет программ, новая топология сети или новейшая модификация ядра ОС. Beowulf - это технология кластеризации компьютеров, работающих под управлением ОС Linux в разновидность параллельного, виртуального суперкомпьютера. Хотя существует много программных пакетов, таких как модификации ядра, библиотеки PVM и MPI и конфигурационные утилиты, которые делают архитектуру Beowulf более быстрой, простой в конфигурировании и эффективной, можно построить машину класса Beowulf, используя только стандартный дистрибутив Linux, без какого либо дополнительного математического обеспечения. Если имеются два соединенные сетью компьютера под ОС Linux, которые разделяют по меньшей мере файловую систему /home при помощи NFS, и позволяют друг другу выполнять удаленный шелл (rsh), то можно говорить, что это простой кластер Beowulf из двух узлов. Кроме Beowulf, известна еще одна близкая кластерная технология - NOW. В NOW персональные компьютеры обычно содержат информацию о самих себе и поставленных перед ними задачах, а в обязанности системного администратора такого кластера входит формирование данной информации. Кластеры Beowulf в этом отношении (то есть с точки зрения системного администратора) проще: там отдельные узлы не знают о конфигурации кластера. Лишь один выделенный узел содержит информацию о конфигурации; и только он имеет связь по сети с внешним миром. Все остальные узлы кластера объединены локальной сетью, и с внешним миром их связывает только "тоненький мостик" от управляющего узла. При обилии в Интернете информации о способах построения кластеров и технологии параллельных вычислений наблюдается недостаток систематизированных работ, в которых бы подробно описывались различные ньюансы, понятые специалистам, но являющиеся предметом затруднений для тех, кто впервые решил приобщится к миру кластерных компьютеров. Особенно это верно для материалов на русском языке. В этой книге я попытаюсь дать подробное описание тех проблем и задач, а так же их решение, с которыми придется столкнуться при попытке применить кластерные технологии для решения инженерных и научных задач. |
| |||||||||||||||||||||||