Этот запрос связан с обработкой пакетов в многоядерных процессорах. Обработка пакетов может быть либо в Linux, либо в чистом datapath. Верно ли, что если приложение для обработки пакетов находится в Linux, то это должно быть связано с обработкой пакетов на основе пакетов для высокой производительности, но если обработка пакетов выполняется в чистом datapath (без linux), то для получения более высокой производительности следует использовать опрос? Если да, то почему?Методы опроса и прерывания для обработки пакетов в многоядерном процессоре
ответ
опрос
мы там еще? Мы уже на месте? Мы уже на месте? Мы уже на месте? Мы уже на месте? ...Прерывания
Ping me when it done.
Таким образом, прерывания позволяют процессору выполнять другую работу, в то время как опрос позволяет избежать накладных расходов прерываний (значащих, если вы получаете прерванный десятки тысяч раз в секунду). Различные виды высокой производительности.
Обратите внимание, что существуют гибридные aproaches, то есть: опрос после прерываний в течение нескольких мс, прежде чем возвращаться к прерываниям.
Если вы используете многозадачную операционную систему, тогда будет проведен опрос с латентным штрафом (если пакет поступит, а другая задача будет выполнена ). Поэтому вы можете получить более высокую пропускную способность, используя подход на основе прерываний на таких системах. Это связано с тем, что механизм прерывания может повысить приоритет пути передачи данных выше других процессов без их блокировки (поскольку опрос в задаче с более высоким приоритетом блокирует все задачи с более низким приоритетом).
Если вы работаете на голое железо встроенной системы без ОС вы должны быть в состоянии получить лучшую пропускную способность с помощью опроса, поскольку CPU может потратить все свое время на проверку новых пакетов или выполнять обработку как результат получения пакетов. Это минимизирует задержку и выделяет максимум циклов обработки пакетов. Вызов прерывания обрабатывает циклы циклов и вводит дополнительную сложность в этом случае; , поскольку на процессоре ничего не запускается, любой цикл, который вы принимаете, - это цикл , который не используется в отношении пути данных.
Обратите внимание, что это делает не означает, что общая производительность приложения является лучше или что любая конкретная реализация быстрее с опроса. Это означает, что максимальная пропускная способность возможна через опрос. Например, если вашему приложению необходимо выполнить много обработки , вы можете получить более высокую производительность, используя DMA с прерываниями. Чтобы узнать, быстрее ли опрос в любом конкретном случае, сильно зависит от характеристик приложения этого случая.
Я не уверен, что «многоядерный» аспект этого вопроса, но это может иметь смысл выделить процессор для опроса ввода/вывода, чтобы получить Mimimum задержки во встроенной системе многоядерной хотя это тоже было бы очень специфичный для применения.
Как примечания ninjalj, гибридные подходы могут быть использованы для оптимизации общей производительности в более сложных сценариях.Вышеуказанное относится только к простейшему случаю .
- 1. поток в многоядерном процессоре
- 2. Singleton в многоядерном процессоре
- 3. Многопоточное приложение в многоядерном процессоре
- 4. Linux: процессы и потоки в многоядерном процессоре
- 5. Производительность Redis на многоядерном процессоре
- 6. разработка прошивки на одноядерном и многоядерном процессоре
- 7. Как работает TPL в многоядерном процессоре
- 8. Что такое текущий поток на многоядерном процессоре?
- 9. Запуск apache flink локально на многоядерном процессоре
- 10. Метод опроса или прерывания
- 11. Как goroutines ведут себя на многоядерном процессоре
- 12. Методы опроса и восклицания
- 13. ATLAS Линейная алгебра и openmpi на многоядерном процессоре с питоном
- 14. Видимость данных на многоядерном процессоре по одной нити
- 15. Как перечислить все идентификаторы ЦП в многоядерном процессоре (с WMI)?
- 16. sysconf (_SC_CLK_TCK), что он возвращает в многоядерном процессоре?
- 17. Возможно ли обойти кеш L1 в многоядерном процессоре
- 18. Python GIL предотвращает использование ЦП более 100% в многоядерном процессоре?
- 19. Определение нагрузки на конкретное ядро в многоядерном процессоре
- 20. Запускает ли Node Child Process Spawn на многоядерном процессоре?
- 21. Однопоточный Node.js на многоядерном процессоре против Java (Tomcat)
- 22. Может ли несколько процессов ОС работать параллельно на многоядерном процессоре?
- 23. Какие приложения могут работать лучше на многоядерном процессоре?
- 24. R пакетов для распределенной обработки
- 25. Поиск эффективности ЦП с использованием метода опроса и прерывания
- 26. Оверреринирующие методы и исключения для обработки
- 27. Библиотека обработки пакетов в C
- 28. API для обработки голосовых пакетов в Android
- 29. о гостевом в kvm для обработки внешнего прерывания и внешнего прерывания
- 30. Микрокод на процессоре обработки времени (TPU)
Пожалуйста, перефразируйте свой вопрос - неясно. –
... мне на самом деле так непонятно, что я даже не уверен, что он принадлежит SO (это вопрос программирования?). – Lucero