Что такое самонастраивающаяся система драйверов поддержки компьютерного оборудования
Обновлено: 21.11.2024
Intel является лидером в области аппаратных и программных систем, которые выполняют функции приложений в реальном времени и реагируют на события в предсказуемые и конкретные временные ограничения.
Что такое вычисления в реальном времени?
Вычисления в реальном времени относятся к аппаратным и программным системам, которые должны работать в рамках определенных правил и сроков. Программы реального времени должны гарантировать ответ в установленные сроки. Для этого решения, работающие в режиме реального времени, требуют высокой степени координации как внутри устройств, так и между ними. Процессоры Intel® Time Coordinated Computing (Intel® TCC) обеспечивают оптимальную производительность вычислений и времени для приложений реального времени. Соедините эти процессоры с сетевыми контроллерами Intel® Ethernet с поддержкой IEEE 802.1 Time-Sensitive Networking (TSN) или с любым количеством других популярных сетевых устройств для обеспечения работы сложных систем реального времени.
Концепции реального времени
Следующие четыре понятия определяют временные термины и свойства системы, чтобы она могла выполнять вычисления в реальном времени.
Задержка: время между двумя событиями
Дрожание: изменения задержки во времени для аналогичной обработки событий
Своевременность: возможность получить ожидаемый результат к установленному сроку
Синхронизация времени: способность агентов координировать независимые часы и управлять ими в унисон
Сегмент технологий Интернета вещей требует возможностей, связанных со временем, как в сетях, так и во встроенных устройствах. Intel обеспечивает сценарии использования в реальном времени, поддерживая TSN для обеспечения синхронизации времени и улучшения своевременности на несколько порядков для улучшения Ethernet. Intel TCC, который можно использовать с TSN и другими сетевыми протоколами, обеспечивает синхронизацию времени и своевременность для программного обеспечения, датчиков и исполнительных механизмов, подключенных к системе на кристалле (SoC). SoC — это последний дюйм между этим сетевым интерфейсом и платформой и системой. Это приводит к уменьшению джиттера и повышению производительности приложений, чувствительных к задержкам, на сетевом и системном уровнях.
Решения IoT в режиме реального времени ориентированы на случаи использования в жестком режиме реального времени, когда пропущенный срок рассматривается как системный сбой. Эта система необходима для промышленной автоматизации, робототехники, автомобилестроения, медицины, розничной торговли и других областей, где функция не работает, если ее нельзя выполнить в течение отведенного промежутка времени.
Процессоры Intel® и вычисления в реальном времени
Процессоры Intel универсальны и могут использоваться в самых разных областях, включая обработку данных в облаке и центрах обработки данных, игровых и мультимедийных ПК, офисных ноутбуков и периферийных устройств.
Больше вычислений в отведенное время.
Мощные возможности процессора позволяют выполнять некоторые ограниченные по времени операции быстрее или выполнять больше операций в ограниченном по времени окне.
Используйте дополнительные возможности для запуска сложных алгоритмов и аналитики на периферии, например для настройки в режиме реального времени и машинного обучения.
Возможности работы в режиме реального времени позволяют создавать высокопроизводительные программно-определяемые логические контроллеры (ПЛК).
Операционные технологии (ОТ), которые больше похожи на информационные технологии (ИТ).
Управляйте ОТ так же, как ИТ, обеспечивая надежность, предсказуемость, управляемость и доступность.
Сокращение времени выхода на рынок.
Используйте преимущества платформ нового поколения с гибкостью и масштабируемостью технологий Intel для работы в реальном времени. Повторно используйте код на разных платформах Intel® и в будущих платформах. Готовая открытая платформа с поддержкой Linux. Используйте меньше специализированных вычислений и меньшее количество более мощных процессоров.
Следующее поколение процессоров Intel, таких как процессоры Intel Atom® x6000E, процессоры Intel® Core™ 11-го поколения и процессоры Intel® Xeon® W, отвечают строгим временным требованиям приложений реального времени. Вы также можете сочетать эти функции с сетевыми контроллерами Intel® Ethernet, поддерживающими чувствительные ко времени сети (TSN) IEEE 802.1, или с другими популярными сетевыми устройствами для питания сложных систем реального времени.
Следующие SKU оптимизированы для работы в режиме реального времени благодаря технологии Intel® Time Coordinated Computing и одному встроенному порту Ethernet с поддержкой TSN.
Промышленные процессоры, рекомендуемые для приложений реального времени
Следующие SKU оптимизированы для работы в режиме реального времени благодаря технологии Intel® Time Coordinated Computing и трем встроенным портам Ethernet с поддержкой TSN.
Промышленные процессоры, рекомендуемые для приложений реального времени
Следующие SKU оптимизированы для работы в режиме реального времени благодаря технологии Intel® Time Coordinated Computing и двум встроенным портам Ethernet с поддержкой TSN.
Промышленные процессоры, рекомендуемые для приложений реального времени
Дискретные продукты Ethernet
Следующие продукты Ethernet имеют функцию TSN.
-
(условия встроенного использования, дискретный Ethernet с поддержкой 2,5 G TSN). (расширенный временный интервал, дискретный Ethernet с поддержкой TSN 2,5 Гбит/с).
Компьютинг Intel® Time Coordinated Computing
Intel представляет функции процессора, которые повышают производительность вычислений с помощью Intel® Time Coordinated Computing (Intel® TCC). Это делает процессоры подходящими как для общей производительности вычислений, так и для сценариев реального времени.
Intel TCC помогает каждому элементу рабочей нагрузки работать надежно и предсказуемо в течение определенного временного окна. Эти вычисления в реальном времени включают в себя функции, распределенные по нескольким процессорным модулям Intel, которые:
- Убедитесь, что требования к производительности выполняются в автономной среде и при наличии параллелизма.
- Включите временную переносимость приложений между процессорами Intel®, чтобы обеспечить согласованное время выполнения в наихудшем случае для приложения реального времени в разных системах реального времени.
- Предлагайте производительность в режиме реального времени готовым процессорам с включенными функциями, что избавляет разработчиков от необходимости разбираться в сложных низкоуровневых концепциях.
- Защитите приложения реального времени от помех, вызванных выполнением других приложений.
На следующей диаграмме показано, как различные категории настройки помогают уменьшить наихудшую задержку. Типы настройки слева оказывают более абсолютное влияние на производительность, но такое же относительное влияние, как и типы справа.
Рис. 1. Стратегия настройки платформы Intel TCC.
Различные аппаратные и программные компоненты с поддержкой Intel TCC можно использовать вместе или по отдельности, чтобы обеспечить гибкость для обеспечения производительности в режиме реального времени.
Улучшения программного стека в режиме реального времени
Рис. 2. Шаги по оптимизации стека программного обеспечения для улучшения в реальном времени.
Каждый программный компонент помогает повысить производительность в реальном времени за счет устранения задержек и джиттера, вызванных различными источниками.
Как показано на рис. 2, ниже описаны компоненты и шаги, которые необходимо предпринять для оптимизации стека программного обеспечения в режиме реального времени.
- Удовлетворяет времени цикла (количеству времени, отведенному для выполнения циклической рабочей нагрузки) в диапазоне малых миллисекунд.
- Решает задержку операционной системы с помощью дистрибутива Linux* Yocto Project* с ядром реального времени и оптимизированными драйверами.
- Удовлетворяет времени цикла в диапазоне сотен микросекунд.
- Решает задержку процессора с помощью параметра режима Intel® TCC, который отключает управление питанием и включает функции Intel TCC, сокращение прерываний управления системой (SMI) и другие оптимизации.
- Удовлетворяет времени цикла менее 100 микросекунд или уникальным требованиям.
- Устраняет необходимость сбалансировать производительность, мощность и общие вычислительные ресурсы в реальном времени за счет настройки кэша или операций ввода-вывода.
При совместном или раздельном использовании эти компоненты обеспечивают гибкость в выполнении целого ряда требований в реальном времени.
Инструменты Intel® Time Coordinated Computing Tools (Инструменты Intel® TCC)
Корпорация Intel реализует более сложные функции настройки процессора и BIOS, представляя Intel® TCC Tools, которые содержат API, служебные программы, образцы приложений, документацию и многое другое, чтобы помочь вам и вашим клиентам раскрыть возможности Intel в режиме реального времени. процессоры.
Совместимость и интеграция Intel® TCC
Процессоры
Прошивка
Операционная система
- Убунту 20.04 LTS
- Yocto Project* Linux с полной поддержкой target
- Windows® 10 — ограниченная поддержка, оптимизатор потоков данных Intel TCC Tools только в целевой системе. Дополнительные сведения см. в документации по Intel TCC Tools.
Другие инструменты Intel
Примечание. Поддержка сторонних производителей может быть изменена в соответствии с расписанием продуктов сторонних производителей.
Сети, зависящие от времени (TSN)
Совместимость
Основные элементы
Синхронизация времени: распределенное точное ощущение времени между различными вычислительными системами, такими как датчики, приводы и контроллеры.
Планирование трафика: управление трафиком с помощью сетевой инфраструктуры на основе точного времени, включая автоматизацию и контроль.
Поддерживаемые протоколы Ethernet TSN
Протокол | Описание |
---|---|
IEEE 802.1AS | Определяет обобщенный протокол точного времени (gPTP) и обеспечивает межуровневую синхронизацию service |
IEEE 802.1Qav | Усовершенствования пересылки и организации очередей для чувствительных ко времени потоков, которые определяют формирователь на основе кредита |
IEEE 802.1Qbv | Усовершенствования для запланированного трафика. Он определяет очистку очереди с учетом времени, чтобы запланировать передачу кадров относительно известной временной шкалы |
IEEE 802.1Qbu | Приоритетное прерывание кадров, позволяющее порту моста для приостановки передачи кадров, не критичных ко времени, пока передаются один или несколько кадров, критичных ко времени |
IEEE 802.3br | Перемежающийся экспресс-трафик (IET ) |
IEEE 802.1Qcc | Протокол резервирования потоков (SRP) — усовершенствования второго поколения |
Протоколы на основе TSN — общий доступ
Intel обеспечивает ценность для всех рынков, предоставляя основу для услуг в режиме реального времени, поддерживающих несколько протоколов. Чувствительная ко времени сеть добавляет к стандартным сетям возможности для детерминированной синхронизированной доставки данных.
Рис. 3. TSN может служить основой для сервисов в режиме реального времени для нескольких протоколов и стандартных сетей.
Примеры
Intel® Edge Controls для промышленных предприятий (Intel® ECI)
Аппаратное и программное обеспечение на этой платформе объединяет промышленные системы управления и ускоряет программно-определяемые решения за счет интеграции вычислений в реальном времени, стандартного подключения, безопасности, виртуализации и управления, подобного ИТ.
Подробнее
Мост протокола Edge-Control
В примере с двусторонним обменом данными с одним хостом используется несколько экземпляров моста протокола Edge-Control и подключаемого модуля унифицированной архитектуры OPC (OPC UA) для создания цикла двустороннего обмена данными, а также демонстрируется, как настроить подключаемый модуль для использования преимуществ ТСН.
Документация
Работа с публикацией/подпиской
В этом примере показано, как опубликовать информационную модель по многоадресной рассылке UDP с использованием кодировки UADP.
Учебник
Проект документации TSN для Linux
Linux для вычислений в реальном времени помогает разработчикам и интеграторам приступить к работе с несколькими функциями TSN, включенными в вышестоящей экосистеме Linux.
Документация
Используйте информацию в этом разделе для настройки производительности сетевых адаптеров для компьютеров под управлением Windows Server 2016 и более поздних версий. Если ваши сетевые адаптеры предоставляют параметры настройки, вы можете использовать эти параметры для оптимизации пропускной способности сети и использования ресурсов.
Правильные настройки сетевых адаптеров зависят от следующих переменных:
- Сетевой адаптер и набор его функций
- Тип рабочей нагрузки, которую выполняет сервер
- Аппаратные и программные ресурсы сервера
- Ваши цели по производительности для сервера
В следующих разделах описаны некоторые параметры настройки производительности.
Включение функций разгрузки
Обычно бывает полезно включить функции разгрузки сетевого адаптера. Однако мощность сетевого адаптера может оказаться недостаточной для работы с возможностями разгрузки с высокой пропускной способностью.
Не используйте функции разгрузки IPsec Task Offload или TCP Chimney Offload. Эти технологии устарели в Windows Server 2016 и могут отрицательно сказаться на производительности сервера и сети. Кроме того, эти технологии могут перестать поддерживаться корпорацией Майкрософт в будущем.
Например, рассмотрим сетевой адаптер с ограниченными аппаратными ресурсами. В этом случае включение функций разгрузки сегментации может снизить максимальную устойчивую пропускную способность адаптера. Однако, если сниженная пропускная способность приемлема, вам следует включить функции разгрузки сегментации.
Некоторые сетевые адаптеры требуют независимого включения функций разгрузки для путей отправки и получения.
Включение масштабирования на стороне приема (RSS) для веб-серверов
RSS может улучшить веб-масштабируемость и производительность, если на сервере меньше сетевых адаптеров, чем логических процессоров. Когда весь веб-трафик проходит через сетевые адаптеры с поддержкой RSS, сервер может обрабатывать входящие веб-запросы из разных подключений одновременно на разных процессорах.
Чтобы определить, поддерживает ли сетевой адаптер RSS, можно просмотреть информацию RSS на вкладке "Дополнительные свойства" свойств сетевого адаптера.
Профили RSS и очереди RSS
Предопределенным профилем RSS по умолчанию является NUMAStatic, который отличается от профиля по умолчанию, использовавшегося в предыдущих версиях Windows. Прежде чем начать использовать профили RSS, просмотрите доступные профили, чтобы понять, когда они полезны и как они применимы к вашей сетевой среде и оборудованию.
Например, если вы открываете Диспетчер задач и просматриваете логические процессоры на своем сервере и видите, что они недостаточно используются для получения трафика, вы можете попробовать увеличить количество очередей RSS с двух по умолчанию до максимального, допустимого для вашей сети. адаптер поддерживает.В вашем сетевом адаптере могут быть параметры для изменения количества очередей RSS как часть драйвера.
Увеличение ресурсов сетевого адаптера
Для сетевых адаптеров, которые позволяют вручную настраивать ресурсы, такие как буферы приема и отправки, следует увеличить выделенные ресурсы.
Некоторые сетевые адаптеры устанавливают буферы приема на низкий уровень для экономии памяти, выделенной хостом. Низкое значение приводит к потере пакетов и снижению производительности. Поэтому для сценариев с интенсивным приемом мы рекомендуем увеличить значение буфера приема до максимума.
Если сетевой адаптер не предоставляет ручную настройку ресурсов, ресурсы настраиваются либо динамически, либо для ресурсов устанавливается фиксированное значение, которое нельзя изменить.
Включение модерации прерываний
Для управления модерацией прерываний некоторые сетевые адаптеры предоставляют разные уровни модерации прерываний, разные параметры объединения буферов (иногда отдельно для буферов отправки и приема) или и то, и другое.
Вам следует рассмотреть возможность модерации прерываний для рабочих нагрузок, связанных с процессором. При использовании модерации прерываний рассмотрите компромисс между экономией ЦП хоста и задержкой и увеличением экономии ЦП хоста из-за большего количества прерываний и меньшей задержки. Если сетевой адаптер не выполняет модерацию прерываний, но предоставляет объединение буферов, вы можете повысить производительность, увеличив количество объединенных буферов, чтобы разрешить большее количество буферов на отправку или получение.
Настройка производительности для обработки пакетов с малой задержкой
Многие сетевые адаптеры позволяют оптимизировать задержку, вызванную операционной системой. Задержка — это время, прошедшее между обработкой входящего пакета сетевым драйвером и отправкой пакета обратно. Обычно это время измеряется в микросекундах. Для сравнения, время передачи пакетов на большие расстояния обычно измеряется в миллисекундах (на порядок больше). Эта настройка не уменьшит время, в течение которого пакет находится в пути.
Ниже приведены некоторые рекомендации по настройке производительности для сетей, чувствительных к микросекундам.
Установите в BIOS компьютера режим High Performance с отключенными C-состояниями. Однако обратите внимание, что это зависит от системы и BIOS, и некоторые системы будут обеспечивать более высокую производительность, если операционная система управляет управлением питанием. Вы можете проверить и настроить параметры управления питанием в меню «Настройки» или с помощью команды powercfg. Дополнительные сведения см. в разделе Параметры командной строки Powercfg.
Установите для профиля управления питанием операционной системы значение High Performance System.
Этот параметр не работает должным образом, если в BIOS системы отключен контроль операционной системы над управлением питанием.
Включить статическую разгрузку. Например, включите параметры UDP Checksums, TCP Checksums и Send Large Offload (LSO).
Если трафик является многопоточным, например при получении большого объема многоадресного трафика, включите RSS.
Отключите параметр "Модерация прерываний" для драйверов сетевых карт, которым требуется минимально возможная задержка. Помните, что эта конфигурация может использовать больше процессорного времени и представляет собой компромисс.
Обработка прерываний сетевого адаптера и DPC на основном процессоре, который совместно использует кэш ЦП с ядром, которое используется программой (пользовательским потоком), обрабатывающей пакет. Настройку сходства ЦП можно использовать для направления процесса на определенные логические процессоры в сочетании с конфигурацией RSS для достижения этой цели. Использование одного и того же ядра для прерывания, DPC и потока пользовательского режима приводит к ухудшению производительности по мере увеличения нагрузки, поскольку ISR, DPC и поток конкурируют за использование ядра.
Прерывания управления системой
Многие аппаратные системы используют прерывания управления системой (SMI) для различных функций обслуживания, таких как сообщение об ошибках памяти с кодом исправления ошибок (ECC), поддержка устаревшей совместимости USB, управление вентилятором и управление параметрами питания, контролируемыми BIOS.< /p>
SMI является прерыванием с наивысшим приоритетом в системе и переводит ЦП в режим управления. Этот режим вытесняет все другие действия, в то время как SMI выполняет процедуру обработки прерывания, обычно содержащуюся в BIOS.
К сожалению, такое поведение может привести к скачкам задержки в 100 микросекунд и более.
Если вам нужно добиться наименьшей задержки, вам следует запросить у поставщика оборудования версию BIOS, которая максимально снижает SMI. Эти версии BIOS часто называют «BIOS с малой задержкой» или «BIOS без SMI». В некоторых случаях аппаратная платформа не может полностью устранить активность SMI, поскольку она используется для управления важными функциями (например, вентиляторами).
Операционная система не может управлять SMI, поскольку логический процессор работает в специальном режиме обслуживания, что предотвращает вмешательство операционной системы.
Настройка производительности TCP
Для настройки производительности TCP можно использовать следующие элементы.
Автонастройка окна приема TCP
В Windows Vista, Windows Server 2008 и более поздних версиях Windows сетевой стек Windows использует функцию под названием Уровень автонастройки окна приема TCP для согласования размера окна приема TCP. Эта функция может согласовывать определенный размер окна приема для каждой TCP-связи во время TCP-рукопожатия.
В более ранних версиях Windows сетевой стек Windows использовал окно приема фиксированного размера (65 535 байт), что ограничивало общую потенциальную пропускную способность для подключений. Общая достижимая пропускная способность соединений TCP может ограничивать сценарии использования сети. Автонастройка окна приема TCP позволяет этим сценариям полностью использовать сеть.
Для окна приема TCP определенного размера можно использовать следующее уравнение для расчета общей пропускной способности одного соединения.
Общая достижимая пропускная способность в байтах = размер окна приема TCP в байтах * (1 / задержка соединения в секундах) р>
Например, для соединения с задержкой 10 мс общая достижимая пропускная способность составляет всего 51 Мбит/с. Это значение разумно для большой корпоративной сетевой инфраструктуры. Однако, используя автонастройку для настройки окна приема, соединение может достичь полной линейной скорости соединения 1 Гбит/с.
Некоторые приложения определяют размер окна приема TCP. Если приложение не определяет размер окна приема, скорость соединения определяет размер следующим образом:
- Менее 1 мегабита в секунду (Мбит/с): 8 килобайт (КБ)
- От 1 Мбит/с до 100 Мбит/с: 17 КБ.
- От 100 Мбит/с до 10 гигабит в секунду (Гбит/с): 64 КБ
- 10 Гбит/с или выше: 128 КБ.
Например, на компьютере с установленным сетевым адаптером 1 Гбит/с размер окна должен быть 64 КБ.
Эта функция также в полной мере использует другие функции для повышения производительности сети. Эти функции включают в себя остальные параметры TCP, определенные в RFC 1323. Используя эти функции, компьютеры под управлением Windows могут согласовывать размеры окон приема TCP, которые меньше, но масштабируются до определенного значения в зависимости от конфигурации. Такое поведение упрощает обработку размеров для сетевых устройств.
Вы можете столкнуться с проблемой, из-за которой сетевое устройство не совместимо с параметром масштабирования окна TCP, как определено в RFC 1323, и, следовательно, не поддерживает коэффициент масштабирования. В таких случаях обратитесь к этой базе знаний 934430, Сбой подключения к сети при попытке использовать Windows Vista за устройством брандмауэра или обратитесь в службу поддержки поставщика вашего сетевого устройства.
Просмотр и настройка уровня автонастройки окна приема TCP
Вы можете использовать команды netsh или командлеты Windows PowerShell для просмотра или изменения уровня автонастройки окна приема TCP.
В отличие от версий Windows, предшествующих Windows 10 или Windows Server 2019, вы больше не можете использовать реестр для настройки размера окна приема TCP. Дополнительные сведения об устаревших параметрах см. в разделе Устаревшие параметры TCP.
Подробную информацию о доступных уровнях автонастройки см. в разделе Уровни автонастройки.
Использование netsh для просмотра или изменения уровня автонастройки
Чтобы просмотреть текущие настройки, откройте окно командной строки и выполните следующую команду:
Вывод этой команды должен выглядеть следующим образом:
Чтобы изменить параметр, выполните следующую команду в командной строке:
В предыдущей команде представляет новое значение уровня автоматической настройки.
Чтобы использовать Powershell для просмотра или изменения уровня автонастройки
Чтобы просмотреть текущие настройки, откройте окно PowerShell и запустите следующий командлет.
Вывод этого командлета должен выглядеть следующим образом.
Чтобы изменить параметр, запустите следующий командлет в командной строке PowerShell.
В предыдущей команде представляет новое значение уровня автоматической настройки.
Дополнительные сведения об этих командлетах см. в следующих статьях:
Уровни автонастройки
Вы можете настроить автонастройку окна приема на любой из пяти уровней. Уровень по умолчанию — Нормальный. В следующей таблице описаны уровни.
Уровень | Шестнадцатеричное значение | Комментарии |
---|---|---|
Нормальный (по умолчанию) | 0x8 (коэффициент масштабирования 8) | Установите увеличение окна приема TCP для соответствия почти всем сценариям. |
Отключено | Коэффициент масштабирования недоступен | Установите для окна приема TCP значение по умолчанию. |
Ограничено | 0x4 (коэффициент масштабирования 4) | Установите увеличение окна приема TCP сверх значения по умолчанию, но ограничьте такой рост в некоторых сценариях. |
0x2 (коэффициент масштабирования 2) | Настройте окно приема TCP так, чтобы оно превышало значение по умолчанию, но делайте это очень консервативно. | |
Экспериментальный | 0xE (коэффициент масштабирования 14) | Установите увеличение окна приема TCP для соответствия экстремальным сценариям. | тд>