-1

У меня есть задача не параллелизуемая, которую я хочу обрабатывать как можно быстрее. Эта задача выполняет чистое вычисление, без ввода-вывода.Выделите полный процессор на конкретный поток, чтобы максимизировать производительность и избежать контекстного переключателя

Конечно, эта задача выполняется на многоядерной системе, и многие другие процессы одновременно выполняют «вещи», которые также требуют использования ЦП.

Сегодня моя задача оптимизирована, насколько это возможно (скажем, идеально: -P), моя идея повысить ее еще раз будет заключаться в том, чтобы выделить полный процессор для его потока.

В этих условиях никакие другие потоки не разделяли бы процессор с ним, и поэтому никакой переключатель контекста не прерывал бы мою задачу; делать это нужно, чтобы немного ускорить его, почти без усилий. (конечно, это будет сделано в ущерб другим процессам, но это не проблема вообще: наивысший приоритет отдается моя задача)

Но как я могу делать то, что я хочу? Я знаю, как установить близость потока моей задачи, чтобы присвоить его данному процессору, но этот CPU потенциально будет передан другим потокам; моя проблема не решена

Спасибо за вашу помощь

+0

Возможный дубликат [как защитить процессор от линуксового планировщика (предотвратить его планирование темы на этом процессоре)?] (Http://stackoverflow.com/questions/11111852/how-to-shield- A-CPU-из-Linux-планировщик-предотвратить-он-планирования-нитей-на) –

ответ

Смежные вопросы