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


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Oleg Polyanski                       2:5020/400     30 Jan 2001  09:40:08
 To : vitus@ice.ru
 Subject : Re: 2 процессора....
 -------------------------------------------------------------------------------- 
 
 vitus@ice.ru writes:
 
 > OP> Объясните, а это обязательно  должна быть тредовая модель? Процесс, 
 > OP> который получается после fork'а     - такая же полноправная  единица  
 > OP> планирования, пригодная   для  запуска на другом  (других)   процессорах. 
 > OP> Собственно, даже наоборот - треды могут не быть единицей  планирования для
 > OP> ядра, что, правда, сейчас всё реже можно встретить. И тем не менее, не 
 > OP> проще взять пару книжек - одну из них UNIX internals  by Uresh Vahalia, а 
 > OP> другую - Richard Stevens, "UNIX  network programming", Volume I,  в
 > OP> котором прекрасно расписаны ответы на все вопросы, а также рассказано, что
 > OP> и треды и процессы, если не подумать головой, одинаково  медленны в работе
 > OP> (треды  чуть быстрее -  меньше времени требуется на создание    нового
 > OP> оного)? А  потом,   если  останутся вопросы, вернуться сюда снова.
 > 
 > Вот вот. Вопрос треды vs fork состоит в одном единственном - оправдан ли
 > оверхед на создание процесса той дополнительной изоляцией потоков
 > выполнения друг от друга, которую процессы обеспечивают. 
 > 
 > Вопрос многопоточность (считая и треды и процессы) vs select и
 > event-driven программинг - это совсем другой вопрос. Hо лично я для себя
 > отвечаю на этот вопрос так - если event-driven модель не устраивает, то
 > нужны полновесные процессы.
 самом деле, голову надо применять не только для того, чтобы в неё есть, а
  всегда. В  том смысле, что форкаться на  каждый запрос - тоже неэффективно и
  медленно.   Особенно в случае,  если  ядро реализует  fine grained locking в
  полном объёме. Hесмотря на то, что fork всячески стараются ускорить в разных
  Юниксах  (типа быстрого fork1  в  Солярисе или заставляя  reaper  process во
  время простоя системы создавать пулы контекстов процессов в Солярисе 8), тем
  не  менее, схема 'fork on  request' ужасно  неэффективна. Дядька Стивенс это
  наглядно демострирует в своей книге. То же самое относится, кстати, к тредам
  в полном объёме.
 
 Regards,
 Oleg
 
 --- ifmail v.2.15dev5
  * Origin: Jet Infosystems (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Re: 2 процессора....   Oleg Polyanski   29 Jan 2001 01:13:03 
 Re: 2 процессора....   vitus@ice.ru   29 Jan 2001 12:45:02 
 Re: 2 процессора....   Oleg Polyanski   30 Jan 2001 09:40:08 
Архивное /ru.linux/29129c7cbf652.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional