УДК 681.3
DOI: 10.17586/0021-3454-2017-60-5-440-446
ЭНЕРГОЭФФЕКТИВНЫЙ ГЕТЕРОГЕННЫЙ МНОГОПРОЦЕССОРНЫЙ АППАРАТНО-ПРОГРАММНЫЙ КОМПЛЕКС
Ю. Л. Леохин1, И. Н. Дворецкий2
1 Национальный исследовательский университет „Высшая школа экономики" Правительства РФ,
101000, Москва, Россия E-mail: [email protected] 2ООО „МР Текнолоджиз", 127556, Москва, Россия
Обсуждаются вопросы использования гибридных, гетерогенных архитектур серверов, вычислительные модули которых состоят из универсальных процессоров, программируемых логических интегральных схем и графических процессоров. Использование гетерогенной архитектуры позволяет повысить эффективность решения таких задач, как web-приложения, поиск и индексация больших массивов данных, хостинг физических и виртуальных серверов, маршрутизация, параллельные и „облачные" вычисления. Представлены результаты оценки эффективности ряда прикладных задач с параллельными вычислениями — умножения матриц, операций с большими данными, поиска подстрок в потоке данных в режиме реального времени по шаблону. Описана архитектура гетерогенного многопроцессорного аппаратно-программного комплекса, построенного на базе открытой телекоммуникационной платформы и стандарта microTCA/AMC, опытный образец которого изготовлен в рамках проекта „Разработка и организация высокотехнологичного производства энергоэффективных многопроцессорных аппаратно-программных серверных комплексов для государственных и корпоративных информационных систем и центров обработки данных".
Ключевые слова: гетерогенный многопроцессорный аппаратно-программный комплекс, графический процессор, программируемые логические интегральные схемы, параллельные вычисления, операционные системы, встраиваемые вычислительные системы
Введение. Согласно исследованию IDC (International Data Corporation) объем генерируемых данных в мире ежегодно увеличивается на 40 % [1]. Основными источниками данных являются:
— контроль и видеонаблюдение — до 16 % (к 2020 г.);
— данные, генерируемые встроенными системами — 21 %;
— пользовательские и мобильные данные — 10 %;
— метаданные и другая информация — 53 %.
Такая структура данных доказывает необходимость и актуальность повышения производительности вычислительных систем. Одним из эффективных методов повышения производительности вычислений является внедрение встроенных специализированных ресурсов, в результате чего вычислительная система становится гетерогенной.
Использование гетерогенной архитектуры серверов, вычислительные модули которых состоят из универсальных процессоров (CPU), программируемых логических интегральных схем (ПЛИС) и графических процессоров (GPU), позволяет повысить эффективность решения таких задач, как web-приложения, поиск и индексация больших массивов данных, хостинг физических и виртуальных серверов, маршрутизация, параллельные и „облачные" вычисления.
В качестве примеров, подтверждающих заинтересованность крупнейших компаний в гетерогенных системах, можно назвать слияние компаний "Intel" и "Altera" (рынок серверных процессоров) или выпуск компанией NVIDIA гетерогенной ARM-GPU системы на модуле.
Каждый из вычислительных модулей на базе CPU, GPU и ПЛИС имеет свои достоинства. Так, например, ПЛИС обладают большим вычислительным потенциалом. Перспективными являются архитектуры вычислительных модулей, в которых ПЛИС тесно связана с интер-коннектом и используется и как маршрутизатор, и как средство поддержки базовых операций, и как ускоритель вычислений [2—4].
Вычислительные модули на базе CPU лучше выполняют последовательные задачи, но при большом объеме информации, которую можно обрабатывать параллельно, очевидное преимущество имеют вычислительные модули на базе GPU. Это связано с особенностями архитектуры CPU и GPU — CPU предполагает последовательную обработку информации, а GPU, предназначенный для обработки компьютерной графики, рассчитан на массивные параллельные вычисления. Как показывают многочисленные испытания, пиковая производительность современных GPU значительно выше, чем производительность CPU. По скорости доступа к видеопамяти GPU также значительно превосходит CPU. Эффективная организация подсистемы памяти повышает общую эффективность графического процессора при работе с неграфическими задачами [5—9].
В настоящей статье продемонстрирована эффективность использования гетерогенных аппаратных вычислительных сред для решения ряда прикладных задач с параллельными вычислениями [10].
Поиск подстрок в потоке данных в режиме реального времени по шаблону. В качестве тестовой задачи выбран двоичный алгоритм поиска подстроки в строке (также bitap algorithm, shift-or algorithm). Алгоритм использует свойство атомарности операций битового сдвига и побитового ИЛИ. В данном алгоритме за одну операцию производится до 32 сравнений одновременно (или до 64 — в зависимости от разрядности машины).
Алгоритм был протестирован на двух типах аппаратного обеспечения: вычислительных модулях на базе ARM под управлением операционной системы (ОС) archlinux 3.13.0-1 с тактовой частотой 600 МГц и плате с программируемой логикой Zedboard (описание аппаратуры производилось на языке Verilog) с тактовой частотой 100 МГц. Входными данными служили текстовые файлы размером 1,5, 15 и 75 Мбайт соответственно.
В результате работы алгоритма получена гистограмма, отображающая поиск подстрок по шаблону, реализованный на разных платформах (рис. 1).
V, MC
0,35 0,3 0,25 0,2 0,15 0,1 0,05 0
1572864 15728640 78643200 V, байт
Рис. 1
Анализ результатов показывает, что скорость решения задачи (v) при входном потоке данных большого объема (V) в 1,5 раза выше при аппаратной реализации алгоритма на базе ПЛИС, чем при реализации на ARM. Таким образом, использование специализированной платы при реализации алгоритма эффективно. При этом следует отметить, что, во-первых,
— АРМ , — ПЛИС
использовалась более низкая тактовая частота ПЛИС, по сравнению с ARM (увеличение тактовой частоты приводит к линейному увеличению производительности); во-вторых, не использовались методы распараллеливания (например, одновременного поиска по нескольким шаблонам, что также может привести к линейному увеличению производительности).
Операции с большими данными. Рассмотрим задачу по нахождению оптимальных поверхностей в многомерном векторном пространстве, для которой использована одна из оптимизированных под ПЛИС функций, а именно функция вычисления корреляции двух временных рядов.
Для решения задачи использовались два типа аппаратного обеспечения: вычислительные модули на базе CPU Haswell-e 6-core и ПЛИС XpressGX5LP. Задача решалась в многомерном векторном пространстве размером 256x256, 2048x2048, 1048576x1048576.
Результаты решения, представленные на рис. 2 (здесь Т — время выполнения задачи), демонстрируют значительное преимущество параллельных вычислений на ПЛИС.
Т, с
4,5 4
3,5 3
2,5 2
1,5 1
0,5 0
— XpressGX5LP Kernel m — Haswell-e 6-core
1048576x1048576 2048x2048 Рис. 2
256x256
При работе с очень большими векторами, размером примерно в 1 млн элементов, это преимущество — явное. При средних размерах векторов результаты отличаются на порядок, при малых размерах — соизмеримы. Объясняется это тем, что при небольших объемах данных основные накладные расходы приходятся не на вычисления, а на передачу данных.
Умножение матриц. В данной тестовой задаче на примере умножения матриц была измерена производительность различных аппаратных ускорителей: GeForce GTX 750 Ti c 640 ядрами Cuda, Soc Tegra K1 с 192 ядрами, ПЛИС XpressGX5LP. Матрицы имеют следующие размеры: 320x320, 640x320, 2048x1024, 1024x1024, 2048x1024.
XpressGX5LP XpressGX5LP Tegra K1 GK20A Tegra K1 GK20A GeForce GTX 750 Ti GeForce GTX 750 Ti
■ ■
— производительность ■ — время работы
0 50 100 150 200 Т, мс Рис. 3
Исходный код программы написан на базе Cuda для графических процессоров и на OpenCL для ПЛИС. Анализ результатов замеров (рис. 3) показал, что наиболее производительным ускорителем является GeForce GTX 750 Ti, наименьшая производительность — у менее мощного Soc Tegra K1. Ускоритель XpressGX5LP показал средний результат, так как оптимизация под конкретную ПЛИС не проводилась, кроме того, элементы матриц представляют
собой числа с плавающей точкой, что снижает эффективность ПЛИС. Графические ускорители, в отличие от ПЛИС, очень эффективно работают с таким типом данных. Учитывая, что производительность ПЛИС XpressGX5LP и GeForce GTX 750 Ti одного порядка и вычисления на ПЛИС можно оптимизировать по нескольким параметрам, то на ПЛИС можно достичь заметно большей эффективности работы с целочисленными данными.
Энергоэффективный гетерогенный микросервер. Концепция энергоэффективного гетерогенного сервера была реализована в рамках проекта „Разработка и организация высокотехнологичного производства энергоэффективных многопроцессорных аппаратно-программных серверных комплексов для государственных и корпоративных информационных систем и центров обработки данных" (завершен в декабре 2015 г.).
В результате выполнения проекта был разработан и изготовлен опытный образец многопроцессорного аппаратно-программного комплекса (МАПК), построенного на базе открытой телекоммуникационной платформы и стандарта microTCA/AMC.
MicroTCA — это модульная платформа для высокопроизводительных вычислительных систем малого формата. Основана на открытом стандарте консорциума PICMG.
Основа платформы — вычислительные модули и модули ввода-вывода формата АМС (Advanced Mezzanine Card): см. рис. 4.
Рис. 4
Базовая спецификация MTCA.0 описывает шасси, заднюю объединительную панель, системы питания и охлаждения, систему управления платформой. Варианты реализации шасси стандарта microTCA/ AMC показаны на рис. 5.
МТСА.0
МТСА.1
МТСА.4
МТСА.3
МТСА.2
Рис. 5
Благодаря модульности, надежности и гибкости платформа шюгоТСА идеально подходит для широкого спектра приложений в таких областях, как телекоммуникации, сетевая инфраструктура, промышленная автоматизация, управление, контроль и др.
Ключевыми факторами при выборе платформы для реализации МАПК стали открытый микросерверный стандарт, модульная архитектура и универсальность, удобная система управления платформой, наличие эффективных средств тестирования и отладки. Программно-аппаратная среда комплекса включает:
— конфигурируемую гетерогенную вычислительную систему, содержащую вычислительные модули CPU и GPU, а также хранилища данных и специализированные модули ввода-вывода;
— программное обеспечение, поддерживающее ускоренное программирование гетерогенных аппаратных средств, графические, массивно-параллельные и распределенные вычисления и алгоритмы [11].
Опытный образец МАПК-2 (рис. 6) представляет собой двухмодульный встраиваемый сервер следующего состава:
— стандарт — microTCA, спецификация MTCA.0;
— шасси NAT, Native-mini, включая блок питания и управляющий модуль MCH;
— два вычислительных или интерфейсных модуля AMC, включая модули собственной разработки.
Рис. 6
В рамках проекта разработаны собственные модули АМС:
— вычислительный модуль с процессором ARM и графическим процессором nVidia Tegra X1 (рис. 7);
— модуль AMC SATA HDD / SSD;
— сопроцессорные модули с FPGA Altera Arria V, Arria 10 (в разработке).
Рис. 7
Также в рамках проекта разработаны варианты серверов МАПК на 6 или 12 модулей (МАПК-6 и МАПК-12) на базе шасси NAT Native-C1 и Native-C2 соответственно. Во всех микросерверах МАПК в качестве операционной системы могут быть использованы:
— Linux (Ubuntu) — базовая ОС;
— Альт Линукс — сертифицированная российская ОС;
— FreeBSD — открытая ОС с лицензией BSD (non-copyleft);
— проприетарная ОС на базе открытой ОС Plan9 и протокола P9 [12].
Для систем реального времени на МАПК может быть установлена POSIX-совместимая операционная система QNX.
Заключение. Результаты испытаний, проведенных в рамках проекта, показали эффективность использования гетерогенных аппаратных вычислительных сред для решения различных прикладных задач с параллельными вычислениями.
Все поставленные в проекте задачи [13] были решены. Разработанный опытный образец МАПК реализован на 64-разрядном 8-ядерном процессоре ARM с графическим процессором nVidia Tegra X1 с учетом современных тенденций в развитии серверного оборудования [14].
Статья подготовлена по результатам выполнения НИУ ВШЭ проекта „Разработка и организация высокотехнологичного производства энергоэффективных многопроцессорных аппаратно-программных серверных комплексов для государственных и корпоративных информационных систем и центров обработки данных", выигранного в рамках Открытого конкурса по отбору организаций на право получения субсидий на реализацию комплексных проектов по созданию высокотехнологичного производства (Постановление Правительства РФ от 9 апреля 2010 г., № 218).
СПИСОК ЛИТЕРАТУРЫ
1. EMC Digital Universe with Research & Analysis by IDC. The Digital Universe of Opportunities: Rich Data and the Increasing Value of the Internet of Things. April 2014 [Электронный ресурс]: <http://www.emc.com/ leadership/digital-universe/index.htm>.
2. Панкин А. В. Построение структуры бортовых вычислительных устройств на основе плис FPGA // Системы и средства связи, телевидения и радиовещания. 2013. № 1—2. С. 79—81.
3. Шагурин И., Шалтырев В., Волов А. „Большие" FPGA как элементная база для реализации систем на кристалле // Электронные компоненты. 2006. № 5. С. 83—88.
4. Абрамов С. М., Дбар С. А., Климов А. В., Климов Ю. А., Лацис А. О., Московский А. А., Орлов А. Ю., Шворин А. Б. Возможности суперкомпьютеров „СКИФ" ряда 4 по аппаратной поддержке в ПЛИС различных моделей параллельных вычислений // Материалы Междунар. науч.-техн. конф. „Суперкомпьютерные технологии: разработка, программирование, применение" (СКТ-2010), 27 сент. — 2 окт. 2010 г., Дивноморское, Россия. Таганрог: Изд-во ТТИ ЮФУ, 2010. Т. 1. С. 11—21.
5. Джораев А. Р. Гибридные вычислительные системы на основе GPU для задач биоинформатики // Компьютерные исследования и моделирование. 2010. Т. 2, № 2. С. 163—167.
6. Боресков А. В., Харламов А. А. Основы работы с технологией CUDA. М.: ДМК Пресс, 2010. 232 с.
7. Salibekyan S. M., Panfilow P. B. Object-attribute architecture for design and modeling of distribute automation system // Automation and Remote Control. 2012. Vol. 73, N 3. P. 587—595. DOI: 10.1134/S0005117912030174.
8. Cao Z, Liu XL, Li Q et al. An intra-server interconnect fabric for heterogeneous computing // J. of Computer Science and Technology. 2014. N 29(6). P. 976—988. DOI 10.1007/s11390-014-1483-0.
9. Conti F., Marongiu A., Pilkington C., Benini L. He-P2012: performance and energy exploration of architecturally heterogeneous many-cores // J. of Signal Processing Systems. 2016. Vol. 85 (3). P. 325—340. DOI: 10.1007/ s11265-015-1056-7.
10. Леохин Ю. Л., Жигунов А. М., Морозов Г. В. Исследование эффективности решения прикладных задач с параллельными вычислениями на ПЛИС, CPU, GPU // Качество. Инновации. Образование. 2015. № 11. С. 47—58.
11. Leokhin Y., Myagkov A., Panfilov P. GoMapReduce parallel computing model implementation on a cluster of Plan9 virtual machines // Proc. of the 26th DAAAM Intern. Symp. on Intelligent Manufacturing and Automation. N.Y.: Curran Associates, Inc., 2015. Vol. 1. P. 656—662. DOI: 10.2507/26th.daaam.proceedings.089.
12. Leokhin Y., Panfilov P. A study of Cloud/IX operating system for the ARM-based data center server platform // Procedia Engineering. 2015. Vol. 100. P. 1696—1705. DOI: 10.1016/j.proeng.2015.01.545.
13. Леохин Ю. Л., Дворецкий И. Н., Салибекян С. М. Энергоэффективный многопроцессорный аппаратно-программный комплекс для ЦОД // Системный администратор. 2013. № 12 (133). С. 66—68.
14. Леохин Ю. Л., Дворецкий И. Н. Тенденции развития науки и техники в области производства серверного оборудования для дата-центров // Изв. вузов. Приборостроение. 2013. Т. 56, № 12. С. 20—24.
Сведения об авторах
Юрий Львович Леохин — д-р техн. наук, профессор; НИУ ВШЭ, Москва, департамент компьютер-
ной инженерии; E-mail: [email protected] Игорь Николаевич Дворецкий — ООО „МР Текнолоджиз", Москва; генеральный директор;
E-mail: [email protected]
Рекомендована НИУ ВШЭ Поступила в редакцию
25.10.16 г.
Ссылка для цитирования: Леохин Ю. Л., Дворецкий И. Н. Энергоэффективный гетерогенный многопроцессорный аппаратно-программный комплекс // Изв. вузов. Приборостроение. 2017. Т. 60, № 5. С. 440—446.
ENERGY-EFFICIENT HETEROGENEOUS MULTIPROCESSOR HARDWARE AND SOFTWARE COMPLEX
Yu. L. Leokhin1, I. N. Dvoretskiy2
1 National Research University "Higher School of Economics", 101000, Moscow, Russia
E-mail: [email protected] 2MR Technologies LLS, 127556, Moscow, Russia
Harnessing of hybrid servers with heterogeneous architecture and computing modules consisting of universal processors, programmable logic integrated circuits, and graphic processors is discussed. The use of heterogeneous architecture is reported to allow to improve efficiency of the solutions of the tasks realized in data processing centers such as web applications, search and indexing of data bulks, hosting of physical and virtual servers, routing, parallel and "cloudy" computation. Results of evaluation of the effectiveness of several applied problems with parallel computing are provided, the problems include: matrix multiplication; operations with big data; search of substrings in data stream in real time on the template which show efficiency of the use of heterogeneous hardware computing environments for their solution. The architecture of heterogeneous multiprocessor hardware and software (MHS) constructed on the basis of an open telecommunication platform and the micro TCA/AMC standard is described; a prototype of the complex has been developed and created in the frames of the project "Development and Organization of Hi-tech Production of Energy Efficient Multiprocessor Hardware-software Server Complexes for the State and Enterprise Information Systems and Data Processing Centers".
Keywords: heterogeneous multiprocessor hardware and software complex, graphic processor, programmable logic integrated circuits, parallel computing, operating systems, embeddable computing systems
Data on authors
Yury L. Leokhin — Dr. Sci., Professor; National Research University "Higher School of Economics", Moscow, Department of Computer Engineering; E-mail: [email protected] Igor N. Dvoretskiy — MR Technologies LLS, Moscow; General Director;
E-mail: [email protected]
For citation: Leokhin Yu. L., Dvoretskiy I. N. Energy-efficient heterogeneous multiprocessor hardware and software complex // Journal of Instrument Engineering. 2017. Vol. 60, N 5. P. 440—446 (in Russian).
DOI: 10.17586/0021-3454-2017-60-5-440-446