Підходи до формалізації проектування застосувань в технології GPGPU

S. D. Pogorilyy, O. A. Vereshchynsky, D. Yu. Vitel

Анотація


Обґрунтовано необхідність створення формалізованих методів проектування алгоритмів, їх програмних реалізацій та дослідження тонкої інформаційної структури програм для систем з масовим паралелізмом, які містять відеоадаптери. Запропоновано та обґрунтовано застосування чотирьох підходів до формалізації проектування застосувань у технології GPGPU: алгеброалгоритмічного, з використанням кольорових мереж Петрі, з використанням об’єктно-орієнтованих шаблонів програмування та з використанням поширених методів функціонального програмування. Проаналізовано переваги застосування модифікованої системи алгоритмічних ал-гебр Глушкова (САА-М) та алгебри реального часу (RTPA) до розробки GPGPU-застосувань. Розроблено модифікації поширених шаблонів об’єктно-орієнтованого програмування, що враховують специфіку роботи відеоадаптера. Запропоновано декларативний спосіб визначення GPU-обчислення з використанням шаблону MapReduce та функціональних мов програмування. Надано рекомендації щодо практичного використання цих підходів.

Повний текст:

PDF

Посилання


Pogorelyy S.D., Boyko YU.V., Tribrat M.I., Gryaznov D.B. Аnaliz metodov povysheniya proizvoditel’nosti komp’yuterov s ispol’zovaniyem graficheskikh protsessorov i programmno-apparatnoy platformy CUDA // Matematychni mashyny i systemy. — 2010. — # 1. — C. 40–54.

Pohorilyy S.D., Vitel' D.Yu., Vereshchyns'kyy O.A. Novitni arkhitektury videoadapteriv. Tekhnolohiya GPGPU. Chastyna 1 // Reyestratsiya, zberihannya i obrobka danykh. — 2012. — 14. — # 4. — C. 52–65.

Pohorilyy S.D., Vitel' D.Yu., Vereshchyns'kyy O.A. Novitni arkhitektury videoadapteriv. Tekhnolohiya GPGPU Chastyna 2 // Reyestratsiya, zberihannya i obrobka danykh. — 2013. — 15. — # 1. — C. 71–81.

Anisimov A.V., Pogorilyy S.D., Vitel D.Yu. About the Issue of Algorithms formalized Design for Parallel Computer Architectures. Applied and Computational Mathematics. — 12. — № 2. — 2013. — P. 140–151.

Pogorilyy S.D., Gusarov Y., Paralleling A.D. Of Edmonds-Karp Net Flow Algorithm // Applied and Computational Mathematics. — 2006. — 5, № 2. — P. 121–130.

Pohorilyy S.D., Mar"yanovs'kyy V.A., Boyko Yu.V., Vereshchyns'kyy O.A.Doslidzhennya paralel'nykh skhem alhorytmu Dantsyha dlya obchyslyuval'nykh system zi spil'noyu pam"yattyu // Matematychni mashyny i systemy. — 2009. — # 4. — C. 27–37.

Yingxu Wang. Software Engineering Foundations. A Software Science Perspective. Auerbach Publications, Taylor & Francis Croup, Boca Raton New York, 2008 by Taylor & Francis Group, LLC, P. 217 – 262.

Kotov V.E. Seti Petri. — M.: Nauka, GRFML, 1984

Pohorilyy S.D., Vitel' D.Yu. Vykorystannya merezh Petri dlya proektuvannya paralel'nykh zastosuvan' // Problemy prohramuvannya. — 2013. — # 2. — S. 32–41.

Gamma E., KHelm R., Dzhonson R., Vlissides D. Priyemy ob’yektno-oriyentirovannogo proyektirovaniya. Patterny proyektirovaniya. — SPb: Piter, 2009. — 366 s.

Pohorilyy S.D., Vereshchyns'kyy O.A. Stvorennya metodyky proektuvannya zastosuvan' dlya prohramno-aparatnoyi platformy CUDA // Problemy prohramuvannya. — 2013. — # 3. — S. 47–60.

Ruben Vermeersch. Concurrency in Erlang & Scala: The Actor Model. — http://savanne.be/articles/concurrency-in-erlang-scala/.

Messages and Agents. F# for fun and profit. — http://fsharpforfunandprofit.com/posts/concurrency-actor-model/.

Jeffry Dean, Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. Google, Inc. OSDI 04: 6th Symposium on Operating Systems Design and Implementation.


Пристатейна бібліографія ГОСТ


1. Погорелый С.Д., Бойко Ю.В., Трибрат М.И., Грязнов Д.Б. Анализ методов повышения производительности компьютеров с использованием графических процессоров и программно-аппаратной платформы CUDA // Математичні машини і системи. — 2010. — № 1. — C. 40–54.

2. Погорілий С.Д., Вітель Д.Ю., Верещинський О.А. Новітні архітектури відеоадаптерів. Технологія GPGPU. Частина 1 // Реєстрація, зберігання і обробка даних. — 2012. — 14. — № 4. — C. 52–65.

3. Погорілий С.Д., Вітель Д.Ю., Верещинський О.А. Новітні архітектури відеоадаптерів. Технологія GPGPU Частина 2 // Реєстрація, зберігання і обробка даних. — 2013. — 15. — № 1. — C. 71–81.

4. Anisimov A.V., Pogorilyy S.D., Vitel D.Yu. About the Issue of Algorithms formalized Design for Parallel Computer Architectures. Applied and Computational Mathematics. — 12. — № 2. — 2013. — P. 140–151.

5. Pogorilyy S.D., Gusarov Y., Paralleling A.D. Of Edmonds-Karp Net Flow Algorithm // Applied and Computational Mathematics. — 2006. — 5, № 2. — P. 121–130.

6. Погорілий С.Д., Мар’яновський В.А., Бойко Ю.В., Верещинський О.А.Дослідження паралельних схем алгоритму Данцига для обчислювальних систем зі спільною пам’яттю // Математичні машини і системи. — 2009. — № 4. — C. 27–37.

7. Yingxu Wang. Software Engineering Foundations. A Software Science Perspective. Auerbach Publications, Taylor & Francis Croup, Boca Raton New York, 2008 by Taylor & Francis Group, LLC, P. 217 – 262.

8. Котов В.Е. Сети Петри. — М.: Наука, ГРФМЛ, 1984

9. Погорілий С.Д., Вітель Д.Ю. Використання мереж Петрі для проектування паралельних застосувань // Проблеми програмування. — 2013. — № 2. — С. 32–41.

10. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Д. Приемы обьектно-ориентированного проектирования. Паттерны проектирования. — СПб: Питер, 2009. — 366 с.

11. Погорілий С.Д., Верещинський О.А. Створення методики проектування застосувань для програмно-апаратної платформи CUDA // Проблеми програмування. — 2013. — № 3. — С. 47–60.

12. Ruben Vermeersch. Concurrency in Erlang & Scala: The Actor Model. — http://savanne.be/articles/concurrency-in-erlang-scala/.

13. Messages and Agents. F# for fun and profit. — http://fsharpforfunandprofit.com/posts/concurrency-actor-model/.

14. Jeffry Dean, Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. Google, Inc. OSDI 04: 6th Symposium on Operating Systems Design and Implementation.