Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Lev Serebryakov                      2:5030/661.1   24 Oct 2007  10:21:30
 To : Slawa Olhovchenkov
 Subject : тормоза на семерке
 -------------------------------------------------------------------------------- 
 
 Hello Slawa.
 
 24 Oct 07 09:11, you wrote to me:
 
  SO> не будут ли даже не очень частые запуски других задач нафиг гробить
  SO> эффект от такой оптимизации?
 
   Hет. Так как от того, что тред усыпили (есть другая задача) он не перестанет
 приобретать выгоду от того, что его данные -- на локальном для него memory
 controller'е, а не на далёком, через пару хопов HyperTransport'а. Hу, когда его 
 снова поставят на исполнение :)
   Тут же дело вовсе не в кэшах, а именно в том, что ПОМИМО кэшей разные куски
 адресного пространства доступны с существенно разной скоростью с разных СОКЕТОВ.
 
   Hо что бы он эту выгоду вообще имел его должны привязывать ПРИ ПЕРВОЙ ЖЕ
 возможности к тем ядрам, на контроллере которых (не забываем, что у AMD64 свой
 контроллер у каждого СОКЕТА, в котором могут быть 1, 2 а теперь и 4 ЯДРА) он
 аллоцировал свою память.
 
   Да, для этого аллокатор должен общатся с скедулером (т.е. скедулер должен
 предоставлять API для userland что бы ему могли передавать такие подсказки --
 всё же аллокатор в ЯДРЕ обычно мыслит уровнями ПРОЦЕССОВ, а не потоков).
 
   Самый тупой способ это реализовать -- affinity mask (CPU mask), но этот способ
 неоптимален, так как лучше всё таки работать хоть где-то, чем не работать
 вообще, а жёсткое ограничение на доступные процессоры может привести именно к
 ситуации, что мы не работаем а соседний процессор (сокет) простаивает, но нам
 туда нельзя из-за маски. Можно. Hо как только есть такая возможность -- лучше
 оттуда уйти обратно.
 
   Hа самом деле, самый фантастический прирост мы в своих тестах видели на Sun
 E25K. Это 72 сокета по 2 ядра, каждый сокет с локальной памятью, память на той
 же плате (по 4 сокета на плату) медленней, а память на далёких платах -- ещё
 медленней, хотя всё в рамках ожного адресного пространства. Там было
 ДЕСЯТИ-ДВЕHАДЦАТИКРАТHОЕ ускорение всяких промышленных бенчмарков, имитирующих
 типичные для таких серверов задачи. И это, надо сказать, в системе, где про NUMA
 был научен только аллокатор (user-level) и скедулер (Solaris имеет
 соотвествующий API), но при этом был ещё и Garbage collector, который обучен не 
 был -- т.е. локальность памяти нарушалась после GC. Если научить ещё и GC (или
 писать систему без GC) я боюсь себе представить, какой будет выигрыш.
 
 // Lev
 --- GoldED+/W32 1.1.4.7
  * Origin: Cave of Black Lion (2:5030/661.1)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: тормоза на семерке   Eugene Grosbein   21 Oct 2007 01:26:27 
 Re: тормоза на семерке   Valentin Nechayev   20 Oct 2007 22:51:52 
 Re: тормоза на семерке   Vlad Gnatov   20 Oct 2007 23:18:56 
 тормоза на семерке   Lev Serebryakov   21 Oct 2007 10:26:28 
 тормоза на семерке   Vlad Gnatov   21 Oct 2007 17:57:32 
 Re: тормоза на семерке   Kostik Belousov   21 Oct 2007 18:23:43 
 тормоза на семерке   Slawa Olhovchenkov   22 Oct 2007 11:01:20 
 тормоза на семерке   Lev Serebryakov   22 Oct 2007 20:31:16 
 тормоза на семерке   Slawa Olhovchenkov   22 Oct 2007 22:29:52 
 тормоза на семерке   Lev Serebryakov   23 Oct 2007 09:26:22 
 тормоза на семерке   Slawa Olhovchenkov   23 Oct 2007 10:36:26 
 тормоза на семерке   Lev Serebryakov   23 Oct 2007 22:07:16 
 тормоза на семерке   Slawa Olhovchenkov   24 Oct 2007 09:11:12 
 тормоза на семерке   Lev Serebryakov   24 Oct 2007 10:21:30 
 тормоза на семерке   Lev Serebryakov   24 Oct 2007 10:32:48 
 Re: тормоза на семерке   Roman Belenov   24 Oct 2007 12:42:33 
 тормоза на семерке   Slawa Olhovchenkov   24 Oct 2007 11:50:12 
 тормоза на семерке   Lev Serebryakov   24 Oct 2007 21:01:14 
 тормоза на семерке   Vlad Gnatov   23 Oct 2007 11:51:17 
 Re: тормоза на семерке   Aleksey Cheusov   22 Oct 2007 13:24:02 
Архивное /ru.unix.bsd/3284471ee496.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional