Любому понятна шутка на тему, какими были бы теперь легковые машины, если бы автомобильная индустрия развивалась теми же темпами, что и компьютерная. Только компьютеры, в отличие от всей остальной техники, обладают способностью к масштабированию на много порядков. Масштабирование стало сегодня одним из наиболее часто употребляемых терминов. Почему? Самый простой ответ дает закон Мура, но в чем секрет этого закона?
Чтобы оценить возможности изменения масштабов, обратимся, например, к истории процессоров. Чуть больше сорока лет назад, в ноябре 1971 года, был выпущен первый микропроцессор Intel 4004, а годом раньше в компании Garrett AiResearch был создан процессор Central Air Data Computer (CADC), предназначенный для авионики и устанавливаемый в истребителе F-14. Но CADC не считается первым, поскольку был специализированным, скорее, его можно считать первым цифровым сигнальным процессором, к тому же он долгое время был засекречен и не оставил заметного следа в истории. Ближе к цели оказалась компания Texas Instruments, которая сделала в полном смысле 4-разрядный процессор, но и он был специализированным — иного использования как в калькуляторе не предполагалось. А вот Intel по заказу и на деньги японской фирмы Busicom разработала в 1970 году чип для процессора, сделала его универсальным, а затем выкупила права на него и в 1971 году объявила о выпуске собственного процессора. Несмотря на то что 4004 входил в состав, казалось бы, полнофункционального семейства MCS-4, состоявшего из ПЗУ 4001, ОЗУ 4002, микросхемы ввода/вывода 4003, все же реальных внедрений на нем не было. Некоторые источники утверждают, будто 4004 улетел в космос на борту зонда Pioneer 10, однако, скорее всего, это миф. За 4004 последовали процессоры семейств 8008, 8800, 8080 и наконец 8086/88 — прямые предшественники современных х86-совместимых процессоров.
Чтобы оценить прогресс, попробуем найти зримые образы для сравнения процессора 4004 с современным Intel Core i5. Если уподобить частоту 4004, равную 740 КГц, скорости пешехода, то тогда нынешняя 2,7 ГГц окажется примерно 50 тыс. км/ч, что в полтора раза выше второй космической скорости, достаточной для выхода с орбиты вокруг Земли. Сорок лет назад ширина проводников 4004 составляла 10 микрон (то есть их можно было рассмотреть через обычную лупу), а в нынешних процессорах она равна 32 нанометрам, эти два показателя соотносятся как длина супертанкера и один шаг пешехода. Но еще больше впечатляет сравнение по числу транзисторов: 2300 и 3,1 миллиарда — то есть вначале оно было равно населению райцентра, а сегодня это половина населения земного шара. И наконец, число контактов на разъеме — оно возросло с 16 до 1155. Такого беспрецедентного количественного роста технических параметров не знала ни одна отрасль.
Все эти ускорения и уменьшения стали возможны за счет явления, получившего название «масштабирование», которое придает компьютерным технологиям уникальные качества, отличающие их от всех остальных, позволяя варьировать показатели в самых широких диапазонах, причем не в разы, как бывает в авиации или машиностроении, а на порядки. Можно говорить о двух уровнях масштабирования — микро и макро. Микроуровень, или миниатюризацию полупроводников, обычно связывают с законом Мура, а точнее, следует говорить о масштабировании по Деннарду (MOSFET scaling by R. Dennard), а макроуровень — это наращивание мощности систем.
Масштабирование на макроуровне возможно по вертикали (scale up) и по горизонтали (scale out), последнее получило распространение вместе с появлением кластеров и других систем, состоящих из множества однородных узлов. Массовое внедрение компактных серверов (в том числе, лезвий) в сочетании с кластерными решениями открыло возможность для создания гигантских конфигураций, и начался процесс, охваченный положительной обратной связью: большие системы позволяют работать с большими объемами данных, а почувствовав вкус, потребители требуют создания еще больших систем и т. д.
Необходимость в макромасштабировании связана со следующими факторами:
- рост нагрузок — система должна справляться с постоянным увеличением числа пользователей;
- рост объема данных — система должна справляться с неуклонным накоплением данных;
- рост производительности — система должна без серьезной перестройки допускать наращивание производительности.
В системах с вертикальным масштабированием наращивание происходит органично, и до появления альтернативного подхода о возникающих сложностях не задумывались — достаточно было увеличивать мощность процессора, размер памяти и систем хранения, скорость обмена по каналам. Если же ядер много, то возникает проблема декомпозиции (partitioning) по узлам: можно, например, делить их по функциональному принципу — поделить одну задачу на некоторое количество подзадач, работающих на общий массив данных, но связанность по данным является ограничением по масштабированию. Разумнее добавить к функциональной декомпозиции еще и декомпозицию данных. Множество современных проблем в ИТ — например, то, что наблюдается сегодня в СУБД, — объясняется необходимостью перехода от вертикального масштабирования к горизонтальному.
Теперь обратимся к микроуровню. Хорошо известно, что статья с описанием тенденции удвоения плотности транзисторов на кремниевой подложке была опубликована Гордоном Муром в 1965 году, а чуть позже изобретатель метода проектирования электронных микросхем профессор Калифорнийского технологического института Карвер Мид назвал эту тенденцию законом Мура. Менее известно, что существует объясняющая закон Мура теория масштабирования (Dennard's Scaling Theory), разработанная в 1974 году Робертом Деннардом и его коллегами по IBM. Сам Деннард, несмотря на свои достижения, никогда не стремился к публичности и уже более 50 лет бессменно работает в IBM, набрав за это время на свой счет немало изобретений и открытий, самое известное из которых было сделано им в 1968 году — это изобретение динамической памяти с произвольным доступом (Dynamic Random Access Memory, DRAM). Работая над полевыми транзисторами MOSFET (Metal — Oxide — Semiconductor Field Effect Transistor) и структурами MOS (Metal — Oxide — Semiconductor), Деннард вывел условие, необходимое для соблюдения закона Мура. Суть открытия в том, что если удерживать постоянным значение напряженности электрического поля при уменьшении размеров транзистора, то параметры производительности улучшаются. Это значит, что если, например, сократить длину затвора в n раз и одновременно во столько же раз понизить рабочее напряжение (значение напряженности при этом не изменится), время задержки логического элемента также уменьшится в n раз. Отсюда и жесткая зависимость производительности от размеров элементов интегральных микросхем. Масштабирование MOSFET называют двигателем технологий больших интегральных схем (VLSI).
Теория масштабирования впервые была изложена в статье «Проектирование МОП-структур с ионной имплантацией и очень малыми физическими размерностями» (“Design of Ion-Implanted MOSFET’s with Very Small Physical Dimensions”), опубликованной в 1974 году. Статья заслужила имя собственное — ее называют Scaling Paper (статья о масштабировании), а ее появлению предшествовало десятилетие активных исследований, в результате которых биполярные точечные транзисторы со структурами обратной проводимости (n-p-n) и структурами прямой проводимости (p-n-p), изобретенные еще в 1947 году, уступили место полевым транзисторам с p-n переходом и изолированным затвором (MOSFET). Последние имели гораздо больший потенциал для миниатюризации — они стали использоваться при реализации логики и для памяти многочленными компаниями. В те годы в IBM было решено отказаться от развития ферритовой пленочной памяти в пользу полупроводниковой, а работу в этой области возглавил Деннард, главной задачей которого было найти такое решение, которое позволило бы закрыть разрыв по стоимости между очень дорогой памятью на магнитных сердечниках и приемлемой по цене памятью на дисках. Из-за этого разрыва компьютеры были очень несбалансированными: скажем, мини-ЭВМ PDP 11-70 имела достойную производительность, комплектовалась вполне приличными по тем временам дисками по 100–200 Мбайт, но при этом — жалкой оперативной памятью в 128 Кбайт. Даже самые первые платы полупроводниковой памяти уже имели емкость, измеряемую мегабайтами, что принципиально меняло условия игры — такая память была в 100–1000 раз дешевле ферритовой. Просто заменой памяти удавалось заметно повысить производительность.
В процессе исследований Деннарда удалось показать, что МОП-структуры имеют огромный потенциал для миниатюризации — при уменьшении линейных размеров можно пропорционально уменьшать подаваемое на затвор напряжение, и при этом переключающие свойства транзистора сохраняются, а скорость переключения повышается. Из этого следовало предсказание, определившее будущее технологий на несколько десятилетий, — для повышения производительности надо повышать плотность, частоту и снижать энергопотребление. Статья о масштабировании не только объяснила закон Мура, но и расширила его — в самом законе говорится о повышении плотности, но не о производительности. Заслуга Роберта Деннарда в том, что он соотнес масштабирование с производительностью, и если Гордон Мур задал вектор для развития полупроводниковой индустрии, то Деннард объяснил, каким именно способом следует двигаться в его направлении. С тех пор постоянно уменьшающаяся ширина (технологический фактор) проводника стала главным показателем прогресса.
Заслуги Роберта Деннарда признаны и оценены, в 2007 году вышел специальный номер журнала IEEE Solid-State Circuits Society News под общим заголовком «Влияние и последствия теории масштабирования Деннарда». В номере было опубликовано несколько статей с оценкой роли теории масштабирования и ее автора в истории индустрии ИТ, и в оригинале была воспроизведена сама легендарная статья. За год до этого был напечатан специальный выпуск IEEE SSCS, посвященный закону Мура, и таким образом была восстановлена историческая справедливость — в статье одного из авторов подчеркивается, что наряду с законом Мура надо говорить и о законе Деннарда.