Научная статья на тему 'ИСПОЛЬЗОВАНИЕ СПЕЦИАЛИЗИРОВАННЫХ ВЫЧИСЛИТЕЛЕЙ НА УЗЛЕ ГРИД-СИСТЕМЫ ДЛЯ РЕШЕНИЯ КОМБИНАТОРНЫХ ЗАДАЧ'

ИСПОЛЬЗОВАНИЕ СПЕЦИАЛИЗИРОВАННЫХ ВЫЧИСЛИТЕЛЕЙ НА УЗЛЕ ГРИД-СИСТЕМЫ ДЛЯ РЕШЕНИЯ КОМБИНАТОРНЫХ ЗАДАЧ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
57
8
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГРИД-СИСТЕМА / ВЫЧИСЛИТЕЛЬНЫЕ ПРИЛОЖЕНИЯ / КОМБИНАТОРНЫЕ ЗАДАЧИ / МНОГОПОТОЧНЫЕ РЕЖИМЫ / DESKTOP GRID / HIGH-THROUGHPUT COMPUTING / HIGH PERFORMANCE COMPUTING / MULTI-THREADED MODES

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Альбертьян А.М., Курочкин И.И.

В работе рассматривается использование специализированных вычислителей Intel Xeon Phi в грид-системе из персональных компьютеров. В качестве примера успешного использования специализированных вычислителей приводится комбинаторная задача по поиску диагональных латинских квадратов. Обсуждаются особенности реализации вычислительного приложения. Приводятся результаты работы вычислительного приложения в многопоточных режимах на различных процессорах и специализированном вычислителе.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Альбертьян А.М., Курочкин И.И.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

USE OF SPECIALIZED COMPUTATIONAL DEVICES ON THE NODE OF THE DESKTOP GRID SYSTEM FOR THE SOLVE OF COMBINATORIAL PROBLEMS

The paper discusses the use of specialized Intel Xeon Phi devices in a desktop grid system. As an example of the successful use of specialized devices, the combinatorial problem of finding diagonal Latin squares is given. Features of implementation of the computing application are discussed. The results of work of a computer application in multithreaded modes on different processors and specialized devices are given.

Текст научной работы на тему «ИСПОЛЬЗОВАНИЕ СПЕЦИАЛИЗИРОВАННЫХ ВЫЧИСЛИТЕЛЕЙ НА УЗЛЕ ГРИД-СИСТЕМЫ ДЛЯ РЕШЕНИЯ КОМБИНАТОРНЫХ ЗАДАЧ»

DOI: 10.37614/2307-5252.2020.8.11.010 УДК 005

А.М. Альбертьян1, И.И. Курочкин2

1 Москва, ФИЦ ИУ ИСА РАН

2 Москва, ИППИ РАН

ИСПОЛЬЗОВАНИЕ СПЕЦИАЛИЗИРОВАННЫХ ВЫЧИСЛИТЕЛЕЙ НА УЗЛЕ ГРИД-СИСТЕМЫ ДЛЯ РЕШЕНИЯ КОМБИНАТОРНЫХ ЗАДАЧ*

Аннотация

В работе рассматривается использование специализированных вычислителей Intel Xeon Phi в грид-системе из персональных компьютеров. В качестве примера успешного использования специализированных вычислителей приводится комбинаторная задача по поиску диагональных латинских квадратов. Обсуждаются особенности реализации вычислительного приложения. Приводятся результаты работы вычислительного приложения в многопоточных режимах на различных процессорах и специализированном вычислителе.

Ключевые слова:

грид-система, вычислительные приложения, комбинаторные задачи, многопоточные режимы.

A.M. Albertian, I.I. Kurochkin

1 Moscow, Institute for Systems Analysis, RAS

2 Moscow, Institute for Information Transmission Problems, RAS

USE OF SPECIALIZED COMPUTATIONAL DEVICES ON THE NODE OF THE DESKTOP GRID SYSTEM FOR THE SOLVE OF COMBINATORIAL PROBLEMS

Abstract

The paper discusses the use of specialized Intel Xeon Phi devices in a desktop grid system. As an example of the successful use of specialized devices, the combinatorial problem of finding diagonal Latin squares is given. Features of implementation of the computing application are discussed. The results of work of a computer application in multithreaded modes on different processors and specialized devices are given.

Keywords:

desktop grid, high-throughput computing, high performance computing, multi-threaded modes.

Одним из направлений развития вычислений на грид-системах из персональных компьютеров (ГСПК, англ. desktop grid) является увеличение эффективности использования всех вычислительных ресурсов, предоставляемых каждым из доступных узлов. На данный момент, одним из наиболее популярных способов увеличения производительности систем для высокопроизводительных вычислений (англ. high performance computing, HPC) и грид-систем (англ. high-throughput computing, HTC), является использование в составе вычислительного узла специализированных вычислителей. Обычно подобные вычислительные ускорители представляют собой отдельные устройства, подключаемые к вычислительному узлу посредством внутренней широкополосной шины

* Работа поддержана Российским фондом фундаментальных исследований грант №18-29-03264.

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

1. Использование вычислений на установленных в системе графических ускорителях - GPGPU (англ. general-purpose computing on graphics processing units);

2. Добавление в качестве вычислителей специализированных ускорителей на базе различных графических архитектур, таких как NVIDIA Tesla, AMD FirePro и др.;

3. Использование специализированных ускорителей стандартной архитектуры, например, Intel MIC [1];

4. Использование различных специализированных вычислительных ускорителей для решения относительно узкого круга задач, например, Intel Neural Compute Stick и т.п.;

5. Реализация наиболее трудоемких алгоритмов и отдельных подзадач в виде логических блоков на ПЛИС (программируемая логическая интегральная схема, англ. field-programmable grid array, FPGA) [2].

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

• Общие аппаратные ограничения GPGPU: специализированная архитектура, весьма существенно отличающаяся от архитектуры универсальных процессоров, ограниченный объем непосредственно адресуемой оперативной памяти, доступной графическому процессору (англ. graphics processing unit, GPU), относительно медленная передача данных между основной системой и GPU;

• Отсутствие возможности эффективной реализации используемых вычислительным приложением алгоритмов на архитектуре GPU;

• Необходимость существенной доработки алгоритмов, структур данных и внутренних взаимодействий между компонентами вычислительного приложения для оптимального использования ресурсов GPU;

• Наличие достаточно большого количества несовместимых между собой программных платформ с различными программными интерфейсами приложения - OpenCL (англ. open computing language, открытый язык для вычислений), NVIDIA CUDA (англ. compute unified device architecture) и др., причем, в случае ГСПК, может потребоваться установка определенных версий этого специализированного программного обеспечения (ПО) на все узлы распределенной системы.

Использование специализированных вычислительных ускорителей в составе ГСПК все еще является скорее исключением, чем правилом, так как они зачастую значительно дороже обычных графических ускорителей и их использование ограничено задачами высокопроизводительных вычислений и некоторыми специфическими приложениями, достаточно редко используемыми

на обычных ПК, которых в ГСПК подавляющее большинство. Тем не менее, использование специализированных ускорителей стандартной архитектуры, таких как Intel Xeon Phi, основанных на архитектуре Intel MIC (англ. many integrated core) [1], представляющей из себя расширенный вариант стандартной архитектуры Intel 64 (x86-64), имеет множество весьма существенных достоинств [3], по сравнению с GPGPU:

• Возможность несложной адаптации вычислительного приложения, позволяющей задействовать ускоритель (ускорители) только в случае их обнаружении в составе узла ГСПК и использующего стандартные многопоточные вычисления на основном процессоре системы вместо (или вместе с ускорителями) в остальных случаях, при этом зависимость приложения от дополнительного специального ПО минимальна;

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

• Полная интеграция используемых средств разработки для Intel MIC со средствами разработки для вычислительного узла, с теми же самыми возможностями для оптимизации, отладки и профилировки вычислительного приложения, при этом используется практически тот же самый компилятор, библиотеки, утилиты, что и при разработке приложения для ЦП;

• При этом используемые в качестве основного средства разработки программные продукты Intel Parallel Studio XE [4] предоставляют одни из наиболее эффективных средств оптимизации приложений для всех целевых архитектур.

Основным принципом оптимизации приложения при исполнении его на ЦП совместно с ускорителями Intel Xeon Phi, является эффективное распределение параллельных вычислительных потоков между небольшим количеством относительно высокопроизводительных ядер/потоков ЦП и большим количеством менее производительных ядер/потоков ускорителей. При этом желательно учитывать особенности всех используемых архитектур и максимально задействовать дополнительные возможности, предоставляемые блоками SIMD (англ. single instruction, multiple data - одиночный поток команд, множественный поток данных), особенно в случае сопроцессоров Intel Xeon Phi, поддерживающих SIMD разрядностью 512 бит (KNC SIMD) и т.п. Базовые возможности средств разработки Intel Parallel Studio XE позволяют реализовать в виде единого исполняемого файла общее универсальное вычислительное приложение, изначально оптимизированное подо все необходимые архитектуры и прозрачно для пользователя использующее все архитектурные возможности вычислительного узла. Сопроцессоры с архитектурой Intel MIC позволяют использовать различные архитектурные модели вычислительного приложения -выгрузка части исполняемого приложения на сопроцессор (англ. offload), выполнение только на сопроцессоре (англ. co-processor only), симметричное выполнение на ЦП и сопроцессоре (англ. symmetric) и т.д., с использованием различных API - OpenMP (англ. open multi-processing, открытый стандарт многопроцессорной обработки), MPI (англ. message passing interface, интерфейс

передачи сообщений), OpenCL и др. Это позволяет создать максимально переносимое вычислительное приложение для работы на узлах ГСПК в рамках проекта добровольных распределенных вычислений (ДРВ) на платформе BOINC[5], удовлетворяющее всем необходимым требованиям:

• Максимальная переносимость приложения для обеспечения его работы под управлением всех популярных на ПК операционных систем (ОС);

• Гибкая настройка приложения для максимально эффективного использования всех доступных ресурсов вычислительного узла;

• Оптимизация приложения, структур данных и используемых алгоритмов в целях повышения производительности для всех поддерживаемых архитектур и максимального использования предоставляемых ими возможностей;

• Минимизация зависимостей вычислительного приложения от установленного на вычислительном узле дополнительного ПО;

• Возможность адаптации приложения для использования его на других архитектурах.

В качестве вычислительной задачи, для демонстрации возможностей сопроцессоров Intel Xeon Phi, была реализована одна из задач поиска ортогональных диагональных латинских квадратов (ОДЛК). Был использован оптимизированный комбинаторный алгоритм нахождения канонических форм (КФ) всех марьяжных диагональных латинских квадратов (ДЛК) 10 порядка, изоморфных заданным латинским квадратам (ЛК) [6]. Латинские квадраты и различные их свойства могут быть применены в различных областях: криптография, коды коррекции ошибок, задачи планирования и т.д.

* Intel Xeon E5-1650@3800MHz Core2 Quad Q9650@3600MHz Й Intel Xeon E5-2683 v4

1 ' 8,3

6,8

8,5

КОЛ-ВО ПОТОКОВ

s

/

Рис.1. Результаты оптимизации многопоточного приложения для различных процессоров

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

архитектурой Intel MIC. Минимизация зависимостей вычислительного приложения от предустановленного ПО была реализована за счет использования в приложении исключительно возможностей языка C++ (ISO/IEC 14882:2011) и его стандартных библиотек, в том числе: поддержка многопоточности, объекты синхронизации, атомарные переменные и т.д., а также за счет ручной оптимизации выгрузки отдельных вычислительных потоков и сопутствующих структур данных на сопроцессоры, при их наличии. Все выгружаемые на сопроцессоры функции и структуры данных дополнительно оптимизированы для работы на архитектуре Intel MIC, то есть используют оптимальное, с точки зрения обращений к памяти и кэшу, выравнивание данных, задействуют Intel KNC SIMD, учитывают наличие большого количества вычислительных ядер с поддержкой одновременной многопоточности (англ. simultaneous multithreading, SMT) и ограниченной производительностью, относительно небольшой объем доступной оперативной памяти и достаточно медленную передачу данных между основной системой и сопроцессорами по шине PCIe.

Оптимизация оригинального однопоточного приложения в среднем позволила улучшить производительность на 25%. Дальнейшая оптимизация циклов, синхронизации и работы с потоками, организации структур данных и т.п. при реализации многопоточной обработки повысила многопоточную производительность еще почти в полтора раза[7]. Общая производительность, по сравнению с исходной однопоточной версией, увеличилась более чем в 10 раз для 12 потоков SMT (Intel Hyper-Threading) на 6 ядрах процессора Intel Xeon E5-1650 и практически линейно зависит от однопоточной производительности целевого процессора и количества задействованных вычислительных ядер и потоков (см. Рис. 1). Использование в составе вычислительного узла ГСПК с наиболее распространенными сейчас характеристиками центрального процессора (6 вычислительных ядер и 12 потоков) сопроцессора Intel Xeon Phi позволит для данной комбинаторной задачи увеличить эффективность вычислений в несколько раз. При этом методы оптимизации, используемые для многопоточного приложения, предназначенного для выполнения на сопроцессоре с архитектурой Intel MIC, оказываются весьма эффективны, в том числе и при выполнении приложения на современном многоядерном центральном процессоре серверного класса.

Литература

1. Rezaur Rahman Intel Xeon Phi Coprocessor Architecture and Tools, ISBN: 978-14302-5927-5, Apress, 2013.

2. Vanderbauwhede W., Benkrid K. High-Performance Computing Using FPGAs. // Springer, 2013. - 803 p.

3. James Jeffers, James Reinders Intel Xeon Phi Processor High Performance Programming // ISBN: 978-0-12-410414-3, Morgan Kaufmann, 2013. - 432 p.

4. Stephen Blair-Chappell Parallel Programming with Intel Parallel Studio XE, ISBN: 978-0-4708-9165-0, Wrox, 2012. - 552 p.

5. Anderson D. P. BOINC: A platform for volunteer computing // Journal of Grid Computing. - 2019. - pp. 1-24.

6. Vatutin E., Belyshev A., Kochemazov S., Zaikin O., Nikitina N. Enumeration of isotopy classes of diagonal Latin squares of small order using volunteer computing // Communications in Computer and Information Science. Vol. 965. Springer, 2018. pp. 578-586. DOI: 10.1007/978-3-030-05807-4_49.

7. Альбертьян А.М., Курочкин И.И. Использование сопроцессоров Intel Xeon Phi в грид-системах из персональных компьютеров // CEUR-Proceedings: Selected Papers of the II Intern. Sci. Conf. "Convergent Cognitive Information Technologies", Moscow, Russia, Nov. 24-26 2017, Vol.2064, pp. 196-201.

DOI: 10.37614/2307-5252.2020.8.11.011

УДК 004.89, 62-932.2

Е.В. Балбукова12

1 Апатиты, ИИММ ФИЦ КНЦ РАН

2 Санкт-Петербург, Учебный центр ПАО «ТГК-1»

ПОСТАНОВКА ЗАДАЧИ СОЗДАНИЯ ИНФОРМАЦИОННОЙ СИСТЕМЫ

ОЦЕНКИ И ПРОГНОЗИРОВАНИЯ СОСТОЯНИЙ ЭНЕРГЕТИЧЕСКОГО КОТЛА

Аннотация

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

Ключевые слова:

теплоэнергетическое оборудование; планово-профилактический ремонт; энергетический котел; мониторинг; прогноз состояния; компьютерная модель, информационная система.

E.V. Balbukova

1 Apatity, Institute for Informatics and Mathematical Modelling, KSC RAS

2 Saint Petersburg, TGC-1 Training Center

THE PROBLEM STATEMENT OF AN INFORMATION SYSTEM CREATION FOR

EVALUATING AND FORECASTING THE STATES OF THE POWER BOILER

Abstract

When operating a thermal power plant (TPP), it is of great importance to ensure the reliability and safety of the enterprise while minimizing the cost of maintenance and repair of equipment. The currently used strategy for preventive maintenance is to carry

i Надоели баннеры? Вы всегда можете отключить рекламу.