Труды института системного программирования РАН
RUS  ENG    ЖУРНАЛЫ   ПЕРСОНАЛИИ   ОРГАНИЗАЦИИ   КОНФЕРЕНЦИИ   СЕМИНАРЫ   ВИДЕОТЕКА   ПАКЕТ AMSBIB  
Общая информация
Последний выпуск
Архив

Поиск публикаций
Поиск ссылок

RSS
Последний выпуск
Текущие выпуски
Архивные выпуски
Что такое RSS



Труды ИСП РАН:
Год:
Том:
Выпуск:
Страница:
Найти






Персональный вход:
Логин:
Пароль:
Запомнить пароль
Войти
Забыли пароль?
Регистрация


Труды института системного программирования РАН, 2020, том 32, выпуск 1, страницы 205–220
DOI: https://doi.org/10.15514/ISPRAS-2020-32(1)-11
(Mi tisp493)
 

Эта публикация цитируется в 2 научных статьях (всего в 2 статьях)

Кэширование машинного кода в динамическом компиляторе SQL-запросов для СУБД PostgreSQL

М. В. Пантилимонов, Р. А. Бучацкий, Р. А. Жуйков

Институт системного программирования им. В.П. Иванникова РАН
Список литературы:
Аннотация: По мере увеличения производительности компьютеров и роста объёма оперативной и внешней памяти производительность СУБД для некоторых классов запросов всё чаще определяется характеристиками процессора и эффективностью его использования. Для исполнения SQL-запросов в реляционных СУБД используется различные модели выполнения, которые различаются характеристиками, но так или иначе подвержены существенным накладным расходам при интерпретации плана запроса. Накладные расходы связаны с большим количеством ветвлений, неявными вызовами функций-обработчиков и выполнением лишних проверок. Одно из решений - динамическая компиляция запросов, которая оправдана только в том случае, когда время, затрачиваемое на интерпретацию запроса, превосходит время, затрачиваемое на компиляцию и выполнение оптимизированного кода. Данное требование может быть удовлетворено только тогда, когда объем обрабатываемых запросом данных достаточно велик. Если время интерпретации запроса исчисляется миллисекундами, то затраты на динамическую компиляцию могут в сотни раз превосходить время выполнения сгенерированного машинного кода. Чтобы оправдать расходы, затрачиваемые на динамическую компиляцию таких запросов, необходимо иметь возможность повторного использования сгенерированного машинного кода в последующих выполнениях, тем самым избавившись от затратных операций по его оптимизации и компиляции. В рамках данной работы рассматривается метод кэширования машинного кода в динамическом компиляторе запросов СУБД PostgreSQL. Предлагаемый метод позволяет избавиться от накладных расходов, затрачиваемых на оптимизацию и компиляцию. Результаты проведенного тестирования показывают, что динамическая компиляция запросов с возможностью переиспользования машинного кода позволяет получить существенное ускорение на запросах типа OLTP.
Ключевые слова: динамическая компиляция, JIT-компиляция, кэширование кода, выполнение запросов, СУБД, PostgreSQL, LLVM.
Тип публикации: Статья
Образец цитирования: М. В. Пантилимонов, Р. А. Бучацкий, Р. А. Жуйков, “Кэширование машинного кода в динамическом компиляторе SQL-запросов для СУБД PostgreSQL”, Труды ИСП РАН, 32:1 (2020), 205–220
Цитирование в формате AMSBIB
\RBibitem{PanBucZhu20}
\by М.~В.~Пантилимонов, Р.~А.~Бучацкий, Р.~А.~Жуйков
\paper Кэширование машинного кода в динамическом компиляторе SQL-запросов для СУБД PostgreSQL
\jour Труды ИСП РАН
\yr 2020
\vol 32
\issue 1
\pages 205--220
\mathnet{http://mi.mathnet.ru/tisp493}
\crossref{https://doi.org/10.15514/ISPRAS-2020-32(1)-11}
Образцы ссылок на эту страницу:
  • https://www.mathnet.ru/rus/tisp493
  • https://www.mathnet.ru/rus/tisp/v32/i1/p205
  • Эта публикация цитируется в следующих 2 статьяx:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Труды института системного программирования РАН
    Статистика просмотров:
    Страница аннотации:107
    PDF полного текста:94
    Список литературы:20
     
      Обратная связь:
     Пользовательское соглашение  Регистрация посетителей портала  Логотипы © Математический институт им. В. А. Стеклова РАН, 2024