Производительность многоядерных чипов можно повысить

6 июль, 2011 - 18:16Леонід Бараш

Исследователи из Университета Северной Каролины (NCSU) разработали два новых способа, позволяющих повысить на 10—40%% производительность многоядерных процессоров. Это было достигнуто с помощью новых методов распределения полосы пропускания и предвыборки данных.

Каждое ядро в многоядерном процессоре имеет собственное центральное устройство обработки. В то же время каждое ядро нуждается в извлечении данных из оперативной памяти. Скорость этого процесса ограничивается полосой пропускания соответствующих шин.

Одним из способов повышения производительности ядер является предвыборка данных. Каждый чип имеет небольшой объем собственной памяти, называемой кэшем. При предвыборке в кэш-память считываются данные, которые, по предположению, понадобятся ядру для последующих ближайших вычислений. При точном попадании это увеличивает производительность ядра. Однако предсказание не всегда бывает точным, что перегружает шины при предвыборке ложных данных.

«Первый метод опирается на критерий, который мы разработали, чтобы определить, какую полосу пропускания необходимо предоставить каждому ядру процессора», - сказал д-р Ян Солихин. Некоторые ядра требуют наличия в кэше больше данных, чем другие. Исследователи использовали легко собираемую информацию от аппаратных счетчиков на каждом чипе, чтобы определить, какие ядра нуждаются в большей полосе.

«Второй метод опирается на набор критериев, который мы разработали для определения, когда предвыборка будет повышать производительность и может быть сделана, а когда она будет замедлять процессор, и ее не следует проводить», - пояснил д-р Солихин. Эти критерии также используют данные от аппаратных счетчиков.

При использовании обоих наборов этих критериев исследователям удалось повысить производительность на 40% для многоядерных процессоров без предвыборки данных и на 10% - с предвыборкой.