ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: cpu affinity for linux



On Tuesday 08 November 2005 20:00, Igor Sysoev wrote:> On Tue, 8 Nov 2005, 
KPOXA wrote:> > Igor Sysoev wrote:> >> On Tue, 8 Nov 2005, Andrei Nigmatulin 
wrote:> >>> On Tuesday 08 November 2005 14:36, Igor Sysoev wrote:> >>>> On Tue, 
8 Nov 2005, Andrei Nigmatulin wrote:> >>>>> Планируете ли Вы добавить в nginx 
поддержку cpu affinity ?> >>>>>> >>>>> 
http://www.kernel.org/pub/linux/kernel/people/rml/cpu-affinity/README> 
>>>>>-cpu -affinity> >>>>>> >>>>> Я имею ввиду конфигурационную директиву для 
низкоуровнего управления> >>>>> - сколько воркеров и на каких cpu должны 
исполняться.> >>>>> >>>> Это было бы интересно. Вопрос - как это описать 
диреткивами.> >>>> >>> Ну например "worker_cpu_affinity_masks" и далее 
перечисление через> >>> пробел всех> >>> affinity masks, по одной для каждого 
worker'а. Насколько я понимаю,> >>> максимально просто для реализации и 
максимально гибко для> >>> пользователей.> >>> >> Синтаксис подходящий. Маски, 
скорее всего, лучше задавать в бинарном> >> виде для нагладности:> >>> >> 
worker_processes      2;> >> worker_cpu_affinity   0101  1010;> >>> >> Первый 
воркер привязан к 0 и 2, второй - к 1 и 3.> >> При несовпадении количества 
процессов и масок выдавать предупреждение> >> и использовать 11111111...1111 
для оставшихся процессов.> >> > А если прописать> > worker_processes      17;> 
> worker_cpu_affinity   1000;> >> > То все 17 должны быть на 0 проце.>> 
Появились разночтения. Во-первых, нужно решить, как задавать маску -> как 
little endian, или как big endian.
Имхо, такие проблемы есть только у процессоров. У людей принято старшие разряды 
записывать первыми.
> Во-вторых, нужно решить, что > делать при несовпадении числа процессов и 
> масок. Вариант повторять> маску для оставшихся процессов выглядит логичнее, 
> чем моё первое> предложение, так как> worker_processes      5; 
> worker_cpu_affinity   10;> выглядит логичной заменой> worker_processes      
> 5; worker_cpu_affinity   10 10 10 10 10;
Да, вроде так логичнее.

-- Andrei NigmatulinGPG PUB KEY 6449830D
No Microsoft products were used in any wayfor the creation of this message. If 
you areusing a Microsoft product to view it, BEWARE!I'm not responsible for any 
harm you mightencounter as a result.



 




Copyright © Lexa Software, 1996-2009.