Статически-детерминированный метод прогнозирования динамических характеристик параллельных программ

Андрей Анатольевич Клейменов, Нина Николаевна Попова

Аннотация


В статье рассматривается задача прогнозирования характеристик параллельных приложений. Изучаются динамические характеристики, описывающие выполнение параллельных приложений — время выполнения, количество операций с плавающей точкой, потребляемая электроэнергия, количество обращений в память и другие. Прогнозирование динамических характеристик позволяет решать многие проблемы, связанные с проектированием новых архитектур, выбором наиболее подходящих конфигураций многопроцессорных систем для решения конкретных задач, портированием приложений на новые системы, планированием потоков задач и многие другие. Задача прогнозирования характеристик активно исследуется. Возрастающая сложность архитектур современных высокопроизводительных систем требует разработки новых методов решения задачи прогнозирования. В статье дается обзор существующих подходов и программных средств для прогнозирования динамических характеристик и предлагается подход, основанный на статическом анализе исходного кода параллельного приложения. На основе текста параллельной программы, формального описания целевой вычислительной платформы и параметров запуска реализован метод, позволяющий прогнозировать время работы, количество выполненных операций вещественной арифметики, обращения к памяти и другие характеристики параллельного приложения. Применимость предложенного подхода продемонстрирована на примере решения тестовой трехмерной задачи численного моделирования на многопроцессорном кластере на базе процессоров IBM Power8.


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


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

Полный текст:

PDF

Литература


Alam S.R., Vetter J.S. A framework to develop symbolic performance models of parallel applications. Proceedings 20th IEEE International Parallel & Distributed Processing Symposium. IEEE, 2006. Vol. 2006. P. 1–8. DOI:10.1109/IPDPS.2006.1639625.

Tallent N.R., Hoisie A. Palm: Easing the Burden of Analytical Performance Modeling. Proceedings of the 28th ACM International Conference Supercomput. 2014. P. 221–230. DOI: 10.1145/2597652.2597683.

Malakar P., Balaprakash P., Vishwanath V., et al. Benchmarking Machine Learning Methods for Performance Modeling of Scientific Applications. 2018 IEEE/ACM Performance Modeling, Benchmarking and Simulation of High Performance Computer Systems, PMBS. IEEE, 2018. P. 33–44. DOI: 10.1109/PMBS.2018.8641686.

Mantevo Project. URL: https://mantevo.github.io (accessed: 03.03.2020).

Williams S., Waterman A., Patterson D. Roofline: an insightful visual performance model for multicore architectures. Commun. ACM. 2009. Vol. 52, no. 4. P. 65–76. DOI: 10.1145/1498765.1498785.

Lee S., Meredith J.S., Vetter J.S. COMPASS: A Framework for Automated Performance Modeling and Prediction. Proceedings of the 29th ACM on International Conference on Supercomputing. ACM Press, 2015. P. 405–414. DOI: 10.1145/2751205.2751220.

Unat D., Chan C., Zhang W., et al. ExaSAT: An exascale co-design tool for performance modeling. Int. J. High Perform. Comput. Appl. 2015. Vol. 29, no. 2. P. 209–232. DOI: 10.1177/1094342014568690.

Spafford K.L., Vetter J.S. Aspen: A domain specific language for performance modeling. 2012 International Conference for High Performance Computing, Networking, Storage and Analysis. IEEE, 2012. P. 1–11. DOI: 10.1109/SC.2012.20.

Zheng G., Kakulapati G., Kale L.V. BigSim: a parallel simulator for performance prediction of extremely large parallel machines. Proceedings of the 18th International Parallel and Distributed Processing Symposium. IEEE, 2004. P. 78–87. DOI: 10.1109/IPDPS.2004.1303013.

Tikir M.M., Laurenzano M.A., Carrington L., et al. PSINS: An open source event tracer and execution simulator. Dep. Def. Proc. High Perform. Comput. Mod. Progr. - Users Gr. Conf. HPCMP-UGC 2009. 2009. P. 444–449. DOI: 10.1109/HPCMP-UGC.2009.73.

Polus. URL: http://hpc.cmc.msu.ru/polus (accessed: 03.03.2020).

Empirical Roofline Tool. URL: https://crd.lbl.gov/departments/computer-science/PAR/research/roofline/software/ert/ (accessed: 03.03.2020).

OSU Micro-Benchmarks. URL: http://mvapich.cse.ohio-state.edu/benchmarks/ (accessed: 03.03.2020).




DOI: http://dx.doi.org/10.14529/cmse210102