В данном параграфе рассматривается проблема оптимизации площади на кристалле высокопроизводительных многоядерных процессоров. Суть проблемы в оптимальном разделении кристалла на память и на вычислительные устройства (ядра). Для различных вычислительных задач такое оптимальное разделение оказывается различным – в данной работе приводятся такие примеры. Из этого вытекает, что для эффективного решения различных классов задач требуются различные типы процессоров. Вытекает, что место суперкомпьютера в рейтинге top500 недостаточно адекватно отражает эффективность этого суперкомпьютера на конкретной задаче.
Площадь на кристалле процессора распределяется между памятью и вычислительными ядрами. И увеличение объема кэш памяти и увеличение количества вычислительных ядер могут повышать быстродействие процессора. Чем меньшую площадь кристалла будут занимать вычислительные ядра, тем больше может быть кэш память. Уже появляются многоядерные процессоры с количеством ядер порядка 100 [4].
В работе рассмотрены несколько типов алгоритмов:
Приводимые примеры говорят о еще одной характеристике сложности алгоритмов – о разбиваемости. Помимо классической сложности алгоритма, которая описывается количеством операций, как функцией количества входных данных, в научной литературе используются сложности алгоритмов по обращениям к памяти (см., например, [8]) и сложность межпроцессорных пересылок (см., например, [3]). Большой спектр характеристик вычислительных систем, влияющих на время работы программы описан в [6].
В последнем параграфе обсуждается влияние размещений данных на эффективность отображения алгоритма на процессор со сложной архитектурой.
Соотношение объема кэш памяти и количества вычислительных ядер.
Площадь на кристалле S разбивается на 2 части: площадь под память M , и площадь под множество процессоров P .
S
|
Будем рассматривать вопрос об оптимальном соотношении M и P, при условии M+P=S.
Пусть имеется p процессоров, каждый из которых занимает площадь P0 . Тогда P = p * P0 .
Пусть на вычислительной системе требуется вычислять алгоритм с N (>> M) данными. Будем считать, что этот алгоритм сводится к алгоритмам обработки его частей, которые используют не более M данных. Требуется найти минимум времени T при условии
M+ p * P0=S.
Для разных задач эта функция приобретает различные формы и, соответственно, различные решения. Полученное условие в различных случаях может быть использовано в виде
M = S – p * P0 или p = (M – S)/ P0.
Дата: 2018-12-21, просмотров: 424.