Ассоциативная версия инкрементального алгоритма Рамалингама для решения проблемы достижимости в потоковых графах с одним источником | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2021. № 54. DOI: 10.17223/19988605/54/11

Ассоциативная версия инкрементального алгоритма Рамалингама для решения проблемы достижимости в потоковых графах с одним источником

Построена ассоциативная версия последовательного динамического алгоритма Рамалингама. Эта версия представлена в виде процедуры на языке STAR, корректность которой доказана. Результаты тестирования на графических ускорителях показывают, что ассоциативный динамический алгоритм выполняется в несколько раз быстрее статического ассоциативного алгоритма и делает значительно меньше итераций, чем последовательный динамический алгоритм.

Associative version of the Ramalingam incremental algorithm for the dynamic single-source reachability problem.pdf В данной работе строится ассоциативная версия алгоритма Рамалингама для решения динамической проблемы достижимости в потоковых графах с одним источником при добавлении новой дуги. Эта задача возникает в различных приложениях, таких как компиляторы, системы верификации [1, 2], а также анализ и синтез информации в геоинформационных системах (ГИС) [3] и обработка запросов в базах данных с транзитивными отношениями [4]. С ростом объемов обрабатываемых данных возрастает необходимость разработки динамических алгоритмов. Такие алгоритмы позволяют после локального изменения в графе получать решение быстрее, чем перевычисление графа целиком после каждого изменения в нем самым быстрым статическим алгоритмом. Для решения динамической проблемы достижимости нами используется модель ассоциативных (контекстно-адресуемых) процессоров типа SIMD с вертикальной обработкой данных (STAR-машина). К основным достоинствам ассоциативных архитектур относятся параллелизм по данным на базовом уровне, использование двумерных таблиц в качестве структуры данных, параллельный поиск по содержимому памяти [5]. Такие архитектуры ориентированы на решение задач нечисловой обработки данных. В частности, сюда относятся реляционная алгебра, теория графов, обработка сейсмических данных. Прогресс в компьютерной индустрии и полупроводниковых технологиях за последние годы сделал ассоциативную обработку привлекательной. Приведем несколько современных результатов, подтверждающих это утверждение. В работе [6] исследуется ассоциативный процессор (AP), базирующийся на резистентной контекстно-адресуемой памяти. В статье показывается, что технология резистентной памяти предположительно позволяет масштабировать AP с нескольких миллионов до несколько сотен миллионов процессорных элементов на отдельный силиконовый кристалл. Более 86 Ассоциативная версия инкрементального алгоритма Рамалингама для решения проблемы достижимости того, резистентный AP позволяет получать большие масштабируемость и производительность по сравнению с популярными сегодня графическими ускорителями, также относящимися к типу SIMD. В работе [7] описана крупнейшая электронная система ATLAS Fast Tracker с использованием ассоциативной архитектуры, которая проектировалась как часть детектора ATLAS Большого Адронного Коллайдера (Large Hadron Collider, LHC), предназначенного для изучения процессов в физике высоких энергий. Задача системы - распознать и сохранить полезные события при значительном подавлении фоновых процессов (соотношение оценивается как 1 к 109). Fast Tracker использует аппаратную технологию с огромным параллелизмом, объединяя интегральные микросхемы ассоциативной памяти, FPGA (ПЛИСы) и высокоскоростные каналы связи. Тем не менее в настоящее время не существует общедоступных ассоциативных архитектур. В работах [8, 9] построена абстрактная модель типа SIMD (STAR-машина), которая моделирует работу систем вертикальной обработки. Эта модель использует группу элементарных операций, которые позволяют обрабатывать таблицы по содержимому памяти. Для представления ассоциативных параллельных алгоритмов был построен язык высокого уровня STAR. На STAR-машине ассоциативные параллельные алгоритмы представляются в виде соответствующих процедур, корректность которых доказывается. В [9] построена библиотека базовых ассоциативных параллельных алгоритмов. В работах [10-11] приведена эффективная реализация ассоциативных операций STAR-машины и библиотеки базовых ассоциативных параллельных алгоритмов на графических ускорителях, позволяющая использовать разработанные алгоритмы на практике. Для STAR-машины были построены как новые ассоциативные параллельные алгоритмы на графах, так и ассоциативные версии классических алгоритмов на графах. Кроме того, была построена группа динамических алгоритмов на графах, в частности ряд ассоциативных алгоритмов для динамической обработки кратчайших путей [12-15]. Вначале мы представим краткое описание STAR-машины. В разделе 2 приводится описание последовательного алгоритма Рамалингама. В разделе 3 описано представление динамических деревьев на STAR-машине, поскольку алгоритм Рамалингама использует эту структуру данных. В разделе 4 мы приводим ассоциативную версию алгоритма Рамалингама, доказываем ее корректность и перечисляем основные достоинства этой версии. В разделе 5 приводятся результаты тестирования инкрементального алгоритма на графическом ускорителе. Представленный алгоритм выполняется в несколько раз быстрее статического ассоциативного алгоритма на графах с различным числом достижимых вершин (общее число вершин до 5 000, число дуг до 90 000). И за счет обработки вершины вместе с исходящими ребрами число итераций ассоциативного инкрементального алгоритма может значительно сокращаться (~|E|/|V|) по сравнению с последовательным алгоритмом. 1. Модель ассоциативного параллельного процессора В данном разделе приведем краткое описание STAR-машины, которая моделирует работу систем c вертикальной обработкой данных. В модели используются свойства как машины Staran [16], так и отечественного ассоциативного процессора. В работе [17] приводится сравнение STAR-машины с другими моделями ассоциативной обработки. STAR-машина определяется как абстрактная модель типа SIMD с вертикальной обработкой информации (рис. 1); ее основными компонентами являются: последовательное устройство управления, в котором записаны программа и скалярные константы; устройство ассоциативной обработки, состоящее изp одноразрядных процессорных элементов; матричная память. Для обработки информации в матричной памяти STAR-машина использует типы данных slice, word и table. С помощью переменной типа slice моделируется доступ к таблице по столбцам, а с помощью типа word - доступ по строкам. С каждой переменной типа table ассоциируется матрица из n строк и k столбцов, где n

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

SIMD, графический ускоритель, контекстно-адресуемая память, потоковый граф, динамический алгоритм

Авторы

ФИООрганизацияДополнительноE-mail
Непомнящая Анна ШмильевнаИнститут вычислительной математики и математической геофизики СО РАНкандидат физико-математических наук, старший научный сотрудникanep@ssd.sscc.ru
Снытникова Татьяна ВалентиновнаИнститут вычислительной математики и математической геофизики СО РАНмладший научный сотрудникsnytnikovat@ssd.sscc.ru
Всего: 2

Ссылки

Ramalingam G. Bounded Incremental Computation. 1996. V. 1098. P. 149-155.
Sleator D.D., Tarjan R.E. A Data Structure for Dynamic Trees // Journal of Computer and System Sciences. 1983. V. 26. P. 362-391.
Непомнящая А.Ш., Владыко М.А. Сравнение моделей ассоциативного вычисления // Программирование. 1997. № 6. С. 41-50.
Foster C.C. Content Addressable Parallel Processors. New York : John Wiley & Sons, 1976. 233 p.
Nepomniaschaya A.Sh. Associative version of the Ramalingam incremental algorithm for the dynamic all-pairs shortest-path problem // Bulletin of the Novosibirsk Computing Center. Series: Comp. Science. 2016. № 40. P. 75-86.
Nepomniaschaya A.Sh. Efficient parallel implementation of the Ramalingam decremental algorithm for updating the shortest paths subgraph // Computing and Informatics. 2013. V. 32. P. 331-354.
Nepomniaschaya A.Sh. Associative version of the Ramalingam decremental algorithm for the dynamic all-pairs shortest-path problem // Bulletin of the Novosibirsk Computing Center. Series: Comp. Science. 2016. № 39. P. 37-50.
Непомнящая А.Ш. Ассоциативная версия алгоритма Рамалингама для динамической обработки подграфа кратчайших путей после добавления к графу новой дуги // Кибернетика и системный анализ. 2012. № 3. C. 45-57.
Снытникова Т.В. Реализация модели ассоциативных вычислений на GPU: библиотека базовых процедур языка STAR // Вычислительные методы и программирование. Новые вычислительные технологии. 2018. № 19 (1). C. 85-95.
Nepomniaschaya A.Sh. Basic associative parallel algorithms for vertical processing systems // Bulletin of the Novosibirsk Compu ting Center. Series: Comp. Science. 2009. № 9. P. 63-77.
Снытникова Т.В., Непомнящая А.Ш. Решение задач на графах с помощью STAR-машины, реализуемой на графических ускорителях // Прикладная дискретная математика. 2016. № 3 (33). C. 98-115.
Nedaa A. A hardware fast tracker for the ATLAS trigger // Physics of Particles and Nuclei Letters. 2016. V. 13, № 5. P. 527-531.
Nepomniaschaya A.S., Dvoskina M.A. A simple implementation of Dijkstra’s shortest path algorithm on associative parallel processors // Fundamenta Informaticae. IOS Press, 2000. V. 43. P. 227-243.
Potter J.L. Associative Computing: a Programming Paradigm for Massively Parallel Computers. Boston : Perseus Publishing, 1991. 304 р.
Yavits L., Kvatinsky S., Morad A., Ginosar R. Resistive associative processor // IEEE Computer Architecture Letters. 2015. V. 14, № 2. P. 148-151.
Jin R., Hong H., Wang H., Ruan N., Xiang Y. Computing Label-Constraint Reachability in Graph Databases // Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data. New York: Association for Computing Machinery, 2010. P. 123-134.
Hanauer K., Henzinger M., Schulz Ch. Fully Dynamic Single-Source Reachability in Practice: an Experimental Study // Proceedings of the Twenty-Second Workshop on Algorithm Engineering and Experiments, ALENEX, Salt Lake City, 2020. Р. 106-119.
Zhang Q., Su Z. Context-sensitive data-dependence analysis via linear conjunctive language reachability // POPL 2017: Proc. of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages. 2017. P. 344-358.
Reps T. Program analysis via graph reachability // Information and software technology, 1998. V. 40, № 11. P. 701-726.
 Ассоциативная версия инкрементального алгоритма Рамалингама для решения проблемы достижимости в потоковых графах с одним источником | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2021. № 54. DOI: 10.17223/19988605/54/11

Ассоциативная версия инкрементального алгоритма Рамалингама для решения проблемы достижимости в потоковых графах с одним источником | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2021. № 54. DOI: 10.17223/19988605/54/11