Просмотр по

Многоядерные процессоров могут работать быстрее

Новости ИТЧастота процессоров перестала расти и их быстродействие увеличивается добавлением ядер, способных работать параллельно. Но потенциал таких массивно-параллельных систем задействован далеко не полностью.

Два года назад доцент Факультета электротехники и информатики Массачусетского технологического института (MIT) Дэниэл Санчез (Daniel Sanchez) и его студент Натан Бекманн (Nathan Beckmann) описали систему, которая оптимизирует распределение данных между блоками памяти многоядерных чипов и обеспечивает, в среднем, рост быстродействия на 18% при одновременном улучшении энергоэффективности.

Новая статья представлена группой Санчеза в этом месяце на Симпозиуме IEEE по архитектуре высокопроизводительных компьютеров. В ней рассказывается о расширении прежней системы, которое контролирует распределение не только данных, но и вычислений. В симуляции 64-ядерного чипа модифицированная система продемонстрировала выигрыш в скорости в среднем на 46% (76% максимально) и снижение расхода энергии на 36%.

Проблема совместного распределения вычислений и данных похожа на каноническую задачу пути и маршрута (place and route) в проектировании электрических схем. Ее цель — обеспечить наименьшее расстояние между работающими вместе компонентами схемы. Эта задача относится к классу NP-hard, то есть, даже для схем средней сложности время поиска оптимального решения на всех компьютерах превосходит возраст Вселенной. Поэтому на практике используются неоптимальные, но дающие неплохие результаты алгоритмы.

Применительно к проблеме распределения вычислений и данных в 64-ядерном чипе эти алгоритмы получают решение за нескольких часов. Санчез, Бекманн и Цай (Po-An Tsai) — еще один студент в группе Санчеза — разработали собственный алгоритм CDCS, который находит решение почти столь же эффективно (более 99%), как и стандартный алгоритм place-and-route, но тратит на это миллисекунды.

Созданный в MIT монитор следит за функционированием чипа и каждые 25 мс перемещает данные и потоки. Этого промежутка процессору хватает для выполнения 50 млн операций.

Монитор случайным образом выбирает обращения разными ядрами к памяти и сохраняет адреса этих запросов в сокращенном виде в собственном запоминающем устройстве.

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

Физически, такой монитор может занимать примерно 1% площади чипа — небольшая плата за значительное улучшение производительности.

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *