Разработка и применение вычислительной модели типовых решений. Пример использования «портфеля задач» для обучения нейронной сети HRBF


Цитировать

Полный текст

Аннотация

Рассматривается проблема отображения задач вычислительной математики на архитектуру вычислительных систем и метод ее решения. В качестве метода предлагается разработанный подход реализации параллельных паттернов, заключающийся в построении точной модели вычислительного процесса в виде графа и его динамической интерпретации. Для описания модели вычислительного процесса используется темпоральная логика Лампорта. На примере типового решения «портфель задач» показано, каким образом при помощи графической нотации выполняется связь абстрактной модели исполнения с операциями типового решения. В терминах этих операций определяется конкретный алгоритм обучения нейронной сети типа HRBF (Hyper-Radial Basis Function), который распараллеливается единообразно для различных типовых решений и зависит только от программно-аппаратной платформы целевой системы исполнения. Приведены вычислительные эксперименты, которые подтверждают, что применение типовых решений не снижает производительность результирующих программ и пригодно в случаях, когда специалисту предметной области требуется построить параллельный алгоритм и выполнить вычислительный эксперимент на высокопроизводительной технике.

Об авторах

Владимир Геннадьевич Литвинов

Самарский государственный аэрокосмический университет им. ак. С. П. Королёва (национальный исследовательский университет)

Email: litvinov_vg@ssau.ru
ассистент, каф. информационных систем и технологий 443086, Россия, Самара, Московское ш., 34

Список литературы

  1. Sutter H. The free lunch is over: A fundamental turn toward concurrency in software // Dr. Dobb’s journal, 2005. vol. 30, no. 3. pp. 202-210.
  2. Марчук Г. И., Котов В. Е. Проблемы вычислительной техники и фундаментальные исследования // Автом. и вычисл. техн., 1979. № 2. С. 3-14.
  3. Gamma E., Helm R., Johnson R., Vlissides J. Design patterns: elements of reusable objectoriented software. Westford: Addison-Wesley, 1995. 395 pp.
  4. Cole M. I. Algorithmic skeletons: structured management of parallel computation. Massachusetts, Cambridge, Boston: MIT Press, 1989. v+132 pp.
  5. MacDonald S., Szafron D., Schaeffer J., Bromling S. Generating parallel program frameworks from parallel design patterns / Euro-Par 2000 Parallel Processing / Lecture Notes in Computer Science, 1900. Berlin, Heidelberg: Springer, 2000. pp. 95-104. doi: 10.1007/3-540-44520-X_13.
  6. Schmidt D. C., Huston S. D. C++ Network Programming. vol. I: Mastering Complexity with ACE and Patterns: FT Press, 2001. 336 pp.
  7. Берзигияров П. К. Программирование на типовых алгоритмических структурах с массивным параллелизмом // Вычислительные методы и программирование, 2001. Т. 2, № 2. С. 1-16.
  8. Kraeva M. A., Malyshkin V. E. Assembly technology for parallel realization of numerical models on mimd-multicomputers // Future Generation Computer Systems, 2001. vol. 17, no. 6. pp. 755-765. doi: 10.1016/s0167-739x(00)00058-3.
  9. Botorog G. H., Kuchen H. Skil: An imperative language with algorithmic skeletons for efficient distributed programming / Proceedings of 5th IEEE International Symposium on High Performance Distributed Computing, HPDC-96, 1996. 243-252 pp. doi: 10.1109/hpdc.1996.546194
  10. Dorta A. J., González J. A., Rodríıguez C., De Sande F. Llc: A parallel skeletal language // Parallel Processing Letters, 2003. vol. 13, no. 03. pp. 437-448. doi: 10.1142/s0129626403001409.
  11. Iosup A., Sonmez O., Anoep S., Epema D. The performance of bags-of-tasks in large-scale distributed systems / Proceedings of the 17th International Symposium on High Performance Distributed Computing 2008, HPDC’08, 2008. pp. 97-108. doi: 10.1145/1383422.1383435.
  12. Reinders J. Intel Threading Building Blocks: Outfitting C++ for Multi-core Processor Parallelism. Beijing, Cambridg, etc.: O’Reilly Media, 2007. 336 pp.
  13. Blumofe R. D., Joerg C. F., Kuszmaul B. C., Leiserson C. E., Randall K. H., Zhou Y. Cilk: An Efficient Multithreaded Runtime System // Journal of Parallel and Distributed Computing, 1996. vol. 37, no. 1. pp. 55-69. doi: 10.1006/jpdc.1996.0107.
  14. OpenMP: an industry standard API for shared-memory programming // IEEE Computational Science and Engineering, 1998. vol. 5, no. 1. pp. 46-55. doi: 10.1109/99.660313.
  15. Konovalov N. A., Krukov V. A., Mihailov S. N., Pogrebtsov A. A. Fortran dvm - a language for portable parallel program development / Proceedings of Software For Multiprocessors & Supercomputers: Theory, Practice, Experience, 1994. pp. 124-133.
  16. Lamport L. The temporal logic of actions // ACM Transactions on Programming Languages and Systems, 1994. vol. 16, no. 3. pp. 872-923. doi: 10.1145/177492.177726.
  17. Lamport L. Specifying systems: The TLA+ Language and Tools for Hardware and Software Engineers. Boston, San Francisco, etc.: Addison-Wesley, 2002. xviii+364 pp.
  18. Востокин С. В. Графическая объектная модель параллельных процессов и ее применение в задачах численного моделирования. Самара: СНЦ РАН, 2007. 286 с.
  19. Востокин С. В. Система автоматизации параллельного программирования Graphplus Templet / Параллельные вычисления и задачи управления, PACO’2010: Труды Пятой Международной конференции. М.: ИПУ РАН, 2010. С. 1143-1156 http://paco2010.ipu.ru/pdf/C105.pdf.
  20. Востокин С. В. Templet - метод процессно-ориентированного моделирования параллелизма // Программные продукты и системы, 2012. № 3. С. 11-14.
  21. Востокин С. В., Литвинов В. Г., Макагонова Д. Д., Хайрутдинов А. Р. Визуальное моделирование параллельных алгоритмов в процессно-ориентированной нотации Templet / Параллельные вычисления и задачи управления, PACO’2012: Тр. Шестой Международн. конф-ции. Т. 1. М.: ИПУ РАН, 2012. С. 260-269 http://paco2012.ipu.ru/procdngs/E208.pdf.
  22. Осовский С. Нейронные сети для обработки информации. М.: Финансы и статистика, 2004. 344 с.
  23. Haykin S. O. Neural Networks and Learning Machines (3rd Edition): New York, 2008. 936 pp.
  24. Литвинов В. Г., Солдатова О. П. Методы построения оптимальной структуры HRBF нейронной сети для решения задачи прогнозирования / Перспективные информационные технологии для авиации и космоса, ПИТ-2010: Труды Международной конференции с элементами научной школы для молодежи. СГАУ: Самара, 2010. С. 252-254.
  25. Востокин С. В., Хайрутдинов А. Р., Литвинов В. Г. Программный комплекс параллельного программирования Graphplus Templet // Вестн. Сам. гос. техн. ун-та. Сер. Физ.-мат. науки, 2011. № 4(25). С. 146-153. doi: 10.14498/vsgtu1027.
  26. Артамонов Ю. С., Востокин С. В., Назаров Ю. П. Templet - Сервис непрерывной интеграции для разработки высокопроизводительных приложений / Высокопроизводительные параллельные вычисления на кластерных системах: Материалы XII всероссийской конференции. Нижний Новгород: Изд-во НГУ, 2012. С. 82.

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML

© Самарский государственный технический университет, 2014

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution 4.0 International License.

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».