Введение.......................................................................................... 3
1. Супер-компьютеры..................................................................... 4
1. 1 Сущность понятия суперкомпьютер................................... 4
1.2 Сферы применения суперкомпьютеров............................... 8
1.3 Применение суперкомпьютеров........................................... 8
2. Вычислительные кластеры....................................................... 13
2.1 Сушность понятия кластер................................................. 13
2.2 Цели создания кластерных систем..................................... 18
2.3 Виды кластерных систем.................................................... 19
Заключение.................................................................................... 24
Список литературы....................................................................... 25
Сегодня вычислительный мир находится в состоянии ожидания чего-то необычного: с одной стороны, появилась уникальная возможность создавать недорогие установки суперкомпьютерного класса ? вычислительные кластеры, а с другой, есть устойчивое сомнение в серьезности этого направления.
Сегодня вычислительный мир находится в состоянии ожидания чего-то необычного: с одной стороны, появилась уникальная возможность создавать недорогие установки суперкомпьютерного класса - вычислительные кластеры, а с другой, есть устойчивое сомнение в серьезности этого направления. Однако при всех «за» и «против» постоянным обитателям списка Top500 - компаниям Сray, Sun, Hewlett-Packard и другим уже пришлось потесниться, пропустив 11 кластерных установок в элитные ряды чемпионов. А производители сетевых решений на базе cLAN, Myrinet, ServerNet, SCI продолжают и дальше совершенствовать свои технологии, давая возможность практически каждому собрать у себя свой собственный вариант суперкомпьютера.
Термин «суперкомпьютер» существует так же долго, как и само представление о компьютере. Но само понятие вошло в использование только в 1975 году, когда Сеймур Крей построил аппарат Cray-1. Современный персональный компьютер раз в 500 превосходит по быстродействию Cray-1. Приставка супер- за это время устранилась, и сейчас многие избегают понятия «суперкомпьютер». На сегодняшний момент суперкомпьютерами принято называть компьютеры с огромной вычислительной мощностью, предназначающиеся для высокопроизводительных вычислений.
ФирмаCrayResearchв 2000 г. создала супер-ЭВМ производительностью 1 TFLOPS = 1 000000 MFLOPS.
Создать такую высокопроизводительную ЭВМ по современной технологии на одном микропроцессоре невозможно, т.к. есть ограничение, обусловленное конечным значением скорости распространения электромагнитных волн (300 000 км/с), т.к. время распространения сигнала на расстояние несколько миллиметров (линейный размер стороны МП) при быстродействии 100 млрд. оп/с становится соизмеримым с временем выполнения одной операции. Поэтому супер-ЭВМ создаются в виде высокопараллельных многопроцессорных вычислительных систем (МПВС).
Высокопараллельные МПВСимеют несколько разновидностей:
Магистральные (конвейерные) МПВС, в которых процессоры одновременно выполняют разные операции над последовательным потоком обрабатываемых данных; по принятой классификации такие МПВС относятся к системам с многократным потоком данных (МКОД или MISD–MultipleInstructionSingleData);
ВекторныеМПВС, в которых все процессоры одновременно выполняют одну команду над различными данными – однократный поток команд с многократным потоком данных (ОКМД или SIMD–SingleInstructionMultipleData).
Матричные МПВС, в которых МП одновременно выполняют разные операции над несколькими последовательными потоками обрабатываемых данных – многократный поток команд с многократным потоком данных.
Условные структуры однопроцессорной и многопроцессорных вычислительных систем показаны на рис. 1.
В супер-ЭВМ используются все три варианта архитектуры МПВС:
Структура MIMDв классическом ее варианте (например, в суперЭВМ BSPфирмы Burroughs);
Параллельно-конвейерная модификация, иначе говоря, MMISD, т.е. многопроцессорная MISD-архитектура (например, в суперкомпьютере «Эльбрус 3»);
Параллельно-векторная модификация, или MSIMD, т.е. многопроцессорная SIMD-архитектура (например в суперкомпьютере Cray 2).
омпьютер медицина техника погода
Рисунок 1 а — SISD (однопроцессорная); б — MISD (конвейерная);в — SIMD (векторная); г — MIMD (матричная)
Самую большую эффективность показала архитектура MSIMD, поэтому в современных суперкомпьютерах используется именно эта архитектура (например, в суперкомпьютерах фирм Cray, Fujitsu, NEC, Hitachiи др.)
Характеристики производительности Супер-ЭВМ
За 50 лет производительность компьютеров выросла более, чем в 700 000 000 раз. При этом выигрыш в быстродействии, связанный с уменьшением времени такта с 2 микросекунд до 1.8 наносекунд, составляет лишь около 1000 раз.
Использование новых решений в архитектуре компьютеров.
Главное место среди них занимает принцип параллельной обработки данных, воплощающий идею одновременного (параллельного) выполнения нескольких действий. Параллельная обработка данных, воплощая идею одновременного выполнения нескольких действий, имеет две разновидности: конвейерность и параллельность.
Параллельная обработка. В случае, когда устройство выполняет одну операцию за единицу времени, то тысячу операций оно выполнит за тысячу единиц. Если предположить, что есть пять таких же независимых устройств, способных работать одновременно, то ту же тысячу операций система из пяти устройств может выполнить уже не за тысячу, а за двести единиц времени. Аналогично система из N устройств ту же работу выполнит за 1000/N единиц времени. Подобные аналогии можно найти и в жизни: если одна труба наполняет бассейн за 10 часов, то 10 таких же труб – за 1 час. Принцип параллельности в действии!
Конвейерная обработка. Целое множество мелких операций (таких как сравнение порядков, выравнивание порядков, сложение мантисс, нормализация и т.п.) процессоры первых компьютеров выполняли для каждой пары аргументов последовательно одна за одной до тех пор, пока не приходили к окончательному результату, и лишь после этого переходили к обработке следующей пары слагаемых.
Все самые первые компьютеры (EDSAC, EDVAC, UNIVAC) имели разрядно-последовательную память, из которой слова считывались последовательно бит за битом. Первым коммерчески доступным компьютером, использующим разрядно-параллельную память (на CRT) и разрядно-параллельную арифметику, стал IBM 701, а наибольшую популярность получила модель IBM 704 (продано 150 экз.), в которой, помимо сказанного, была впервые применена память на ферритовых сердечниках и аппаратное арифметико-логическое устройство с плавающей точкой.
Иерархия памяти. Иерархия памяти прямого отношения к параллелизму не имеет, но, тем не менее, относится к тем особенностям архитектуры компьютеров, которые имеют огромное значение для повышения их производительности (сглаживание разницы между временем выборки из памяти и скоростью работы процессора). Основные уровни: регистры, кэш-память, оперативная память, дисковая память. Время выборки по уровням памяти от дисковой памяти к регистрам уменьшается, стоимость в пересчете на 1 слово (байт) растет. В настоящее время, подобная иерархия поддерживается даже на персональных компьютерах.
В настоящее время используются:
Векторно-конвейерные компьютеры. Функциональные конвейерные устройства и набор векторных команд
Массивно-параллельные компьютеры с распределенной памятью.
Параллельные компьютеры с общей памятью. Вся оперативная память таких компьютеров разделяется несколькими одинаковыми процессорами
Использование параллельных вычислительных систем
Для каких же целей нужна столь дорогостоящая и сверхмощная техника? Классической областью применения супер-ЭВМ всегда были научные исследования. То есть это те сферы, где для решения задачи применяется численное моделирование; там, где требуется огромный объём сложных вычислений, обработка огромного количества данных в реальном времени, или где решение задачи может быть найдено простым перебором множества значений большого количества исходных параметров.
Сначала супер-ЭВМ применялись только для оборонных задач: расчёты по ядерному и термоядерному оружию, ядерным реакторам. Позже, по ходу совершенствования математического аппарата численного моделирования и развития знаний в других сферах науки, супер-ЭВМ стали применяться и в обычных расчётах, основывая и создавая новые научные дисциплины, например, численный прогноз погоды, вычислительная биология и медицина, вычислительная химия, вычислительная гидродинамика, вычислительная лингвистика и т.п.
Для кого разрабатываются сверхмощные и сверхумные машины и где они используются?
Суперкомпьютеры используются учеными при решении задач квантовой физики и механики.
В военной промышленности с помощью суперкомпьютеров разрабатывают новые тактические и стратегические позиции. Супер-ЭВМ помогают осуществлять различные исследования по повышению эффективности готовой боевой техники и по ее модернизации. Также с помощью них разрабатываются новейшие виды оружия и средств защиты.
Исследование ядерных процессов, моделирование цепной реакции и ядерного взрыва дают ученым богатый материал для исследования этих удивительных, но опасных явлений.
Изучение молекулярной структуры белка помогает сделать немало важных и ценных для человечества открытий, определить причины и механизмы генетически обусловленных заболеваний. Такая работа под силу только суперкомпьютерам.
Виртуальные модели кровеносной системы человека исследуются врачами и биологами для того, чтобы получить эффективные способы борьбы с заболеваниями сердца и сосудов.
Но эти мощные вычислительные машины нужны не только для проведения серьезных научных исследований, результаты которых принесут человечеству плоды только в будущем. Прикладное применение суперкомпьютеров можно обнаружить во многих сферах нашей жизни.
Применение супер-ЭВМ в биологии и медицине.
Современные медицинские исследования, новейшие разработки и научные открытия стали возможны именно благодаря супер-ЭВМ, которые позволяют проводить своевременную диагностику, с большим процентом вероятности прогнозировать ход болезни и реакцию организма на лечение. Суперкомпьютеры позволяют моделировать процессы, происходящие в жизненно важных органах для того, чтобы понять основной принцип их работы и эффективно бороться с патологиями.
В биологии суперкомпьютеры, микрочипы и электронные микроскопы используются для изучения процессов, которые происходят на клеточном уровне. Это дает большие возможности для серьезнейших научных открытий, способных изменить современную науку.
В медицине и биологии суперкомпьютеры больше нужны именно для исследовательской работы, хотя, некоторые крупные клиники могут позволить себе использовать такие машины и для решения прикладных задач: диагностики и лечения.
Применение суперкомпьютеров в космическом пространстве.
Помощь суперкомпьютеров нужна не только для фиксирования данных на борту космических станций и обеспечения эффективности работы этих грандиозных сооружений.
Эта мощнейшая техника позволяет проектировать новые орбитальные и межпланетные станции, выстраивать данные оптимальной траектории движения станций, изучать процессы, которые влияют на геомагнитный фон Земли, отслеживать и предугадывать всплески солнечной активности и выявлять их закономерности.
При разработке новых моделей космических станций и искусственных спутников, суперкомпьютеры проводят серьезную работу по моделированию и прогнозированию всех возможных ситуаций, обеспечивая, таким образом, безопасность полета.
Применение суперкомпьютеров в прогнозировании погоды.
С помощью суперкомпьютеров стало возможно очень точно предсказывать погоду. Цифровая обработка данных, полученных на метеорологических станциях, производится в кратчайшие сроки, что дает шанс заглянуть в будущее и предупредить людей о возможных погодных неприятностях. Эта работа суперкомпьютеров тесно связана с прогнозами стихийных бедствий, которые способны спасти жизнь многих людей.
Супер-ЭВМ в промышленности.
Благодаря суперкомпьютерам наша жизнь становится более комфортабельной и безопасной, так как именно эти машины помогают разрабатывать новые модели автомобилей и самолетов.
Исследование аэродинамических свойств, устойчивости, маневренности, способы сочетать эти качества в оптимальной пропорции могут только суперкомпьютеры.
Супер-ЭВМ имеют большое влияние на жизнь современного человека, но мало, кто об этом задумывается. Сидя в новом автомобиле и слушая по радио прогнозы погоды, отправляясь в поездку с GPRS навигатором, покупая билет на самолет к теплому морю, просматривая по телевизору 500 цифровых каналов, включая чайник, электроэнергия для которого была получена в недрах атомного реактора, люди почти не замечают, что пользуются результатами работы сложнейших суперкомпьютеров.
Суперкомпьютеры в России
Супер-ЭВМ – это национальное достояние, и их разработка и производство несомненно должны быть одним из приоритетов государственной технической политики стран, которые являются мировыми лидерами в области техники и науки.
США и Япония являются практически единственными странами, разрабатывающими и производящими суперкомпьютеры в больших масштабах. Свои супер-ЭВМ были созданы в Индии и Китае. Но все-таки большинство развитых стран, в том числе и ряд государств Восточной Европы, предпочитают использовать суперкомпьютеры, произведенные в США и Японии.
Положение с разработками суперкомпьютеров в России, очевидно, оставляет желать лучшего. Работы над отечественными супер-ЭВМ в последние годы велись сразу в нескольких организациях. Под управлением академика В.А. Мельникова была разработана векторная супер-ЭВМ "Электроника CC-100" с архитектурой, напоминающей Сгау-1. В Институте точной механики и вычислительной техники проводятся работы по созданию суперкомпьютеров "Эльбрус-3". Этот компьютер может иметь до 16 процессоров с тактовой частотой 10 нс. По оценкам разработчиков, на тестах LINPACK при N = 100 быстродействие процессора составит 200 MFL0PS, при N = 1000 - 370 MFLOPS. Другая разработка, выполненная в этом институте, - Модульный Конвейерный Процессор (МКП), в котором используется оригинальная векторная архитектура, но по быстродействию он, вероятно, должен уступать "Эльбрус-3".
Другим центром работ над отечественными суперкомпьютерами является известный своими работами по созданию единой системы ЭВМ Научно-исследовательский Центр Электронной Вычислительной Техники. Там был выполнен ряд интересных разработок: различные модели векторных супер-ЭВМ ЕС 1191 на ECL-технологии и идут работы над новым суперкомпьютером "АМУР", в котором используется КМОП-технология. Ряд организаций во главе с ИПМ РАН ведут работы по созданию MPP-компьютера МВС-100, в процессорных элементах которого используются микропроцессоры i860XP, а для организации коммуникаций применяются транспьютеры Т805. Хотя в наличии имеются опытные образцы некоторых из вышеупомянутых отечественных компьютеров, но ни один из них промышленно не производится.
В большинстве инсталляций суперкомпьютеров используется, вероятно, продукция фирмы Convex. В нескольких организациях эксплуатируются старые модели минисуперкомпьютеров серий Clxx, С2хх, которые по производительности уже уступают современным рабочим станциям. В Санкт-Петербурге в системе Госкомвуза инсталлирована минисупер-ЭВМ Convex серии С3800, в Москве в ИПМ РАН недавно установлена суперкомпьютерная система SPP 1000/CD. Имеются планы инсталляции и других суперкомпьютеров (например, SGI POWER CHALLENGE) в ряде институтов РАН.
Между тем отсутствие возможностей применения супер-ЭВМ сдерживает развитие отечественной науки и делает принципиально невозможным успешное развитие целых направлений научных исследований. Приобретение одного-двух, даже очень мощных, суперкомпьютеров не поможет решить данную проблему. И дело не только в стоимости их приобретения и затрат на поддержание работоспособности. Существует еще целый ряд причин (например, доставка информации по компьютерной сети), препятствующих эффективному использованию супер-ЭВМ.
Более целесообразным представляется подход, предложенный российским Фондом фундаментальных исследований. Разработанная "Программа создания комплексных сетей связи и баз данных фундаментальной науки и образования" на 1995-1998 гг. предусматривает организацию целого ряда региональных и предметно-ориентированных суперкомпьютерных центров. В таких центрах могут быть инсталлированы, например, относительно дешевые минисуперкомпьютеры, имеющие лучшее отношение стоимость/производительность. Собственно говоря, достаточно только обратиться к списку ТОР500, чтобы обнаружить явную тенденцию к вытеснению больших (и дорогих) супер-ЭВМ относительно недорогими суперкомпьютерами, которым уже сейчас под силу решение львиной доли потенциальных задач.
Что касается отечественных супер-ЭВМ, то без необходимой государственной поддержки проектов по их разработке не приходится рассчитывать на создание промышленных образцов в ближайшие 1-2 года, и вряд ли такие компьютеры смогут составить основу парка супер-ЭВМ в создающихся сегодня отечественных суперкомпьютерных центрах.
Один из первых архитекторов кластерной технологии Грегори Пфистер дал кластеру следующее определение:
«Кластер — это разновидность параллельной или распределённой системы, которая: состоит из нескольких связанных между собой компьютеров; используется как единый, унифицированный компьютерный ресурс».
Кластер всегда состоит из узлов, являющихся полноценными компьютерами, которые соединены сетью для выполнения обмена данными. При этом, эти компьютеры не обязательно должны быть однотипными, система может быть и гетерогенной, объединяя в себе компьютеры различной архитектуры - от персональных ЭВМ до сверхпроизводительных супер ЭВМ.
Кластер может быть как территориально сосредоточен, так и распределён. Построению распределённых кластеров способствует развитие глобальной сети Internet. На наш взгляд, в будущем будет происходить преобладание именно этого типа кластеров, что позволит получить вычислительные мощности огромных объёмов, которые не будут уступать отдельным супер ЭВМ.
При построении кластеров можно выделить два следующих подхода:
Отметим, что при использовании второго подхода узлы кластера располагаются в специальных стойках, а для управления кластером и мониторинга его состояния выделяются один или несколько полнофункциональных компьютеров. Эти компьютеры называются хост-компьютерами. Подобный подход использован, например, в кластере CliC (Chemnitzer Linux Cluster) Кемнитцкого технического университета (TU Chemnitz), Германия.
Обычно различают следующие основные виды кластеров:
Кластерные системы являются развитием параллельных систем. Чтобы показать место кластерных систем среди остальных типов параллельных архитектур вычислительных систем нужно привести их классификацию. Параллельные системы могут быть классифицированы по различным критериям.
Одним из наиболее распространенных способов классификации ЭВМ является систематика Флинна (Flynn), в рамках которой основное внимание при анализе архитектуры вычислительных систем уделяется способам взаимодействия последовательностей (потоков) выполняемых команд и обрабатываемых данных.
SISD (Single Instruction, Single Data) – системы, в которых существует одиночный поток команд и одиночный поток данных. К такому типу можно отнести обычные последовательные ЭВМ;
SIMD (Single Instruction, Multiple Data) – системы c одиночным потоком команд и множественным потоком данных. Подобный класс составляют многопроцессорные вычислительные системы, в которых в каждый момент времени может выполняться одна и та же команда для обработки нескольких информационных элементов; такой архитектурой обладают, например, многопроцессорные системы с единым устройством управления. Этот подход широко использовался в предшествующие годы (системы ILLIAC IV или CM-1 компании Thinking Machines), в последнее время его применение ограничено, в основном, созданием специализированных систем;
MISD (Multiple Instruction, Single Data) – системы, в которых существует множественный поток команд и одиночный поток данных. Относительно этого типа систем нет единого мнения: ряд специалистов считает, что примеров конкретных ЭВМ, соответствующих данному типу вычислительных систем, не существует и введение подобного класса предпринимается для полноты классификации; другие же относят к данному типу, например, систолические вычислительные системы или системы с конвейерной обработкой данных;
MIMD (Multiple Instruction, Multiple Data) – системы c множественным потоком команд и множественным потоком данных. К подобному классу относится большинство параллельных многопроцессорных вычислительных систем.
Рис.2 Классификация многопроцессорных вычислительных систем
Кластерные системы относятся к MIMD параллельным многопроцессорным вычислительным системам.
Основные классы многопроцессорных систем:
SMP (symmetric multiprocessing) – симметричная многопроцессорная архитектура. Система состоит из нескольких однородных процессоров и массива общей памяти.
Рис.3 Устройства системы с симметричной мультипроцессрностью.
MPP (massive parallel processing) – массивно-параллельная архитектура. Главная особенность такой архитектуры состоит в том, что память физически разделена. В этом случае система строится из отдельных модулей, содержащих процессор, локальный банк операционной памяти (ОП).
NUMA (Nonuniform memory access) - неоднородный доступ к памяти память физически распределена по различным частям системы, но логически она является общей, так что пользователь видит единое адресное пространство.
Рис.4 Non-Uniform Memory Access
Сlusters - Кластерная архитектура, группа компьютеров, объединённых высокоскоростными каналами связи, представляющая с точки зрения пользователя единый аппаратный ресурс.
Разработчики архитектур кластерных систем преследовали различные цели при их создании. Первой была фирма «Digital Equipment» с кластерами VAX/VMS. Целью создания этой машины было повышение надежности работы системы, обеспечение высокой готовности и отказоустойчивости системы. В настоящее время существует множество аналогичных по архитектуре систем от других производителей.
Другой целью создания кластерных систем является создание дешевых высокопроизводительных параллельных вычислительных систем. Один из первых проектов, давший имя целому классу параллельных систем – кластер «Beowulf», который состоит из широко распространённого аппаратного обеспечения, работающий под управлением операционной системы, распространяемой с исходными кодами (например, Linux или FreeBSD). Он возник в центре NASA для поддержки необходимыми вычислительными ресурсами проекта Earth and Space Sciences. Проект Beowulf начался летом 1994 года, и вскоре был собран 16-процессорный кластер на процессорах Intel 486DX4/100 МГц. На каждом узле было установлено по 16 Мбайт оперативной памяти и по 3 сетевых Ethernet-адаптера. Эта система оказалась очень удачной по отношению цена/производительность, поэтому такую архитектуру стали развивать и широко использовать в других научных организациях и институтах.
Особенностью такого кластера также является масштабируемость, то есть возможность увеличения количества узлов системы с пропорциональным увеличением производительности. Узлами в кластере могут служить любые серийно выпускаемые автономные компьютеры, количество которых может быть от 2 до 1024 и более. Для распределения обработки данных между узлами обычно используются технологии MPI или PVM. Для каждого класса кластеров характерны свои особенности архитектуры и применяемые аппаратные средства. Рассмотрим их более подробно.
Для обеспечения надежности и отказоустойчивости вычислительных систем применяется множество различных аппаратурных и программных решений. Например, в системе может дублироваться все подверженные отказам элементы — источники питания, процессоры, оперативная и внешняя память. Такие отказоустойчивые системы с резервированием компонентов применяются для решения задач, в которых недостаточно надежности обычных вычислительных систем, оцениваемой в настоящий момент вероятностью безотказной работы 99%. В таких задачах требуется вероятность 99,999% и выше. Такую надежность можно достичь применяя отличные от приведенного выше методы повышения отказоустойчивости. В зависимости от уровня готовности вычислительной системы к использованию выделяют четыре типа надежности:
Таблица 1. Уровень доступности
Уровень готовности, % |
Мaкс. время простоя |
Тип системы |
99,0 |
3,5 дня в год |
Обычная (Conventional) |
99,9 |
8,5 часов в год |
Высокая надежность (High Availability) |
99,99 |
1 час в год |
Отказоустойчивая (Fault Resilient) |
99,999 |
5 минут в год |
Безотказная (Fault Tolerant) |
В отличие от отказоустойчивых систем с избыточными компонентами, а также различных вариантов многопроцессорности, кластеры объединяют относительно независимые друг от друга машины, каждую из которых можно остановить для профилактики или реконфигурирования, не нарушая при этом работоспособности кластера в целом. Высокая производительность кластера и сведение к минимуму времени простоев приложений достигается благодаря тому, что:
Неотъемлемой частью кластера является специальное программное обеспечение, которое, собственно, и решает проблему восстановления узла в случае сбоя, а также решает другие задачи. Кластерное ПО обычно имеет несколько заранее заданных сценариев восстановления работоспособности системы, а также может предоставлять администратору возможности настройки таких сценариев. Восстановление после сбоев может поддерживаться как для узла в целом, так и для отдельных его компонентов — приложений, дисковых томов и т.д. Эта функция автоматически инициируется в случае системного сбоя, а также может быть запущена администратором, если ему, например, необходимо отключить один из узлов для реконфигурации.
Кластеры могут иметь разделяемую память на внешних дисках, как правило, на дисковом массиве RAID. Дисковый массив RAID — это серверная подсистема ввода- вывода для хранения данных большого объема. В массивах RAID значительное число дисков относительно малой емкости используется для хранения крупных объемов данных, а также для обеспечения более высокой надежности и избыточности. Подобный массив воспринимается компьютером как единое логическое устройство.
Восстановление после сбоев может поддерживаться как для узла в целом, так и для отдельных его компонентов — приложений, дисковых томов и т.д. Эта функция автоматически инициируется в случае системного сбоя, а также может быть запущена администратором, если ему, например, необходимо отключить один из узлов для реконфигурации.
Узлы кластера контролируют работоспособность друг друга и обмениваются специфической «кластерной» информацией, например, о конфигурации кластера, а также передавать данные между разделяемыми накопителями и координировать их использование. Контроль работоспособности осуществляется с помощью специального сигнала, который узлы кластера передают друг другу, для того чтобы подтвердить свое нормальное функционирование. Прекращение подачи сигналов с одного из узлов сигнализирует кластерному программному обеспечению о произошедшем сбое и необходимости перераспределить нагрузку на оставшиеся узлы. В качестве примера рассмотрим отказоустойчивый кластер VAX/VMS.
Архитектура высокопроизводительных кластеров появилась как развитие принципов построения систем MPP на менее производительных и массовых компонентах, управляемых операционной системой общего назначения. Кластеры также как и MPP системы состоят из слабосвязанных узлов, которые могут быть как однородными, так и, в отличие от MPP, различными или гетерогенными. Особое внимание при проектировании высокопроизводительной кластерной архитектуры уделяется обеспечению высокой эффективности коммуникационной шины, связывающей узлы кластера. Так как в кластерах нередко применяются массовые относительно низко производительные шины, то приходится принимать ряд мер по исключению их низкой пропускной способности на производительность кластеров и организацию эффективного распараллеливания в кластере. Так например пропускная способность одной из самых высокоскоростных технологий Fast Ethernet на порядки ниже, чем у межсоединений в современных суперкомпьютерах МРР-архитектуры.
Для решения проблем низкой производительности сети применяют несколько методов:
Основным качеством, которым должен обладать высоко производительный кластер является горизонтальная масштабируемость, так как одним из главных преимуществ, которые предоставляет кластерная архитектура является возможность наращивать мощность существующей системы за счет простого добавления новых узлов в систему. Причем увеличение мощности происходит практически пропорционально мощности добавленных ресурсов и может производиться без остановки системы во время ее функционирования. В системах с другой архитектурой (в частности MPP) обычно возможна только вертикальная масштабируемость: добавление памяти, увеличение числа процессоров в многопроцессорных системах или добавление новых адаптеров или дисков. Оно позволяет временно улучшить производительность системы. Однако в системе будет установлено максимальное поддерживаемое количество памяти, процессоров или дисков, системные ресурсы будут исчерпаны, и для увеличения производительности придется создавать новую систему или существенно перерабатывать старую. Кластерная система также допускает вертикальную масштабируемость. Таким образом, за счет вертикального и горизонтального масштабирования кластерная модель обеспечивает большую гибкость и простоту увеличения производительности систем.
Кластеры распределения нагрузки (Network Load Balancing) - Принцип их действия строится на распределении запросов через один или несколько входных узлов, которые перенаправляют их на обработку в остальные, вычислительные узлы. Первоначальная цель такого кластера — производительность, однако, в них часто используются также и методы, повышающие надёжность. Подобные конструкции называются серверными фермами. Программное обеспечение (ПО) может быть как коммерческим (OpenVMS, MOSIX, Platform LSF HPC, Solaris Cluster, Moab Cluster Suite, Maui Cluster Scheduler), так и бесплатным (OpenMosix, Sun Grid Engine, Linux Virtual Server).
Системы распределенных вычислений (Grid) - Такие системы не принято считать кластерами, но их принципы в значительной степени сходны с кластерной технологией. Их также называют grid-системами. Главное отличие — низкая доступность каждого узла, то есть невозможность гарантировать его работу в заданный момент времени (узлы подключаются и отключаются в процессе работы), поэтому задача должна быть разбита на ряд независимых друг от друга процессов. Такая система, в отличие от кластеров, не похожа на единый компьютер, а служит упрощённым средством распределения вычислений. Нестабильность конфигурации, в таком случае, компенсируется большим числом узлов.
В наше время в суперкомпьютерном мире наблюдается новая волна, которая вызвана как успехами в области микропроцессорных технологий, так и появлением нового круга задач, выходящих за рамки традиционных научно-исследовательских лабораторий. Налицо мгновенное развитие в производительности микропроцессоров RISC-архитектуры, растущее заметно быстрее, чем производительность векторных процессоров.
Тем не менее, вероятно, будет продолжаться развитие векторных супер-ЭВМ, по крайней мере от Cray Research. Вероятно, оно начинает сдерживаться из-за требований совместимости со старыми моделями.
Говорить про высокопроизводительные кластерные установки можно еще долго: тема актуальная, интересная, переживает этап бурного развития и, что самое замечательное, благодаря доступности каждый сегодня может внести свой реальный вклад в развитие этого направления. Отдельного обсуждения заслуживают темы технологий параллельного программирования и приложений, специализированных прикладных пакетов и базовых библиотек, вопросы эффективности сетевых технологий, безопасности, надежности, масштабируемости, кластеров MOSIX и многие другие.
Анализируя аргументы сторонников и противников кластеров сегодня можно с уверенностью констатировать два факта. Ясно то, что с помощью высокопроизводительных кластеров найден эффективный способ решения большого класса задач. Однако ясно и то, что пока кластеры ни в коей мере не являются вычислительной панацеей - у традиционных суперкомпьютеров практически все показатели намного лучше... кроме стоимости.
[1] http://www.parallel.ru - Информационно-аналитический центр по параллельным вычислениям в сети Internet.
[2] http://www.beowulf.org - официальный сайт проекта Beowulf.
[3] Корнеев В.В. Параллельные вычислительные системы. М., Нолидж, 2009.
[4] SСI: Scalable Coherent Interface: Architecture and Software for High-Performance Compute Clusters (Lecture Notes in Computer Science) by Hermann Hellwagner (Editor), Alexander Reinefeld (Editor) [5] High Performance Cluster Computing: Architectures and Systems, Rajkumar Buyya, Prentice Hall PTR, NJ, USA, 2009