2010-11-22 5 views
7

Есть модели потоков three, которые используются в реализациях планирования потоков, обычно выполняемых ядрами ОС. Одной из них является гибридная модель (M:N), в которой некоторые потоки приложений N сопоставляются с M потоками ядра, чтобы они могли использовать до M процессоров. Есть плюсы и минусы этой модели. Одним из преимуществ является то, что языки, основанные на этой модели, представят реализацию планировщика уровня языка, которая отвечает за управление и планирование потоков приложений.Реализация модели гибридной резьбы (M: N)

  • Мне было интересно, если кто-нибудь знает какие-либо усилия или работу, которая уже сделала это, чтобы язык или библиотека могли воспользоваться им?
  • Учитывая, например, тот факт, что Kernel 2.6.23+ использует алгоритм CFS для планирования, считаете ли вы, что эта гибридная модель вообще была бы разумным подходом к инвестированию?

ответ

7

Прежде всего прочитать: http://www.kegel.com/c10k.html#1:1

Linux использует 1: 1 потоковая модель, начиная с ядра 2.6 (NPTL Native Posix резьб библиотеки) и на сегодняшний день практически все операционки перейти к этой модели:

  • FreeBSD, начиная с 7.0, если я не ошибаюсь.
  • Solaris, начиная с некоторой версии, также перемещается в 1: 1 - я не помню, какой из них.

После того, как у Linux была модель M: N (это было в 2.4 NGPT), но 1: 1, как правило, превосходит.

Самая большая проблема с M: N модели:

  1. Трудно реализовать
  2. При использовании блокировки системных вызовов, вы на самом деле нужно уведомить как-то ядро, чтобы блокировать только один пользовательский космический поток и не ядра одного
  3. В возрасте нескольких ядер вы хотите иметь столько потоков ядра, сколько сможете.

Одним из них является гибридной (M: N) модель, в которой некоторые нити N приложения отображаются в некоторых M доступных процессоров.

Небольшая коррекция - N прикладные потоки преобразуются в потоки ядра M, чтобы они могли использовать до процессорам M.

+0

Спасибо за ссылку, хороший ответ и исправление. – nobeh 2010-11-23 09:47:58

Смежные вопросы