-
- Читала прежде мнение Торвальдса об AVX512, и нынешние его
откровения не явились для меня неожиданностью. Совершенно ясно, что
человеку, всю свою жизнь полирующего ядро операционной системы, не
может понравиться перспектива сохранять множество длинных
FP-регистров, поскольку такая операция сильно вредит организации
вытесняющей многозадачности, т.к. перенос задачи/процесса с одного
ядра на другое сопровождалось бы большими издержками (по времени).
Короче говоря, Kceния(1388 знак., 06.01.2022 21:34, ссылка)
- Достаточно завести сопроцессор переключения контекста. Переключили
мы поток или задачу. Это довольно сложный набор действий. В это
время отдельный блок сохраняет и восстанавливает мириады регистров.
В целом, OS надо поддерживать на уровне специализированных команд
процессора. - Evgeny_CD(07.01.2022 11:44)
- Тогда потребуется по сопроцессору на каждый процесс/поток. А если
задач, использующих AVX512, больше числа сопроцессоров? Что тогда?
Попытка выделить из ядра сопроцессор проблему не решит, т.к. любая
расчетная FP-задача обязательно содержит в себе еще и x86/64-код, а
потому разделить их никак не получится. Суть проблемы в том, что
вытесняющая многозадачность нужна для организации очереди на
обслуживание, которая длиннее число ядер. Противном случае не было
бы Kceния(480 знак., 07.01.2022 13:18)
- Был бы сопроцессор - можно было бы ленивое вытеснение сделать. Не вытеснять до первой записи в конкретный регистр. - Evgeny_CD(07.01.2022 16:22)
- Тогда потребуется по сопроцессору на каждый процесс/поток. А если
задач, использующих AVX512, больше числа сопроцессоров? Что тогда?
Попытка выделить из ядра сопроцессор проблему не решит, т.к. любая
расчетная FP-задача обязательно содержит в себе еще и x86/64-код, а
потому разделить их никак не получится. Суть проблемы в том, что
вытесняющая многозадачность нужна для организации очереди на
обслуживание, которая длиннее число ядер. Противном случае не было
бы Kceния(480 знак., 07.01.2022 13:18)
- Достаточно завести сопроцессор переключения контекста. Переключили
мы поток или задачу. Это довольно сложный набор действий. В это
время отдельный блок сохраняет и восстанавливает мириады регистров.
В целом, OS надо поддерживать на уровне специализированных команд
процессора. - Evgeny_CD(07.01.2022 11:44)
- Читала прежде мнение Торвальдса об AVX512, и нынешние его
откровения не явились для меня неожиданностью. Совершенно ясно, что
человеку, всю свою жизнь полирующего ядро операционной системы, не
может понравиться перспектива сохранять множество длинных
FP-регистров, поскольку такая операция сильно вредит организации
вытесняющей многозадачности, т.к. перенос задачи/процесса с одного
ядра на другое сопровождалось бы большими издержками (по времени).
Короче говоря, Kceния(1388 знак., 06.01.2022 21:34, ссылка)