Jump to content

PAM-библиотека

PAM (Parallel Augmented Maps) — это параллельная библиотека C++ с открытым исходным кодом, реализующая интерфейс для последовательностей, упорядоченных наборов , упорядоченных карт и дополненных карт . [1] Библиотека доступна на GitHub. Он использует базовую сбалансированную структуру двоичного дерева с использованием алгоритмов на основе соединений . [1] PAM поддерживает четыре схемы балансировки, включая деревья AVL , красно-черные деревья , трепы и деревья с балансировкой веса .

PAM — это параллельная библиотека, которая также безопасна для параллелизма. Его параллелизм может поддерживаться cilk , OpenMP или планировщиком в PBBS . [2] Теоретически все алгоритмы в PAM эффективны и имеют полилогарифмическую глубину. PAM использует базовую постоянную древовидную структуру, позволяющую использовать несколько версий. PAM также поддерживает эффективный сборщик мусора.

Интерфейс

[ редактировать ]

Последовательности

[ редактировать ]

Чтобы определить последовательность, пользователям необходимо указать тип ключа последовательности.

PAM поддерживает функции для последовательностей, включая построение, поиск записи с определенным рангом, первую, последнюю, следующую, предыдущую, размер, пустую, фильтрацию, уменьшение карты, объединение и т. д.

Заказанные наборы

[ редактировать ]

Чтобы определить упорядоченный набор, пользователям необходимо указать тип ключа и функцию сравнения, определяющую общий порядок по типу ключа.

Помимо интерфейса последовательности, PAM также поддерживает функции для упорядоченных наборов, включая вставку, удаление, объединение , пересечение , разность и т. д.

Заказанные карты

[ редактировать ]

Чтобы определить упорядоченную карту, пользователям необходимо указать тип ключа, функцию сравнения типа ключа и тип значения.

Помимо интерфейса упорядоченного набора, PAM также поддерживает функции для упорядоченных карт, такие как вставка с объединением значений.

Дополненные карты

[ редактировать ]

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

Помимо интерфейса упорядоченной карты, PAM также поддерживает функции для расширенных карт, такие как aug_range.

Помимо древовидных структур, PAM также реализует префиксную структуру для расширенных карт.

Реализация для примеров приложений

[ редактировать ]

Библиотека также предоставляет примеры реализаций для ряда приложений, включая 1D-запрос на внесение удара (с использованием интервальных деревьев , 2D- запрос диапазона (с использованием дерева диапазонов и алгоритма линии развертки ), 2D-запрос сегмента (с использованием дерева сегментов и алгоритма линии развертки ), 2D- запрос сегмента прямоугольный запрос (с использованием древовидной структуры и алгоритма развертки ), поиск по инвертированному индексу и т. д.

Используется в приложениях

[ редактировать ]

Библиотека была протестирована в различных приложениях, включая тесты баз данных, [3] 2D- дерево сегментов , [4] 2D интервальное дерево , [1] инвертированный индекс [1] и управление многоверсионным параллелизмом . [5]

  1. ^ Jump up to: а б с д Сунь, Ихан; Феризович, Дэниел; Беллок, Гай Э. (23 марта 2018 г.). «ПАМ: параллельные дополненные карты» . Уведомления ACM SIGPLAN . 53 (1): 290–304. дои : 10.1145/3200691.3178509 . ISSN   0362-1340 . Проверено 5 сентября 2020 г.
  2. ^ Библиотека набора проблемно-ориентированных тестов
  3. ^ Сунь, Ихан; Блеллок, Гай Э.; Лим, Ван Шен; Павел, Андрей (1 октября 2019 г.). «О поддержке эффективной изоляции моментальных снимков для гибридных рабочих нагрузок с многоверсионными индексами» . Труды Фонда VLDB . 13 (2): 211–225. дои : 10.14778/3364324.3364334 . ISSN   2150-8097 . S2CID   204841857 .
  4. ^ Сунь, Ихан; Белллох, Гай Э. (1 января 2019 г.). «Параллельные запросы диапазона, сегмента и прямоугольника с расширенными картами» . Материалы совещания по алгоритмической разработке и экспериментам (ALENEX) , 2019 г. Общество промышленной и прикладной математики: 159–173. arXiv : 1803.08621 . дои : 10.1137/1.9781611975499.13 . ISBN  978-1-61197-549-9 .
  5. ^ Бен-Давид, Наама; Блеллок, Гай Э.; Сунь, Ихан; Вэй, Юаньхао (17 июня 2019 г.). «Многоверсионный параллелизм с ограниченной задержкой и точным сбором мусора». 31-й симпозиум ACM по параллелизму в алгоритмах и архитектурах . Ассоциация вычислительной техники. стр. 241–252. дои : 10.1145/3323165.3323185 . ISBN  9781450361842 .


[ редактировать ]
  • PAM , параллельная расширенная библиотека карт.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: fa727c5774d9e34c4a24a638a96bf5e1__1704170640
URL1:https://arc.ask3.ru/arc/aa/fa/e1/fa727c5774d9e34c4a24a638a96bf5e1.html
Заголовок, (Title) документа по адресу, URL1:
PAM library - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)