Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Архив
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Действительно ли вам нужна ОС реального времени?

 Ответить Ответить Страница  <1 23456 12>
Автор
Сообщение
Olej Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 14 Октябрь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 267
Свойства публикации Свойства публикации   Ответить, цитируя автора - Olej Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Действительно ли вам нужна ОС реального времени?
    Опубликовано: 03 Ноябрь 2003 19:52
Первоначально опубликовано evgen


Я использую DSP-процессоры в своих задачах, вы не используете и допускаете терминологические погрешности - так кто из нас двоих звенит ?

Только потому, что DSP как процессор, устройство... и DSP как обозначение класса алгоритмов "цифровой обработки сигналов" - чем то похожи по внешнему виду... так вот - только на этом основании - не морочьте мне голову.





Наверх
evgen Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 178
Свойства публикации Свойства публикации   Ответить, цитируя автора - evgen Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 03 Ноябрь 2003 20:01
Первоначально опубликовано Olej

Первоначально опубликовано evgen


Я использую DSP-процессоры в своих задачах, вы не используете и допускаете терминологические погрешности - так кто из нас двоих звенит ?

Только потому, что DSP как процессор, устройство... и DSP как обозначение класса алгоритмов "цифровой обработки сигналов" - чем то похожи по внешнему виду... так вот - только на этом основании - не морочьте мне голову.

[пять минут смеха пропущено]
ОООО!
И эти люди еще будут меня чему-то учить! И в риалтайме и в быстродействии
SY,
EK
Наверх
Sergey Sorokin Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 27 Март 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 240
Свойства публикации Свойства публикации   Ответить, цитируя автора - Sergey Sorokin Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 04 Ноябрь 2003 13:41

Скажем термин Fieldbus я считаю очень неудачным, однако он прижился, и в общем то все более менее представляют что за ним стоит.

 

Вы можете конечно между собой притвориться, что термина realtime OS не существует, но он существует, как существует и объективная реальность, которую этим термином пытаются называть. Можно спорить насколько этот термин удачен. Можно предлагать другие термины.

 

Мой взгляд на эту тему в основном приведен в статье, ссылка на которую есть в начале этого треда. Если коротко, то все системы АСУ ТП являются системами реального времени. Поэтому в этом контексте термин «реальное время» ничего не добавляет и не убавляет, а значит не имеет большого смысла. Тем не менее термины «жесткое реальное время» и «мягкое реальное время» имеют  по моему право на существование.

 

Можно конечно критиковать термин «hard realtime» или его устоявшийся перевод на русский язык, однако в любом случае существует большая группа систем, где своевременность выполнения тех или иных действий является критической. То есть несвоевременность выполнения каких то действий приводит к разрушению системы или к невыполнению целевой функции системы, для исполнения которой она и создавалась. Другими словами в результате несвоевременности выполнения каких то действий происходят неприемлимые для системы последствия. Что такое «неприемлимые последствия» зависит от конкретной системы и обычно указывается в ТЗ на создание системы. Некоторые неприемлимые последствия очевидны исходя из здравого смысла или действующих стандартов и могут в ТЗ не указываться (например, что котел не должен взорваться, что не должна подвергаться риску жизнь обслуживающего персонала и т.п.).

 

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

 

Несколько условных примеров: Скажем если в котле я при повышении давления вовремя не прекращу подачу реагентов, то котел может взорваться (в случае если ПАЗ не сработает). Если я не открою клапан сразу после того как очередная бутылка на конвейере остановится под наливным краном, у меня эта бутылка не заполняется и идет в брак, а загрязнение конвейера жидкостью может привести к необходимости его остановки на профилактику (это все недопутимые последствия – экономические убытки) . Если же в овощной теплице я при понижении окружающей температуры вовремя не включу нагреватели, то у меня может померзнуть сколько то процентов овощей (например допустимо до 30%) . Последний пример иллюстрирует что в одной и той же системе могут быть мягкие временные ограничения, несоблюдение которых приводит к негативным, но приемлимым последстиям и жесткие ограничения, несоблюдение которых приводит к неприемлимым последствиям.

 

Опять же ни «жесткое» ни «мягкое» реальное время никак не связаны со скоростью управляемого процесса. Например в теплице «жесткое» временное ограничение,  когда АСУ ТП должна среагировать на изменение температуры, что бы не померзло более 30% овощей, может измеряться часами.  За это время можно десять раз по вотчдогу перезагрузить операционную систему (какой нибудь windows) после стольких же зависаний ПО, и система в целом все равно будет работать как система «жесткого реального времени», то есть укладываться в заданные временнЫе ограничения. То есть в медленных системах «жесткого реального времени» могут работать практически любые вычислительные средства с любым системным ПО (операционными системами). Другое дело когда система управления и ее вычислительное устройство должны БЫСТРО работать в рамках «жесткого реального времени». Собственно словосочетание «операционная система реального времени» обозначает операционную систему ЗАТОЧЕННУЮ для работы в составе «БЫСТРЫХ систем жесткого реального времени». По моему не более того. Эти ОС по своей архитектуре отличаются от «обычных» ОС и заслуживают какой то выделющей их из общей массы приставки. ОС РВ вполне приемлимое обозначение этой группы ОС.

 

Можно ли без операционной системы создавать ПО для быстрых систем жесткого реального времени? Как я уже говорил – можно. У Владимира насколько я понял такая система и работает. Скорее всего – это некий самодельный планировщик в стиле round-robin, который позволяет обходиться без вытеснения (прерывания текущей задачи) и связанных с этим проблем приоритетов, разделяемых ресурсов, синхронизации, реентерабельности и т.п. Такой подход наиболее «честный» так как обычно позволяет уже на этапе проектирования оценить наихудший случай и выбрать аппаратуру такого быстродействия, что бы даже при наихудшем случае все временнЫе ограничения выполнялись. И конечно лучше переплатить за избыточные «в среднем» вычислительные ресурсы, но быть при этом уверенным в предсказуемости и детерминированности поведения системы.

 

Проблемы с таким подходом начинаются когда нужно несколько вычислительных устройств объединть в сеть, критическое  приложение распределено по узлам, необходимо использовать ПО написанное сторонними организациями и т.п.. Здесь как раз не обойтись без ОС РВ, которые предлагают разработчику специализированные сервисы, о которых говорил Olej,  но которые имеют и некоторый букет связанных с нимим возможных проблем (инверсия приоритетов, скложность просчета наихудшего случая и т.п.).

 

С Уважением,

 

Сергей Сорокин

 

Первоначально опубликовано Владимир Е. Зюбин

Первоначально опубликовано Olej

Первоначально опубликовано Владимир Е. Зюбин


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


Да, проблема во многом обязана своему названию - realtime OS -
ничего хуже терминологически вообще придумать нельзя было...

[...]

- я так предполагаю, что нужно говорит именно об "надёжной" и
"живучей" OS и воздержаться от термина realtime (или употреблять
термин, но предполагая за ним именно этот контекст). Т.е. акцент
то - на 1-м "гарантировано"!


У меня нет возражений. Давайте воздерживаться.


Наверх
Владимир Е. Зюбин Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 04 Ноябрь 2003 13:56
Первоначально опубликовано Olej

Первоначально опубликовано Владимир Е. Зюбин


У меня нет возражений. Давайте воздерживаться.


Да на здоровье...
Только тогда нужно указ какой-то, в рамках форума... "с сей даты термин realtime в обсуждениях отменить и использовать..." - что испльзовать?
Так хоть неудачный есть, но термин...
Так что пусть пока он остаётся, пока вы лучше не предложите, но только с полным отрывом от скоростных характеристик.


Я лично этим словом не пользуюсь, ровно, как Ваш
знакомый педагог и рекомендовал... если говорите "реал-
тайм", а имеете ввиду "надежность" - так и
говорите "надежность"... все проще.

Первоначально опубликовано Olej


Первоначально опубликовано Владимир Е. Зюбин


Вопрос по теме, как там у нас с дед-локами в QNX?
Все еще возможны?

Первоначально опубликовано Владимир Е. Зюбин


Кстати, вполне может быть... ведь те же дед-локи - это прямое следствие QNX-решения API... ну, через обмен
сообщениями...


О каких дед-локах вы говорите?
Вы, наверное, имеете в виду, предупреждение никогда не использовать встречные клиент-серверные отношения между подсистемами (приложениями) в QNX?
Но это относится только к сфере принципиально неверного проектирования приложений, но при чём здесь архитектура OS?


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

Первоначально опубликовано Olej


Первоначально опубликовано Владимир Е. Зюбин


Просто, у нас дед-локи конструктивно
исключены... и приоритетов нет... и диспечеризация
чрезвычайно простая... об инверсии приоритетов тоже
никто не заботится... по понятным причинам...
В этом смысле не совсем понятна актуальность борьбы с
тем, чего у нас в принципе нет...

Первоначально опубликовано Владимир Е. Зюбин


Вполне возможно, что Вы и правы... а может как и в нашем
случае с ДОС, таких проблем там просто нет.


"У нас нет" - это только в том случае, если только у вас нет:
- ассинхроных параллелизмов, при необходимости синхронизации и взаимодействия между ними;
- распределения, захватов и блокирований в ожидании критических ресурсов;


Да, на уровне алгоритма, нам хватает синхронных
логических параллелизмов, хотя на уровне аппаратуры/УСО,
разумеется, имеется асинхронный логический параллелизм.

А захватов, распределения и блокирования критических
ресурсов у нас действительно нет... как-то без них
получается. Да и то сказать, у семи нянек, дитя без
глазу...

Первоначально опубликовано Olej


... т.е. для решения какой-то частной проблемы - может и нет, в общем случае - не верю!


Правильно не верите. Мы не замахиваемся на общий случай.
Наш случай - алгоритмы работы сложных объектов
автоматизации.
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК
http://reflex-language.narod.ru/
Наверх
Владимир Е. Зюбин Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 04 Ноябрь 2003 16:13
Первоначально опубликовано Olej

Первоначально опубликовано Владимир Е. Зюбин


Так это и есть проблема распределения выч.ресурсов в
системах, где их не хватает... решается она просто
наращиванием выч.мощности системы... по-моему...


Нет - это проблемма эффективного диспетчирования.
А просто "наращиванием выч.мощности системы" - она не решается: у нас K-й процесс "тормозит" - мы его на M-й процессор... так? а потом K+1-й - на M+1-й...
При общей загрженности системы 0.001%?


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

И все б хорошо, да никто априорно не знает, какой
задаче сколько процессорного времени надо...

Кстати, не обязательно распараллеливать задачу, можно и
тактовуй частоту поднимать, и процессор менять на более
мощный.

Первоначально опубликовано Olej


А как же вы процессоры синхронизировать собираетесь - если для аналогичной ситуации не научились процессы синхронизировать? Когерентность кэшей как будете обеспечивать? И пощло и поехало...


Да, у физического параллелизма тоже есть свои проблемы,
но если Вам нужно выполнить выч. алгоритм за очень
маленькое время, которое невозможно обеспечить на одном
процессоре, то надо два процессора ставить... и других
вариантов нет. Увы, но никакая QNX тут уже не поможет...

Первоначально опубликовано Olej


Первоначально опубликовано Владимир Е. Зюбин


Кстати, QNX ничего такого, о чем Вы говорите, не
гарантирует.
[QUOTE]

Кстати, QNX всё такое и гарантирует: диспетчеризации, синхронизации, наследование приоритетов, и т.д. и т.п. ...
Всё, что изобретено и отображено не только в действующих POSIX стандартах (1003с, 1003b) но и в draft, только готовящихся для введения - 1003g...


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

Это все проблемы многозадачного логического
параллелизма, проблемы распределения и балансировки выч.
нагрузки в этом параллелизме.

Первоначально опубликовано Olej


Первоначально опубликовано Владимир Е. Зюбин


Пусть об этом у QNX голова болит. У меня лично все
задачи имеют наивысший приоритет... что автоматически,
как это не парадоксально может звучать, означает
отсутствие приоритетов... :-))) а отсутствие приоритетов
автоматически исключает проблему инверсии приоритетов.


Блеск.


Ну нет у нас приоритетов... нету. Что я могу поделать?
Прорабатывается вариант их введения... но так и
непонятно зачем.

Первоначально опубликовано Olej


[...]
То, что показатель realtime - как для OS, так и для облегчённых сред исполнения - существует, для меня не вопрос... Это, конечно, не boolean показатель - "белое" - "чёрное", а количественный - [0.0..1.0] - степень применимости для realtime приложений и уровень прогнозируемых последствий...


Никакой это ни количественный показатель.

Скажем, чему он равен для QNX? 1.0? :-)))

Где формУла?! - Нет, не было и не будет. :-)

[QUOTE=Olej]
Была у меня цель, я там выше писал - хоть какие аргументы услышать, критерии etc. ... Не важно: поверхностные или "матёрые", убедительные или вызывающие сомнения...
Для меня это важно ... "чаво - чаво ... живу я здесь"(с).
Нет.
Всё сводится к только к: "у нас всё так классно сделано в ... DOS-ах, FreeBSD-осах, OS/2 ... - нужное подчеркнуть".

Господа. Неужели вы так бедствуете, голодаете может...
что стремление продать "наше гениальное умение" - затмевает все прочие побудительные мотивы?


А это-то здесь при чем? Я лично общаясь с Вами,
например, полезные для себя вещи черпаю...
Относительно "РТ" я свое мнение и аргументы высказал:
все это дуст, призванный запорошить умы рядовых
обывателей. На термин не тянет.
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК
http://reflex-language.narod.ru/
Наверх
Владимир Е. Зюбин Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 04 Ноябрь 2003 16:23
Я Вам так скажу:
Мои заказчики имеют настолько большие претензии к
системам управления, они настолько умны и опытны, что
надписи "Ку-На-Хэ Инсайд" на корпусе наспех сг#вняканной
аппарутуры им будет явно недостаточно.

Первоначально опубликовано bessonov

[...]Когда заказчики начнут ужимать по цене, тех требованиям, времени исполнения заказа, тогда пойдёт прогресс в сознании.

Если их заказчики не имеют претензий, что можно сказать ?
Ничего.
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК
http://reflex-language.narod.ru/
Наверх
Владимир Е. Зюбин Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 04 Ноябрь 2003 16:44
Первоначально опубликовано Olej

Первоначально опубликовано Владимир Е. Зюбин


Я уже читал эту статью. Она доступна с официального
сайта www.osp.ru. Хорошая статья, коих в ОС, немало.
Правда, связи статьи с текущим разговором я так и не
ощущаю...

Как раз вторая из описываемых катастроф, с установкой Therac-25 - очень иллюстративна к ошибкам критических секций при много-параллельном исполнении...
То, что и есть принципиальным в обеспечениии realtime-овости, а не какие-либо скоростные характеристики.


Прошу прощения, но статья все же не об РТ ОС, а о том,
что с ПО связано очень много мифов.

И один из опущенный в статье мифов - миф о том, что
покупное ПО с надписью "РТ ОС" решает все проблемы с
надежностью и быстродействием.

Да для того же Therac-25, в статье констатируется, что
проблема была, в частности, в неадекватном интерфейсе
оператора... это не решается с помощью QNX. Те же дед-
локи... люди ляпали баг-на-баге... Тут уж запретом
использования приемов, ведущих к дед-локам, не
обойтись... Вляпались бы в дед-лок и вообще б жгли
пациентов, в пепел... на входе старушка - на выходе урна
с пеплом...
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК
http://reflex-language.narod.ru/
Наверх
Olej Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 14 Октябрь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 267
Свойства публикации Свойства публикации   Ответить, цитируя автора - Olej Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 04 Ноябрь 2003 18:27
Первоначально опубликовано Владимир Е. Зюбин


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


Очень часто - не хватает ресурсов не "вообще", а в короткие пиковые интервалы. Мы просматривали загрузку одной из реальных загруженных управляющих систем, доля idle-процесса составляет 80-90%, и это при том, что производительность системы в пиках "под завязку". Такие же цифры показывали RTSU на недавнем семинаре на примере недавно сданной ими производственной АСУТП (классика). Т.е. процедуры диспетчеризации придуманы для того, чтобы разумным образом распланировать задания в пиках.

Первоначально опубликовано Владимир Е. Зюбин


Да, у физического параллелизма тоже есть свои проблемы,
но если Вам нужно выполнить выч. алгоритм за очень
маленькое время, которое невозможно обеспечить на одном
процессоре, то надо два процессора ставить... и других
вариантов нет. Увы, но никакая QNX тут уже не поможет...


Очень даже поможет. Благодаря своей собственной сети QNET обмена сообщениями, QNX сеть - это уже практически готовый кластер для физического распараллеливания. Всё это достигается минимальной трудоёмкостью, на порядки ниже, чем при использовании традиционных сетевых реализаций! В реадкции СТА лежит набросок моей статьи с примером реализации кластерного вычислителя в ~300 строк С++ - если сочтут нужным опубликовать - посмотрите.
Но это так, кстати - одна их достопримечательностей одной из OS - QNX, к realtime вообще - отношения не имеет. ;-)

Первоначально опубликовано Владимир Е. Зюбин


Ну нет у нас приоритетов... нету. Что я могу поделать?
Прорабатывается вариант их введения... но так и
непонятно зачем.


Вот появятся приоритеты - появятся и проблемы... :D
Наверх
Olej Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 14 Октябрь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 267
Свойства публикации Свойства публикации   Ответить, цитируя автора - Olej Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 04 Ноябрь 2003 18:37
Первоначально опубликовано Владимир Е. Зюбин


Прошу прощения, но статья все же не об РТ ОС, а о том,
что с ПО связано очень много мифов.


Статья совершенно не об РТ, но там есть одно примечательное наблюдение, когда ассинхронное возмущение и выполнение параллельной ветки инициирует ... оператор, и к чему это приводит. Это очень близко к тому, что обсуждается, если только не зацикливаться: "время, время, время..." даже если оно реальное. То что я говорил: realtime - это не из области временных соотношений, а из области надёжности.

Первоначально опубликовано Владимир Е. Зюбин


И один из опущенный в статье мифов - миф о том, что
покупное ПО с надписью "РТ ОС" решает все проблемы с
надежностью и быстродействием.

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


1. нет такого мифа - никто никогда, даже в чисто рекламных материалах не утверждал, что realtime OS решает все проблемы. Вас обманули ;-).
2. а если с узкой позиции непосредственно работающих с RTOS, то и ещё менее: RTOS помогает более корректно и просто решить в приложении проблемы, связанные с параллелизмами, ассинхронностью и синхронизацией. Ничего более.
3. а вот проблемы "неадекватного интерфейса" и старушек - они и были в синхронизациях.
Наверх
Владимир Е. Зюбин Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 05 Ноябрь 2003 12:24
Первоначально опубликовано Olej

Первоначально опубликовано Владимир Е. Зюбин


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


Очень часто - не хватает ресурсов не "вообще", а в короткие пиковые интервалы. Мы просматривали загрузку одной из реальных загруженных управляющих систем, доля idle-процесса составляет 80-90%, и это при том, что производительность системы в пиках "под завязку". Такие же цифры показывали RTSU на недавнем семинаре на примере недавно сданной ими производственной АСУТП (классика). Т.е. процедуры диспетчеризации придуманы для того, чтобы разумным образом распланировать задания в пиках.


А я про пиковую нагрузку и говорю...
и про диспетчеризацию с Вами абсолютно согласен,
диспетчер - это попытка вылезти из ситуации пиковой
загрузки (нехватки выч. ресурсов) путем отключения
некритических процессов и подключения критических...

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

Первоначально опубликовано Olej


Первоначально опубликовано Владимир Е. Зюбин


Да, у физического параллелизма тоже есть свои проблемы,
но если Вам нужно выполнить выч. алгоритм за очень
маленькое время, которое невозможно обеспечить на одном
процессоре, то надо два процессора ставить... и других
вариантов нет. Увы, но никакая QNX тут уже не поможет...


Очень даже поможет. Благодаря своей собственной сети QNET обмена сообщениями, QNX сеть - это уже практически готовый кластер для физического распараллеливания. Всё это достигается минимальной трудоёмкостью, на порядки ниже, чем при использовании традиционных сетевых реализаций! В реадкции СТА лежит набросок моей статьи с примером реализации кластерного вычислителя в ~300 строк С++ - если сочтут нужным опубликовать - посмотрите.
Но это так, кстати - одна их достопримечательностей одной из OS - QNX, к realtime вообще - отношения не имеет. ;-)


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

Кстати, возможность организации многомашинного физического параллелизма, не сводится к наличию ПО организации кластера. Коего (ПО) полно и для других ОС.

Первоначально опубликовано Olej


Первоначально опубликовано Владимир Е. Зюбин


Ну нет у нас приоритетов... нету. Что я могу поделать?
Прорабатывается вариант их введения... но так и
непонятно зачем.

Вот появятся приоритеты - появятся и проблемы... :D


1. Приоритеты, о которых говорится, заведомо не
подразумевают появления сложного (ненадежного?) и
динамического алгоритма планирования... подразумевается
просто статический алгоритм балансировки на этапе
трансляции... 2. Идея о введении таких "приоритетов"
пока так и не набрала достаточно аргументов "за".
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК
http://reflex-language.narod.ru/
Наверх
 Ответить Ответить Страница  <1 23456 12>

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz