ВВЕДЕНИЕ 4
4. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 7
1.1. Архитектура GPU 7
1.2. Архитектура Intel MIC 9
1.3 Параллельные СУБД 10
5. ОБЗОР МОДЕЛЕЙ МНОГОПРОЦЕССОРНЫХ СИСТЕМ 16
5.1 Модели параллельных вычислений 16
5.1.1 Модель PRAM 16
2.1.2. Модель BSP 18
2.1.3. Модель LogP 19
2.2. Модели параллельных систем баз данных 19
6. МОДЕЛЬ DMG 28
3.1. Модель аппаратной платформы 28
3.2. Модель операционной среды 30
4. РАЗРАБОТКА ПРОГРАММНОГО ЭМУЛЯТОРА 35
4.1 Варианты использования 35
4.2 Принципы эмулятора 36
5. ВЫЧИСЛИТЕЛЬНЫЕ ЭКСПЕРИМЕНТЫ 37
ЗАКЛЮЧЕНИЕ 43
ЛИТЕРАТУРА 44
Объем информации, хранящейся на электронных носителях, стремительно увеличивается. В 2011 году он был в 30 миллионов раз больше, чем объем информации, содержащейся в книгах, написанных за весь период существования человечества. По данным аналитической компании IDC он достиг 1,8 зеттабайт (миллиарда терабайт). По прогнозам IDC, объем данных на планете будет как минимум удваиваться каждые два года вплоть до 2020 года[16,22].
Динамика роста данных объясняется ростом вычислительных средств, приложений и пользователей. Источниками возникновения сверхбольших данных являются данные с измерительных устройств, события от радиочастотных идентификаторов, потоки сообщений из социальных сетей[15], метеорологические данные, данные дистанционного зондирования Земли, потоки данных о местонахождении абонентов сетей сотовой связи, устройств аудио- и видеорегистрации. Настолько огромный объем данных необходимо хранить, обрабатывать и анализировать[5]. Данная задача не может быть выполнена классическими программно - аппаратными средствами. Для этого необходимо использовать многопроцессорные системы баз данных.
Параллельные СУБД, реализованные на аппаратной платформе кластерных вычислительных систем, на сегодняшний день являются одним из наиболее эффективных средств обработки сверхбольших баз данных [24]. Вычислительные кластеры позволяют уменьшить время расчетов по сравнению с одиночным компьютером, разбивая задание на параллельно выполняющиеся ветки, которые обмениваются данными по связывающей сети.
В настоящее время для увеличения вычислительной мощности применяют гибридные вычислительные системы, оснащенные совместно центральными процессорами и сопроцессорами. Сопроцессор работает, взаимодействуя с центральным процессором. Обычно сопроцессор настраивается на выполнение какой-нибудь специфической функции - математической операции или графического представления. Эту операцию сопроцессор может реализовывать во много раз быстрее, чем центральный процессор.
Существуют исследования, демонстрирующие производительность гибридных вычислительных систем под нагрузкой, сходной с нагрузкой, создающейся при выполнении запросов к параллельным системам баз данных. Результаты данных исследований показывают эффективность подобных архитектур [2, 6, 8, 21]. В соответствии с этим актуальной задачей является моделирование и исследование гибридных вычислительных систем, оснащенных многоядерными графическими процессорами.
Цель работы состоит в моделировании операции соединения на многопроцессорных системах с графическими ускорителями.
Для достижения поставленной цели необходимо решить следующие задачи:
1) выполнить обзор моделей многопроцессорных систем;
2) разработать математическую модель многопроцессорной системы, оснащенной графическими ускорителями, позволяющей моделировать операцию соединения;
3) реализовать предложенную модель в виде программного эмулятора;
4) с использованием разработанного эмулятора выполнить вычислительные эксперименты на проверку адекватности модели.
Структура работы
Работа состоит из введения, шести глав, заключения, литературы.
В первом разделе представлена программно-аппаратная архитектура графического процессора, архитектура процессора (сопроцессора) и параллельные СУБД. Во втором разделе изложены модели параллельных вычислений, модели параллельных систем баз данных. В третьем разделе описана модель, позволяющая выполнять моделирование операции соединения на 5
многопроцессорных системах с графическими ускорителями. Модель включает в себя модель аппаратной платформы, модель операционной среды. В четвертом разделе приведены детали проектирования и разработки программного эмулятора, реализующего разработанную модель. В пятом раз-деле описана настройка эмулятора. В шестом приведены вычислительные эксперименты.
Объем работы составляет 46 страниц, объем литературы - 24 наименования.
В работе рассмотрены вопросы моделирования и анализа многопроцессорных систем баз данных, оснащенных графическими ускорителями. По итогам работы получены следующие результаты:
1) разработана модель, позволяющая моделировать многопроцессорные системы баз данных, оснащенных графическими ускорителями;
2) на основе предложенной модели разработан программный эмулятор, позволяющий моделировать и исследовать различные многопроцессорные конфигурации;
3) проведены вычислительные эксперименты, направленные на поиск оптимальных аппаратных архитектур мультипроцессоров баз данных.
1. Abadi D.J., Madden S.R., Ferreira M. Integrating compression and ex-ecution in column-oriented database systems // ACM-SIGMOD International conference on Management of data, Chicago, USA, 27-29 June, 2006, Proceed-ings. - ACM, 2006.-P. 671-682.
2. Bakkum P., Skadron K. Accelerating SQL Database Operations on a GPU with CUDA // The 3rd Workshop on General-Purpose Computation on Graphics Processing Units, Pittsburgh, USA, 14 March, 2010, Proceedings. - ACM, 2010. - P. 94-103.
3. Carey M.J., Livny M. Parallelism and Concurrency Control Perfor-mance in Distributed Database Machines. // ACM SIGMOD Inter. Conf. on the Management of Data, Portland, USA, May 31 - June 2, 1989, Proceedings. - ACM, 1989. - P. 122-133.
4. Culler D. LogP: A Practical Model of Parallel Computation.// Com-munications of the ACM. - 1996. - Vol. 39. - No. 11. - P. 78-85.
5. Garcia-Molina H., Ullman J.D., Widom J. Database Systems: The Complete Book. 2nd ed. - County: Pearson Prentice Hall, 2008. - 1089 p.
6. Govindaraju N., Lloyd B., Wang W. Fast Computation of Database Operations Using Graphics Processors.// SIGMOD, Paris, France, 13-18 June, 2004, Proceedings. - ACM, 2004. - P. 215-226.
7. Gregg C., Hazelwood K. Where is the data? Why you cannot debate CPU vs. GPU performance without the answer // The IEEE International Sym-posium on Performance Analysis of Systems and Software, Austin, USA, 10-20 April, 2011, Proceedings. - IEEE Computer Society, 2011. - P. 134-144.
8. He B., Lu M. Relational Query Co-Processing on Graphics Processors // ACM TODS Journal. - 2009. - Vol. 34. - No. 4. - P. 1-35.
9. Hsiao H.I., DeWitt D.J. A Performance Study of Three High Availabil-ity Data Replication Strategies // Distributed and Parallel Databases, 1993. - Vol. 1. - No. 1. - P. 53-80.
10. Jeffers J., Reinders J. Intel Xeon Phi Coprocessor High Performance Programming. - County: Morgan Kaufmann Publishers Inc., 2013. - 432 p.
11. Leback B., Miles D., Wolfe M. Tesla vs. Xeom Phi vs. Radeon: a compiler writer’s perspective // CUG, - 2013. - Vol. 1. - No. 3. - P. 16-25.
12. McColl W.F. General purpose parallel computing. Lectures on Paral¬lel Computation. // Cambridge University Press, New York, USA, 1993, Pro-ceedings. Programming Research Group, 1993. - P. 337-391.
13. Nickolls J., Buck I., Garland M., Skadron K. Scalable Parallel Pro-gramming with CUDA // Queue. 2008. - Vol. 6. - No. 2. - P. 40-53.
14. Ranade A.G. How to emulate shared memory // The 28th IEEE An-nual Symposium on Foundations of Computer Science, Los Angeles, USA, 12¬14 October, 1987, Proceedings. -IEEE Computer Society, 1987. - P. 185-194.
15. Roberts L.G. Beyond Moore’s Law: Internet Growth Trends // Com-puter. 2000. - Vol. 33. - No. 1. - P. 117-119.
16. Stonebraker M., Madden S., Dubey P. Intel “big data” science and technology center vision and execution plan // ACM SIGMOD Record, 2013. - Vol. 42. - No. 1. - P. 44-49.
17. Turner V., Gantz J.F., Reinsel D. The Digital Universe of Opportuni-ties: Rich Data and the creasing Value of the Internet of Things. [Электронный ресурс]. URL: http://idcdocserv.com/1678/(дата обращения: 08.05.2016).
18. Valiant L.G. A bridging model for parallel computation // Communi-cation of the ACM, 1990. - Vol. 33. - No. 8. - P. 103-111.
19. Баканов В.М. Параллельные вычисления: Учебное пособие. - М.: МГУПИ, 2006. - 124 с.
20. Беседин К.Ю., Костенецкий П.С. Моделирование обработки запросов на гибридных вычислительных системах с многоядерными сопроцессорами и графическими ускорителями // Программные системы: теория и приложения, 2014. - No. 1. - C. 91-110.
21. Беседин К.Ю., Костенецкий П.С. Моделирование обработки запросов на гибридных вычислительных системах с многоядерными сопроцессорами и графическими ускорителями. // Программные системы: теория и приложения, 2014. - No. 1. - C. 91-110.
22. Иванова Е.В. Методы параллельной обработки сверхбольших баз данных с использованием распределенных колоночных индексов: Дис. ... канд. физ.-мат. наук: 12.16.18 / Южно-Уральский государственный университет. - Челябинск, 2016. - 143 С.
23. Костенецкий П.С., Соколинский Л.Б. Моделирование иерархических многопроцессорных систем баз данных // Программирование, 2013. - No. 1. - C. 3-22.
24. Соколинский Л.Б. Обзор архитектур параллельных систем баз данных. // Программирование, 2004. - No. 6. - C. 49-63.