powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / СУБД, использующая вычисления на GPU.
61 сообщений из 61, показаны все 3 страниц
СУБД, использующая вычисления на GPU.
    #37597923
Antony GL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос.
Какая-нибудь из современных СУБД поддерживает перенос части вычислений с CPU на GPU, если поддерживает, то какими средствами.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37597933
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antony GL,

на абстрактный GPU не слышал, а вот на специализированный слышал про такое
http://oraclemind.blogspot.com/2008/05/sql-dbms.html
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37597947
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!,

Май 13, 2008
Прорыв не случился, судя по всему ))
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37597966
lolepezy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для PostgreSQL есть процедурный язык, который использует OpenCL.
http://www.scribd.com/doc/51484335/PostgreSQL-OpenCL-Procedural-Language-pgEast-March-2011
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37597989
Antony GL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточню.
Под GPU понимаются современные потребительские (т.н. "игровые") видеокарты (или их набор, SLI / Crossfire) с поддержкой вычислений CUDA у nVidia или аналога от Radeon.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598003
Antony GL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lolepezy,

спасибо, это то, что доктор прописал. теперь знаю, что искать)

А MS SQL / Oracle такое не поддерживает?
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598008
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antony GLА MS SQL / Oracle такое не поддерживает?
СУБД вообще-то традиционно считаются CPU-bound нагрузкой. Вычислять с бешеной скоростью им
нечего.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598017
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antony GLlolepezy,

спасибо, это то, что доктор прописал. теперь знаю, что искать)

А MS SQL / Oracle такое не поддерживает?

Вот скажите , как собираетесь эту фичу применять, в каком классе задач ,
для обработки данных которые потом нужно будет обратно вернуть, а не на монитор выводить ?
Мы ведь о СУБД говорим, да ?

Я как бы намекаю на то что GPU
в несколько раз ( а может даже десятков) производительнее чем системная шина.
И ИМХО качественно его кормить, и паралельно рекордно доить у вас получиться на достаточно узком круге задач.

Хотя тема интересная.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598019
Antony GL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

так-то оно так, только у клиентов есть выделенный сервер, где крутится MS SQL Server 08R2, и там 24 ядра, если не ошибаюсь. Зачем? Не знаю. Но стоит это решение как самолет.
Сейчас интересуются насчет второй системы, но несколько дешевле.
Рассматриваю, как вариант, вместо многопроцессорной платформы воткнуть хорошую видеокарту и сэкономить на этом деньги.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598021
Antony GL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаР,

область применения - ERP системы. Если быть конкретным - Dynamics AX 09
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598030
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antony GLЗачем? Не знаю.
Вот когда узнаешь, тогда и приходи.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598038
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antony GLДохтаР,

область применения - ERP системы. Если быть конкретным - Dynamics AX 09


Я вам так скажу.
ИМХО Тупиковый путь.
Когда ваша система достигнет обьмов среднего сервера вы вместо
того что бы зинимать слот видокартой ,
сделаете выбор в пользу FС SAN адаптера.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598044
ДохтаРAntony GLДохтаР,

область применения - ERP системы. Если быть конкретным - Dynamics AX 09


Я вам так скажу.
ИМХО Тупиковый путь.
Когда ваша система достигнет обьмов среднего сервера вы вместо
того что бы зинимать слот видокартой ,
сделаете выбор в пользу FС SAN адаптера.
А если таких слота 4 штуки? И все 2.0 16x на 2-4-х сокетном сервере.
Что бывает часто.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598052
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antony GL
Рассматриваю, как вариант, вместо многопроцессорной платформы воткнуть хорошую видеокарту и сэкономить на этом деньги.
Степень магистра или кандидата т.н. или доктора получить, решив часть проблем, связанных с такой задачей - реально, а запустить ERP - это на сегодня фантастика :).
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598060
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
таких слота 4 штукиДохтаРпропущено...



Я вам так скажу.
ИМХО Тупиковый путь.
Когда ваша система достигнет обьмов среднего сервера вы вместо
того что бы зинимать слот видокартой ,
сделаете выбор в пользу FС SAN адаптера.
А если таких слота 4 штуки? И все 2.0 16x на 2-4-х сокетном сервере.
Что бывает часто.


Я не говорю что использовать нельзя, я не знаю, самому интересно
я хочу сказать что ИМХО это стратегически не перспективно.

А если бизнес будет расти так, что через пару лет решите купить себе блейд шасси
где на серверах нет видеокарт, потому как монитор там нахрен не нужен, терминалкой все управляется.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598067
ДохтаРтаких слота 4 штукипропущено...

А если таких слота 4 штуки? И все 2.0 16x на 2-4-х сокетном сервере.
Что бывает часто.


Я не говорю что использовать нельзя, я не знаю, самому интересно
я хочу сказать что ИМХО это стратегически не перспективно.

А если бизнес будет расти так, что через пару лет решите купить себе блейд шасси
где на серверах нет видеокарт, потому как монитор там нахрен не нужен, терминалкой все управляется.
Вы видимо не в кусре. http://ru.wikipedia.org/wiki/NVIDIA_Tesla
Серверный графический вычислитель для неграфических вычислений GPGPU (без видеовыхода). Есть и блейд-сервера со встроенными Tesla ускорителями.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598074
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
таких слота 4 штукиДохтаРпропущено...



Я не говорю что использовать нельзя, я не знаю, самому интересно
я хочу сказать что ИМХО это стратегически не перспективно.

А если бизнес будет расти так, что через пару лет решите купить себе блейд шасси
где на серверах нет видеокарт, потому как монитор там нахрен не нужен, терминалкой все управляется.
Вы видимо не в кусре. http://ru.wikipedia.org/wiki/NVIDIA_Tesla
Серверный графический вычислитель для неграфических вычислений GPGPU (без видеовыхода). Есть и блейд-сервера со встроенными Tesla ускорителями.

Спасибо , не знал.
Я поэтому и спрашивал на каком круге задач ТС пытается применять GPU .

Если бы она скзал, что собирается рисовать и рендерить очередного Шрека, то да.

НО качественно накормить GPU ERP системой врядли разве что агригаты считать.

И по ссылке не увидел применимость вычислителя для ERP систем.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598075
Antony GL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovAntony GLЗачем? Не знаю.
Вот когда узнаешь, тогда и приходи.

К сожалению, этого не знают и сами клиенты. Базы (несколько штук по 40-70 ГБ каждая), точнее работа с ними, никогда не загружает все эти ядра, более того, нагрузка идет неравномерно (первые ядра под максимум, остальные - относительный простой). Система покупалась из расчета "на перспективу" и "чтобы сейчас не тормозила", плюс - из наличия средств.

таких слота 4 штукиА если таких слота 4 штуки? И все 2.0 16x на 2-4-х сокетном сервере.
Что бывает часто.
Примерно так мной предполагалось.

АнатоЛойСтепень магистра или кандидата т.н. или доктора получить, решив часть проблем, связанных с такой задачей - реально, а запустить ERP - это на сегодня фантастика :).
А разве ERP не должно быть ||, как на сервере БД производятся вычисления или на чем хранятся данные? Это должно быть проблемой СУБД, но не ERP, как мне кажется.

Честно сказать - рассматриваемый вопрос является скорее теоретическим (т.е. я осознаю, что положительным результатом всей этой задумки может оказаться лишь тестирование работоспособности ERP с таким сервером БД). Однако этот интерес имеет под собой вполне практические потребности клиента.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598079
Antony GL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но это все уход от темы.
По теме же интересен практический запуск MS SQL Server / Oracle с перекладыванием вычислений с CPU на GPU.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598081
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antony GLК сожалению, этого не знают и сами клиенты.
Тогда им нужен не GPU, а DBA.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598087
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antony GLНо это все уход от темы.
По теме же интересен практический запуск MS SQL Server / Oracle с перекладыванием вычислений с CPU на GPU.

Оракл врядли, потому ка оборудование которое он ( SUN от его имени ) продвигает
не нуждается в непосредственном подключении монитора и видеокарте.

Если и есть , то в самых младших моделях.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598089
Antony GL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovAntony GLК сожалению, этого не знают и сами клиенты.
Тогда им нужен не GPU, а DBA.

Туда иногда завозят специалиста, а в основное время этими делами занимается тамошний SA.
Дело происходит на объекте, объект находится в малообитаемой зоне, в которой так вид живых существ не водится :)
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598099
Antony GL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаР,

ну, Оракл представляется как крайний (альтернативный выход), т.к. существующие базы (и немалые) работают в MS SQL.
Он не зря поставлен вперед, к тому же - Microsoft тоже не особо продвигает (хотя и допускает) использование Oracle со своей MS Dynamix AX.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598183
Antony GLК сожалению, этого не знают и сами клиенты. Базы (несколько штук по 40-70 ГБ каждая), точнее работа с ними, никогда не загружает все эти ядр а, более того, нагрузка идет неравномерно (первые ядра под максимум, остальные - относительный простой). Система покупалась из расчета "на перспективу" и "чтобы сейчас не тормозила", плюс - из наличия средств.
Так если CPU не нагружаются полностью, то зачем ещё GPU?
Тут либо дисковая подсистема проседает, либо просто производительности хватает.
Есть показания перфоманс монитора по всем 7 основным параметрам, чего именно не хватает?

СУБД под ERP какие задачи прежде всего должна решать максимально быстро?
1. FullScan + GroupBy + Aggregate
2. Index Scan + Join (SMJ, HJ, NLJ)
3. Index seek, Index Lookup
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598243
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antony GLобласть применения - ERP системы. Если быть конкретным - Dynamics AX 09
глупее задачу не найти. SUN помниться говорил, что oracle менее 1% нагрузки требуется плавающая точка ...
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598253
Фотография Росгоснанораспилтрест
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antony GLВопрос.
Какая-нибудь из современных СУБД поддерживает перенос части вычислений с CPU на GPU, если поддерживает, то какими средствами.

Да это полный бред! Узким местом в современных системах хранения данных являются именно эти самые системы хранения, тобишь - дисковые массивы.И 90% производительности зависит от них. Если надо, шоп было мегабыстро, и при этом обслуживало 100500 клиентов - Oracle RAC + SAN за 10005000 бабла, и не иначе.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598254
Фотография Росгоснанораспилтрест
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаРА если бизнес будет расти так, что через пару лет решите купить себе блейд шасси
где на серверах нет видеокарт, потому как монитор там нахрен не нужен, терминалкой все управляется.

Тогда, ИМХО, про шиндовс можно забыть. А у ТСа, вроде как, полный и безнадёжный MS.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598255
Yo.!Antony GLобласть применения - ERP системы. Если быть конкретным - Dynamics AX 09
глупее задачу не найти. SUN помниться говорил, что oracle менее 1% нагрузки требуется плавающая точка ...
Плавающая точка это лишь унифицированный показатель для сравнения производительности.
Там все операции быстрее в 10-10000 раз, да-да там такой разброс. Но вот конкурентный доступ это действительно будет некоторая проблема для всех многоядерников, в том числе и CPU. Но это решат ;)
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598257
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаРЕсли бы она скзал, что собирается рисовать и рендерить очередного Шрека, то да.
Рендеринг - далеко не единственная сфера применения.
Но вот приложить туда СУБД действительно антивыхлопная идея.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598262
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
таких слота 4 штукиПлавающая точка это лишь унифицированный показатель для сравнения производительности.
Там все операции быстрее в 10-10000 раз, да-да там такой разброс.
Вот заливать не надо.

Там - ковш эксватора, способный за одно движение извлеч 1 кубометр грунта. Но это абсолютно бесполезно, когда надо вырыть небольшую в диаметре, но длинную дыру закрытым способом.

Так вот, если найдешь в СУБД надобность тупо рыть, чем больше тем лучше - тогда GPU сделает это быстрее CPU. ЧТо в 10 раз, что в 100. Что может и в 1000. Зависимо от моделей того и другого.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598266
Edd.Dragonтаких слота 4 штукиПлавающая точка это лишь унифицированный показатель для сравнения производительности.
Там все операции быстрее в 10-10000 раз, да-да там такой разброс.
Вот заливать не надо.

Там - ковш эксватора, способный за одно движение извлеч 1 кубометр грунта. Но это абсолютно бесполезно, когда надо вырыть небольшую в диаметре, но длинную дыру закрытым способом.

Так вот, если найдешь в СУБД надобность тупо рыть, чем больше тем лучше - тогда GPU сделает это быстрее CPU. ЧТо в 10 раз, что в 100. Что может и в 1000. Зависимо от моделей того и другого.
Знаток-знаток, ковшы... экскаваторы...
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598267
Фотография Росгоснанораспилтрест
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edd.Dragonтаких слота 4 штукиПлавающая точка это лишь унифицированный показатель для сравнения производительности.
Там все операции быстрее в 10-10000 раз, да-да там такой разброс.
Вот заливать не надо.

Там - ковш эксватора, способный за одно движение извлеч 1 кубометр грунта. Но это абсолютно бесполезно, когда надо вырыть небольшую в диаметре, но длинную дыру закрытым способом.

Так вот, если найдешь в СУБД надобность тупо рыть, чем больше тем лучше - тогда GPU сделает это быстрее CPU. ЧТо в 10 раз, что в 100. Что может и в 1000. Зависимо от моделей того и другого.

Сложные статистические и аналитические запросы, ворочающие сравнительно малыми объемами данных, и делающие это посредством GPU? Сложно представляемо. Ещё более сложно представляется, как это можно запихнуть в обычные современные РСУБД.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598268
Фотография Росгоснанораспилтрест
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О! Кастую БАЗИСТРА в тред!!!1
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598289
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РосгоснанораспилтрестУзким местом в современных системах хранения данных являются именно эти самые системы
хранения, тобишь - дисковые массивы.И 90% производительности зависит от них. Если надо,
шоп было мегабыстро, и при этом обслуживало 100500 клиентов - Oracle RAC + SAN за 10005000
бабла, и не иначе.
Ты бы эта... определился уже: или системы хранения данных - узкое место, или мегабыстро
это RAC, в несколько рыл насилующий одну и ту же систему хранения данных.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37598332
zeehond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GPGPU это для массивно-параллельных вычислений, shared-nothing, то, что легко шардится
что это может быть - например сетевой рутер , файрволл, SSL-терминатор
какой-то сверхбыстрый messaging cloud, т.е. продукт типа RabbitMQ

а также - паролеломалка, распознаватор образов и звуков, робот для low latency trading,
в общем много можно придумать интересных вещей, особенно если писать можно бы было на высокоуровневом ФП-языке

но не базы данных
ERP - это в основном OLTP, а OLTP это shared everything, локи и транзакции
на модель GPGPU ложится, прямо скажем, не особо
ниже уже правильно сказали, что основные затыки по производительности - это вовсе даже не CPU, а I/O, т.е. в дисковой подсистеме
т.е. купите для ваших серверов хайэндовые серверные SSD - и ещё лет несколько никаких забот знать не будете
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37600310
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А объясните мне идиоту, что мешает... Берем наш любимый LEFT JOIN и простым перебором.... Если я что-то понимаю, то сравнить одновременно 1К значений друг с другом быстро - это как раз GPU. А если в ON стоит еще вычислительное условие, то - еще быстрее. В то-же время, если у вас OLTP (А Постгре, о котором тут говорится, все-таки заточен под OLTP), то вся база у вас в оперативке и именно селекты-то с джойнами - это больше CPU задача. И вот тут-то выстрелит именно GPU.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37600488
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warstone, самолёт потянет 1000 плугов за раз. Вот и приспособь его поле вспахать :)...
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37600551
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneА объясните мне идиоту, что мешает... Берем наш любимый LEFT JOIN и простым перебором.... Если я что-то понимаю, то сравнить одновременно 1К значений друг с другом быстро - это как раз GPU.
1. GPU - это применить к 1M - 1G значений какую-либо операцию. Например посчитать ax или ax+b (это тоже 1 операция в GPU).
Сравнения(ветвления) - враг GPU. Даже в самом поверхностном знакомстве с архитектурой мы узнаем, что выполнение делится на warp-ы - блоки,выполняющие на пачкой из 32 потоков одну операцию. Если внутри warp-а хотя бы 1 поток в if-е пойдет одним путем, а остальные 31 потоков - другим. Придется выполнить и то, и другое для всех 32 потоков. Копая глубже, наткнемся и на другие проблемы.

2. Прежде чем что-то посчитать на GPU, нужно перелить ему данные из оперативки в видеопамять. После рассчетов - забрать обратно. Поэтому когда ты сравниваешь производительность CPU с GPU, то фактически ты сравниваешь: " подготовить данные в оперативке, посчитать на CPU " и " подготовить данные в оперативке, закинуть в видеопамять, посчитать на GPU, вернуть результат в оперативку ". Передача данных напрямую зависит от скорости и незанятости другими потоками твоей оперативки - PCI-Ex и видеопамять всяко быстрее и скорость упирается в оперативку. Перегнать гиг данных в видеопамять из DDR2-800 - это порядка секунды. Если результат - не скаляр, а тоже вектор, то и назад будем забирать допустим пол гига - еще пол секунды. Если над этим гигом чисел надо выполнить с десяток векторных операций, то ничего ты не выиграешь. Разве что, не с целью ускорить, а с целью разгрузить CPU. Т.е. закинув данные в GPU, следует как можно дольше над ними там издеваться. Т.е. соотношение "кол-во операций на единицу данных" должно быть как можно больше.

Не предназначен GPU для перемещения чисел в памяти по какому-то условию. Он предназначен для их многократного массового измения.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37600794
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edd.DragonWarstoneА объясните мне идиоту, что мешает... Берем наш любимый LEFT JOIN и простым перебором.... Если я что-то понимаю, то сравнить одновременно 1К значений друг с другом быстро - это как раз GPU.
1. GPU - это применить к 1M - 1G значений какую-либо операцию. Например посчитать ax или ax+b (это тоже 1 операция в GPU).
Сравнения(ветвления) - враг GPU. Даже в самом поверхностном знакомстве с архитектурой мы узнаем, что выполнение делится на warp-ы - блоки,выполняющие на пачкой из 32 потоков одну операцию. Если внутри warp-а хотя бы 1 поток в if-е пойдет одним путем, а остальные 31 потоков - другим. Придется выполнить и то, и другое для всех 32 потоков. Копая глубже, наткнемся и на другие проблемы.

2. Прежде чем что-то посчитать на GPU, нужно перелить ему данные из оперативки в видеопамять. После рассчетов - забрать обратно. Поэтому когда ты сравниваешь производительность CPU с GPU, то фактически ты сравниваешь: " подготовить данные в оперативке, посчитать на CPU " и " подготовить данные в оперативке, закинуть в видеопамять, посчитать на GPU, вернуть результат в оперативку ". Передача данных напрямую зависит от скорости и незанятости другими потоками твоей оперативки - PCI-Ex и видеопамять всяко быстрее и скорость упирается в оперативку. Перегнать гиг данных в видеопамять из DDR2-800 - это порядка секунды. Если результат - не скаляр, а тоже вектор, то и назад будем забирать допустим пол гига - еще пол секунды. Если над этим гигом чисел надо выполнить с десяток векторных операций, то ничего ты не выиграешь. Разве что, не с целью ускорить, а с целью разгрузить CPU. Т.е. закинув данные в GPU, следует как можно дольше над ними там издеваться. Т.е. соотношение "кол-во операций на единицу данных" должно быть как можно больше.

Не предназначен GPU для перемещения чисел в памяти по какому-то условию. Он предназначен для их многократного массового измения.Спасибо, в курсе про варпы и т.д. Но вообще-то вы не совсем правы. (Совсем не правы). Кеш можно держать в GPU через текстурные массивы. Да, до них доступ медленней, чем до тех 16К регистров, но он быстрее чем "загрузил из оперативки". То есть если у вас 2-х уровневый кеш (память GPU, память основная, ну и диск), то проблема "переслать, посчитать, отослать обратно" становится "переслать недостающее, посчитать, отослать обратно если надо". Что гораздо быстрее.

По поводу if'ов... Гуглите функциональный язык программирования. Там нету ifов (а вот так).

Все "проблемы" рассчетов на GPU - это в 80% - нежелание программистов "думать" по другому. Да, для GPU нужно решать задачи не так, как принято. Но это не значит что GPU из-за этого - гавно.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37600799
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати... Если все упирается в оперативку(а не в скорость общеня между оперативной и PCI-E 16x), то вы получите те-же задержки и при просчете на CPU (У вас-же нету 1Гб кеша 3-го уровня), только вот на CPU зп рпз можно будет обрабатывать 16 байт данных (SSE4+, 128 бит регистры), а на GPU до 64Кб за такт (16К потоков по 4 байта вроде). Идея должна быть ясна, я думаю.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37600833
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneВсе "проблемы" рассчетов на GPU - это в 80% - нежелание программистов "думать" по другому. Да, для GPU нужно решать задачи не так, как принято. Но это не значит что GPU из-за этого - гавно.
Да как не думай, но GPU изначально задумывался и выпиливался как тысячерукий землекоп. Сознанием этот факт не изменить. И даже пиарщики nVidia в Best Practices не осмелились заявить, что ускорить можно почти все, что угодно, при должном подходе.

А вот о говне не понял. Не было такого.


авторГуглите функциональный язык программирования. Там нету ifов (а вот так).
1. И куда мне дальше это знание прикладывать?
2. Да и не переводить же все мировое сообщество на ФП из-з GPU...


авторКстати... Если все упирается в оперативку(а не в скорость общеня между оперативной и PCI-E 16x), то вы получите те-же задержки и при просчете на CPU (У вас-же нету 1Гб кеша 3-го уровня), только вот на CPU зп рпз можно будет обрабатывать 16 байт данных (SSE4+, 128 бит регистры), а на GPU до 64Кб за такт (16К потоков по 4 байта вроде). Идея должна быть ясна, я думаю.
Ясна. Но тем не менее, это имеет смысл только при хорошем соотношении "оп./байт" - иначе и GPU, и CPU будут справляться с обработкой по мере поступления данных. При чем у CPU будет фора - не нужно писать ни буквы кода, чтобы наладить порционную подачу данных в кеш и синхронизацию выполнения. Если аналогичную подачу данных не наладить для GPU, он может "опозориться". И CPU есть обязательно и можно 4-ядерник сменить на 8-ядерник если что, а GPU надо "внедрять". Справшивается, зачем в таком случае было городить огород? Чтобы было чем занять программистов? Суть то - ускорить , а не переложить с больной головы на здоровую, потратив на это деньги.

Вот например, лучшая на сегодня RadixSort на GTX480 примерно лишь в 4 раза быстрее 4-ядерного i7. Без учета транспортивки. И достигается это преймущество при объеме массива от 20 млн. ключей. При чем, аналогичная сортировка из SDK nVidia конечно же медленнее. Т.е. допустим в 2-2.5 раза быстрее i7. А на сайте мы вдруг обнаруживаем цифры 10х и 100х (Ожидаемое увеличение скорости в сравнении с четырехъядерной системой на базе CUDA) . Постеснялись хоть бы )))

----------------------------------

Тем не менее, кто смелый - есть что внедрять и куда деньги потратить. Было бы любопытно услышать отзывов и узнать, какие необходимы нагрузки для получения профита:
http://www.parstream.com/en/product/features/features.html
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37600849
AKM66
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле в реляционных базах есть смысл перекладывать часть вычислений на GPU. Дело в том что традиционные базы данных выполняют операции на каждой записи, а GPU может выполнить операцию сразу надо всей колонкой. Очень быстро.
Еще одна область где можно достигнуть большей производительности - это сжатие данных. Если применять параллелизуемые алгоритмы то скорость сжатия/расжатия достигает десятков гигабайтов в секунду на обычной видеокарте. Ни в Оракле ни в DB2 таких технологий пока нет.
Чтоб не быть голословным, я набросал вчера на коленке код для реляционного движка использующего GPU. И вот некоторые бенчмарки моего обычного PC с NVIDIA GTX 260 супротив самых быстрых в мире серверов :

Бенчмарк TPC-H Query 1 Scale Factor 300 - примерно 1800000000 записей :

Мой PC : Pentium E5200 , 4 GB of RAM, 1x2TB hard drive , NVidia GTX 260
Top #10 TPC-H 300GB non-clustered performance result : MS SQL Server 2005 : Hitachi BladeSymphony (8 CPU/8 Cores), 128 GB of RAM, 290x36GB 15K rpm drives
Top #7 TPC-H 300GB non-clustered performance result : MS SQL Server 2005 : HP ProLiant DL585 G2 (4 CPU/8 Cores), 128 GB of RAM, 200x36GB 15K rpm drives :

Я - 178 секунд
Top#10 - 485 секунд
Top#7 - 309 секунд

Так что есть смысл перекладывать вычисления на GPU.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37600905
DeathHand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AKM66я набросал вчера на коленке код для реляционного движка использующего GPU

От оно че...
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37600909
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AKM66,

поскольку вы на коленках не парились ни с блокировками, ни с вычислением контрольной суммы блока, ни уровнями изолированности ни с еще тысячей вещей увеличивающей в промышленной субд размер блоков, то и результ ваш мало интересен ...
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37600929
AKM66
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!AKM66,

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

А с этим не парятся многие аналитические базы данных. Очень часто нужно просто получить результат на основе уже загруженных данных. Транзакционные базы - это совсем другая история, и никто и не пытается перенести их на GPU. Пока что.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37600938
1000-10000 раз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Edd.DragonВот например, лучшая на сегодня RadixSort на GTX480 примерно лишь в 4 раза быстрее 4-ядерного i7. Без учета транспортивки. И достигается это преймущество при объеме массива от 20 млн. ключей. При чем, аналогичная сортировка из SDK nVidia конечно же медленнее. Т.е. допустим в 2-2.5 раза быстрее i7. А на сайте мы вдруг обнаруживаем цифры 10х и 100х (Ожидаемое увеличение скорости в сравнении с четырехъядерной системой на базе CUDA) . Постеснялись хоть бы )))
Сортировка это один из самых труднораспараллеливаемых алгоритмов.
И чего им стесняться если действительно заточенные под GPU задачи, например рендеринг, получают ускорение в 1000-10000 раз.

AKM66 , здесь Bazist и без GPU получал такое ускорение для своей СУБД :)
Мало того, он открыл для себя std::map и подумал что это алгоритм сжатия.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37600962
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну выполнение агрегатов точно быстрее на GPU. Равно как и WINDOW функций. А вот сортировка - да... тут сложно. Хотя... Надо подумать... Но я все-равно не верю, что нельзя на GPU переложить часть работы, когда транзакции удовлетворены, видимость данных подтверждена (кстати, не полностью, и если это MVCC) и можно отправлять задачу на GPU.

Но вообще... Ждем Inter Fermi или как оно там... Математический сопроцессор с 96 ядрами уровня П3. Говорили будет в этом году. Мнямка!
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37600967
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneНу выполнение агрегатов точно быстрее на GPU.

Да неужели? А исходные данные для этих агрегатов ты собираешься из ГСЧ брать или всё же c
диска? Как на твоём GPU вычислить это:
Код: sql
1.
2.
select count(*), sum(a), avg(b) from t where d >= date '01.01.2001'
group by d order by d


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37600983
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1000-10000 разИ чего им стесняться если действительно заточенные под GPU задачи, например рендеринг, получают ускорение в 1000-10000 раз.

Нет, речь именно о радиксе. На счет векторных вычислений конечно стесняться им нечего.

Точно так же и по поводу перебора паролей (гораздо более GPU-шной задачи) цифры маркетологи хорошенько завышают.
Это я все к тому - что официальные материалы говорят одно, а потом сообщество под стимулом спортивного интереса тратит время и достигает другого. Потому одним кажется, что это панацея, другие же понимают, что чем менее "профильная" задача для GPU, тем дороже обходится ее реализация с точки зрения бизнеса. Там же, где в этом есть толк - та же аналитика - давно есть решения, которые с успехом работают. Правда никто не кричит об ускорении в 100 и в 1000 раз. Даже 10х - это много в промышленных масштабах.

Ну а векторными вычислениями видеокарты занимаются, как говорится, издревле, еще до своей универсализации. И сравнивать это их прямое предназначение с CPU дабы доказать очевидно, никому в голову не придет.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37600986
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneНо вообще... Ждем Inter Fermi или как оно там... Математический сопроцессор с 96 ядрами уровня П3. Говорили будет в этом году. Мнямка!
Larrabee
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37600989
WarstoneНу выполнение агрегатов точно быстрее на GPU. Равно как и WINDOW функций. А вот сортировка - да... тут сложно. Хотя... Надо подумать... Но я все-равно не верю, что нельзя на GPU переложить часть работы, когда транзакции удовлетворены, видимость данных подтверждена (кстати, не полностью, и если это MVCC) и можно отправлять задачу на GPU.

Но вообще... Ждем Inter Fermi или как оно там... Математический сопроцессор с 96 ядрами уровня П3. Говорили будет в этом году. Мнямка!
Оконные функции обычно вычисляются над результирующими данными, и их результат выводиться клиенту, т.е. там мало данных и GPU не требуется.

С сортировкой уже все самое сложное сделал Duane Merrill. На равных по цене CPU и GPU скорость на GPU в 5 раз больше. Кстати сортировка настолько медленная операция, что вклад PCI-E в общее время невелик. В любом случае получается что 1 GPU, заменит минимум 5 CPU той же цены для задач сортировки и агрегирования.

А если беспокоитесь о низкой скорости дисковой подсистемы то ставьте 1 сокетный сервер под DWH и аналитику :) Что, нужен 4-8 сокетный? Здесь на порядок дешевле 1 сервер с 1 CPU и 1 GPU.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37600992
Edd.DragonТочно так же и по поводу перебора паролей (гораздо более GPU-шной задачи) цифры маркетологи хорошенько завышают.
Это я все к тому - что официальные материалы говорят одно, а потом сообщество под стимулом спортивного интереса тратит время и достигает другого.
Вот в конкретном примере про перебор паролей не соглашусь. Это идеальная задача под GPU. Сообщество которое это опровергает - крайне неквалифицированное.

Эта задача даже не упирается в доступ к памяти, даже к разделяемой памяти. Т.е. работает с максимальным ускорением. Основное время тратиться на вычисление хэша пароля со сложностью 1000-100000. Т.е. одна и таже функция, выполняется над данными одного и того же регистра 100000 раз и так каждое ядро и каждый поток. Здесь и проявляются все заявленные 500 - 2000 GFlops.
Но конечно если представителем сообщества будет Bazist, то он реализует это медленнее чем на калькуляторе.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37600999
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это идеальная задача,

Идеального ничего не бывает. Но кто-то спорил, что это отличная задача для GPU?

По поводу Базиста, ну вот есть:
- crark http://www.crark.net
- Advanced Archive Password Recovery http://www.elcomsoft.com/archpr.html
- Elcomsoft Wireless Security Auditor http://www.elcomsoft.com/ewsa.html
- Advanced PDF Password Recovery http://www.elcomsoft.com/apdfpr.html
которые протестированы в http://www.golubev.com/about_cpu_and_gpu_ru.htm (давненько уже).

Можно считать их базистами и бесконечно ждать идеального разработчика. Но так ускорения точно не получится.

Итог того тестирования:
- круто, действительно ускоряемся (в прочем никто не сомневался). Карта не самая быстрая, хотя на тот момент - нормальная. Прирост разный. До 30х. Допустим, на более быстрой карте того времени был бы 50х. Но

А почему такой маленький прирост?!
TACC1441 обещает 60-ти кратный прирост. EDPR декларирует 100x и 200x. Почему же тут получилось «только» 30?


Вот об этом я говорю. Большинство людей прочли где-нибудь новости о 100-200х, запомнили и утвердились в мысли.
Излишняя уверенность в большом результате - это тоже одна из причин последующих провалов.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37601294
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovWarstoneНу выполнение агрегатов точно быстрее на GPU.

Да неужели? А исходные данные для этих агрегатов ты собираешься из ГСЧ брать или всё же c
диска? Как на твоём GPU вычислить это:
Код: sql
1.
2.
select count(*), sum(a), avg(b) from t where d >= date '01.01.2001'
group by d order by d


С кеша. Причем сначала - кеш а GPU, потом в оперативки, ну а потом уже - на диске. Мы-же прекрасно понимаем, что для OLTP (а для OLAP рассматривать GPU вообще не имеет смысла, там действительно IO bound) 90% данных закешировано.


По поводу вопроса: Ну для начала WHERE вычисляется моментально, это, надеюсь, понятно (или вам по шагам?) Частичные суммы вычисляются по аналогии с суммированием большого кол-ва чисел. маны о том, как это делать на GPU есть у nVidia. Я могу ошибаться, но там говорилось о 22х кратном приросте что-ли. avg - это sum/count... Проблема с group by и последующий order by, так как сортировка.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37601321
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warstoneдля начала WHERE вычисляется моментально, это, надеюсь, понятно (или вам по шагам?)

По шагам, по шагам. Причём начиная от данных, лежащих в блоке данных. Пусть даже в кэше
(хотя мы все знаем, что как раз в OLTP таких запросов в принципе нет).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37601420
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
По шагам, по шагам. Причём начиная от данных, лежащих в блоке данных. Пусть даже в кэше



+1


11842534
авторИ ИМХО качественно его кормить, и паралельно рекордно доить у вас получиться на достаточно узком круге задач.


Хотелось бы формализовать круг задач,
где и когда получится одновременно быстро кормить и рекордно доить

Ведь рот и вымя там в одном месте, на шине.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37602934
xz321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну идея запускать некоторые части CУБД на специализированных процессорах не нова.
DB2 for zOS и zIIP.

http://en.wikipedia.org/wiki/ZIIP
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37603333
serg99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xz321Ну идея запускать некоторые части CУБД на специализированных процессорах не нова.
DB2 for zOS и zIIP.

http://en.wikipedia.org/wiki/ZIIP
Мы пробовали GPU на двух задачах (одна из них СУБД). Нигде не получили реально заметного прироста (данные нужно подготовить, а потом их разобрать). На тех видеоплатах которые мы использовали реально быстрой оперативки было мало для больших блоков данных. Возможно мы что то не так делали.

Представляется что имеет смысл использовать аппаратный ускоритель для работы с большими массивами данных, но специализированный именно для задач СУБД и тесно интегрированный в ядро СУБД. Например на FPGA. Но он конечно уже не будет таким дешевым как видеокарты. Может быть когда ни будь попробуем.
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37603360
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот Larrabbe возможно станет чем-то средним и вполне применимым. Посмотрим ))
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37603444
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
serg99Мы пробовали GPU на двух задачах (одна из них СУБД)
Можно хоть немного деталей: что за СУБД, если не секрет? :)
...
Рейтинг: 0 / 0
СУБД, использующая вычисления на GPU.
    #37604293
serg99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойserg99Мы пробовали GPU на двух задачах (одна из них СУБД)
Можно хоть немного деталей: что за СУБД, если не секрет? :)
Объектная СУБД собственной разработки.
...
Рейтинг: 0 / 0
61 сообщений из 61, показаны все 3 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / СУБД, использующая вычисления на GPU.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]