The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Для PostgreSQL развиваются механизмы ускорения за счёт привлечения GPU

23.12.2014 23:02

В рамках проекта PG-Strom при участии компании NEC развивается дополнение к СУБД PostgreSQL, позволяющее вынести на плечи GPU выполнение некоторых операций обработки SQL-запроса. В частности, за счёт привлечения GPU могут быть ускорены такие операции как сравнительный перебор элементов таблиц, агрегирование записей и слияние хэшей.

Код для выполнения на стороне GPU генерируется в момент разбора SQL-запроса при помощи специального JIT-компилятора и в дальнейшем выполняется параллельно с другими связанными с текущим запросом операциями, выполняемыми на CPU. Для выполнения заданий на GPU задействован OpenCL. Из присутствующих на данной стадии развития проекта ограничений отмечается возможность использования GPU только для данных, хранимых в оперативной памяти. Увеличение производительности операций слияния таких таблиц при использовании GPU увеличивается в десятки раз.







  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Релиз СУБД PostgreSQL 9.4
  3. OpenNews: PostgreSQL обогнал MongoDB в NoSQL-тестах
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/41333-postgresql
Ключевые слова: postgresql, gpu
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (43) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, A.Stahl (ok), 23:10, 23/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +45 +/
    Это заговор бородатых свитероносцев: скоро выйдет Half-Life3 и свитероносцы хотят иметь внятное обоснование хорошим видеокартам в серверной.
     
     
  • 2.7, Another one Аноним (?), 00:32, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +6 +/
    ...а хранить эту самую базу надо будет в видеопамяти видеокарты!
     
  • 2.11, Аноним (-), 01:41, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Теперь DBA прокачают свои скиллы в сетевых шутерах.
     

  • 1.2, rob pike (?), 23:17, 23/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    На тему параллелизма тоже есть несколько интересных попыток
    http://rhaas.blogspot.ru/2014/12/parallelism-update.html
     
  • 1.5, Crazy Alex (ok), 00:02, 24/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хм, фраза насчёт "данных в памяти" намекает, что такая штука больше подошла бы всяким NoSQL, который ох как любят в памяти всё подряд хранить...
     
     
  • 2.6, Аноним (-), 00:31, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    попробуй постгресу в конфиге памяти добавить, увидишь, как он память любит
     
  • 2.8, XoRe (ok), 01:19, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Хм, фраза насчёт "данных в памяти" намекает, что такая штука больше подошла
    > бы всяким NoSQL, который ох как любят в памяти всё подряд
    > хранить...

    Если postgres не использует всю оперативку, до которой может дотянуться, значит что-то в настройках не так.
    Но идея с nosql интересная.
    Это больше подойдет многопоточному memcache, чем однопоточному redis.
    Правда, это ещё надо постараться нагрузить memcache так, чтобы возникла нужда в ускорении.
    У pgsql нашли узкое место, которое можно ускорить.
    С memcache так может не получиться.

     
     
  • 3.10, pavlinux (ok), 01:40, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • –6 +/
    > Это больше подойдет многопоточному memcache, чем однопоточному redis.

    Напомни, сколько на PCI-Express контактов?

     
     
  • 4.54, XoRe (ok), 21:16, 05/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> Это больше подойдет многопоточному memcache, чем однопоточному redis.
    > Напомни, сколько на PCI-Express контактов?

    Ну что же вы, уважаемый, никогда в редис не упирались?

    https://code.google.com/p/memcached/wiki/NewConfiguringServer#Threading

    redis:
    It does not use pipelining or any parallelism at all (one pending query per connection at most, and no multi-threading).
    http://redis.io/topics/benchmarks

     
  • 3.32, Crazy Alex (ok), 12:56, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Не, я о другом. И я имел в виду не мемкеш, в котором,  в общем-то, тоже только индексы считать, и даже не редис. А скорее что-то вроде mongo/couch, где, во-первых, map/reduce (т.е. хороший параллелизм гарантирован), во-вторых - документный формат, в котором можно всякие агрегаты считать для каждого документа, в-третьих - при нужде можно довольно спокойно пол-языка поломать под хорошую оптимизацию, и пользователи это проглотят.
     
  • 3.35, Аноним (-), 13:21, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    PostgreSQL откушивает ровно столько, сколько задал в shared_buffers.
     
     
  • 4.37, Andrey Mitrofanov (?), 13:33, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > PostgreSQL откушивает ровно столько, сколько задал в shared_buffers.

    Кеш и буферы ядра ещё посчитай, сразу не "ровно" станет.

     
  • 2.44, Аноним (-), 02:46, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    не, это по-другому работает.
    95% workload-а современных SQL БД - ворочается на тамошних UDF, которые ничем от байт-кода жабы или .Net отличаются в этом плане.
    и в случае возможности хотя бы мизерно все это дело ускорить и/или распаралелить, профит фантастический.
    те кто юзает не вполне SQL-compliant костыли вроде форков mysql и прочей хреновины, это дело не поддерживающих ССЗБ, конечно. но для остальных - профит весом, да.
     

  • 1.9, Аноним (-), 01:38, 24/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну вот, будущее наступило. Теперь базе данных будет требоваться видеокарта :).
     
     
  • 2.13, pavlinux (ok), 01:42, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ну вот, будущее наступило. Теперь базе данных будет требоваться видеокарта :).

    Accelerating SQL Database Operations on a GPU with CUDA © 2010  
    http://www.gpucomputing.net/sites/default/files/papers/408/bakkum_sqlite_gpgp

     
     
  • 3.45, Аноним (-), 04:17, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Accelerating SQL Database Operations on a GPU with CUDA © 2010

    Никто в здравом уме не будет лочить себя на апи от нвидии с единственной на планете реализацией в виде их проприетарного блоба. Пора бы это уже понять - психов готовых добровольно сунуться в этот медвежий капкан на планете немного.

     
     
  • 4.53, pavlinux (ok), 00:07, 28/12/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Accelerating SQL Database Operations on a GPU with CUDA © 2010
    > Никто в здравом уме не будет лочить себя на апи от нвидии
    > с единственной на планете реализацией в виде их проприетарного блоба. Пора
    > бы это уже понять - психов готовых добровольно сунуться в этот
    > медвежий капкан на планете немного.

    Ононимные Оналитеги Опеннета рулят и пидалят! А TOP500 - просто сборище дебилов!

     
  • 2.38, Аноним (-), 18:43, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Где только они видели серверные платформы с боле-менее приличными видеокартами ... Самое большее - встроенные Intel или Matrox (чипы разработки 15-летней давности).
     
     
  • 3.41, orgkhnargh (ok), 21:25, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    http://www.nvidia.ru/object/nvidia-grid-ru.html
     
  • 3.46, Аноним (-), 04:18, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Где только они видели серверные платформы с боле-менее приличными видеокартами ...

    А вон в топ500 посмотри...

     
  • 3.49, Аноним (-), 14:32, 27/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё такие есть:

    http://www.intel.com/content/www/us/en/processors/xeon/xeon-phi-detail.html

    http://blog.xcelerit.com/intel-xeon-phi-vs-nvidia-tesla-gpu/

    Т.е. видеовыходов у этих "видеокарт" может и не быть

     

  • 1.12, Прохожий (??), 01:42, 24/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    OpenCL подойдет для любых задач, так или иначе, связанных с большими объемами вычислений.
     
     
  • 2.15, Аноним (-), 03:39, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Но имеет смысл только на тех которые можно хорошо параллелизовать.
     
  • 2.30, Аноним (-), 11:20, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    OpenCL жрет энергию и все равно все упрется в I/O
     

  • 1.14, Аноним (-), 02:03, 24/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Давно пора.
    > задействован OpenCL

    Это правильно.

     
  • 1.19, bOOster (ok), 05:32, 24/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нужное дело делают.
     
  • 1.21, Аноним (-), 06:14, 24/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересно, а их не смущает тот факт, что у большинства видеокарт динамическая память (GDDRx) не то что без ECC, а еще и допускает и bitflip'ы чаще обычной системной ОЗУ без ECC?
     
     
  • 2.47, Аноним (-), 04:21, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Интересно, а их не смущает тот факт, что у большинства видеокарт динамическая
    > память (GDDRx) не то что без ECC,

    Вообще-то в профессиональных/серверных моделях видеокарт - вполне себе с ECC.

    > а еще и допускает и bitflip'ы чаще обычной системной ОЗУ без ECC?

    Так нефиг оверклокать и вольтажи за номинал выставлять. Ну и охлаждение нормальное должно быть (да, некоторые OEM-ы - те еще упыри, хотя ПЕЧи горячие сами по себе например). В том числе и в системнике (актуально для мощных GPU). Если все это соблюдено - нормальная видеокарта может работать годами без сбоев. Толпы майнеров уже проверили, потому что бабло побеждает зло :).

     

  • 1.22, Аноним (-), 07:46, 24/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Для таких задачей есть firepro and tesla. у них память с ecc.
     
  • 1.23, _йцукен (ok), 08:23, 24/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    на серверах теперь будут игровые карточки ? =)
    вечерком когда уже ни кому не уперлись скуль запросы можно порубиться в игрушки сисадминам ? =D

    ==
    все таки не зря говорят что история развивается по спирали, вернулись в 198х с 286 процессорами и математическими сопроцессорами 287

     
     
  • 2.24, Xaionaro (ok), 08:57, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > на серверах теперь будут игровые карточки ? =)

    Игровые никуда не годятся. В тех же игровых nvidia CUDA чисто формальная. При попытке ускорить за счёт неё перемножение матриц получаешь только замедление.

    Для использования GPU в таких целях нужно покупать специальные вычислительные GPU-шнки (наличие на которых output-интерфейсов для подключения мониторов далеко не обязательно [1]).

    [1] http://www.3dnews.ru/assets/external/illustrations/2012/11/12/637850/NVIDIA_T

    > все таки не зря говорят что история развивается по спирали, вернулись в 198х с 286 процессорами и математическими сопроцессорами 287

    Сколько лет мне промывают мозги этими GPU-шками, но лично меня всё равно больше привлекают CPU-шки с AVX-ами (и им подобными).

     
     
  • 3.26, Аноним (-), 09:51, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >Игровые никуда не годятся. В тех же игровых nvidia CUDA чисто формальная. При попытке ускорить за счёт неё перемножение матриц получаешь только замедление.

    А пацаны из BOINC и не знали.

     
     
  • 4.48, Аноним (-), 04:22, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > А пацаны из BOINC и не знали.

    Авторы майнеров коинов и крякеров хэшей тоже как-то не в курсе :)

     
     
  • 5.50, Xaionaro (ok), 16:07, 27/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >> А пацаны из BOINC и не знали.
    > Авторы майнеров коинов и крякеров хэшей тоже как-то не в курсе :)

    Mine-ите coin-ы на своей игровой видеокарте? Успешно?

     
  • 4.51, Xaionaro (ok), 16:10, 27/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >>Игровые никуда не годятся. В тех же игровых nvidia CUDA чисто формальная. При попытке ускорить за счёт неё перемножение матриц получаешь только замедление.
    > А пацаны из BOINC и не знали.

    А можно конкретные ссылки? Я лично сам пробовал эту CUDA. Или может поделитесь собственным опытом?

     
  • 3.33, Xasd (ok), 12:59, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    всё правильно написал
     
  • 3.34, Crazy Alex (ok), 13:00, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну так NVidia - тот ещё махинатор. На вид там карты от AMD лучше пойдут - куча мелких вычислительных блоков.
     
  • 3.43, Аноним (-), 01:12, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Выкинь маркетинговый булшит от нвидии из головы, чувак 0 CUDA - проприетарное ... большой текст свёрнут, показать
     
     
  • 4.52, Xaionaro (ok), 16:23, 27/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Согласен Но OpenCL пытается быть универсальным, из-за чего теряет в производител... большой текст свёрнут, показать
     
  • 2.39, Аноним (-), 18:45, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > на серверах теперь будут игровые карточки ? =)

    Причем тут карточки, если серверы нормальные вообще без графики ставятся?


     
     
  • 3.40, Аноним (-), 19:57, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    помимо смайликов Вам еще показывать табличку "сарказм" ?

    "Графический процессор (англ. graphics processing unit, GPU) — отдельное устройство персонального компьютера или игровой приставки, выполняющее графический рендеринг."

    лопата, можно смеяться ;)

     

  • 1.36, softfire (?), 13:28, 24/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Торт.Невероятно крутая штука.
     
  • 1.42, Аноним (-), 23:12, 24/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Опомнились.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру