Москва (495) 232-92-30
Санкт-Петербург (812) 327-59-60
Екатеринбург (343) 378-41-50
      8 800 200-59-60
по России звонок бесплатный
Главная Решения Прикладные решения для приложений и БД Масштабируемые SMP системы
 
 

Масштабируемые SMP системы

Масштабируемые SMP системы

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

    Однако очень часто построение вычислительных кластеров сопряжено с целым рядом сложностей:

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

     

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

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

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

    Технология Versatile SMP (vSMP), лежащая в основе решения ScaleMP, - это фактически виртуализация "наоборот" - обычно мы консолидируем несколько задач на одном сервере, а vSMP позволяет консолидировать несколько серверов для выполнения одной задачи. Пользователь получает в свое распоряжение один многопроцессорный сервер с одним экземпляром операционной системы и одним экземпляром приложения. Настройка кластера и ПО для управления не требуется. Решается и проблема настройки общего дискового хранилища. Для объединения нескольких серверов в один используется технология Infiniband, которая де-факто уже успела стать стандартом при построении вычислительных кластеров с высокопроизводительным интерконнектом. Таким образом, решение ScaleMP архитектурно очень похоже на обычный кластер, однако на общих технологиях связи между вычислительными узлами сходства заканчиваются. На каждом сервере запускается гипервизор vSMP (на одном из серверов - основной, на остальных - вторичные):

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

    В качестве операционной системы на получившемся "мета" сервере могут быть использованы различные дистрибутивы Linux. Оптимизация для vSMP уже присутствует в стандартных ядрах, поэтому привязки к конкретному дистрибутиву нет, но для RHEL и CentOS есть специальных набор утилит и библиотек для оптимизации операционной системы (vSMP Productivity Pack).

    Как известно, большинство SMP систем сейчас используют технологию NUMA (Non-Unified Memory Architecture). Именно из-за этого они имеют ограниченные возможности по масштабированию (8-16 процессоров). Решение же от ScaleMP комбинирует возможности NUMA и COMA (Cache Only Memory Architecture) в сочетании с большим кэшом (5-10% от общего объема памяти) для снижения эффекта большей латентности интерконнекта.

    В системе реализовано несколько алгоритмов для обеспечения когерентности памяти. Выбор конкретного алгоритма осуществляется на основе того, как то или иное приложение работает с оперативной памятью. На снимке видно, что "расстояние" между NUMA узлами в vSMP системе различно:

    В данном случае используется два двухпроцессорных сервера, объединенные через Infiniband. Каждый физический процессор - один узел NUMA. Латентность между узлами в одной двухпроцессорной системе гораздо выше, чем между узлами в разных серверах. Поэтому приложение, использующее ограниченный набор процессорных ресурсов, желательно запускать на узлах, "близких" друг к другу. Именно по этой причине, для достижения максимального эффекта от запуска под управлением vSMP, программное обеспечение желательно предварительно оптимизировать. То ПО, которое хорошо работает на обычных вычислительных кластерах (например, с использованием MPI) будет замечательно работать и на vSMP. Впрочем, и здесь, преимущества от vSMP налицо - не нужно никакого дополнительного ПО для управления кластером и не нужно настраивать каждый узел кластера отдельно.

    Производительность теста GROMACS DPPC растет практически линейно в зависимости от числа процессорных ядер (результаты ScaleMP):

    В проведенных нами тестах использовалось максимум 24 ядра (процессоры Intel Xeon X5650), но производительность росла почти линейно: при переходе с 12 ядер (один двухпроцессорный сервер) на 24 ядра (два сервера), производительность возрастала с 870Mnbf/s до 1665Mnbs/s (рост производительности составил 1.9 раза).

    Для приложений, которые рассчитаны на SMP системы, (например Mathworks MATLAB) эффект не такой значительный, но также весьма впечатляющий:

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

    ScaleMP предлагает три пакета для различных задач:

    Пакет vSMP Foundation for SMP предназначен для тех, кто ищет высокопроизводительное масштабируемое решение, которое было бы лишено недостатков вычислительных кластеров. vSMP Foundation for SMP позволяет объединить до 128 серверов (до 16384 процессорных ядер) и получить до 64ТБ общей памяти. Для задач, требующих максимальной производительности интерконнекта, можно объединять до 4х HCA на сервер (при этом пропускная способность достигает 160Гбит/сек). В случае, если необходимо объединить до 4х физических серверов, можно обойтись без Infiniband коммутатора, подключая серверы напрямую друг к другу.

    vSMP Foundation for Cluster - простое решение для внедрения вместо вычислительных кластеров (до 128 ядер (не выше 2.4ГГц), до 32ГБ памяти на узел) в компаниях, у которых нет опыта в эксплуатации кластерных решений и возможности нанять соответствующий персонал.

    vSMP Foundation for Cloud является гибким решением для выделения заказчикам вычислительных ресурсов именно в том объеме, в котором они необходимы. При этом, так как загрузка узлов vSMP осуществляется по сети, перенастройка инфраструктуры (физическое изменение коммутации, настройки сети и т.п.) не требуется..

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

    vSMP также позволяет использовать в гостевой системе виртуализацию на базе KVM ( Kernel-based Virtual Machine). С ее помощью можно не только объединить несколько физических машин в одну, но и запустить на этом сервере несколько виртуальных машин под управлением различных ОС:

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

Конфигуратор
Консультации

Мероприятия

05.06.2012, Санкт-Петербург, «Тринити bowling-session: серверные компоненты, решения, сетевое оборудование. Одним ударом по проблемам вашей ИТ-инфраструктуры»

14.06.2012, Екатеринбург, Эффективное резервное копирование и восстановление для виртуальных сред. Опыт внедрения решений от компании Symantec

29.05.2012, Новосибирск, Семинар «Разумная инфраструктура. Успешные внедрения, новинки и независимые оценки от Экспертов!»

26.04.2012, Москва, Конференция «Разумная инфраструктура»

29.03.2012, Санкт-Петербург, Symantec и HP «Хранение без сомнений» Успешные проекты и оптимальные решения.

NetApp
Symantec

Новости

26.04.2012, Москва, Тринити,НР и Microsoft рассказали о разумном управлении инфраструктурой

06.04.2012, Санкт-Петербург, «Тринити» приняла участие в Третьем региональном Форуме «Современные информационные технологии».

04.04.2012, Санкт-Петербург, Тринити обучает ИТ-Директоров

04.04.2012, Москва, Тринити, NetApp и Qlogic показали Сетевые технологии хранения

29.03.2012, Санкт-Петербург, Конференция "Хранение без сомнений!"

Supermicro