Почему планировщик процессов Windows назначает задачи случайным процессорам?

Почему планировщик процессов Windows назначает задачи случайным процессорам?

У меня двухъядерный процессор C2D, Windows 7 (хотя это поведение одинаково во всех ОС MS, которые я видел). Когда я запускаю любую однопоточную задачу, интенсивно использующую процессор, она не прилипает к одному ядру, а скорее случайным образом занимает около 50% первого ядра и около 50% второго.

Зачем они это делают? Не приводит ли это к снижению эффективности кэша L1?

Я знаю, что могу установить сродство процессов, мне просто интересно узнать причины такого поведения.

решение1

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

Это не сильно влияет на эффективность кэша L1, поскольку ОЧЕНЬ вероятно, что другие процессы уже очистили кэш L1 от всех полезных данных. Вот почему так много говорят об общих кэшах L2 и L3...

Связанный контент