The OpenNET Project / Index page

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



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

Оглавление

Представлена четвёртая версия планировщика задач SCHED_DEADL..., opennews (??), 08-Апр-12, (0) [смотреть все]

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


17. "Представлена четвёртая версия планировщика задач SCHED_DEADL..."  +2 +/
Сообщение от антоним (?), 08-Апр-12, 18:07 
> Если тебе надо предсказуемость до единиц микросекунд, x86 вообще бяка. Джиттер времени
> одной и той же операции на х86 будет мама не горюй, в зависимости от cache hit/cache
> miss, успеха предсказания бранчей и прочая. Оно такое ориентировано на "скорость
> молочения вообще" а не "предсказуемое время реакции". По второму параметру примитивное
> фирмваре на 1 кило в хилой 8-битной атмеге на ее скромных 10-20 МГц уделает x86 c диким
> отрывом.

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

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

22. "Представлена четвёртая версия планировщика задач SCHED_DEADL..."  +5 +/
Сообщение от pavlinux (ok), 08-Апр-12, 19:17 
> ври, но не завирайся.

Мужики, давайте всё ж рассматривать RT как программно-аппаратную пару.
А то 4-ядерный Пень, в фоне играющий Mplayer, на втором мониторе Oil Rush,
куча народу в аське, в скайпе, фаерфокс иль гуглохром с 20 табами и флешем,
пишушейся на флешку дамп блюрея, торрент с 200 пирами, обеспечат вам полный
анитреалтайм по всем подсистемам.
  Иль атмега с одним процессом, которая шлёт сигналы размером 1 байт,
раз в 10 миллисекунд на привод станка.

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

35. "Представлена четвёртая версия планировщика задач SCHED_DEADL..."  +2 +/
Сообщение от Аноним (-), 09-Апр-12, 04:45 
> ври, но не завирайся. сравни размер кэша с размером раб.памяти атмеги, переведи
> життер из процессорных тактов в реальное время с учетом частот,

У атмеги джиттер зачастую равен _нулю_ - все априори известно потактово, так что можно предсказать все с точностью до долей микорсекунды. В том числе и за сколько тактов оно на событие на лапке среагирует. Этому x86 с его монстрильными контроллерами прерываний, суперсложными шинами и прочая такое и не снилось.

> поставь в одинаковые условия (прерывания, чистый дос или даже без него

А ща мы вас обломим. Вспоминаем про SMI и понимаем что на типовом писюшнике x86 вообще никому нифига не гарантирует, поскольку системное фирмваре может в любой момент хапнуть управление на _неопределенный_ срок. У линя например по этому поводу есть некий монитор основанный на TSC кажется, который паникует если системное фирмваре сперло слишком дофига времени. Но как вы понимаете, паника то - постфактум...

Вот вы будете кому-то что-то гарантировать заместо парней из Award/AMI? Особенно когда вопрос например в том что при таймауте автоуправляемый грузовик вхреначится в препятствие, например?  

> в х86) и подумай. сравнивать атмегу с х86 вообще глупо,

Да, у x86 крайне тормозная реакция на внешние раздражители :)

> но говорить что атмега уделает х86 "по предсказуемому времени реакции" это вообще бред
> собачий. Чистый программный полл на х86 уделает атмегу на прерываниях так
> что ей и не снилось - стократная разница в частотах это не шутка.

А по-фи-гу: у x86 контроллер прерываний вообще внешняя фигня, и не больно какая быстрая, а GPIO вообще толком нет, а пока там достучишься до периферии на шине.... Гигагерцы - есть, но они ориентированы на массовый обмолот а не скорость реакции. Чтобы на некое событие за пол-микросекунды гарантированно среагировать - не заточено вообще никак. Поэтому толку с этих гигагерцев - ноль. Подразумевается умная периферия с своими процами/прочей логикой и буферной памятью, рюхающая сильно критичные по времени сущности самостоятельно. Собственно такая железка может в общем случае жить своей жизнью и без х86-хоста вообще.

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

36. "Представлена четвёртая версия планировщика задач SCHED_DEADL..."  –2 +/
Сообщение от антоним (?), 09-Апр-12, 13:05 
> У атмеги джиттер зачастую равен _нулю_ - все априори известно потактово, так что можно
> предсказать все с точностью до долей микорсекунды. В том числе и за сколько тактов оно
> на событие на лапке среагирует.

Во первых, ровно то же самое известно и для чипов х86. И то что в атмеге декларируется 3-5 тактов на переход на обработку прерывания, а в х86 это может оказаться цифра 5-100 (с потолка взятые цифры) ничего не означает на практике - при пересчете в реальное время - на те же микросекунды, этот джиттер съедатся разницей частот. Во-вторых, джиттер надо учитывать не на переход на программу прерывания, а на реальный отклик - другими словами, надо добавлять сюда еще время обработки прерывания. Вот ты посчитай полное время отработки (в микросекундах, ага) на то чтобы считать данные из порта, посчитать от него скажем синус и выставить в другой порт, а мы вместе посмеемся, когда сравним время отклика на атмеге и на х86.

> А ща мы вас обломим. Вспоминаем про SMI и понимаем что на типовом писюшнике x86 вообще
> никому нифига не гарантирует,

В исходном посте речь шла что атмега уделает х86, а не типовой писюшник. Это как бы две очень большие разницы. Как насчет распаянного эмбед х86, без каких либо биоса и прочих финтифлюшек?

> А по-фи-гу: у x86 контроллер прерываний вообще внешняя фигня, и не больно какая
> быстрая, а GPIO вообще толком нет, а пока там достучишься до периферии на шине

Боже мой, какая безграмотность. Никакой внешний контроллер прерываний не поможет, если нет прерываний в самом проце (INTR/NMI). Поставь нужные порты и задействуй INTR, если так уж хочется сравнивать сами архитектуры. Про скорость периферии улыбнуло - атмега сравнится разве что с лохматым 80386/ISA.

если не дошло, то объясню еще раз - х86 не используется для подобных задач не потому что он этого не умеет, а потому что overkill: дорого и неудобно.

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

39. "Представлена четвёртая версия планировщика задач SCHED_DEADL..."  +/
Сообщение от антоним (?), 09-Апр-12, 15:41 
Я, в принципе, к тому, что если не использовать навороты современных х86 и добавить периферию, тогда то, что получится, можно назвать аналогом 80х51, разогнанным до гигагерца. Если на равных частотах атмега и заруливает 8051, то тут разница на 2 порядка не в пользу атмеги.
Ответить | Правка | Наверх | Cообщить модератору

40. "Представлена четвёртая версия планировщика задач SCHED_DEADL..."  +1 +/
Сообщение от pavlinux (ok), 09-Апр-12, 15:58 
> без каких либо биоса и прочих финтифлюшек?

Сoreboot!

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

44. "Представлена четвёртая версия планировщика задач SCHED_DEADL..."  +2 +/
Сообщение от Аноним (-), 10-Апр-12, 02:16 
> Во первых, ровно то же самое известно и для чипов х86.

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

> И то что в атмеге декларируется 3-5 тактов на переход на обработку
> прерывания, а в х86 это может оказаться цифра 5-100 (с потолка
> взятые цифры) ничего не означает на практике - при пересчете в
> реальное время - на те же микросекунды,

У атмеги ее такты - это с момента когда на лапке изменились условия и до момента когда ядро проца отдаст руль обработчику прерываний, который этим вопросом озадачится. Потому что контроллер GPIO вплотную к ядру, сразу его и дергает. А у x86 пока там что-то где-то по хрензнаеткаким шинам из своих дербеней отсигналит что тут у нас вообще прерывание прилетело - рак на горе свистнет.

Что x86 может "сам по себе" видно на примере программаторов на LPT/COM порт где x86 относительно "напрямую дергает IO-лапками". В современных реалиях правда оно вообще подохло т.к. в многозадачках выходит совсем жопно. А все быстрые программаторы как один юзают микроконтроллер который и разруливает скоростной дерг лапками из буфера почему-то.

> этот джиттер съедатся разницей частот.

Ну да, мечтайте. У x86 вообше нет GPIO по сути. А пока там от периферии доползет что вообще имело место прерывание... ну вон в PCI-E вообще прерываний нет. Там только сообщение :) о том что "а вот это типа прерывание" ("MSI" - message signaled interrupt). В юсб вообще тухляка - там хост опрашивает периферию - "есть чо? А если найду?" и не более 1000 раз в секунду всего (особо хардкорные геймеры и то плюются).

> Во-вторых, джиттер надо учитывать не на переход на программу прерывания,
> а на реальный отклик

Переход на программу прерывания позволяет вот прямо там и устроить реальный отклик на событие. А если ломовым polling'ом и дергом лапок покомандно - атмега без аппаратных костылей разрулит несколько мегагерцев маханий лапками. А x86 от сотен тыщ...миллионов IRQ в секунду вообще колом встанет. Ну не заточен он на такое. Поэтому вся периферия имеет некислые буфера, DMA и прочая и стараются накопить побольше данных на 1 дерг. Знаете как у UART 16550 появился буфер? Писюшники перестали успевать дергаться на прерывания от его безбуферных предков типа 8250 и пришлось срочно рожать накопительный буфер :)

> - другими словами, надо добавлять сюда еще время обработки прерывания.

У атмеги оно на порядок ниже как правило. И тасовки регистров меньше, т.к. набор регистров человеческий, и I/O оно может рюхать в пределах _ОДНОЙ_ команды при желании, за _ОДИН_ такт, если уж совсем хардкорный поллинг/дергинг делать.

> ага) на то чтобы считать данные из порта, посчитать от него скажем синус

А это нафига?

> и выставить в другой порт,

А на цифровой порт сложно выставить что-то кроме единиц или нолей. Посчитать синус с  "точностью" в 1 бит можно как делать нефиг за считанные команды (тупо сравнение влобешник). Ах, вы про что-то типа DAC? Так у большинства (если не всех) atmega его нет. Если надо крутую обработку сигналов в реальном времени - этим DSP занимаются...

> а мы вместе посмеемся, когда сравним время отклика на атмеге и на х86.

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

>> А ща мы вас обломим. Вспоминаем про SMI и понимаем что на типовом писюшнике x86 вообще
>> никому нифига не гарантирует,
> В исходном посте речь шла что атмега уделает х86, а не типовой писюшник.
> Это как бы две очень большие разницы. Как насчет распаянного эмбед х86,
> без каких либо биоса и прочих финтифлюшек?

Ну так сферический конь в вакууме никому не интересен. Сделайте и приходите. Для начала можете забабахать эквивалент ESC (electronic speed controller) для оборотистых BLDC моторов которые в почете у авиамоделистов например. Там оно влобовую ключи дергает переключая обмотки заместо коллектора. Да еще по росту тока детектирует попадание препятствий в пропеллер, мера чтобы юзвергу руку не порубало в капусту если в пропеллер попадет.

>> А по-фи-гу: у x86 контроллер прерываний вообще внешняя фигня, и не больно какая
>> быстрая, а GPIO вообще толком нет, а пока там достучишься до периферии на шине
> Боже мой, какая безграмотность. Никакой внешний контроллер прерываний не поможет, если
> нет прерываний в самом проце (INTR/NMI).

Боже мой, какая безграмотность, нас волнует время прохождения всей этой этажерки. Практическое, а не сферические кони в вакууме.

> Поставь нужные порты и задействуй INTR, если так уж хочется сравнивать
> сами архитектуры. Про скорость периферии улыбнуло - атмега сравнится
> разве что с лохматым 80386/ISA.

Именно лобовой дерг лапок у атмег очень быстрый, можно менять состояние порта чуть ли не каждый такт, что вообще-то является обалденным по эффективности результатом. Какой там нафиг 80386/isa? Вы им вообще сможете дернуть лапкой на 100 наносекунд? И как это по вашему будет выглядеть? :) А у современного x86 обычно вообще нет GPIO у проца, там только всякие шины ориентированные на ломовую пропускную способность но в ущерб латентности, в надежде что кеш и прочие предсказания ветвлений вытянут. Вытягивают, но очень уж негарантированно и джиттер нехилый. Как и вообще разница в скорости выполнения, в зависимости от. Если время выполнения отличается в разы - оно отличается в разы.

> если не дошло, то объясню еще раз - х86 не используется для
> подобных задач не потому что он этого не умеет, а потому
> что overkill: дорого и неудобно.

Он не используется для этой цели потому что разгонять многотонный дорожный каток до скорости 200 км/ч довольно непростое начинание. Хотя если как следует постараться и пустить его с обрыва - говорят что можно, да :)

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

38. "Представлена четвёртая версия планировщика задач SCHED_DEADL..."  –2 +/
Сообщение от Ваня (??), 09-Апр-12, 13:43 
Для SMI можно указать максимальное время выполнения обработчика, в т.ч. равное "0". Только делать этого без нужды не рекомендуется.
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

45. "Представлена четвёртая версия планировщика задач SCHED_DEADL..."  +/
Сообщение от Аноним (-), 10-Апр-12, 02:22 
> Для SMI можно указать максимальное время выполнения обработчика,

Если фирмварез в SMI зажмет управление себе - фиг с два ты его получишь назад в ring0 до тех пор пока фирмварез не соизволит его вернуть. И если вопрос например в том чтобы ты лично своей головой ответил если юзер вылетит через стекло и об стену убьется - врядли ты захочешь надеяться на пряморукость и честность парней из авардов и ами. Хрен бы их там знает что они там в обработчик впихнут и какие там у этого кода могут быть worst cases.

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

48. "Представлена четвёртая версия планировщика задач SCHED_DEADL..."  +/
Сообщение от Ваня (??), 10-Апр-12, 14:51 
Откройте для себя значение термина "СПЕЦИФИКАЦИЯ" и многое в этом мире станет понятнее.
Ответить | Правка | Наверх | Cообщить модератору

51. "Представлена четвёртая версия планировщика задач SCHED_DEADL..."  +/
Сообщение от Аноним (-), 10-Апр-12, 20:38 
> Откройте для себя значение термина "СПЕЦИФИКАЦИЯ" и многое в этом мире станет понятнее.

Открой мне плиз где можно скачать спецификации на обработчик SMI в award/ami/... и что именно эти господа мне изволят гарантировать относительно своего обработчика. Который я из моей системы ну совсем никак закруглить насильно не могу, даже если бы и захотел.

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

47. "Представлена четвёртая версия планировщика задач SCHED_DEADL..."  +/
Сообщение от sasa (??), 10-Апр-12, 05:36 
> У атмеги джиттер зачастую равен _нулю_ - все априори известно потактово

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

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

52. "Представлена четвёртая версия планировщика задач SCHED_DEADL..."  +/
Сообщение от Аноним (-), 10-Апр-12, 20:41 
> вранье - все зависит от того какая команда исполняется во время прерывания,

Хинт: можно еще и через поллинг работать, например. При этом мы можем _наверняка_ знать какой именно поток команд за сколько тактов выполняется. А в x86 так низзя - кеши и предсказатели ветвлений всяко джиттер внесут, независимо от прерываний и прочего.

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

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

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




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

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