Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
elige
6 лет назад

Суперкомпьютеры, кластерные системы и GRID-системы

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

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

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

Разработка суперкомпьютера — это создание все более и более мощного компьютера.

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

Рис.1 Cray-2 - самый быстрый компьютер 90-х годов ХХ века

Совершенствование методов численного моделирования происходило одновременно с совершенствованием вычислительных машин: чем сложнее были задачи, тем выше были требования к создаваемым машинам; чем быстрее были машины, тем сложнее были задачи, которые на них можно было решать. Поначалу суперкомпьютеры применялись почти исключительно для оборонных задач: расчеты по ядерному и термоядерному оружию, ядерным реакторам. Потом, по мере совершенствования математического аппарата численного моделирования, развития знаний в других сферах науки – суперкомпьютеры стали применяться и в «мирных» расчетах, создавая новые научные дисциплины, как то: численный прогноз погоды, вычислительная биология и медицина, вычислительная химия, вычислительная гидродинамика, вычислительная лингвистика и проч., – где достижения информатики сливались с достижениями прикладной науки.

Однако следует отметить, что эти уникальные решения с рекордными характеристиками обычно недешевы, поэтому их нельзя пустить в массовое производство и широко использовать в бизнесе. Прогресс в области сетевых технологий сделал свое дело – появились недорогие, но эффективные решения, основанные на коммуникационных технологиях. Это и предопределило появление кластерных вычислительных систем, фактически являющихся одним из направлений развития компьютеров с массовым параллелизмом вычислительного процесса (Massively Parallel Processing – МРР).

Кластер — группа компьютеров, объединённых высокоскоростными каналами связи, представляющая с точки зрения пользователя единый аппаратный ресурс. Кластер - слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих приложений, и представляющихся пользователю единой системой. Один из первых архитекторов кластерной технологии Грегори Пфистер дал кластеру следующее определение: «Кластер — это разновидность параллельной или распределённой системы, которая:

  1. состоит из нескольких связанных между собой компьютеров;
  2. используется как единый, унифицированный компьютерный ресурс».

Вычислительный кластер – это совокупность компьютеров, объединенных в рамках некоторой сети для решения крупной вычислительной задачи. В качестве узлов обычно используются доступные однопроцессорные компьютеры, двух- или четырехпроцессорные SMP-серверы (Symmetric Multi Processor). Каждый узел работает под управлением своей копии операционной системы, в качестве которой чаще всего используются стандартные операционные системы: Linux, NT, Solaris и т.п. С учетом полярных точек зрения кластером можно считать как пару персональных компьютеров, связанных локальной 10-мегабитной сетью Ethernet, так и обширную вычислительную систему, создаваемую в рамках крупного проекта. Такой проект объединяет тысячи рабочих станций на базе процессоров Alpha, связанных высокоскоростной сетью Myrinet, которая используется для поддержки параллельных приложений, а также сетями Gigabit Ethernet и Fast Ethernet для управляющих и служебных целей.

Рис.2 Вычислительный кластер ННГУ

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

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

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

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

В настоящее время выделяют три основных типа GRID -систем:

  1. научные GRID – хорошо распараллеливаемые приложения программируются специальным образом (например, с использованием Globus Toolkit);
  2. GRID на основе выделения вычислительных ресурсов по требованию (коммерческий GRID, англ. enterprise grid) – обычные коммерческие приложения работают на виртуальном компьютере, который, в свою очередь, состоит из нескольких физических компьютеров, объединённых с помощью GRID-технологий;
  3. добровольные GRID – GRID на основе использования добровольно предоставляемого свободного ресурса персональных компьютеров.

Рис.3 GRID-системы

На основе третьего типа GRID-систем и существует проект Elige. Но подробнее о том, что такое добровольные распределенные вычисления, – в следующей статье.

Олеся Унтевская,
специально для проекта Elige.re

По-английски: Supercomputers, Cluster systems and GRID-systems

60
0.000 GOLOS
На Golos с November 2017
Комментарии (2)
Сортировать по:
Сначала старые