Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 8 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Junior
Статус: Не в сети
Регистрация: 12.01.2008
Такой вопрос возник во время обучения: каковы пределы применения псевдопараллелизма? преподаватель говорит что не знает(



Партнер
 

Member
Статус: Не в сети
Регистрация: 07.01.2010
а что именно имеется в виду под словом "псевдопараллелизм"?


 

Junior
Статус: Не в сети
Регистрация: 12.01.2008
тема операционные системы, процессы в Unix
под псевдопараллелизмом здесь понимается "одновременное" (для пользователя) выполнение нескольких процессов. На самом деле процессы разбиваются на маленькие кусочки при выполнении и переключение между выполнением кусочков различным процессов происходит по CPU burst


 

Member
Статус: Не в сети
Регистрация: 17.11.2008
Наверно не процессы разбиваются на кусочки, а всем процессам по очереди предоставляется процессор на некоторый промежуток времени (квант).

Что подразумевается под пределами применения?
Сколько одновременно процессов можно запустить? Так это определяется системными ресурсами компьютера и целесообразностью решения конкретной задачи на конкретной вычислительной системе.
Каждый раз когда переключается контекст, т.е. новому процессу выделяется процессорное время, ОС должна сохранить состояние регистров и стек для предыдущего процесса. Если таких процессов много, то соответственно для каждого такого процесса используется память для хранения стека и регистров и в какой-то момент можно всю ее исчерпать. Кроме того сохранение/восстановление регистров дорогостоящие операции по времени.
Опять же если запустить такое количество процессов, что каждый из них не выдаст результат за приемлемое время, то такой параллелизм никому не нужен.
Как-то так.


 

Member
Статус: Не в сети
Регистрация: 07.01.2010
недавно мне вот сказали, что в случае массового обслуживания веб-клиентов многопоточное приложение, у которого по потоку на клиента, на более-менее свежих линуксовых ядрах оказывается как минимум не медленнее, чем state machine в стиле nginx и node.js. а уж если разговор заходит о поддержке кода и интеграции кода одного проекта в другой - то тут state machine очень мощно начинает сливать.


 

Member
Статус: Не в сети
Регистрация: 13.03.2009
Откуда: Новокузнецк
ToSHiC писал(а):
недавно мне вот сказали, что в случае массового обслуживания веб-клиентов многопоточное приложение, у которого по потоку на клиента, на более-менее свежих линуксовых ядрах оказывается как минимум не медленнее, чем state machine в стиле nginx и node.js. а уж если разговор заходит о поддержке кода и интеграции кода одного проекта в другой - то тут state machine очень мощно начинает сливать.


переведите кто-нибудь этот поток разума :-)


 

Member
Статус: Не в сети
Регистрация: 17.11.2008
ToSHiC писал(а):
недавно мне вот сказали, что в случае массового обслуживания веб-клиентов многопоточное приложение, у которого по потоку на клиента, на более-менее свежих линуксовых ядрах оказывается как минимум не медленнее, чем state machine в стиле nginx и node.js. а уж если разговор заходит о поддержке кода и интеграции кода одного проекта в другой - то тут state machine очень мощно начинает сливать.

Не верю. На каком количестве клиентов оно не медленнее?
И потом, многопоточные приложения упираются не только в производительность процессора, но и в количестве памяти, которое растет пропорционально количеству потоков, в то время как у nginx поток один.


 

Member
Статус: Не в сети
Регистрация: 07.01.2010
а почему оно, собственно, должно быть сильно медленнее, если блокировки сети/дисков сразу отправляют поток ждать очереди и пропадают накладные расходы на поллинги? да, есть некоторые расходы на переключение контекста, но они не столь велики в современных реализациях потоков. вопрос памяти вообще не стоит - ограничиваешь стек в 500кб, и на 1000 клиентов потребуется всего 500мб памяти, что мелочь.
кстати, грамотно реализовать thread pool для работы с диском - тоже не особо очевидная задача. поддержка кода, опять же... но лично мне всё равно больше конечные автоматы импонируют :) но то я со своими ощущениями, а то крупная контора с работающими проектами :)

Fallout 13, тебе какое слово непонятно? :)


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 8 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  

Лаборатория














Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan