С течением времени количество информации, которое производит человечество, растет [1]. В связи с прогнозируемым ростом объема данных остро встает вопрос об анализе этих данных . Логично предположить, что при их росте потенциально будет возникать нужда в ускорении обработки. Для решения данной проблемы разрабатывается и исследуется множество разных подходов. Один из наиболее перспективных - использование аппаратных ускорителей, в частности графических процессоров. Уже сейчас графические устройства показывают хорошие результаты в области ускорения работы моделей машинного обучения, а тренды развития многообещающие [14].
В обработке данных графические процессоры также могут показывать неплохие результаты (Рис. 1). Однако в то же время сравнение может продемонстрировать отсутствие единственно оптимального устройства для исполнения аналитических запросов к СУБД. Это наблюдение показывает, что интеграция графического устройства в систему не решает все проблемы автоматически и требует дополнительных усилий.
Причины у таких результатов - разные архитектурные особенности центрального и графического процессоров, разные подходы к разработке, разные программные модели и модели памяти.
Все эти наблюдения приводят к тому, что для успешного ускорения исполнения аналитических запросов с использованием графического устройства, необходимо разработать механизм распределения работ между устройствами. Формально говоря, возникает дополнительный параметр, который необходимо оптимизировать при поиске оптимального плана запроса.
Задача поиска оптимального плана в реляционных СУБД как правило решается использованием моделей затрат. Их задача давать оценку каждому физическому плану таким образом, чтобы оптимизация этой оценки приводила к оптимизации времени исполнения. Модели затрат могут давать как оценку на время исполнения, так и генерировать абстрактное значение, позволяющее оптимизировать время исполнения.
Проблема существующих решений в том, что они не учитывают возникший при использовании гетерогенного исполнения параметр, а их адаптация к новым архитектурам может быть затруднительной. Цель этой выпускной квалификационной работы изучить возможность использования модели затрат в целях оптимизации гетерогенных планов запросов и их влияние на качество этих планов.
Основные результаты работы заключаются в следующем:
1. Была разработана библиотека аналитических шаблонов.
2. Была разработана и реализована модель затрат в HDK, позволяющая оценивать стоимость планов в гетерогенной системе.
3. Разработанная модель затрат позволяет получать повышение производительности.
4. Была исследована зависимость времени исполнения от точности предсказаний модели затрат. На запросах, которые модель затрат оценивала хуже, замечено более активное улучшение результатов при повышении точности. Также отмечено, что модель затрат позволяет получать оптимальные результаты без полной ликвидации ошибок.
Таким образом в выпускной квалификационной работе проведено исследование влияния точности модели затрат на исполнение аналитических запросов к СУБД в основной памяти в гетерогенных системах, что является актуальным результатом для области анализа данных.
[1] High Data Growth and Modern Applications Drive New Storage Requirements in Digitally Transformed Enterprises. URL: https: //www.delltechnologies.com/asset/en-us/products/storage/ industry-market/h19267-wp-idc-storage-reqs-digital- enterprise.pdf
[2] Viktor Leis, Andrey Gubichev, Atanas Mirchev, Peter Boncz, Alfons Kemper, and Thomas Neumann. 2015. How good are query optimizers, really? Proc. VLDB Endow. 9, 3 (November 2015), 204-215. https:// doi.org/10.14778/2850583.2850594
[3] S. Bress, et al., Self-Tuning Distribution of DB-Operations on Hybrid CPU/GPU Platforms, 2012
[4] Курапов П.А., Куликов Д.В., Мелик-Адамянх А.Ф. МОДЕЛЬ ЗАТРАТ ДЛЯ ОПТИМИЗАЦИИ АНАЛИТИЧЕСКИХ ЗАПРОСОВ В ГЕТЕРОГЕННЫХ СИСТЕМАХ // International Journal of Open Information Technologies. 2022. №4.
[5] Du, Weimin & Krishnamurthy, Ravi & Shan, Ming-Chien. (1992). Query Optimization in a Heterogeneous DBMS.. 277-291.
[6] Boulos, Jihad, Yann Viemont and Kinji Ono. “A Neural Networks Approach for Query Cost Evaluation.” (1997).
[7] Kurt Hornik, Maxwell Stinchcombe, Halbert White: Multilayer feedforward networks are universal approximators, Neural Networks, Volume 2, Issue 5, Pages 359-366 (1989)
[8] Jihad Boulos and Kinji Ono. 1999. Cost estimation of user-defined methods in object-relational database systems. SIGMOD Rec. 28, 3 (Sept. 1999), 22-28. https://doi.org/10.1145/333607.333610
[9] Harada, Takahiro and Lee W. Howes. “Introduction to GPU Radix Sort.” (2011).
[10] W. Wu, Y. Chi, S. Zhu, J. Tatemura, H. Hacigumus and J. F. Naughton, "Predicting query execution time: Are optimizer cost models really unusable?,"2013 IEEE 29th International Conference on Data Engineering (ICDE), Brisbane, QLD, Australia, 2013, pp. 1081-1092, doi: 10.1109/ICDE.2013.6544899.
[11] Thomas Neumann. 2011. Efficiently compiling efficient query plans for modern hardware. Proc. VLDB Endow. 4, 9 (June 2011), 539-550. https: //doi.org/10.14778/2002938.2002940
[12] Timo Kersten, Viktor Leis, Alfons Kemper, Thomas Neumann, Andrew Pavlo, and Peter Boncz. 2018. Everything you always wanted to know about compiled and vectorized queries but were afraid to ask. Proc. VLDB Endow. 11, 13 (September 2018), 2209-2222. https://doi.org/10.14778/ 3275366.3284966
[13] Viktor Leis, Peter Boncz, Alfons Kemper, and Thomas Neumann. 2014. Morsel-driven parallelism: a NUMA-aware query evaluation framework for the many-core age. In Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data (SIGMOD ’14). Association for Computing Machinery, New York, NY, USA, 743-754. https://doi.org/ 10.1145/2588555.2610507
[14] Marius Hobbhahn and Tamay Besiroglu (2022), "Trends in GPU priceperformance". Published online at epochai.org. Retrieved from: https:// epochai.org/blog/trends-in-gpu-price-performance [online resource]
[15] Andy Adinets, Duane Merrill. Onesweep: A Faster Least Significant Digit Radix Sort for GPUs https://doi.org/10.48550/arXiv.2206.01784...37