LINUX.ORG.RU

Разделение ресурсов видеокарты

 , ,


0

1

Вот смотрите, в ЭВМ есть всякие ресурсы: центральный процессор, ОЗУ, ввод-вывод на НЖМД или ТТН, сетевой-ввод вывод, видеокарта. Все ресурсы кроме последнего мы можем распределить между большим количеством потребителей: запустить 50 процессов, загрузить в ОЗУ 50 программ или писать на НЖМД в 50 потоков. А что с видеокартой? Насколько её ресурсы разделяемы?

Если у нас есть видеокарта с 2 мониторными выходами, то, понятно, мы не можем подключить к ней 50 физических мониторов. Но можем ли мы запустить 50 виртуалок с virtio-gpu и в каждой запустить Nexuiz. Здесь и далее я имею в виду запустить с 3D-ускорением. Можем ли мы запустить 50 виртуалок и в каждой запустить проигрываение VLC с аппаратным декодированием?

Можем ли мы без всяких виртуалок запустить 50 Nexuiz'ов с выводом на разные дисплеи X'ов? Можем ли так же сделать с VLC?

Можем ли мы запустить в виртуалках или не в виртуалках 50 GIMP'ов с фильтрами использующими OpenCL?

★★★★★

запусти 50 glxgears, запусти 50 mpv с фильмами?! Или ты уже упоролся в щи, в честь тяпницы?!

daemonpnz ★★★★★ ()

Этой уточке кокоса больше не давать.

anonymous ()
Ответ на: комментарий от daemonpnz

Упрт

запусти 50 glxgears, запусти 50 mpv с фильмами?!

Это вопрос или утверждение?

И таки я не имею сейчас возможности запускать glxgears и mpv.

Camel ★★★★★ ()

Как только производительность GPU вырастет раз в 500, то этим займутся. А сейчас и на один процесс ресурсов мало.

peregrine ★★★★★ ()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от peregrine

320х240

Как только производительность GPU вырастет раз в 500, то этим займутся. А сейчас и на один процесс ресурсов мало.

Таки сейчас можно запустить, ну пусть не 50, хотя бы 5 Nexuiz'ов с разрешением 320х240 на самой топовой карточке в виртуалках или на разных дисплеях?

Camel ★★★★★ ()
Ответ на: 320х240 от Camel

Что тебе мешает это сделать? Что мешает запустить mpv или vlc? Что мешает запустить glxgears? Прекращай шланговать.

daemonpnz ★★★★★ ()

В D2 некоторые в 8 экранов умудрялись гонять

anonymous ()

ну именно так сейчас 3д и пробрасывают. дают фейковый драйвер который по сути пробрасывает запросы в драйвер хоста и рисует в текстуру(в окно например-это одно и то же).

ckotinko ☆☆☆ ()
Ответ на: 320х240 от Camel

Таки сейчас можно запустить, ну пусть не 50, хотя бы 5 Nexuiz'ов с разрешением 320х240 на самой топовой карточке в виртуалках или на разных дисплеях?

Да, можно. И 50 mpv можно (ну может не 50, и от карты зависит наверное). И 50 glxgears можно.

Psych218 ★★★★★ ()
Последнее исправление: Psych218 (всего исправлений: 1)
Ответ на: комментарий от daemonpnz

Pentium D

Что тебе мешает это сделать? Что мешает запустить mpv или vlc? Что мешает запустить glxgears? Прекращай шланговать.

То что я сейчас на работе с Pentium'ом D и гигом ОЗУ.

peregrine>А смысл при 320x240?

А смысл вообще пускать 5 Nexuiz'ов? Я его для примера привёл. Меня не сам Nexuiz интересует на самом деле конечно же. Но возможность одновременного запуска n-ного количества программ с 3D и видео.

Понятно, что если я пробрасываю в виртуалку видеокарту с помощью IOMMU, то имея одну видеокарту я смогу пробросить её только в 1 виртуалку. Никаким образом её не пробросить в 5 виртуалок. А если я использую для этого virtio-gpu, то у меня будет 5 виртулок с 3D и видео? Как там правильно называется аппаратная поддержка проигрывания видео? VDPAU?

Camel ★★★★★ ()
Ответ на: комментарий от ckotinko

virtio-gpu

ну именно так сейчас 3д и пробрасывают. дают фейковый драйвер который по сути пробрасывает запросы в драйвер хоста и рисует в текстуру(в окно например-это одно и то же).

Что за фейковый драйвер? virtio-gpu или та его часть которая ставится в гостевой системе? Можете дать ссылку на описание подобной конструкции?

Camel ★★★★★ ()

Уточка, завязывай с химией. Это вредно для здоровья. :-)

Michail_Ul ★★ ()
Ответ на: Не взлетит от Camel

То есть я таки правильно угадал, что видеокарта нормально не разделяется между разными процессами/пользователями?

А как ты себе представляешь это?

Michail_Ul ★★ ()
Ответ на: комментарий от Michail_Ul

Разделяй и властвуй

А как ты себе представляешь это?

Никак не представляю. Представлял бы — не спрашивал бы, знал бы ответ.

И таки процессор делится, НЖМД делится. Почему видеокарта не делится? Планировщик в ядре ОС позволяет множеству процессов нагружать ЦП по очереди. Почему такой подход не сработает с видеокартами? Делаем терминальный сервер, к нему канекаются 10 клиентов. Почему эти 10 клиентов могут одновременно запустить 10 Libreoffice'ов или Firefox'ов, но не могут 10 Nexuiz'ов?

Camel ★★★★★ ()
Ответ на: Разделяй и властвуй от Camel

Почему эти 10 клиентов могут одновременно запустить 10 Libreoffice'ов или Firefox'ов, но не могут 10 Nexuiz'ов?

Сравнил ужа с ежом. Про архитектуру ПК почитай.

Michail_Ul ★★ ()
Последнее исправление: Michail_Ul (всего исправлений: 1)
Ответ на: комментарий от Michail_Ul

man что?

Сравнил ужа с ежом. Про архитектуру ПК почитай.

Где почитать? Какой раздел? Почему LibreOffice так принципиально отличается от Nexuiz'а?

Camel ★★★★★ ()
Последнее исправление: Camel (всего исправлений: 1)
Ответ на: Разделяй и властвуй от Camel

процессор делится

Ага, то-то придумали всякие vt-x и amd-v, что так хорошо делится.

НЖМД делится

Так делится, что аж колом встаёт, лол.

anonymous ()
Ответ на: комментарий от anonymous

Пердёж в лужу

Ага, то-то придумали всякие vt-x и amd-v, что так хорошо делится.

Их для других вещей придумали. Как я описал выше, я без труда могу запустить 10 LibreOffice'ов на 10 терминальных клиентах. А если речь идёт от программах использующих 3D, то почему-то уже не могу.

Camel ★★★★★ ()
Ответ на: Пердёж в лужу от Camel

А если речь идёт от программах использующих 3D, то почему-то уже не могу

Даже как-то странно. Один Nexuiz говорит запускается, а второй собака такая не хочет! В чем же это дело то? Странно... :-)

Michail_Ul ★★ ()
Последнее исправление: Michail_Ul (всего исправлений: 1)
Ответ на: комментарий от Michail_Ul

Вот и я говорю...

В чем же это дело то?

В чём же? Где можно почерпнуть подробности об этом?

Camel ★★★★★ ()

ну вот я запустил две виртуалки одновременно https://youtu.be/PYqj6-D7pfM, они используют virgl, так что программно это будет работать, а вот хардварно походу еще не запилили, и как уже выше писали некоторые потуги уже идут в эту сторону, хотя за много денег есть нвидия грид и от амд какая-то похожая технология.

Novell-ch ★★★★★ ()
Ответ на: Вот и я говорю... от Camel

Объяснять тут долго, писать много надо.
Почитай на самом деле про архитектуру ПК.
Если в 2 словах, то видеокарта - это по сути отдельный компьютер, занимающийся расчетами переданных данных. Расчеты очень сложные, для них нужно очень много ресурсов и памяти. И видеокарта не может за наносекунды загрузить/выгрузить всю видеопамять и произвести при этом все расчеты. Чисто аппаратно не успеет.
Да и общяя шина данных ПК на такое не способна.
RTFM чувак!

Michail_Ul ★★ ()
Последнее исправление: Michail_Ul (всего исправлений: 2)
Ответ на: комментарий от Michail_Ul

Ссылку в студию!

Почитай на самом деле про архитектуру ПК.

Ссылку в студию, скорее, мой пердак уже дымится. То что я читал про архитектуру ПК было про то что большая коробка называется «системный блок», а не «процессор».

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

Пока не вижу проблемы. Процессор тоже устроен не просто, но мы используем планировщик и имеем ОС с многозадачностью.

Расчеты очень сложные, для них нужно очень много ресурсов и памяти.

Ну ОК, пусть у нас памяти 4 Гб на плате. Сколько памяти нужно бублику из видео по ссылке выше? Если 500 мегов, то можно запустить 8 бубликов и ещё 96 мегов останется на прочие нужды.

видеокарта не может за наносекунды произвести загрузить/выгрузить всю видеопамять и произвести при это расчеты. Чисто аппаратно не успеет.

Ну пусть не выгружает. У меня же LibreOffice не выгружается, если я разворачиваю Firefox на весь экран. А если не успевает производить рассчёты, то пусть тормозит.

Да и общяя шина данных ПК на такое не способна.

Пока не вижу проблемы. Я не говорю о том чтобы запустить на одной видюхе 500 «бубликов», и чтоб все «летали», пусть их будет 5, пусть тормозят, но одновременно.

Camel ★★★★★ ()
Ответ на: Ссылку в студию! от Camel

Пока не вижу проблемы

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

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

HDD не разделяется между клиентами, он мультиплексируется. Очередью заведует драйвер в ядре. Он принимает запросы, переупорядочивает и передаёт по одному в HDD, ожидая ответа. Длительно выполняющуюся задачу нельзя прервать без потенциальных потерь данных, поэтому задачи делаются короткими.

i-rinat ★★★★★ ()
Ответ на: Ссылку в студию! от Camel

Ссылку в студию, скорее, мой пердак уже дымится. То что я читал про архитектуру ПК было про то что большая коробка называется «системный блок», а не «процессор».

Вот тебе ссылки по nvidia и CUDA

http://www.chegg.com/etextbooks/programming-massively-parallel-processors-2nd...

http://www.nvidia.ru/object/cuda-parallel-computing-ru.html

На тебе ссылки. Первой книжки старое издание есть в сети задаром.

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

anto215 ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.