В рубрику "Решения корпоративного класса" | К списку рубрик | К списку авторов | К списку публикаций
Лариса Меньшикова
экономический советник
департамента информационных систем
Банка России, к.ф-м.н., доцент МИРЭА
Особенностью работы систем, которые предназначены для аналитического анализа информации, собранной от подведомственных крупной структуре организаций в виде электронных отчетов, является то, что все расчеты, кроме корреляционных функций, проводятся для каждой подведомственной организации на основе ее собственных данных (либо последнего либо предыдущих периодов времени). Поэтому большое число расчетов можно проводить одновременно, причем использоваться будут, в основном, алгоритмы работы с матрицами, распараллеливание которых хорошо изучено и описано российскими учеными. Поэтому программа обработки вышеуказанной информации, написанная разработчиками с использованием алгоритмов распараллеливания матричных вычислений, работает быстрее, чем та же программа, написанная с использованием программных средств какой-либо промышленной платформы, которая не использует параллельные алгоритмы. Но, как правило, промышленные платформы так же распараллеливают вычисления и запускают их на одном физическом процессоре одновременно, как и целый ряд виртуальных процессоров.
Кроме того, все операции c данными при загрузке их в ХД и при выгрузке из него также хорошо распараллеливаются. В настоящее время аппаратный комплекс компьютеров среднего класса таков, что при использовании единого корпоративного хранилища данных в организации, количество автоматизированных систем которой велико, на загрузку данных в хранилище тратится очень много времени, в случае если матрица связи этих систем имеет ранг более шестнадцати.
Поэтому организация, которая ищет оптимальное соотношение цены и качества при обновлении парка вычислительной техники, должна предусматривать использование технологии распараллеливания вычислений для загрузки данных в режиме реального времени. Эта технология ранее была одной из основных в рамках проекта "Эльбрус-2" НИВЦ МГУ, затем, начиная с 2000 г., эта тема была реанимирована рядом математических институтов РФ в рамках проекта СКИФ.
Возможно создание гетерогенных вычислительных комплексов, которые могут распараллеливать алгоритмы программ, написанных на языках высокого уровня, таких как С, С++, Фортран и т.п.
В системном ПО данных суперкомпьютеров, ОС которых полностью отечественной разработки, используются отлаженные алгоритмы для систем очередей в системе мониторинга и управления.
В программном ПО присутствуют стандартные библиотеки поддержки параллельного счета, а также стандартное обеспечение кластерного уровня семейства СКИФ.
Система защиты реализована не только программными, но и аппаратными средствами.
Единственным очевидным недостатком является использование программируемой пользователем вентильной матрицы FPGA (Field Programmable Gate Array) – полупроводникового устройства, которое может быть переконфигурировано пользователем после изготовления, в том числе и извне через сети любой связи. Это неприемлемо при необходимости обеспечить высокий уровень безопасности автоматизированных систем, а именно такой уровень безопасности требуется в Банке России. Но так как микросхемы в данных компьютерах – единственный элемент АПК, на который отсутствует интеллектуальная собственность, то вполне возможно в рамках этого проекта избавиться от данного недостатка.
По признакам наличия параллелизма в потоках команд и данных в 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.
Проведенный анализ технологий параллельных вычислений подтвердил их возможность обеспечивать более корректную работу хранилищ данных за счет использования алгоритмов параллельных вычислений для распределения процессоров при загрузке данных в ХД. При этом с использованием закона Амдала рекомендуется определить оптимальное число процессоров, дающих наиболее эффективное ускорение этому процессу для того, чтобы минимизировать затраты на дозакупку оборудования в части процессоров, в случае если загрузка ХД при начальной конфигурации будет проходить неприемлемое для пользователей время. Это особенно важно при загрузке в ХД информации, поступающей из внешних организаций, так как в этом случае преобразования и очистка данных могут быть очень ресурсоемкими.
Литература
Опубликовано: Журнал "Технологии и средства связи" #6, 2011
Посещений: 6535
Статьи по теме
Автор
| |||
В рубрику "Решения корпоративного класса" | К списку рубрик | К списку авторов | К списку публикаций