OSDev
http://osdev.su/

Вопросы производительности многопоточных сред.
http://osdev.su/viewtopic.php?f=5&t=322
Страница 16 из 18

Автор:  Mr.McD. [ 08 фев 2012, 01:35 ]
Заголовок сообщения:  Re: Вопросы производительности многопоточных сред.

И ещё: как это "не рекомендуется" работать с несколькими критическиме секциями? - А как тогда обрабатывать потоки данных, когда нужно из одного канала/буфера брать, а в другой писать? Приведённый в пример "инкапсулирующий подход" - не нужен:)

Автор:  Mr.McD. [ 08 фев 2012, 02:05 ]
Заголовок сообщения:  Re: Вопросы производительности многопоточных сред.

Ёда, я согласен с тобой, что мутекс - по определению механизм работы с общим ресурсом. Их много таких механизмов - семафоры, мониторы, флаги и т.п. Но есть такие задачи, которые решаются только обменом сообщениями. При этом, сообщения могут решить и задачи с мутексами, флагами и т.д. А если первое лезвие бреет чисто, а второе ещё чище, то нафига нужно первое лезвие?;) И я не пытаюсь смешивать понятия кооперативки и обмена сообщениями. Просто если система основана на объектах/агентах/клиентах-серверах/акторах и т.д., то вытеснение здесь просто лишняя сущность. Согласен, вытеснение может быть отличной низкоуровневой абстракцией многозадачности на одной машине. А разнеси ты "кооперативные" объекты по разным машинам и их логика работы не изменится: принял сообщение, отправил сообщение, уснул - жду новое сообщение... Как бы так. Вероятно, это Танненбаум со своим Миниксом привил микроядерщикам "чувство вкуса" в применении сообщений, как универсального средства близкого и удалённого общения и синхронизации процессов. Главный же аргумент в пользу кооперативки здесь - возможность реализавать логику объектной системы "на коленке", без расхода лишних ресурсов и лишних абстракций. Т.е. сделать систему максимально простой, лёгкой, понятной и эффективной.

Автор:  Mr.McD. [ 08 фев 2012, 03:41 ]
Заголовок сообщения:  Re: Вопросы производительности многопоточных сред.

Ёда, может ты имел в виду Виндовский Critical_Section? - так это тупо спинлок высокоуровневый. Он не решает проблему гонок, не говоря уже о взаимных блокировках..
Химик, не все же проблемы можно решить "с префиксом lock".. Синхронизация ведь тоже разных сортов бывает:)

Автор:  Yoda [ 08 фев 2012, 10:07 ]
Заголовок сообщения:  Re: Вопросы производительности многопоточных сред.

Не, всё, с меня хватит. Продолжайте тролл-вечеринку без меня :)

Автор:  Mr.McD. [ 08 фев 2012, 10:32 ]
Заголовок сообщения:  Re: Вопросы производительности многопоточных сред.

Как-нибудь обойдёмся;)

Автор:  Himik [ 08 фев 2012, 16:33 ]
Заголовок сообщения:  Re: Вопросы производительности многопоточных сред.

Да уж, пожалуй тема слишком широка, поэтому каждый видит её по-своему.

Автор:  Mr.McD. [ 08 фев 2012, 22:54 ]
Заголовок сообщения:  Re: Вопросы производительности многопоточных сред.

Думаю, каждая тема широка по-своему. А тут даже не непонимание, а нежелание понять. В итоге - каждый остался при своём мнении..

Автор:  Himik [ 09 фев 2012, 13:01 ]
Заголовок сообщения:  Re: Вопросы производительности многопоточных сред.

На самом деле каждый по-своему прав.
Да дальше обсуждений это и не могло ни куда пойти. Обсудили - значит задача "минимум" выполнена.

Автор:  Mr.McD. [ 12 фев 2012, 18:42 ]
Заголовок сообщения:  Re: Вопросы производительности многопоточных сред.

Думаю, "задача минимум" - это когда пришли к общему пониманию применения модели в свете её очевидных достоинств и недостатков. А в случае неочевидности выше указанных обсуждение принимает вид: "А не много ли букв "о" в слове "кооперативная""? Или так: "А как в невытесняющей системе потоки вытеснять?":)

Автор:  Himik [ 13 фев 2012, 15:29 ]
Заголовок сообщения:  Re: Вопросы производительности многопоточных сред.

По-моему все всё поняли. Псевдопараллельная модель не является конкурентом параллельной (если подразумевать реальную параллельность). Кооперативная многозадачность нашла своё применение в событийной модели управления. Какие вопросы ещё остались не раскрыты?

Страница 16 из 18 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/