Почему «добавить больше ядер» не сталкивается с теми же физическими ограничениями, что и «Сделать процессор быстрее»?

В 2014 году я слышал, что многие языки программирования рекламируются за их параллелизм. функции. Считается, что параллелизм имеет решающее значение для повышения производительности.

Делая это заявление, многие люди ссылаются на статью 2005 года под названием The Бесплатный обед окончен: фундаментальный поворот к параллелизму в Программное обеспечение . Базовый аргумент в том, что становится все труднее увеличить тактовую частоту процессоров, но мы все еще можем разместить больше ядер на чипе, и это, чтобы получить увеличения производительности, необходимо будет написать программное обеспечение, чтобы воспользоваться преимуществами несколько ядер.

Некоторые ключевые цитаты:

Мы привыкли, что процессоры с тактовой частотой 500 МГц уступают место процессорам с тактовой частотой 1 ГГц. Процессоры с тактовой частотой 2 ГГц и так далее. Сегодня мы находимся в диапазоне 3 ГГц в основном потоке. компьютеры.

Ключевой вопрос: когда это закончится? В конце концов, закон Мура предсказывает экспоненциальный рост, и явно экспоненциальный рост не может продолжаться навсегда, прежде чем мы достигнем жестких физических ограничений; свет не получает Быстрее. Рост должен в конечном итоге замедлиться и даже прекратиться.

... Становится все труднее и труднее использовать более высокие тактовые частоты из-за не только к одной, но и к нескольким физическим проблемам, особенно к нагреву (слишком его и слишком трудно рассеять), энергопотребление (слишком высокое) и текущие проблемы с утечкой.

... Будущее Intel и большинства производителей процессоров лежит в другом месте, как чип компании агрессивно преследуют одни и те же новые многоядерные направления.

... Многоядерность - это запуск двух или более процессоров на одном чипе.

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

Мое упрощенное мнение таково: «становится все труднее упаковать большую вычислительную мощность в то же пространство »(из-за проблем с теплом, энергопотреблением и т. д.). Я можно было бы ожидать, что вывод будет "следовательно, нам нужно больше компьютеров или запускать наши программы на нескольких компьютерах ". (И действительно, распределенные Мы больше слышим о облачных вычислениях.)

Но часть решения, похоже, состоит в многоядерных архитектурах. Если только компьютеры увеличиваются в размерах (чего у них нет), это просто другой способ сказать «упаковать больше вычислительной мощности в то же пространство».

Почему «добавить больше ядер» не сталкивается с теми же физическими ограничениями, что и «сделать ЦП быстрее "?

Пожалуйста, объясните в самых простых терминах. :)

110
задан 15.08.2014, 17:22

0 ответов

Теги

Похожие вопросы