as3k 04.05.2011 18:31

linux insideУскорение ядра Linux с помощью графического процессора GPU

Исследования Университета штата Юта, спонсированные частично компанией NVIDIA, направлены на изучение ускорения ядра Linux с использованием ускорения графического процессора GPU. Вместо того чтобы просто позволить приложениям пользователя использовать огромную силу предлагаемых современных графических процессоров, исследователи надеются ускорить части ядра Linux запустив его прямо на GPU.

Из страниц исследования: «Идея проекта KGPU состоит в том, чтобы графический процессор GPU рассматривался в качестве вычислительного сопроцессора для операционной системы, позволяющего производить параллельные вычисления внутри ядра Linux. Это даст возможность использовать SIMD (или SIMT в CUDA) для ускорения функциональности ядра Linux и внести новые функциональные возможности, которые ранее считались слишком интенсивными вычислениями для ядра. Проще говоря, проект KGPU делает возможными векторные вычисления внутри ядра».

Кроме того, «это позволяет по-настоящему распараллелить ядро ​​Linux: не только обрабатывать несколько запросов одновременно, но также разделять одни большие запрашиваемые вычисления на части и распространять эти части через большое число ядер на GPU».

Хотя это звучит как новая концепция, на данной стадии это скорее исследовательский проект. Существует несколько факторов, которые в принципе исключают проект KGPU из числа проектов, создающих основное направление в обозримом будущем. Большой проблемой является то, что ни один из открытых графических драйверов, поддерживаемых ядром ​​Linux подсистемы DRM (Direct Rendering Manager) еще не способен поддерживать GPGPU. Запланирована поддержка для открытого языка вычислений OpenCL Gallium3D с трекером состояния, но она еще не скоро будет готова.

Другой проблемой является то, что эта текущая работа нацелена только на ядро Linux и призывает использовать CUDA с графическим процессором GPU. Эта работа спонсируется компанией NVIDIA, поэтому университет перешел на использование программно-аппаратной архитектуры, которая поддерживается только на оборудовании NVIDIA при использовании их последних проприетарных драйверов. Лучшим выбором был бы открытый язык вычислений OpenCL, который может работать как на AMD и графических процессорах NVIDIA, так и на открытом производственном уровне.

На данный момент в развитие проекта KGPU существует GPU-ускоренный AES шифр для использования зашифрованной файловой системой eCryptfs, которая показывает многообещающие результаты, учитывающие насколько хорошо современные графические процессоры могут работать с криптографией.

Лицам, заинтересованным в получении дополнительной информации о проекте KGPU для увеличения ядра Linux с помощью GPU, советуем посетить сервис для разработчиков программного обеспечения Google Code. Исходные коды также доступны на веб-сервисе для хостинга проектов и их совместной разработки GitHub. Было бы интересно посмотреть, как ядро ​​Linux начинает использовать возможности обработки, предоставляемые современными графическими процессорами, но сначала открытые драйверы ядра должна быть улучшены и уметь обрабатывать открытый язык вычислений OpenCL и /или других интерфейсов GPGPU.


Тэги: CUDA GPU kernel nvidia
+ 5 -
Похожие Поделиться

dront78 09.05.2011 11:56 #
зачем это? есть же libastral...
ner_uto 09.05.2011 12:31 #
Было бы круто, если бы и правда зопилили такую хрень.
goblinyara 09.05.2011 14:47 #
а оно если и даст прирост, то не такой уж и большой.... не так много в ядре алгоритмов, которые можно распараллелить... хотя если всё-таки распараллелят, вот тогда это будет круто=)
ner_uto 09.05.2011 15:10 #
Во-во, это вопрос времени. Будет такая возможность - наверняка будет и реализация.
goodle 09.05.2011 16:24 #
Идёт тенденция не на повышение тактовых частот, а на увеличение количества я ядер, так что количество процессов, которые можно будет распараллелить будет только увеличиваться! Так что моё IMHO - правильно делают - создают решение, которое учитывает тенденцию а не только текущее состояние дел!
hate 09.05.2011 16:47 #
ДА ЭТО ЖЕ ССЫЛКА НА ХАБР!!!
Shtsh 09.05.2011 16:52 #
Новость, конечно, звучить хорошо и пафосно. Но на самом деле, это мелочь — очень мало операций можно переложить на графический процессор, ибо он примитивен (по сравнению с обычным).

Процессор видеокарты может оперировать только т. н. «нитями» — простыми операциями с очень большим количеством данных (например перемножать большие массивы чисел), поэтому реальное применение возможно лишь в числодробилках (видео, масссивные однотипные рассчёты и т. п.)
Dark_SS 09.05.2011 22:01 #
Мелочь, а приятно ;-)
cppmm 09.05.2011 17:41 #
Как правильно говорит Shtsh, новость пафосна, но реальной пользы мало. Я проверил, но пока слишком маленькая отдача. Время компиляции почти не меняется. На работе в реальных условиях тоже нет изменений.
xT 10.05.2011 05:27 #
вот и я думаю, даже если была польза, то только для хом-пользователей
какие нафиг видеокарты модными гпу на серверах
Deamk 09.05.2011 20:34 #
По поводу ссылки на хабр - первоисточник не он, а Opennet
as3k 09.05.2011 21:22 #
Поправил.