2W5zFJYkpKA

Больше – не всегда лучше


Результаты тестирования, проведенного в авторитетном научном центре, показывают, что увеличение количества процессорных ядер иногда понижает производительность.

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

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

Узким местом оказалась шина памяти. Дело в том, что все ядра сразу не могут с достаточной скоростью осуществлять прием и передачу данных. Проблемы вызывает конкуренция между различными модулями системы, поясняет в сообщении о результатах исследования сотрудник Национальной лаборатории Джеймс Пири: «Все процессорные ядра запрашивают данные из памяти по одному и тому же межсоединению. Все равно как если бы с вами одновременно разговаривали два человека, четыре или восемь и все требовали бы определенную информацию».

«В каком-то смысле результаты говорят об очевидном – многие приложения страдают от недостатка пропускной способности памяти даже на однопроцессорных системах», — добавляет экспериментатор Арун Родригес. Тем не менее эффективного решения проблемы, о которой хорошо известно специалистам в области параллельных вычислительных архитектур, несмотря на обилие рассматриваемых технологий, пока не найдено.

Исследователя из корпорации Intel Клея Бреширса результаты не удивили, о чем он и пишет у себя в блоге. «Я говорил об этой проблеме два года назад. Плюс ко всему напомню: именно конкуренция за память на одной шине в конце 80-х годов и остановила развитие серверных систем с разделяемой памятью на 32 центральных процессорах».

«Сколько еще нас будет сдерживать отсутствие технологий доступа к памяти, обеспечивающих высокие требования многоядерных компьютерных систем к передаче данных? – спрашивает Бреширс. — Проблемы возникли давным-давно, и пора бы уже начать их решать».

1 комментарий
  1. Максим Пискарев
    Максим Пискарев
    04.02.2009 в 10:47

    в новом пятиядерном процессоре НПЦ \»ЭЛВИС\» (MC-0428) проблему решают следующим образом: каждое ядро имеет свою область памяти, а также может иметь доступ к памяти других ядер, подкачку программ и данных может осуществлять DMA или центральный процессор (одно из ядер). Устройства на кристалле висят не на одной шине, а на раздельных коммутируемых. Более подробно на http://www.multicore.ru

    Ответить
Оставьте отзыв

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