Как остановить прерывания операционной системы для кода Python, который выполняет процесс в реальном времени как на Mac, ⇐ Python
Как остановить прерывания операционной системы для кода Python, который выполняет процесс в реальном времени как на Mac,
У меня есть экспериментальная установка, которая должна работать в режиме реального времени. В его состав входит несколько устройств, которые управляются с одного ноутбука. Из-за прерываний операционной системы некоторые устройства не активируются одновременно, а имеют случайную задержку между ними. Мы также наблюдаем некоторое дрожание импульсов, посылаемых на устройства. В результате наших тестов мы пришли к выводу, что основной причиной этих проблем являются прерывания операционной системы. У нас есть два ноутбука: один под управлением Windows, другой с Mac. Если мы сможем найти решение для любого из них, мы сможем ограничиться этим конкретным. Мы запускаем программу Python (невозможно изменить язык программирования). Обратите внимание, что наши требования к «реальному времени» не слишком строгие. Если мы сможем получить джиттер в пределах 1 мс, этого будет достаточно (в настоящее время джиттер составляет около 50 мс).
Настройка привязки процесса в операционной системе, похоже, не очень помогает. Мы нашли библиотеку многопроцессорной обработки Python, но, насколько я понимаю, она не может предотвратить вмешательство операционной системы.
Я хотел бы использовать эту библиотеку, чтобы указать ядра для запуска кода, но я не знаю способа заставить операционную систему работать только на оставшихся ядрах. Если кто-нибудь знает какой-либо способ сделать это, поделитесь им с нами.
Заранее всем спасибо!
У меня есть экспериментальная установка, которая должна работать в режиме реального времени. В его состав входит несколько устройств, которые управляются с одного ноутбука. Из-за прерываний операционной системы некоторые устройства не активируются одновременно, а имеют случайную задержку между ними. Мы также наблюдаем некоторое дрожание импульсов, посылаемых на устройства. В результате наших тестов мы пришли к выводу, что основной причиной этих проблем являются прерывания операционной системы. У нас есть два ноутбука: один под управлением Windows, другой с Mac. Если мы сможем найти решение для любого из них, мы сможем ограничиться этим конкретным. Мы запускаем программу Python (невозможно изменить язык программирования). Обратите внимание, что наши требования к «реальному времени» не слишком строгие. Если мы сможем получить джиттер в пределах 1 мс, этого будет достаточно (в настоящее время джиттер составляет около 50 мс).
Настройка привязки процесса в операционной системе, похоже, не очень помогает. Мы нашли библиотеку многопроцессорной обработки Python, но, насколько я понимаю, она не может предотвратить вмешательство операционной системы.
Я хотел бы использовать эту библиотеку, чтобы указать ядра для запуска кода, но я не знаю способа заставить операционную систему работать только на оставшихся ядрах. Если кто-нибудь знает какой-либо способ сделать это, поделитесь им с нами.
Заранее всем спасибо!
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение