Распаралеливание не может быть бесконечным. При распаралеливании возникает очередь. Вот выполнилась какая то последовательность комманд, пока не поступили данные из соседнего потока стоим и ждём. Переключение между потоками стоит дорого. Поэтому в играх мы наблюдаем не загрузку всех потоков собственно исполняемым основным потоком алгоритмов, а исполнение на фоновых камнях фоновых и переферийных задач, Например обсчёт действия псевдо ИИ болванчиков с которыми мы сейчас не взаимодействуем. При этом основной поток получает уже готовые обсчитанные данные когда обращаетс к этим паралелльным потокам. Была архитектура CELL как она появилась - обсчёт для каждого болванчика на отдельном потоке - вроде бы хорошая идея, НО болванчики то взаимодействуют. И в итоге образовывались большие простои. В итоге не эффективное расходование транзисторной ёмкости поэтому от неё отказались.
Есть пределы эффективного распараллеливания для современных гибридных ОС на современных играх это 16 ядер. Поэтому большее количество крайне редко и только в серверах. Там задачи другие. Там можно и миллион потоков загрузить примерно парралельными задачи. Но один пользователь этого сделать не может.
Поэтому прогресс заканчивается. Архитектурный предел уже достигнут лет восемь назад. А технологический 2021 год будет завершён циклический ход развития техпроцессов. Станция 5 нанометров поезд дальше не идёт.
no subject
Date: 2018-08-16 03:10 am (UTC)Есть пределы эффективного распараллеливания для современных гибридных ОС на современных играх это 16 ядер. Поэтому большее количество крайне редко и только в серверах. Там задачи другие. Там можно и миллион потоков загрузить примерно парралельными задачи. Но один пользователь этого сделать не может.
Поэтому прогресс заканчивается. Архитектурный предел уже достигнут лет восемь назад. А технологический 2021 год будет завершён циклический ход развития техпроцессов. Станция 5 нанометров поезд дальше не идёт.