[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: xserver-xorg и hal



В сообщении от 4 мая 2009 Victor Wagner написал(a):

> Мое "категоричное" утверждение было о том, что БЫВАЮТ задачи для которых
> нити действительно полезны и БЫВАЮТ программисты, которые способны с
> ними в этой ситуации справиться. Но в 90% задач существуют более
> надежные решения. И более простые, которые можно уложить в голове у
> нормального программиста, а не супергения.
>

Ситуации бываю разные. И методы их решения тоже. Предложите варианты 
(переносимые) для эффективной масштабируемости на SMP-системах. Я уже писал 
об этом выше.

> На мой взгляд, сейчас есть ряд весьма популярных технологий (нити -
> не единственная, есть еще OOP), написание надежных программ на которых
> требует очень высокой квалификации, очень грамотного дизайна, но при
> этом эти технологии создают ОБМАНЧИВОЕ впечатление простоты.
>

Отказ от ООП как такового вовсе не гарантирует вам хорошего качества продукта 
на выходе. Зачастую такого понапишут, что черт ногу сломит. Для ООП это тоже 
актуально, поэтому, как мне кажется, всё зависит от квалификации 
разработчика. Если она недостаточна, то ни ООП, ни процедурный стиль, ни 
функциональный не дадут вам удовлетворительный результат.

> Поэтому в качестве rule of thumb использования этих технологий следует
> избегать елико возможно. И использовать только тогда, когда были
> перепробованы все остальные варианты, и стало очевидно, что они не
> годятся. (кстати, сам факт перепробования остальных вариантов очень
> способствует правильному дизайну).

"следует избегать елико возможно" - это вы сами придумали ? Или есть 
рекомендации в серьезных источниках ?

>
> OpenMP - узконишевой продукт. Причем в такой нише, где надежность, как
> правило, не является категорическим императивом. Потому что типичная
> счетная задача девять раз из десяти завершается неудачей вовсе не потому
> что наступили на грабли с нитями, а потому что не углядели какой-то
> особенности в модели. Поэтому если она будет завершаться неудачно не 9
> раз из 10, а 19 из 20, но эти 20 прогонов будут завершены быстрее, чем
> те 10 - на это можно пойти.

openMP пригоден не только для счетных задач (моделирование, о котором вы 
упомянули), тем более для них есть более подходящие средства. У учетом того, 
что он есть во всех современных компиляторах, сфера его применения может быть 
весьма широкой. Естественно, при АДЕКВАТНОМ применении. При неадекватном 
любая технология может выдать монстра.

> А вот задачи с которыми пользователь имеет дело каждый день - браузер,
> X-сервер, текстовый редактор etc просто НЕ ИМЕЮТ права падать. Даже в
> случае заведомо неправильных действий пользователя.

Т.е. из этой фразы можно сделать вывод, что нити - потенциально ведут к 
падениям ПО, написанного с их использованием ? Странно как-то это звучит. 
Т.е. если мы все напишем через FSM или fork, то программа сразу будет 
являться образцом стабильности  и надежности? Ну-ну.

Reply to: