Контакты
Подписка
МЕНЮ
Контакты
Подписка

В рубрику "Решения корпоративного класса" | К списку рубрик  |  К списку авторов  |  К списку публикаций

Использование технологии параллельных вычислений для хранилищ данных

Лариса Меньшикова
экономический советник
департамента информационных систем
Банка России, к.ф-м.н., доцент МИРЭА

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


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

Поэтому организация, которая ищет оптимальное соотношение цены и качества при обновлении парка вычислительной техники, должна предусматривать использование технологии распараллеливания вычислений для загрузки данных в режиме реального времени. Эта технология ранее была одной из основных в рамках проекта "Эльбрус-2" НИВЦ МГУ, затем, начиная с 2000 г., эта тема была реанимирована рядом математических институтов РФ в рамках проекта СКИФ.

Преимущества суперкомпьютеров типа "Эльбрус-2" по сравнению со стандартными системно-техническими решениями

Возможно создание гетерогенных вычислительных комплексов, которые могут распараллеливать алгоритмы программ, написанных на языках высокого уровня, таких как С, С++, Фортран и т.п.

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

В программном ПО присутствуют стандартные библиотеки поддержки параллельного счета, а также стандартное обеспечение кластерного уровня семейства СКИФ.

Система защиты реализована не только программными, но и аппаратными средствами.

Единственным очевидным недостатком является использование программируемой пользователем вентильной матрицы FPGA (Field Programmable Gate Array) – полупроводникового устройства, которое может быть переконфигурировано пользователем после изготовления, в том числе и извне через сети любой связи. Это неприемлемо при необходимости обеспечить высокий уровень безопасности автоматизированных систем, а именно такой уровень безопасности требуется в Банке России. Но так как микросхемы в данных компьютерах – единственный элемент АПК, на который отсутствует интеллектуальная собственность, то вполне возможно в рамках этого проекта избавиться от данного недостатка.

Подсистема хранения данных суперкомпьютеров с параллельной организацией вычислений

  • реализована на основе параллельной файловой системы;
  • обеспечивает производительность более 4000 операций ввода-вывода (IOPS);
  • обеспечивает пропускную способность более 500 Мбайт/с. Текущие вычислительные мощности данных компьютеров:
  • для них используются оригинальные blade-системы, позволяющие упаковывать 32 вычислительных узла в шасси 6U;
  • это компьютеры экзафлопсного класса – выполняют 1018 операций в секунду;
  • системная сеть имеет топологию трехмерного тора, маршрутизаторы сети реализованы на уровне адаптеров;
  • суммарная пропускная способность сети в пересчете на один узел составляет 60 Гбит/с;
  • системная сеть позволяет обойтись без использования дополнительного оборудования (маршрутизаторов), что сильно повышает безопасность внутри вычислительной сети;
  • системная сеть позволяет задействовать при монтаже кабели одинаковой длины, что позволяет устранить эхо-эффект;
  • вспомогательная сеть – 40 Гбит/с имеет полную бисекционную пропускную способность;
  • адаптеры сети интегрированы на платах – узлах;
  • маршрутизаторы первого уровня интегрированы на уровне корзин (шасси) на так называемых корневых платах.

Классификация архитектур ЭВМ

По признакам наличия параллелизма в потоках команд и данных в 70-е гг. XX века Майклом Флинном была предложена классификация архитектур ЭВМ:

ОКОД – вычислительная система с одиночным потоком команд и одиночным потоком данных (Single Instruction stream over a Single Data stream – SISD);

ОКМД – вычислительная система с одиночным потоком команд и множественным потоком данных (Single Instruction, Multiple Data – SIMD);

МКОД – вычислительная система с множественным потоком команд и одиночным потоком данных (Multiple Instruction Single Data – MISD);

МКМД – вычислительная система с множественным потоком команд и множественным потоком данных (Multiple Instruction Multiple Data – MIMD).

Примером SIMD является векторная архитектура. К MISD, с некоторыми оговорками, можно отнести конвейерные ЭВМ. Класс MIMD включает в себя многопроцессорные системы, где процессоры обрабатывают множественные потоки данных.


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

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

Математическое выражение закона Амдала

Если при решении вычислительной задачи ее алгоритм таков, что доля α от общего объема вычислений может быть получена только последовательными расчетами, а соответственно доля 1-α может быть распараллелена полностью, то есть время вычисления будет обратно пропорционально числу задействованных узлов p, тогда ускорение, которое может быть получено на вычислительной системе из p процессоров, по сравнению с однопроцессорным решением не будет превышать величины

Из формулы следует, что при доле последовательных вычислений α общий прирост производительности не может превысить 1/α.

Таким образом, только алгоритм, не содержащий последовательных вычислений (α=0), позволяет получить линейный прирост производительности с ростом количества вычислителей в системе. Если доля последовательных вычислений в алгоритме равна 25%, то увеличение числа процессоров до 10 дает ускорение в 3,077 раза, а увеличение числа процессоров до 1000 даст ускорение в 3,988 раза.

Загруженность, показывающая долю использования процессоров, может быть рассчитана по следующей формуле:

где Tp – время исполнения распараллеленной программы на p процессорах, T1 – время исполнения исходной программы. В идеальном случае равна 1, или 100%. Эта величина зачастую гораздо более наглядно характеризует эффективность параллелизма в серии испытаний при разных p, чем Sp.

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

Литература

  1. Воеводин В.В. Параллельные вычисления. – СПб.: БХВ – Петербург, 2004. – 608 с.
  2. Абрамов С.М. Суперкомпьютерные технологии России: объективные потребности и реальные возможности / Суперкомпьютеры и высокопроизводительные вычисления // CAD/CAM/CAE Observer. – 2010. – 2 (54) C.1–11.

 

Опубликовано: Журнал "Технологии и средства связи" #6, 2011
Посещений: 6535

Статьи по теме

  Автор

Меньшикова Л. В.

Меньшикова Л. В.

Ведущий инженер Радиочастотной службы ЦБ РФ к.ф.-м.н.

Всего статей:  9

В рубрику "Решения корпоративного класса" | К списку рубрик  |  К списку авторов  |  К списку публикаций