ПОСТРОЕНИЕ РАСПИСАНИЯ ДЛЯ МНОГОЯДЕРНОГО ПРОЦЕССОРА С УЧЕТОМ ВЗАИМНОГО ВЛИЯНИЯ РАБОТ (2023)
В статье рассматривается задача планирования работ на многоядерном процессоре с учетом их замедления при совместном выполнении. Предложена постановка задачи и модель частично целочисленного линейного программирования, доказана NP-трудность задачи при числе ядер, ограниченном константой. Результаты планировщика Intel TBB и жадного алгоритма сравниваются с результатами, полученными в соответствии с предложенной моделью с помощью пакета CPLEX. Проведенный эксперимент показал преимущества предложенного подхода по времени завершения всех работ.
Идентификаторы и классификаторы
- eLIBRARY ID
- 50397350
В теории планирования аналогичные постановки задач могут быть найдены в области планирования с контролируемым временем обработки. Модели и методы планирования для случая, когда прерывания допустимы, рассматриваются в [7]. Однако в настоящей работе мы рассматриваем постановку задачи без прерываний. Поскольку работы замедляют друг друга в основном из-за конкуренции за возобновляемые ресурсы (пропускная способность шины данных, кеш), мы ссылаемся на [8] и [9] для обзоров задач с возобновляемыми ресурсами, где распределение ресурсов может меняться с течением времени. Случай дискретных ресурсов рассматривается в [9], а непрерывные ресурсы рассматриваются в [8]. Последняя статья содержит постановку задачи, аналогичную рассматриваемой в настоящей статье, однако в [8] предполагается, что количество ресурсов, выделяемых для каждой работы, ограничено, но непрерывно и определяется планировщиком в каждый момент времени. В нашем случае скорость выполнения работ полностью определяется набором совместно запланированных работ на других ядрах (или машинах в традиционной терминологии планирования). Для такого случая в [10] предложен жадный алгоритм, в котором замедление работ рассчитывается на основе информации об использовании ими шины данных.
В недавней работе [11] авторы сосредоточились на назначении общих непрерывных ресурсов ядрам, в то время как назначение работ ядрам и их порядок фиксированы. В этом основные отличия от рассматриваемой в данной статье задачи. Авторы [11] показывают, что даже для работ единичной длительности поиск оптимального решения является NP-трудным, если число ядер является частью входных данных. Однако существует алгоритм с полиномиальным временем для любого постоянного числа ядер и работ единичной длительности.
В настоящей статье предложена математическая постановка задачи размещения работ по ядрам процессора и доказана ее NP-трудность при числе ядер, ограниченном константой. Также предлагается модель частично целочисленного линейного программирования (ЧЦЛП), использующая концепцию точек событий (см., например, [12]). Проведено сравнение результатов решений модели, найденных решателем CPLEX, с результатами, показанными библиотекой Intel TBB. Также приведены результаты сравнения значений целевой функции, полученных жадным алгоритмом, с оптимальными значениями целевой функции, полученными пакетом CPLEX при использовании алгоритма расчета скоростей выполнения работ, предложенного в [10].
Список литературы
- A. Merkel, J. Stoess, and F. Bellosa, “Resource-Conscious Scheduling for Energy Efficiency on Multicore Processors”, in Proc. 5th European Conf. on Computer Systems, Paris, France, April 13-16, 2010 (ACM Press, New York, 2010), pp. 153-166. DOI: 10.1145/1755913.1755930
- S. Zhuravlev, S. Blagodurov, and A. Fedorova, “Addressing Shared Resource Contention in Multicore Processors via Scheduling”, Comput. Archit. News 38 (1), 129-142.
- Y. Jiang, X. Shen, J. Chen, and R. Tripathi, “Analysis and Approximation of Optimal Co-Scheduling on Chip Multiprocessors”, in Proc. 17th Int. Conf. on Parallel Architectures and Compilation Techniques, Toronto, Canada, October 25-29, 2008 (ACM Press, New York, 2008), pp. 220-229. DOI: 10.1145/1454115.1454146
- Z. Xiao, L. Chen, B. Wang, et al., “Novel Fairness-aware Co-Scheduling for Shared Cache Contention Game on Chip Multiprocessors”, Inf. Sci. 526, 68-85 (2020). DOI: 10.1016/j.ins.2020.03.078
- K. Tian, Y. Jiang, X. Shen, and W. Mao, Makespan Minimization for Job Co-Scheduling on Chip Multiprocessors, Technical Report WM-CS-2010-08 (College of William Mary, Williamsburg, 2010).
- M. Liu, F. Chu, J. He, et al., “Coke Production Scheduling Problem: A Parallel Machine Scheduling with Batch Preprocessings and Location-Dependent Processing Times”, Comput. Oper. Res. 104, 37-48 (2019). DOI: 10.1016/j.cor.2018.12.002 EDN: WXKGZV
- A. Shioura, N. V. Shakhlevich, and V. A. Strusevich, “Preemptive Models of Scheduling with Controllable Processing Times and of Scheduling with Imprecise Computation: A Review of Solution Approaches”, Eur. J. Oper. Res. 266 (3), 795-818 (2018). DOI: 10.1016/j.ejor.2017.08.034 EDN: YDRTTN
-
J. Jozefowska and J. Weglarz, "Scheduling with Resource Constraints - Continuous Resources", in Handbook of Scheduling: Algorithms, Models, and Performance Analysis (CRC Press, Boca Raton, 2004), pp. 24-1-24-15.
- J. Blazewicz, N. Brauner, and G. Finke, “Scheduling with Discrete Resource Constraints”, in Handbook of Scheduling: Algorithms, Models, and Performance Analysis (CRC Press, Boca Raton, 2004), pp. 23-1-23-18.
-
A. V. Eremeev, A. A. Malakhov, M. A. Sakhno, and M. Y. Sosnovskaya, "Multi-core Processor Scheduling with Respect to Data Bus Bandwidth", in Communications in Computer and Information Science (Springer, Cham, 2020), Vol. 1340, pp. 55-69. DOI: 10.1007/978-3-030-65739-0_5 EDN: YMPMIY
-
E. Althaus, A. Brinkmann, P. Kling, et al., "Scheduling Shared Continuous Resources on Many-cores", J. Sched. 21 (1), 77-92 (2018). DOI: 10.1007/s10951-017-0518-0 EDN: IXUBKG
-
M. G. Ierapetritou and C. A. Floudas, "Effective Continuous-Time Formulation for Short-Term Scheduling: I. Multipurpose Batch Processes", Ind. Eng. Chem. Res. 37 (11), 4341-4359 (1998). DOI: 10.1021/ie970927g
-
M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness (W.H. Freeman, San Francisco, 1979).
-
Intel TBB Library. https://github.com/oneapi-src/oneTBB Cited February 9, 2023.
Выпуск
Методы и алгоритмы вычислительной математики и их приложения.
Параллельные программные средства и технологии.
Другие статьи выпуска
Проект создания цифровой платформы Algo500 направлен на решение задачи совместного анализа свойств алгоритмов и особенностей архитектур суперкомпьютеров. В статье на основе методологии онтологического анализа рассматриваются и предлагаются понятия, модели и метамодели данных, обосновываются подходы к описанию некоторых понятий из мира высокопроизводительных вычислений (HPC), устанавливаются новые требования к моделям данных, которые должны обеспечить выполнение задач, поставленных при создании платформы Algo500.
Представлен алгоритм численного моделирования квазистатической нагрузки пористого флюидонасыщенного образца для решения задачи апскейлинга трещиновато-пористой флюидонасыщенной среды. В результате апскейлинга восстанавливается анизотропная однородная вязкоупругая эквивалентная среда, определяемая комплекснозначным частотно-зависимым тензором жесткости. Компоненты восстановленного тензора жесткости эквивалентной среды используются для оценки частотно-зависимого сейсмического затухания и фазовой скорости сейсмических волн. Численный апскейлинг включает в себя численное решение краевой задачи для системы уравнений Био анизотропной пороупругой флюидонасыщенной среды в частотной области для набора частот и различных граничных условий. Численное решение системы уравнений Био основано на конечно-разностной аппроксимации уравнений в квазистатической постановке и проводится с использованием прямого решателя результирующей СЛАУ. Используемый прямой решатель позволяет эффективно решать СЛАУ для набора правых частей, что необходимо при численном апскейлинге. Представленная реализация алгоритма позволяет численно решать двумерную задачу апскейлинга на расчетной сетке с размерами до 2000 × 2000 узлов на персональном компьютере, что обеспечивает возможность восстанавливать эквивалентную вязкоупругую модель для детализированных репрезентативных образцов трещиновато-пористой среды. Для демонстрации применимости алгоритма выполнено несколько наборов численных экспериментов, направленных на выявление влияния связности трещин и микромасштабной анизотропии пороупругого материала внутри трещин на затухание, вызванное индуцированными волной потоками флюидов, и дисперсию сейсмической волны в сложной трещиновато-пористой флюидонасыщенной среде.
Рассматривается задача параллельной реализации алгоритма определения сейсмического источника внутри случайно-неоднородной среды. Алгоритм определения исходной позиции источника использует данные записанных сейсмограмм на свободной поверхности и информацию о статистических свойствах случайной среды. Предложенный подход требует решения большого количества задач динамической теории упругости для различных статистически эквивалентных скоростных моделей, идентифицированных по статистическим параметрам исходной среды. Это наиболее трудоемкая часть алгоритма решения. Чтобы ускорить расчеты, используется двухуровневая стратегия распараллеливания с помощью создания групп, каждая из которых решает свою задачу динамической теории упругости с декомпозицией расчетной области внутри группы. Реализация программы выполнена с использованием Fortran Coarray. Также приводится сравнение используемых конструкций расширения Fortran Coarray с функциями MPI.
Рассмотрено моделирование гравитационной задачи N тел с использованием алгоритмов PM и P3M. Реализация алгоритмов для GPU осуществлена с применением вычислительных шейдеров. Предложенный подход использует CPU-код только для синхронизации и запуска шейдеров и не содержит вычислительных частей, реализуемых на CPU; в том числе полностью отсутствует копирование данных между CPU и GPU. Приводятся параллельный алгоритм размещения частиц по ячейкам сетки и параллельный алгоритм распределения масс по узлам сетки. Основой алгоритмов является параллельное построение списков, соответствующих ячейкам сетки. Алгоритмы полностью распараллелены и не содержат частей, исполняемых в один поток. Для расчета одновременно с визуализацией часть вычислений сделана в вершинном шейдере. Выполнить их позволило использование буферных объектов в вершинном шейдере и специально подготовленных данных вместо вершин в качестве входа. Приведены результаты численных расчетов на примере образования галактических скоплений в расширяющейся согласно модели Фридмана плоской вселенной. В качестве модели вселенной брался куб с периодическими краевыми условиями по всем осям. Максимальное число частиц, с которым проводились расчеты, - 108. Для моделирования использовались современный кроссплатформенный API Vulkan и язык GLSL. Результаты расчетов на процессорах Apple M1 и Ryzen 3700X сравниваются с результатами расчетов на обычных видеокартах Apple M1 и NVIDIA RTX 3060. Параллельный алгоритм для CPU реализован с помощью OpenMP. Проведено сравнение производительности алгоритма с результатами других авторов, причем делаются качественные сравнения самих результатов вычислений и сравнение времени работы алгоритмов. Также приведено сравнение времени работы программы для GPU и похожей программы для кластера из многих узлов.
Современные суперкомпьютеры востребованы в самых разных областях науки и техники. Однако их вычислительные ресурсы зачастую используются не в полной мере. Причина нередко кроется в низкой эффективности выполнения пользовательских приложений. Решить возникшую проблему весьма непросто, что связано как с чрезвычайной сложностью строения современных суперкомпьютеров, так и с недостатком теоретических знаний и практического опыта в создании высокоэффективных параллельных приложений у пользователей вычислительных систем. Более того, пользователи зачастую и не знают, что их приложения работают неэффективно. Поэтому важно, чтобы администраторы суперкомпьютеров могли постоянно контролировать и анализировать весь поток выполняющихся приложений. Для этих целей можно использовать различные существующие системы мониторинга и анализа производительности, однако подобные решения в большинстве своем либо не предоставляют достаточный функционал в части изучения производительности, либо не переносимы. В данной работе описывается прототип разрабатываемого программного комплекса, который предоставляет широкие возможности по сбору и автоматическому анализу данных о производительности приложений и при этом является переносимым.
Исследована проблема существования и единственности полилинейных продолжений некоторых дискретных функций. Доказано, что для любой булевой функции существует соответствующее полилинейное продолжение и оно единственно. Предложен алгоритм нахождения полилинейного продолжения булевой функции и доказана его корректность. На основе предложенного алгоритма найдены явные формы полилинейных продолжений сначала для булевой функции, а затем для произвольной функции, определенной на множестве вершин n-мерного единичного куба, произвольного куба и параллелепипеда, и в каждом конкретном случае доказана единственность соответствующего полилинейного продолжения.
Effective output from data centers are determined by many complementary factors. Often, attention is paid to only a few, at first glance, the most significant of them. For example, this is the efficiency of the scheduler, the efficiency of resource utilization by user tasks. At the same time, a more general view of the problem is often missed: the level at which the interconnection of work processes in the HPC center is determined, the organization of effective work as a whole. missions at this stage can negate any subtle optimizations at a low level. This paper provides a scheme for describing workflows in the supercomputer center and analyzes the experience of large HPC facilities in identifying the bottlenecks in this chain. A software implementation option that gives the possibility of optimizing the organization of work at all stages is also proposed in the form of a support system for the functioning of the HPC site.
Издательство
- Издательство
- МГУ
- Регион
- Россия, Москва
- Почтовый адрес
- оссийская Федерация, 119991, Москва, Ленинские горы, д. 1
- Юр. адрес
- оссийская Федерация, 119991, Москва, Ленинские горы, д. 1
- ФИО
- Садовничий Виктор Антонович (РЕКТОР)
- E-mail адрес
- info@rector.msu.ru
- Контактный телефон
- +7 (495) 9391000
- Сайт
- https://msu.ru/