The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Патчи для ускорения MESA в ситуациях, когда производительнос..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Патчи для ускорения MESA в ситуациях, когда производительнос..."  +/
Сообщение от opennews (??) on 29-Янв-15, 23:33 
Кристиан Хогсберг (Kristian Høgsberg), создатель проекта Wayland, также известный своими наработками по обеспечению поддержки GPU, используемых в процессорах Intel семейства Skylake, представил (http://lists.freedesktop.org/archives/mesa-dev/2015-January/...) серию патчей, которые могут заметно ускорить работу MESA в ситуациях, когда скорость работы ограничена производительностью CPU.


Изменения в основном сводятся к оптимизации реализации мьютексов. Хотя в pthreads и есть достаточно неплохая реализация, исследование показало, что, в целом, накладные расходы в ряде ситуаций могут оказаться достаточно ощутимыми. В результате разработчик подготовил оптимизированный вариант реализации с мьютексами, избегающий в ряде ситуаций выполнения системных вызовов (syscalls). Любопытным фактом является то, что новая реализация мьютексов основана на описании, фигурирующем в книге Ульриха Дреппера "Futexes Are Tricky" (http://www.akkadia.org/drepper/futex.pdf). Отмечается, что в ряде случаев, когда CPU является узким местом, увеличение производительности может составить до 10%.

URL: http://www.phoronix.com/scan.php?page=news_item&px=Kristian-...
Новость: http://www.opennet.ru/opennews/art.shtml?num=41569

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  +2 +/
Сообщение от Аноним (??) on 29-Янв-15, 23:33 
Сначала повышают производительность 3D, вытесняя остальные процессы CPU, а теперь идут в обход ограничений. Нет чтобы просто сделать нормально, а не добиваться мнимой производительности путём забирания всех прерываний себе?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  +/
Сообщение от cmp (ok) on 30-Янв-15, 01:27 
Сначала всякие интелы делают непонятное железо, а всякие прочие комплектуют этим железом почти 90% устройств производимых, без оглядки на оси отличные от мс.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

7. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  +3 +/
Сообщение от Аноним (??) on 30-Янв-15, 06:39 
> Сначала всякие интелы делают непонятное железо,

Для начала, там DMA все обложено как собака блохами. Но о такой мелочи крутому эксперту-студоботу знать не дано.

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

В третьих, рыночная доля интелского интеграта далека от 100% :)

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

19. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  +2 +/
Сообщение от КЭП on 31-Янв-15, 16:17 
Не DMA а NDA.
DMA это несколько другая штука.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

21. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  +/
Сообщение от burjui (ok) on 04-Фев-15, 13:23 
Может, всё-таки, DMA? В контексте разговоров о прерываниях как-то больше смысла несёт.
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

4. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  +6 +/
Сообщение от Аноним (??) on 30-Янв-15, 06:26 
> мнимой производительности путём забирания всех прерываний себе?

Скажи-ка дядя, ведь не даром мозги пропил ты за амбаром?! Внимание, вопрос на миллион: где в патче с реализацией мьютексов ну хоть что-то по части работы с прерываниями? :)

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

18. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  +/
Сообщение от BSA on 30-Янв-15, 17:36 
Сразу видно, "профессионал" по ОС.
Сначала изучи, что такое Mutex и Futex в контексте пользователя, а затем пиши про прерывания.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

6. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  +/
Сообщение от Аноним (??) on 30-Янв-15, 06:35 
Это для всех или только для интела?
Хотя в любом случае замечательно
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  +/
Сообщение от Аноним (??) on 30-Янв-15, 06:41 
> Это для всех или только для интела?

Судя по коду - вообще для всех. Этот код не специфичен для какого либо железа.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

11. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  +/
Сообщение от 123 (??) on 30-Янв-15, 11:58 
Это специфично для pthreads.
ЗЫ: Про реализацию многопоточности винда/posix и сообщения/вызовы накопилось тонны флуда.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

9. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  +5 +/
Сообщение от Аноним email(??) on 30-Янв-15, 09:25 
Очень спорная оптимизация. По сути просто перед системным вызовом futex сделал свой CAS. Конечно, теперь в uncontented-случае ему не надо заходить в ядро, но вот в случае contented... Надо пройти через 2 CAS'а, один в userspace, один в futex и потом зайти еще в ядерный вызов мьютекса.

Ускорение на 10% будет в случае, если за мьютекс никто не дерётся. Если будут драться, то он будет медленней обычных pthread_mutex:)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  +1 +/
Сообщение от Crazy Alex (ok) on 30-Янв-15, 13:33 
Ну, приличный код так и пишется, чтобы в большинстве случаев за мьютекс не дрались...
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

15. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  +/
Сообщение от Аноним email(??) on 30-Янв-15, 14:31 
много вы такого софта видели?:)
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

17. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  +/
Сообщение от Crazy Alex (ok) on 30-Янв-15, 15:57 
Да всякого хватает. Насчет качества кода месы я более-менее уверен. Ну и оптимизация в расчёте на код, написанный прямыми руками - стимул эти руки таки выравнивать.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

14. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  +2 +/
Сообщение от Аноним (??) on 30-Янв-15, 14:11 
> Если будут драться, то он будет медленней обычных pthread_mutex:)

Так активная драка за мьютекс - по идее не есть нормальное состояние дел.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

10. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  –1 +/
Сообщение от iZEN (ok) on 30-Янв-15, 11:52 
///---http://lists.freedesktop.org/archives/mesa-dev/2015-January/...
Including <linux/futex.h> under __GNUC__ is going to break the build of
Mesa on everything compiled with clang/gcc that isn't Linux.
---///
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  –6 +/
Сообщение от Crazy Alex (ok) on 30-Янв-15, 13:34 
Как по мне - так бы и надо сделать
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

20. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  –1 +/
Сообщение от тигар (ok) on 01-Фев-15, 20:50 
> Как по мне - так бы и надо сделать

а как по мне - твоей маме следовало бы сделать аборт, а не рожать тебя, например;)

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

16. "Патчи для ускорения MESA в ситуациях, когда производительнос..."  –2 +/
Сообщение от commiethebeastie (ok) on 30-Янв-15, 15:56 
Быстрый код тоже часто является говнокодом.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Ihor
Хостинг:

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