Статья

Название статьи ПОДХОД К АРХИТЕКТУРНО-НЕЗАВИСИМОМУ ПРОГРАММИРОВАНИЮ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ НА ОСНОВЕ АСПЕКТНО-ОРИЕНТИРОВАННОГО ЯЗЫКА SET@L
Автор И. И. Левин, А. И. Дордопуло, И. В. Писаренко, А. К. Мельников
Рубрика РАЗДЕЛ I. МЕТОДЫ И АЛГОРИТМЫ ОБРАБОТКИ ИНФОРМАЦИИ
Месяц, год 03, 2018
Индекс УДК 004.432.4
DOI
Аннотация Актуальным направлением развития вычислительной техники является создание высокопроизводительных гибридных вычислительных систем, в которых объединены вычислительные устройства различных типов. Существующие языки программирования гибридных вычислительных систем характеризуются архитектурной специализацией, которая заключается в необходимости существенной переработки кода при реализации одного и того же алгоритма на системах с различными архитектурами. Для решения данной проблемы предлагается язык архитектурно-независимого программирования Set@l, который развивает идеи, заложенные в высокоуровневом языке COLAMO и языке программирования на основе теории множеств SETL. Отличительной чертой языка Set@l является описание алгоритма решения задачи и его распараллеливания в виде отдельных модулей программы, что обеспечивается использованием теоретико-множественного представления исходного кода и методологии аспектно-ориентированного программирования. Архитектурно-независимый исходный код программы на языке Set@l представляет решение прикладной задачи в виде информационного графа, описанного на языке теории множеств и реляционного исчисления. Адаптация универсального алгоритма к архитектуре и конфигурации конкретной вычислительной системы осуществляется аспектами, которые разбивают и классифицируют ключевые совокупности задачи. В отличие от языка SETL, в Set@l введена типизация множеств по различным критериям, одним из которых является тип параллелизма их элементов. Для некоторых совокупностей тип обработки не может быть задан однозначно, поэтому они обозначаются как неопределенные. В данной статье рассматриваются базовые принципы создания архитектурно-независимых программ на языке Set@l, а также приводится пример его использования для описания прямого хода метода Гаусса.

Скачать в PDF

Ключевые слова Гибридные вычислительные системы; архитектурно-независимое программирование; аспектно-ориентированный подход; язык программирования Set@l.
Библиографический список 1. Bourzac K. Stretching supercomputers to the limit // Nature. – 2017. – Vol. 551. – P. 554-556.
2. Mittal S., Vetter J. A survey of CPU-GPU heterogeneous computing techniques // ACM Computing Surveys. – 2015. – Vol. 47.
3. Лощухина Т.Е., Дорофеев В.А. Решение прикладных задач с использованием гетерогенных вычислительных систем // Известия Томского политехнического университета.
– 2013. – Т. 323, № 5. – С. 165-170.
4. Ebrahimi A., Zandsalimy M. Evaluation of FPGA Hardware as a New Approach for Accelerating the Numerical Solution of CFD Problems // IEEE Access. – 2017. – Vol. 5. – P. 9717-9727.
5. Дордопуло А.И., Левин И.И. Ресурсонезависимое программирование гибридных реконфигурируемых вычислительных систем // Суперкомпьютерные дни в России: Труды международной конференции (25–26 сентября 2017 г., г. Москва). – М.: Изд-во МГУ, 2017. – C. 714-723.
6. Андреев С.С., Дбар С.А., Давыдов А.А., Лацис А.О., Савельев Г.П., Орлов В.Л., Плоткина Е.А., Простов И.В. Гибридный суперкомпьютер К-100: что дальше? // Информационные технологии и вычислительные системы. – 2012. – № 2. – С. 29-35.
7. Daga M., Tschirhart Z.S., Freitag C. Exploring Parallel Programming Models for Heterogeneous Computing Systems // 2015 IEEE International Symposium on Workload Characterization, Atlanta, GA, 2015. – P. 98-107.
8. Легалов А.И. Функциональный язык для создания архитектурно-независимых параллельных программ // Вычислительные технологии, – 2005. – Т. 10, № 1. – С. 71-89.
9. Open CL: The open standard for parallel programming of heterogeneous systems // Khronos Group Website. – URL: https://www.khronos.org/opencl/ (дата обращения: 05.07.2018).
10. Каляев А.В., Левин И.И. Модульно-наращиваемые многопроцессорные системы со структурно-процедурной организацией вычислений. – М.: ООО «Изд-во Янус-К», 2003. – 380 с.
11. Дордопуло А.И., Левин И.И., Каляев И.А., Гудков В.А., Гуленок А.А. Программирование вычислительных систем гибридного типа на языке программирования COLAMO // Известия ЮФУ. Технические науки. – 2016. – № 11 (184). – C. 39-54.
12. Каляев И.А., Дордопуло А.И., Левин И.И., Гудков В.А., Гуленок А.А. Технология программирования вычислительных систем гибридного типа // Вычислительные технологии. – 2016. – Т. 21, № 3. – С. 33-44.
13. Dewar R. SETL and the evolution of programming // From Linear Operators to Computational Biology: Essays in Memory of Jacob T. Schwartz. London: Springer-Verlag, 2013. – 208 p.
14. Kurdi H.A. Review on aspect oriented programming // International Journal of Advanced Computer Science and Applications. – 2013. – Vol. 4, No. 9. – P. 22-27.
15. Rebelo H., Leavens G.T. Aspect-Oriented Programming Reloaded // SBLP 2017 Proceedings of the 21st Brazilian Symposium on Programming Languages, 2017. – Art. No. 10.
16. The AspectJ Development Environment Guide. – URL: https://www.eclipse.org/aspectj/ doc/released/devguide/index.html (дата обращения: 05.07.2018).
17. Aspect oriented programming with Spring. Core technologies // Spring Framework Reference Documentation. – URL: https://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/ html/aop.html (дата обращения: 05.07.2018).
18. Хаггарти Р. Дискретная математика для программистов. – М.: Техносфера, 2003. – 320 с.
19. Вопенка П. Альтернативная теория множеств: Новый взгляд на бесконечность: пер. со словац. – Новосибирск: Изд-во Института математики, 2004. – 612 с.
20. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. – 7-е изд. – М.: БИНОМ. Лаборатория знаний, 2017. – 636 с.

Comments are closed.