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


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Igor Sysoev                          2:5020/400     15 Feb 2002  14:30:11
 To : Andrey Rudyavsky
 Subject : Re: pthread
 -------------------------------------------------------------------------------- 
 
 Andrey Rudyavsky <Andrey.Rudyavsky@p28.f163.n5030.z2.fidonet.org> wrote:
 
 > 
 > Hello  Igor!
 > 
 > 13 Feb 30 13:08, Igor Sysoev wrote to All:
 > 
 >  IS> Смысл сего - синхронизация и шедулинг без участия
 >  IS> ядра, нет проблем с блокирующими вызовами и возможность
 >  IS> работы на нескольких процессорах. Если всё это
 >  IS> получится, будет интересно посмотреть.
 >     Что-то очень сильно напоминает вин3.11, DesQView и пpочую компанию...
 
 Win 3.11, DesQView и прочую компанию это не напоминает ни разу по
 двух простым причинам - это должно работать на нескольких процессорах
 и тем, что процессы защищены друг от друга. Или вы полагаете, что
 ядерный шедулинг защищает трэды друг от друга в пределах одного процесса ?
 
 > Я чем ядpо тогда будет заниматься? Может оно и не нужно больше?
 
 Ядро в данном контексте должно шедулить KSE. В одном процессе может быть
 несколько KSE. KSE - это некоторый аналог LWP Соляриса.
 Кроме того, ядро должно помогать user-level диспетчеру шедулить
 трэды на user-level.
 
 Зачем всё это нужно ?
 Хороший шедулинг в ядре должен учитывать кучу параметров, которые
 не нужны при шедулинге трэдов на уровне одного приложения.
 Для приложения это оверхэд, особенно, если шедулинг должен часто
 исполняться. При синхронизации, если трэд будет заблокирован,
 необходим шедулинг. При разблокировании ресурса нужно проверить,
 нет ли более приоритеных трэдов в очереди - необходим шедулинг.
 Я не понимаю, что криминального в том, что диспетчер вынесен в
 user-level ? Он шедулит трэды одного процесса и если эти трэды
 ill-bahaved, то ядерный шедулинг им в рамках одного этого процесса
 всё равно не поможет.
 
 Всё это не имеет значения при малом количестве трэдов или малой нагрузке.
 Всё это становится заметным при большом количестве трэдов, порядка
 нескольких тысяч. Вот поэтому MSSQL 7.0 использует fibers.
 Вот поэтому в NT и AIX появились completion ports. Хотя последнее
 не имеет отношение к user-level трэдам, это просто способ
 ограничить число runnable трэдов в процессе до количества CPU.
 
 -- 
 Игорь Сысоев
 
 Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
 --- ifmail v.2.15dev5
  * Origin: Talk.Mail.Ru (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 pthread   Igor Sysoev   13 Feb 2002 14:08:31 
 Re: pthread   Victor Wagner   13 Feb 2002 14:31:17 
 pthread   Andrey Rudyavsky   14 Feb 2002 19:57:07 
 Re: pthread   Igor Sysoev   15 Feb 2002 14:30:11 
Архивное /ru.linux/648813f41d2a.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional