The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Intel представил инструментарий Clear Containers 3.0, перепи..., opennews (?), 23-Сен-17, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


18. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Аноним (-), 23-Сен-17, 16:58 
> ты представляешь, дорогой аноним, что будет с серваком при 1кк процессов?

Ммм, и что будет? Объясни мне тёмному как вырастет производительность от того что кучу задач еще и оберткой обернуть? Не очень понимаю. Потому что возможностьей непосредственно железа недостаточно чтобы корректно управлять параллельным выполнением всей этой кучи?

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

40. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –1 +/
Сообщение от Онаним (?), 24-Сен-17, 00:47 
Присоединяюсь к вопросу
Ответить | Правка | Наверх | Cообщить модератору

57. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +1 +/
Сообщение от й (?), 24-Сен-17, 22:18 
man context switching. передача контроля от одного процесса другому -- это определённый оверхед. и при тысячах процессов наступает ой. от того и c10k problem.
Ответить | Правка | Наверх | Cообщить модератору

61. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –1 +/
Сообщение от пох (?), 25-Сен-17, 18:59 
> передача контроля от одного процесса другому -- это определённый оверхед. и при тысячах
> процессов наступает ой

не хотел бы тебя огорчать, но context switching, как явствует из названия, не совсем переводится как "передача контроля от одного процесса другому", а вот process switching тебе таки придется делать, потому что процессоров у тебя все равно не тысячи. Это не "передача контроля", а просто запуск процесса на процессоре. То есть - загрузить селекторы, загрузить регистры, включая IP. Подождать отмерянное время (система отмеряния - одна из самых сложных хреновин в подобных задачах), прервать процесс, сохранить регистры, перезагрузить селекторы и регистры для другого процесса - и так каждый квант времени. Потому что процессов таки больше чем ядер, а выполняться они должны более-менее параллельно.

Можешь попытаться выполнять эту процедуру вручную, без всякого context switching вообще, но вообще-то современный процессор умеет делать ее полу-автоматически, и делает он это вполне эффективно, его не злые враги-вредители проектировали именно для многозадачной работы.

Только вот чудес не бывает, и если на каждое физически существующее ядро у тебя приедет очередь из нескольких сотен процессов - работать твоя система будет очень и очень медленно, чем ты их не распределяй. Заметим, тут ни слова об оверхеде - он есть, но на фоне самого факта очереди на исполнение - незначителен (тысяча процессов - это всего лишь табличка из тысячи строк, как бы ни был неудачно построен процесс ее сканирования, основное время уйдет не на это)

Ответить | Правка | Наверх | Cообщить модератору

62. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от й (?), 25-Сен-17, 19:10 
во-первых, открываем гугль про "context switching" -> "A context switch (also sometimes referred to as a process switch or a task switch)" и не спорим про терминологию.

во-вторых, видел когда-нибудь несколько тысяч активных httpd-процессов? я видел, не надо мне рассказывать, что "оверхед незначителен", оно всё просто впадает в кому.

Ответить | Правка | Наверх | Cообщить модератору

68. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –1 +/
Сообщение от пох (?), 26-Сен-17, 23:29 
> во-первых, открываем гугль про "context switching"

с каких пор мусор из гугля является авторитетным мнением? Его такие же как ты писали, не видящие разницы.

> во-вторых, видел когда-нибудь несколько тысяч активных httpd-процессов?

я их когда-то в молодости по паре раз за ночь видел, и чего? Причем бы тут clear containers?

> не надо мне рассказывать, что "оверхед незначителен", оно всё просто впадает в кому.

тебе не пришло в голову, что оно впадает в кому из-за необходимости обработать одновременно тысчонку запросов одним физическим процессором, а вовсе не из-за мистического "context switching"? И хоть ты вдоль их обрабатывай, хоть поперек, результат будет одинаков. Более того - банальное блокирование новых запросов обычно вполне себе быстро выводит такую систему из "комы", если там не успела память кончиться или какие-нибудь внутриядерные структуры.

Забавно, что тебе даже не приходит в голову подумать, что начинается это лавинное нарастание процессов чаще всего именно из-за того, что какой-то _один_ процесс (или несколько однотипных, роботы обычно пачками ходят) задумывается слишком надолго (лочит базу, или просто тупит). То есть все из-за той же банальной нехватки мощности - на _содержательный_ процесс/ы, а не на процесс управления процессами.

Ответить | Правка | Наверх | Cообщить модератору

70. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от й (?), 27-Сен-17, 12:11 
> тебе не пришло в голову, что оно впадает в кому из-за необходимости обработать одновременно тысчонку запросов одним физическим процессором, а вовсе не из-за мистического "context switching"?

погугли уже c10k problem и не позорься.

Ответить | Правка | Наверх | Cообщить модератору

69. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от nonemo (?), 27-Сен-17, 11:13 
переключение контекста происходит в сотни раз дольше, чем вызов - возврат в рамках одного процесса; см. П.И.Рудаков, К.Г.Финогенов "программируем на языке ассемблера IBM PC" часть 3 ст.67 "Переключение задач"; кстати много понятных картинок в этой книжке, и на русском.
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

72. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –1 +/
Сообщение от пох (?), 30-Сен-17, 16:02 
> переключение контекста происходит в сотни раз дольше, чем вызов

проблема в том, что содержательный процесс после этого, не поверишь, норовит сам исполняться - и это не сотни тиков, а сотни тысяч-миллионы до следующего context-switch, который, чаще всего, еще и будет вызван не планировщиком, а самим процессом. Поэтому оверхеда в размере 0.01% ты бы даже и не заметил. На практике, к сожалению, банально "переключать контексты" получится, если у тебя ровно двухзадачная система (какие-то академические "true-rt"-os так и делали). А в реальности добавляется еще и оверхед от планировщика, и, хотя это место во всех современных системах вылизано круче чем у кота яйца, одних диссертаций десятками защищено на эти темы, там, к сожалению, далеко даже и не 0.1, и еще и имеет свойство нелинейно расти при увеличении числа процессов (что логично - при 1000 на ядро у тебя все равно система мертво повиснет, оптимизировать надо случай 10-300, когда есть еще шансы разойтись по-хорошему, если процессы короткоживущие)

а книжка для начинающих была и ничего, только устарела лет на 20, а материалы авторы собирали еще раньше, в самое неблагодарное время, когда часть команд процессора интел раздавал под nda.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру