looser 12 December 16, 2024 Posted December 16, 2024 · Report post В 08.08.2024 в 12:36, jcxz сказал: Какова максимальная возможная реалтаймовость не-GUI потока win-приложения на уровне пользователя (без разработки драйвера уровня ядра)? ни какова. Система не занимается реалтаймовостью. Она распределяет ресурс между процессами. Если процесс 1, считай, что весь ресурс твой. Что касается нейтрино и пр куэниксов, они реалтаймовые исключительно как быстро реагирующие на внешние события, требующие быстрой (бгг) реакции. Короче говоря, всегда можно организовать вычисления, требующие реального масштаба времени в рамках любой ос в кольце пользователя. В массе своей. Хотя и имеют место быть всякие тонкости типа задержки. Но это уже экзотика. Тут действительно без кольца 0 никак. Да и тут, если события не слишком частые, а цпу шустрый - все равно, сколько времени он переключает контексты. Quote Share this post Link to post Share on other sites More sharing options...
mantech 104 December 17, 2024 Posted December 17, 2024 · Report post 17 часов назад, sasamy сказал: венда может на примерно любом arm soc работать Пример в студию?))) Quote Share this post Link to post Share on other sites More sharing options...
sasamy 14 December 17, 2024 Posted December 17, 2024 · Report post 14 minutes ago, mantech said: Пример в студию?))) https://www.microsoft.com/ru-ru/software-download/windows11arm64 Quote Share this post Link to post Share on other sites More sharing options...
mantech 104 December 17, 2024 Posted December 17, 2024 · Report post 3 часа назад, sasamy сказал: https://www.microsoft.com/ru-ru/software-download/windows11arm64 Эт по сути немного доработанное win 10 iot, с кучей ограничений: 1. Только x32 (x86) приложения могут быть эмулированы, приложения, которые имеют только x64 разрядность на данный момент не работают. 2. Драйвера работают только для периферийных устройств с plug-and-play технологией, т.е с универсальными драйверами Windows. Драйвера x32 (x86) типа не поддерживаются, как альтернативу возможно использовать нативные драйвера ARM 64. 3. Не работают игры на OpenGL с версией выше 1.1. Игры, которые используют технологию античит так же не работают. Так же не работает Hyper-V. 4. Из-за ограничений технологии ARM не поддерживаются так же многие тесты, такие как: PCMark 8, Work, Cinebench R15, Premiere, Blender, OpenGL 2.1. MATLAB. И нахрена нужен этот конь педальный?))) Quote Share this post Link to post Share on other sites More sharing options...
sasamy 14 December 17, 2024 Posted December 17, 2024 · Report post 11 minutes ago, mantech said: И нахрена нужен этот конь педальный?) без разницы, своих покупателей найдёт Quote Share this post Link to post Share on other sites More sharing options...
khach 56 December 17, 2024 Posted December 17, 2024 · Report post Если надо реально быстро поток данных принимать, обрабатывать его на GPU и писать на диски, то есть неплохая рабочая лошадка QNAP TS-1677X - NAS заточенный не только на сохранение данных, но и на их предобработку. Там конечно линух заточеный QTS а не винда, зато лаги шин и обмена известны. Можно GPU добавлять по желанию. Ну а винда- внешним терминалом. Quote Share this post Link to post Share on other sites More sharing options...
quаrk 41 December 17, 2024 Posted December 17, 2024 · Report post 33 минуты назад, khach сказал: Там конечно линух заточеный QTS а не винда... Вот, именно... В конечном счете, все сводится к попытке реализации RT OC. Либо в виде усеченных, доработанных и переработанных версий известных систем. Либо в виде коммерческих "поделок" на эту тему. 33 минуты назад, khach сказал: ...Ну а винда- внешним терминалом. Для таких задачах, ни на что другое она и годиться. Quote Share this post Link to post Share on other sites More sharing options...
khach 56 December 17, 2024 Posted December 17, 2024 · Report post 1 час назад, quаrk сказал: В конечном счете, все сводится к попытке реализации RT OC. С какой стати? Линух тоже не RT OC, у него ядро не соответствует архитектуре RT. Но в данном случае это не важно, т.к операционная система не передает данные, она только настраивает каналы передачи данных между сетевыми интерфейсами, узлами обработки информации (GPU) и узлами хранения информации ( дисками) и следит за загрузкой, балансировкой потоков и статистикой обмена. Данные не проходят через ОС. Через ОС крутится только поток событий- получение пакетов данных по 10G эзернету, отправлка их или напрямую в буферную память райд массива или на GPU, окончание обработки GPU. отправка данных на хранение. Все эти транзакции идут по шине без использования ЦП, ЦП на шинах совсем не самый главный и не приоритетный узел. Quote Share this post Link to post Share on other sites More sharing options...
RobFPGA 58 December 17, 2024 Posted December 17, 2024 · Report post 1 hour ago, khach said: ... . Данные не проходят через ОС. ... Прям сказка да и только ... А чем тогда занят сетевой стек в Linux? А как тогда работает фильтрация пакетов в ядре Linux? И для чего тогда возятся с DPDK если и так "... сетевые данные не проходят через OC"? Именно из за того что изначально в Linux все сетевые данные данные проходили через ядро, с необходимостью копирования оных в/из пространство ядра и начались попытки это обойти используя различные реализации zero-copy механизмов. И да, ЦП на то и Центральный Процессор что он на шине "самый главный и приоритетный". А DMA обычно имеет более низкий приоритет на шине чем запросы ЦП. 22 hours ago, looser said: Система не занимается реалтаймовостью. Она распределяет ресурс между процессами. А кто же тогда, как ни ОС будет занимается реалтаймовостью? Ведь именно гарантированное по времени выделение ресурса (времени ЦП, памяти, IO ...) процессу в ответ на событие/запрос и есть по сути RT. Ну а то что пользовательский процес один ещё не значит что нет процессов самой OC, которым тоже нужны ресурсы ... Quote Share this post Link to post Share on other sites More sharing options...
khach 56 December 17, 2024 Posted December 17, 2024 · Report post 7 минут назад, RobFPGA сказал: А чем тогда занят сетевой стек в Linux? А как тогда работает фильтрация пакетов в ядре Linux? А он обслуживает медленный 1 гигабитный порт, через который идет управление и сервисные функции. Или вы думаетет что ЦП типа AMD Ryzen™ 3 1200 4-core/4-thread 3.1 GHz processor (Turbo Core to 3.4 GHz) пропихает через себя поток от двух 10GBASE-T ? Quote Share this post Link to post Share on other sites More sharing options...
sasamy 14 December 17, 2024 Posted December 17, 2024 · Report post 11 minutes ago, RobFPGA said: А чем тогда занят сетевой стек в Linux? А как тогда работает фильтрация пакетов в ядре Linux? смотря на каком контроллере ethernet - на скоростных payload лежит в буфере DMA а сетевые заголовки в отдельном буфере который обрабатывает CPU, данные никуда не копируются и через сетевой стек проходят как указатель. Quote Share this post Link to post Share on other sites More sharing options...
RobFPGA 58 December 17, 2024 Posted December 17, 2024 · Report post 7 minutes ago, khach said: А он обслуживает медленный 1 гигабитный порт, через который идет управление и сервисные функции. Или вы думаетет что ЦП типа AMD Ryzen™ 3 1200 4-core/4-thread 3.1 GHz processor (Turbo Core to 3.4 GHz) пропихает через себя поток от двух 10GBASE-T ? А 1 гигабитный порт данные не передаёт? ... 8 minutes ago, khach said: Или вы думаетет что ЦП типа AMD Ryzen™ 3 1200 4-core/4-thread 3.1 GHz processor (Turbo Core to 3.4 GHz) пропихает через себя поток от двух 10GBASE-T ? Не скажу про AMD Ryzen™ 3 1200, но лет 10 назад, на 4-х ядерном Core I7 я обрабатывал поток от 4-х 10G сетевых карт. Все 4 GByte/s ... Quote Share this post Link to post Share on other sites More sharing options...
khach 56 December 17, 2024 Posted December 17, 2024 · Report post 7 минут назад, RobFPGA сказал: А 1 гигабитный порт данные не передаёт? ... Он может их передавать, но медленно и печально по сравнению с двумя 10G. Т. е если возникла необходимость добраться до данных дискового массива через 1G то это конечно возможно, но какой смысл? И обычно 10G порты подключены к доверенной сети, поэтому фильтрация там ограничена до минимально необходимого уровня. Quote Share this post Link to post Share on other sites More sharing options...
sasamy 14 December 17, 2024 Posted December 17, 2024 · Report post 17 minutes ago, RobFPGA said: Не скажу про AMD Ryzen™ 3 1200, но лет 10 назад, на 4-х ядерном Core I7 я обрабатывал поток от 4-х 10G сетевых карт. Все 4 GByte/s сейчас данные могут даже не копироваться в память хост системы а напрямую улетать на ускоритель из буфера в сетевом контроллере - если вы не в курсе Nvidia купила Mellanox и у них свой прориетаный протокол есть для этого, Google предлагала свою реализацию "для всех пацанов" но не знаю - приняли ли её, я не следил за этими патчами https://lore.kernel.org/dri-devel/20230710223304.1174642-1-almasrymina@google.com/ Quote Share this post Link to post Share on other sites More sharing options...
RobFPGA 58 December 17, 2024 Posted December 17, 2024 · Report post 33 minutes ago, khach said: Т. е если возникла необходимость добраться до данных дискового массива через 1G то это конечно возможно, но какой смысл? Ну и касаемо дисковых массивов - если я не ошибаюсь в том же упоминавшемся тут QNAP TS-1677X нет хардварного RAID контроллера, то есть все поддерживаемые режимы RAID (0, 1, 5, 6, 10, 50, 60) чисто софтварные. А это значит что все данные, и 1G и 2x10G идут через проц, в котором и считаются счек-суммы/хэши для RAID ... Quote Share this post Link to post Share on other sites More sharing options...