Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Как настроить планировщик задач на менее частое переключение контекстов?  (Прочитано 425 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Eduard86

  • Автор темы
  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Здравствуйте. Возможно вопрос сформулирован не вполне точно, исходная проблема выглядит так. После переноса приложения с ОС Windows изменилось внутреннее latency потокового вычисления в приложении. Поток кодирует массив данных и на кодирование одного элемента тратит с абсолютной точностью 0,85мкс. Под Windows это значение постоянно, за исключением редких (1 на 100000 повторений) и довольно существенных лагов, которые заведомо приемлемы. Под Ubuntu16 на generic ядре среднеквадратичное отклонение намного лучше, чем под Windows - таких лагов нет, но время вычисления постоянно пляшет в диапазоне 1-2мкс, что меня не устраивает. Есть ли способ исправить ситуацию?

П.С В обоих случаях устанавливается привязка потока к логическому ЦП
П.П.С На ядре жесткого реального времени ситуация только усугубляется

Пользователь добавил сообщение 13 Октябрь 2016, 19:36:50:
Вопрос в догонку. Может есть способ отключить для набора ЦП вообще все системные прерывания?
« Последнее редактирование: 13 Октябрь 2016, 19:36:50 от Eduard86 »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26062
    • Просмотр профиля
А с чего вы взяли, что Linux - это система реального времени?…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Eduard86

  • Автор темы
  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
AnrDaemon, странный вопрос. Я вроде не писал что линукс это ОСРВ. Мне нужна дисперсия задержек такого же характера как на Windows, а это как я понимаю, зависит от частоты смены контекста ЦП.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26062
    • Просмотр профиля
Не странный. Вы хотите поведения системы реального времени от системы, которая в принципе для этого не предназначена, и ещё сравниваете поведение с другой системой, ТАК ЖЕ не предназначенной для подобных экзерсисов.
Хотите меньше переключений? Пишите ядерный драйвер. Либо используйте систему по назначению.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Eduard86

  • Автор темы
  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
AnrDaemon, я вас не понимаю. Вроже же сразу было написано, что редкие и существенные задержки как на OS Windows приемлемы. При чем здесь ОСРВ?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26062
    • Просмотр профиля
А при чём тут Windows? Она на ядре Linux работает?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Дмитрий Бо

  • Погонщик серверов
  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 3538
  • Я не техподдержка, я за порядком слежу
    • Просмотр профиля
    • LinkedIn
Eduard86, я так понимаю, AnrDaemon хочет сказать, что если есть временные требования, то нужно использовать систему реального времени, а не полагаться на случайные совпадения в работе планировщика.
С другой стороны, если с планировщиком винды повезло, и программа работает как нужно, то может повезти и с каким-нибудь линуксовым планировщиком. Задача вроде не промышленная, так почему бы не поэкспериментировать - попробуйте разные планировщики с разным приоритетом процесса...
Не опускай рук, а то пропустишь в бороду

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26062
    • Просмотр профиля
На всякий случай, в среде *NIX больше чем одно ядро крутится.
И даже это одно, в которое вы тут упёрлись, в разных дистрибутивах собирается по-разному.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.056 секунд. Запросов: 24.