Вычислительные кластеры
В последнее время все большую популярность в мире получают вычислительные кластеры. Сразу оговоримся, что в компьютерной литературе понятие "кластер" употребляется в различных значениях. В частности, "кластерная" технология используется для повышения скорости работы и надежности серверов баз данных или web-серверов. Здесь мы будем говорить только о кластерах, ориентированных на решение задач вычислительного характера.
Если говорить кратко, то вычислительный кластер - это совокупность компьютеров, объединенных в рамках некоторой сети для решения одной задачи. В качестве вычислительных узлов обычно используются доступные на рынке однопроцессорные компьютеры, двух или четырехпроцессорные SMP-серверы. Каждый узел работает под управлением своей копии операционной системы, в качестве которой чаще всего используются стандартные ОС: Linux, Windows NT, Solaris и т.п. Состав и мощность узлов может меняться даже в рамках одного кластера, давая возможность создавать неоднородные системы. Выбор конкретной коммуникационной среды определяется многими факторами: особенностями класса решаемых задач, доступным финансированием, необходимостью последующего расширения кластера и т.п. Возможно включение в конфигурацию кластера специализированных компьютеров, например, файл-сервера. Как правило, предоставляется возможность удаленного доступа на кластер через Internet.
Ясно, что простор для творчества при проектировании кластеров огромен. Узлы могут не содержать локальных дисков, коммуникационная среда может одновременно использовать различные сетевые технологии, узлы не обязаны быть одинаковыми и т.д. Рассматривая крайние точки, кластером можно считать как пару ПК, связанных локальной 10-мегабитной Ethernet-сетью, так и вычислительную систему, создаваемую в рамках проекта Cplant в Национальной лаборатории Sandia: 1400 рабочих станций на базе процессоров Alpha объединены высокоскоростной сетью Myrinet.
С появлением вычислительных кластеров параллельные вычисления стали доступны многим. Если раньше параллельные компьютеры стояли в больших центрах, то сейчас кластер может собрать и поддерживать небольшая лаборатория. Стоимость кластерных решений значительно ниже стоимости традиционных суперкомпьютеров. Для их построения, как правило, используются массовые процессоры, стандартные сетевые технологии и свободно распространяемое программное обеспечение. Если есть желание, минимум средств и знаний, то принципиальных препятствий для построения собственной параллельной системы нет.
Список ТОР500
Top500 - официальный список 500 мощнейших компьютеров мира. Производительность компьютеров оценивается на тесте LINPACK. Список обновляется 2 раза в год. Последняя (20-я) редакция списка опубликована в ноябре 2002 г.
Тест LINPACK представляет собой решение больших систем линейных алгебраических уравнений методом LU-разложения. Параллельная реализация LINPACK основана на библиотеке SCALAPACK. Производительность определяется как количество "содержательных" операций с плавающей точкой в единицу времени, и выражается в Мфлопс. Число выполненных операций с плавающей точкой оценивается по формуле 2n3/3 + 2n2 (здесь п - размерность матрицы). В настоящее время LINPACK используется для формирования списка Top500 пятисот самых мощных компьютеров мира. Кроме пиковой производительности Rpeak для каждой системы указывается величина Rmax, равная производительности компьютера на тесте LINPACK с матрицей максимального для данного компьютера размера Nmax. По значению Rmax отсортирован весь список. Как показывает анализ представленных данных, величина Rmax составляет 50— 70% от значения Rpeak. Интерес для анализа функционирования компьютера представляет и указанное в каждой строке значение N1/2, показывающее, на матрице какого размера достигается половина производительности Rmax.
Сравнение коммуникационных технологий построения кластеров
Понятно, что различных вариантов построения кластеров очень много. Одно из существенных различий состоит в используемой сетевой технологии, выбор которой определяется, прежде всего, классом решаемых задач.
Первоначально Beowulf-кластеры строились на базе обычной 10-мегабитной сети Ethernet. Сегодня часто используется сеть Fast Ethernet, как правило, на базе коммутаторов. Основное достоинство такого решения — это низкая стоимость. Вместе с тем, большие накладные расходы на передачу сообщений в рамках Fast Ethernet приводят к серьезным ограничениям на спектр задач, эффективно решаемых на таких кластерах. Если от кластера требуется большая универсальность, то нужно переходить на другие, более производительные коммуникационные технологии. Исходя из соображений стоимости, производительности и масштабируемости, разработчики кластерных систем делают выбор между Fast Ethernet, Gigabit Ethernet, SCI, Myrinet, cLAN, ServerNet и рядом других сетевых технологий.
Узел 1 Узел 2 |
Какими же числовыми характеристиками выражается производительность коммуникационных сетей в кластерных системах? Необходимых пользователю характеристик две: латентность и пропускная способность сети. Латентность — это время начальной задержки при посылке сообщений. Пропускная способность сети определяется скоростью передачи информации по каналам связи. Если в программе много маленьких сообщений, то сильно скажется латентность. Если сообщения передаются большими порциями, то важна высокая пропускная способность каналов связи. Наличие латентности определяет и тот факт, что максимальная скорость передачи по сети не может быть достигнута на сообщениях с небольшой длиной. На практике пользователям не столько важны заявляемые производителем пиковые характеристики, сколько реальные показатели, достигаемые на уровне приложений, например из программ, использующих технологию MPI. После вызова пользователем функции посылки сообщения Send() сообщение последовательно проходит через целый набор слоев, определяемых особенностями организации программного обеспечения и аппаратуры. Этим, в частности, определяются и множество вариаций на тему латентности реальных систем. Установили MPI на компьютере плохо, латентность будет большая, купили дешевую сетевую карту от неизвестного производителя, ждите дальнейших сюрпризов. Кстати, наличие латентности определяет и тот факт, что максимальная скорость передачи по сети не может быть достигнута на сообщениях с небольшой длиной.
В следующей таблице приводятся некоторые характеристики наиболее известных коммуникационных технологий, используемых при построении кластерных систем.
|
Таблица. Сравнительные характеристики коммуникационных технологий |