В ходе исследования основных алгоритмов анализа больших объемов данных оказалось, что производительность вычислительных систем существенно возрастает при переходе от использования процессоров с двумя ядрами к четырехъядерным. Однако при переходе от четырех к восьми ядрам производительность почти не выросла, а еще одно удвоение количества ядер, до 16, на деле кардинально уменьшило ее до уровня двух ядер. После этого, говорится в отчете, добавление новых ядер вело только к дальнейшему ухудшению результатов.
Узким местом оказалась шина памяти. Дело в том, что все ядра сразу не могут с достаточной скоростью осуществлять прием и передачу данных. Проблемы вызывает конкуренция между различными модулями системы, поясняет в сообщении о результатах исследования сотрудник Национальной лаборатории Джеймс Пири: "Все процессорные ядра запрашивают данные из памяти по одному и тому же межсоединению. Все равно как если бы с вами одновременно разговаривали два человека, четыре или восемь и все требовали бы определенную информацию".
"В каком-то смысле результаты говорят об очевидном – многие приложения страдают от недостатка пропускной способности памяти даже на однопроцессорных системах", - добавляет экспериментатор Арун Родригес. Тем не менее эффективного решения проблемы, о которой хорошо известно специалистам в области параллельных вычислительных архитектур, несмотря на обилие рассматриваемых технологий, пока не найдено.
Исследователя из корпорации Intel Клея Бреширса результаты не удивили, о чем он и пишет у себя в блоге. "Я говорил об этой проблеме два года назад. Плюс ко всему напомню: именно конкуренция за память на одной шине в конце 80-х годов и остановила развитие серверных систем с разделяемой памятью на 32 центральных процессорах".
"Сколько еще нас будет сдерживать отсутствие технологий доступа к памяти, обеспечивающих высокие требования многоядерных компьютерных систем к передаче данных? – спрашивает Бреширс. - Проблемы возникли давным-давно, и пора бы уже начать их решать".