Что такое реал-тайм?
Правильно ли я понимаю, что это программирование основанное на потоках? То есть, кеширование, статические оптимизации, там невозможны? Можно ли назвать RT, в каком-то смысле, потоковые редакторы, вроде ed, sed, ex, teco? И, еще интересует, возможно ли RT-программирование на языках высокого уровня, типа лиспа, js, tcl, perl и тд. в современных осях, типа unix, windows и тд?
anonimous ☆
07.08.14 12:54:10 MSK
← 1 2 →
Мог бы хотя бы википедию открыть:
Система реального времени (СРВ) — это система, которая должна реагировать на события во внешней по отношению к системе среде или воздействовать на среду в рамках требуемых временных ограничений
Потоковые редакторы никакого отношения к реалтайму не имеют. Системы с неотключаемой вытесняющей многозадачностью для всех процессов реалтайм, строго говоря, не умеют. На высокоуровневых языках возможность писать реалтайм софт зависит от особенностей реализации сборки мусора.
kim-roader ★★
( 07.08.14 13:00:00 MSK )
Правильно ли я понимаю, что это программирование основанное на потоках?
Каким же образом ты пришел к такой странной мысли?
anonymous
( 07.08.14 13:10:22 MSK )

Программирование реального времени появляется тогда, когда есть жесткие временные ограничения на длительность тех или иных операций, соблюдение которых должно быть гарантировано. Грубо говоря выполнение какой-то функции в обычной программе может занять 1 мс или 10 мс, и разница будет только в том, сколько пользователю придется ждать результат, а вот в каком-нить электронном блоке управления двигателем нужно гарантированно успеть опросить все датчики и решить сколько бензина нужно впрыснуть в цилиндр и когда дать искру до, собственно, такта впуска. Т.е. потоки данных тут, собственно, вообще ни при чем.
roof ★★
( 07.08.14 13:11:01 MSK )
Реалтайм по определению — когда функция должна выполниться гарантированно за определенное время. На практике — это время обычно достаточно маленькое, поэтому нужны специальные операционные системы, какой попало язык не подойдет (например в ЖС запустится сборщик мусора посреди функции, стопнет всё, функция выполнится на 5 миллисекунд дольще, а пациенту глаз лазером сожжёт.
К потокам это не имеет отношения.
anonymous
( 07.08.14 13:28:37 MSK )

И что интересно — все тут довольно правильно описали псевдореалтайм, а не настоящий реалтайм.
Goury ★★★★★
( 07.08.14 13:38:13 MSK )
Правильно ли я понимаю, что это программирование основанное на потоках?
Нет, ибо в огороде бузина, в Киеве дядька.
Deleted
( 07.08.14 13:39:35 MSK )
Ответ на: комментарий от Goury 07.08.14 13:38:13 MSK

А что ты имеешь ввиду под настоящим реалтаймом?
four_str_sam ★
( 07.08.14 13:47:17 MSK )
Ответ на: комментарий от four_str_sam 07.08.14 13:47:17 MSK

В настоящем не время гарантировано, а ответ на следующий такт приходит. Там не может быть такого, что гарантировано 10мкс и оно пройдёт за 0-10мкс.
Там всегда Nмкс и без вариантов.
Вот такие контроллеры в нормальных двигателях и используются.
Goury ★★★★★
( 07.08.14 14:15:03 MSK )
Последнее исправление: Goury 07.08.14 14:15:24 MSK (всего исправлений: 1)
Ответ на: комментарий от Goury 07.08.14 14:15:03 MSK
Воу воу, полегче. RT — это гарантированное время реакции (не больше чем), выбирается при проектировании системы, для разных задач может быть разным, вплоть до использования вытесняющей многозадачности в системе и костылей в виде прерывания исполнения оси для критичных участков.
anonymous
( 07.08.14 14:27:25 MSK )
Ответ на: комментарий от anonymous 07.08.14 14:27:25 MSK

RT — это гарантированное время реакции (не больше чем), выбирается при проектировании системы
Верно. Формально RT требования есть и у драйвера софтмодема и у писалки CD. Но так как цена ошибки невелика (обрыв связи или запоротая болванка), то никто особо не заморачивался.
monk ★★★★★
( 07.08.14 14:40:49 MSK )
Ответ на: комментарий от anonymous 07.08.14 14:27:25 MSK

Nope, это как раз псевдореалтайм
Не надо путать реалтайм и linux-rt, последний к нему не относится, как бы ни хотели так думать его пользователи и может даже разработчики
Goury ★★★★★
( 07.08.14 14:54:59 MSK )
Ответ на: комментарий от Goury 07.08.14 14:54:59 MSK
Емнить держи — http://www.pic24.ru/doku.php
Теоретик иди книжки читай, даже у аналоговых RT систем есть время реакции. Цифра вообще не допускает идеальной модели, минимальное время один такт. Твой пример с ЭБУ вообще лажа, там время между событиями гигантское, можно усчитаться в усмерть.
anonymous
( 07.08.14 15:02:09 MSK )
Царь уже не торт. Непривычно видеть, как он задаёт вопросы, а не размахивает сенсационными заявлениями.
anonymous
( 07.08.14 16:36:25 MSK )

посоны сверху уже все описали, короче реал-тайм это не для скриптовых язычков если че.
umren ★★★★★
( 07.08.14 16:43:06 MSK )
Ответ на: комментарий от Goury 07.08.14 14:15:03 MSK
это hard rt и soft rt
настоящий риалтайм. ты меня в каждом треде веселишь
anonymous
( 07.08.14 16:52:22 MSK )
Ответ на: комментарий от anonymous 07.08.14 16:36:25 MSK

А это он? Всё на колени упасть хотелось.
UVV ★★★★★
( 07.08.14 17:18:57 MSK )
Последнее исправление: UVV 07.08.14 17:19:14 MSK (всего исправлений: 1)
RT — это контракт. Реализация может быть любой до тех пор, пока контракт выполняется. Другое дело что, как правило, трудно соблюсти контракт при условии, что какой-то компоненты системы его не соблюдает. Таким образом, если у тебя GC допускает вмешательство в процесс работы, об РТ речи не может быть. Еще непонятно, при чем щлесь потоковые редакторы.
anonymous
( 07.08.14 17:25:09 MSK )
Ты мастдайку осью назвал? Не смеши мои тапочки!
А для RT нужны специальные операционки. Линукс не рассчитан на RT, это ж не QNX тебе.
А вообще, я не представляю себе, как можно в многопоточной системе реализовать RT!
Eddy_Em ☆☆☆☆☆
( 07.08.14 17:30:02 MSK )
Ответ на: комментарий от Goury 07.08.14 14:15:03 MSK
Это вообще мистика какая-то! А прерывания ты куда выкинул?
Eddy_Em ☆☆☆☆☆
( 07.08.14 17:31:32 MSK )
Ответ на: комментарий от Eddy_Em 07.08.14 17:30:02 MSK

Патч Xenomai накладываешь на ядро и вот тебе жесткий реал-тайм.
splinter ★★★★★
( 07.08.14 17:31:40 MSK )
Ответ на: комментарий от splinter 07.08.14 17:31:40 MSK
Линукс превращается в однопроцессную однопоточную систему?
Eddy_Em ☆☆☆☆☆
( 07.08.14 17:32:49 MSK )
Ответ на: комментарий от splinter 07.08.14 17:31:40 MSK
Почитал по-диагонали про этот зеномай: это не полноценный RT, а набор сисвызовов для обеспечения псевдо-RT, если это необходимо.
Eddy_Em ☆☆☆☆☆
( 07.08.14 17:35:34 MSK )
Ответ на: комментарий от Goury 07.08.14 14:54:59 MSK
кстати, а что там в ляликсе-rt было сделано, что он стал якобы реалтаймом?
esandmann
( 07.08.14 17:37:24 MSK )
анонiмус опять хвалится своей некомпетенцией. Молодца!
esandmann
( 07.08.14 17:39:02 MSK )
Ответ на: комментарий от Eddy_Em 07.08.14 17:35:34 MSK

wiki
Xenomai — это фреймворк для разработки приложений реального времени, связанный с ядром Linux, для того, чтобы предоставить всеобъемлющую, с открытым интерфейсом жёсткого реального времени поддержку приложений, легко интегрируемых в окружение Linux.
splinter ★★★★★
( 07.08.14 17:43:41 MSK )
Последнее исправление: splinter 07.08.14 17:43:52 MSK (всего исправлений: 1)
Ответ на: комментарий от splinter 07.08.14 17:31:40 MSK
Не забываем еще про специально железо для. ACPI и всякие фирмвари не дремлют!
Deleted
( 07.08.14 17:45:57 MSK )
Ответ на: комментарий от anonymous 07.08.14 15:02:09 MSK

Хей, пример с ЭБУ мой. А почему лажа? Время относительно большое, да, но суть-то была в том, что превышать это время нельзя.
roof ★★
( 07.08.14 17:51:14 MSK )
Пацанчик набрасывает, а ведущие оналитеки, лучшие умы ЛОРа скачут перед ним. Еще и друг-друга поливают. Лепота!
anonymous
( 07.08.14 18:04:22 MSK )
Ответ на: комментарий от esandmann 07.08.14 17:37:24 MSK

Планировкщик пропатчили сильно
Goury ★★★★★
( 07.08.14 18:05:02 MSK )

Правильно ли я понимаю, что это программирование основанное на потоках? То есть, кеширование, статические оптимизации, там невозможны? Можно ли назвать RT, в каком-то смысле, потоковые редакторы, вроде ed, sed, ex, teco?
Ты действительно настолько тупой, что не можешь ни в гугл, ни в википедию, прежде чем нести такую ахинею? Я за бан.
mix_mix ★★★★★
( 07.08.14 18:23:32 MSK )

И, еще интересует, возможно ли RT-программирование на языках высокого уровня. в современных осях.
Тебе сюда. Но разумеется, там не перл с тиклем и не винда с юниксом (точнее, в некотором смысле юникс, но весьма специфичный).
hobbit ★★★★★
( 07.08.14 18:25:24 MSK )
Ответ на: комментарий от Eddy_Em 07.08.14 17:32:49 MSK
С чего ты взял, что rt системы обязательно однопроцессорные или однопоточные?
anonymous
( 07.08.14 18:29:41 MSK )
Ответ на: комментарий от anonymous 07.08.14 18:04:22 MSK
Пацанчик набрасывает, а ведущие оналитеки, лучшие умы ЛОРа скачут перед ним. Еще и друг-друга поливают. Лепота!
а для чего лор еще нужен?
anonymous
( 07.08.14 18:31:51 MSK )
Ответ на: комментарий от anonymous 07.08.14 18:31:51 MSK
anonymous
( 07.08.14 18:34:31 MSK )
Ответ на: комментарий от anonymous 07.08.14 18:34:31 MSK
anonymous
( 07.08.14 18:36:46 MSK )
Ответ на: комментарий от anonymous 07.08.14 18:29:41 MSK
А с того, что ты никаким боком не обеспечишь настоящего рилтайма более чем одному потоку!
Eddy_Em ☆☆☆☆☆
( 07.08.14 18:39:22 MSK )
Ответ на: комментарий от Eddy_Em 07.08.14 17:30:02 MSK

как можно в многопоточной системе реализовать RT!
Wait-free алгоритмы всякие, например?
vazgen05 ★★★
( 07.08.14 18:39:24 MSK )
Ответ на: комментарий от umren 07.08.14 16:43:06 MSK

И не для текстовых конфигов.
Hertz ★★★★★
( 07.08.14 18:43:08 MSK )
Ответ на: комментарий от vazgen05 07.08.14 18:39:24 MSK
Ну и как это реализовать? Скажем, одновременно приходят N событий, каждое нужно обработать за время t[N]. Количество ядер в системе M < N+1. И чо делать, если каждое время t[N] не больше K[N] — времени, требуемого на выполнение обработчика. Ну и sum(K[N]/t[N]) >1?
Eddy_Em ☆☆☆☆☆
( 07.08.14 18:44:47 MSK )
Ответ на: комментарий от Eddy_Em 07.08.14 18:39:22 MSK
Блин, вот у тебя реально дети есть? Мне их иногда жаль.
Я бы такого папу просто вырос и убил.
anonymous
( 07.08.14 18:46:57 MSK )
Системы реального времени — это такие системы, которые выполняют запрошенное действие за строго определенное время, не дольше. Обычно речь идет о микро- или миллисекундах.
С точки зрения программирования, требуется быстро отдать процессор приоритетной задаче при поступлении некоего сигнала. Далее, код должен выполняться как можно быстрее, без долгих циклов, например. Выбираются алгоритмы, которые выполняются за предсказуемое время. Это — одна из причин, почему языки высокого уровня тут редко применяются.
Если нужны микросекунды, то надо думать и о железе тоже. Доступ к диску — невозможен, потому что теряем десятки миллисекунд. Доступ в динамическую память — нежелателен, слишком много циклов процессова на это уйдет. Код и данные храним строго в статической памяти (быстрой и дорогой).
Ну и каналы передачи данных. Например, Wi-Fi вообще не подходит, так как время передачи пакета непредсказуемо. Используются специальные шины и протоколы.
Deleted
( 07.08.14 18:47:00 MSK )
Ответ на: комментарий от Eddy_Em 07.08.14 18:44:47 MSK

Ну если такое условие задачи, то придется перепроектировать систему, щито поделать.
vazgen05 ★★★
( 07.08.14 18:56:30 MSK )
Ответ на: комментарий от hobbit 07.08.14 18:25:24 MSK
qnx — в ее интегрированности и целостности что-то есть. работал с ней, очень понравилось, после нее linux выглядит зоопарком. специфика конечно, далеко не ОС общего назначения.
Deleted
( 07.08.14 18:57:50 MSK )
Ответ на: комментарий от vazgen05 07.08.14 18:56:30 MSK
Вот и объясни анонимусу, что никакого рилтайма не будет. Особенно если у тебя по крону запустится какой-нибудь updatedb и убьет своим 12309 нафиг все!
Eddy_Em ☆☆☆☆☆
( 07.08.14 19:02:33 MSK )
Ответ на: комментарий от Eddy_Em 07.08.14 19:02:33 MSK
Liu JWS: Real-time Systems, Prentice-Hall, Upper Saddle River, New Jersey 2000, 610 p. ISBN 0-13-099651-3.
Что? Как не читал? А я читал. Изыдиъ, лицеладонiе!
anonymous
( 07.08.14 19:05:27 MSK )
Ответ на: комментарий от Eddy_Em 07.08.14 18:44:47 MSK

Очевидно, взять количество ядер больше N 🙂
Что такое real-time marketing и персонализация промо-предложения?
В последнее время персонализация промопредложений начала развиваться в новом направлении в связи с появлением нового инструмента — real-time маркетинга. Маркетинг в реальном времени — это возможность сходу определять наиболее релевантный и оптимальный для конкретного потребителя подход в заданных условиях. Этот инструмент подбирает самый подходящий для вашего потребителя оффер, чем отличается от рекламного подхода, где под оффер подбирается уже аудитория.
К примеру, real-time маркетинг применяется в контактных центрах обслуживания клиентов, когда в ответ на обращение с жалобой существующая RTM система мгновенно анализирует ценность клиента, его историю и потенциал, выдавая оператору необходимый небольшой бонус, который можно озвучить клиенту во время звонка, в целях уменьшения его негативного настроя. Это могут быть, например, различные бесплатные услуги или специальные способы их получения.
Напомним, что описанное — частный случай применения CRM-платформ и имеющегося у них потенциала персонализации вашего промо. Если говорить в общем, то понимая ценность клиента и профиль его потребления, условия бонусирования легко адаптируются.
Реализация персональных промоофферов платформой происходит с помощью:
- анализа профайла потребителя (текущее потребление, поведения и история покупок),
- определение направлений развития для каждого потребителя,
- постановка в соответствии с этим конкретных задач, их донесение до потребителя с помощью мотивирующей механики
Что делает платформа: во-первых, отслеживает все транзакции, которые являются формализованными признаки потребительского поведения, а также коммуникации, активности, участие в промо, т.е. коммуникационное поведение. Во вторых, на основе этих данных выстраивает персональный профиль потребителя — что можно представить как дневник его действий как покупателя.
Все проекты включают в себя разработку CRM-политик — правил и триггеров, которые влияют на выполнение бизнес-целей. Далее они накладываются на персональные профили с помощью аналитического модуля платформы, что автоматизирует реакцию на какое-либо поведение через начисление баллов, персональный промооффер или отправку сообщение по выбранному каналу.
ПЦР в реальном времени
ПЦР в реальном времени (или количественная ПЦР, англ. Real-time PCR, qPCR, qRT-PCR) — метод, основанный на методе полимеразной цепной реакции, используется для одновременной амплификации и измерения количества данной молекулы ДНК. Метод ПЦР в реальном времени включает в себя одновременно детекцию и количественное определение (измерение непосредственно количества копий, либо измерение копий относительно внесенной ДНК или дополнительных калибровочных генов) специфической последовательности ДНК в образце.
Метод использует общие принципы ПЦР. Основное отличие состоит в том, что измеряется количество амплифицированной ДНК в реальном времени после каждого цикла амплификации. Для количественного определения используют два метода — флюоресцентные красители, интеркалирующие в двуцепочечные молекулы ДНК, и модифицированные олигонуклеотиды (ДНК-зонды), которые флюоресцируют после гибридизации с комплементарными участками ДНК.
Часто ПЦР в реальном времени комбинируют с ОТ-ПЦР (обратная транскрипция) для измерения малых количеств мРНК, что позволяет исследователю получать количественную информацию о содержании данной мРНК в клетке и, соответственно, позволяет судить об уровне экспрессии данного гена в отдельной клетке или ткани.
Что такое Real-time Analytics? Проанализируйте свои данные в режиме реального времени
В современном бизнесе, где данные играют важную роль в принятии стратегических решений, конкурентоспособность зависит от способности организации оперативно обрабатывать, анализировать информацию. Одним из ключевых инструментов, позволяющих организациям оперативно получать ценные инсайты из данных, является real-time analytics, или аналитика в режиме реального времени.
Приходите на наш бесплатный вебинар по разработке без кода, чтобы задать вопросы, узнать больше про зерокодинг и попробовать себя в новой профессии!
Что такое Real-time Analytics
Real-time analytics — это процесс сбора, обработки, анализа данных в режиме реального времени. В отличие от традиционных методов аналитики, которые обрабатывают данные с опозданием, она позволяет организациям получать актуальную информацию практически мгновенно. Это открывает возможности для более оперативного принятия решений, выявления новых тенденций, повышения конкурентоспособности бизнеса.
Как это работает
Real-time analytics начинается со сбора данных из различных источников. Источники информации расширяются: сайты, социальные сети, датчики IoT (интернет вещей). Они поступают в хранилище, где они могут быть обработаны, проанализированы.
В real-time analytics использование потоковых технологий играет ключевую роль. Потоковые технологии позволяют обрабатывать по мере их поступления, в реальном времени. Это особенно полезно в случае больших объемов, когда традиционные методы не могут обеспечить достаточную скорость обработки.
Одним из популярных инструментов для реализации real-time analytics является Apache Kafka. Kafka — это распределенная система потоковых данных, которая может обрабатывать, хранить большие объемы в реальном времени. Он позволяет организациям эффективно обрабатывать информацию, осуществлять маршрутизацию их между различными системами, а также выполнять анализ непрерывно.
Преимущества метода
Аналитика в реальном времени – это возможность анализировать данные практически непрерывно. Преимущества:
- Оперативное принятие решений: real-time analytics позволяет организациям получать информацию по мере ее возникновения. Например, если у вас есть интернет-магазин, вы можете отслеживать активность клиентов, чтобы оперативно реагировать на изменения спроса, регулировать цены или запускать маркетинговые кампании.
- Выявление новых возможностей: быстрый доступ к актуальным данным позволяет организациям выявлять новые тенденции, возможности. Например, ритейлер может отслеживать социальные медиа, мгновенно реагировать на волнующие темы, создавая новые продукты или акции.
- Улучшенное управление рисками: позволяет оперативно обнаруживать, реагировать на потенциальные проблемы. Банки могут использовать это для обнаружения мошеннической активности, а компании в сфере кибербезопасности — для выявления атак, немедленного реагирования на них.
- Оптимизация операций: позволяет организациям оптимизировать свои операционные процессы. Например, производственная компания может использовать ее для мониторинга, управления своими производственными линиями, обнаруживая проблемы, принимая меры прямо сейчас.
- Улучшенное взаимодействие с клиентами: позволяет лучше понять клиентов. Компании могут отслеживать поведение клиентов, идентифицировать их предпочтения, предлагать персонализированные предложения. Это позволяет улучшить уровень обслуживания, удовлетворенность клиентов.
Рекомендации внедрения
Вот несколько рекомендаций по внедрению real-time аналитики в вашу организацию:
- Определите свои цели: будьте конкретными, измеримыми. Например, вы можете хотеть улучшить эффективность операций, увеличить продажи или сократить время реакции на проблемы.
- Оцените свои данные: определите данные для анализа в режиме реального времени. Рассмотрите источники данных, с которыми вы работаете,, убедитесь, что они готовы к потоковой обработке. При необходимости проведите аудит данных, устраните возможные проблемы, такие как дубликаты или неполные данные.
- Подберите технологию: исследуйте различные инструменты, платформы. Apache Kafka, Apache Spark, Amazon Kinesis.
- Установите правильную инфраструктуру: подготовьте необходимую инфраструктуру для реализации. Это может включать в себя настройку серверов, БД, систем мониторинга, инструментов для визуализации.
- Разработайте аналитические модели: определите, какие типы аналитических моделей будут наиболее полезны для вашего бизнеса. Например, вы можете использовать машинное обучение для прогнозирования спроса или обнаружения аномалий. Разработайте, оптимизируйте эти модели, чтобы они могли работать в режиме реального времени.
- Постепенное внедрение: не пытайтесь внедрить технологию полностью сразу. Начните с пилотного проекта или ограниченной области вашего бизнеса, чтобы проверить эффективность, работоспособность системы. Постепенно масштабируйте свои возможности.
Пример применения
Представим себе фирму по доставке еды, которая хочет оптимизировать свои операции, повысить удовлетворенность клиентов. Вот как они могут применить эту технологию:
- Мониторинг заказов в режиме реального времени: фирма может использовать методы для отслеживания заказов, получаемых из различных источников (например, сайт, мобильное приложение). Это позволит им мгновенно видеть новые заказы, изменения статуса, обрабатывать их немедленно.
- Прогнозирование спроса: фирма может анализировать информацию о заказах, клиентах, чтобы прогнозировать спрос на разные блюда, оптимизировать запасы, производство. Например, если аналитика показывает повышенный спрос на пиццу в определенное время дня, компания может готовить больше пиццы заранее, чтобы сократить ожидание клиентов.
- Мониторинг качества обслуживания: это может помочь фирме отслеживать качество обслуживания клиентов. Они могут анализировать данные о доставке, отзывах клиентов, проблемах с заказами, чтобы оперативно реагировать на негативные ситуации, предлагать решения.
- Персонализированные предложения: фирма может использовать методы, чтобы анализировать предпочтения, истории заказов клиентов, предлагать персонализированные предложения, акции. Например, если клиент часто заказывает суши, компания может предложить ему скидку на следующий заказ этого блюда.
Заключение
Real-time analytics предоставляет организациям мощный инструмент для анализа данных в режиме реального времени. Он позволяет оперативно получать ценные инсайты, принимать решения на основе актуальных данных, улучшать бизнес.