Насколько усердно операционные системы пытаются минимизировать сбросы TLB?

StackOverflow https://stackoverflow.com/questions/1199805

Вопрос

Интересно, существует ли общий механизм, реализованный в операционных системах для минимизации сбросов TLB, например, путем группировки потоков в одном процессе вместе в списке "запланированный".

Я думаю, что это важный фактор при принятии решения об использовании процессов против потоков.Если ОС все равно, находится ли следующий поток в том же пространстве процесса или нет, так называемое преимущество потоков "минимизация сбросов TLB" может быть переоценено.Так ли это на самом деле?

Рассмотрим систему с сотнями потоков и десятками процессов.Если они не оптимизированы таким образом, чтобы планировать потоки в одном и том же процессе в тандеме, наши ожидания от производительности потоков могут быть не такими большими.

Я приведу примеры, если вопрос не настолько ясен.

Это было полезно?

Решение

Конструкции процессоров, по-видимому, эволюционирует в сторону аппаратной поддержки помеченных записей TLB.Это избавляет от необходимости промывать TLB.Таким образом, даже если предположить, что очистка TLB является проблемой для современных процессоров, через несколько лет это может утратить актуальность.Я бы не стал основывать на этом какие-либо дизайнерские решения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top