Tesla по сравнению с другими автомобилями сегодня — примерно как первый смартфон среди кнопочных телефонов в 2006 году
Десять лет назад Марк Андриссен опубликовал в WSJ статью «Почему софт пожирает мир» ("Why Software Is Eating The World"). Он утверждал, что произошёл фундаментальный сдвиг в важности программного обеспечения для человеческой цивилизации.
Раньше «компьютерные компании» IBM, Oracle или Microsoft продавали компьютеры и софт в качестве «инструментов». Теперь появилось поколение компаний, которые создают программное обеспечение и используют его сами, чтобы войти в другую отрасль — и изменить её. Uber и Airbnb не продают программное обеспечение таксопаркам и гостиничным компаниям, а используют его сами. Tesla и Amazon показывают удивительный рост скорее как софтверные компании, а не как магазин и производитель автомобилей. Трансформируя целые отрасли экономики, софт «пожирает мир».
В то же время персональный компьютер теряет статус универсальной технологии. Это два параллельных процесса, которые происходят на наших глазах.
Понятие универсальной технологии
В экономике есть теория универсальных технологий (general-purpose technology, GPT). Это многоцелевые технологии, которые применяются сразу во многих отраслях и меняют всю экономику целиком, потенциально вызывая и социальные изменения в обществе. Примеры таких технологий — паровой двигатель, железная дорога, электричество, электроника, автомобиль, компьютер, интернет. Подробнее о GPT см. научную работу "General purpose technologies ‘Engines of growth’?" (Journal of Econometrics, Volume 65, Issue 1, January 1995, pages 83-108).
Например, автомобиль. Целые отрасли экономики трансформировались под влиянием грузоперевозок и массовой автомобилизации. Скажем, сеть магазинов Walmart основана исходя из того факта, что у большинства людей есть личные автомобили. Бизнес полностью основан на двух технологиях: 1) грузоперевозки; 2) личные автомобили. И речь идёт о розничных магазинах, а не о транспортной компании.
Walmart
Или электричество, также сильно трансформировало целые отрасли экономики и изменило общественный уклад.
Сейчас то же самое происходит с программным обеспечением, пишет рыночный аналитик Бенедикт Эванс. Софт продолжает свою бурную деятельность, разрушая и трансформируя целые отрасли.
Софт пожирает мир
Интересно посмотреть на конкретные отрасли, которых были дестабилизированы программным обеспечением в прошлом — и что произошло дальше. Одной из первых стала музыкальная индустрия, затем книгоиздательство. Хотя в фундаментальном смысле эти рынки по-прежнему контролируют музыкальные лейблы и книжные издательства, а не IT-компании, поскольку музыка, книги — всё это слишком мелкие, нишевые рынки по сравнению с IT.
В телевидении и кинобизнесе технологии (а теперь и пандемия) тоже сломали старую модель и изменили все правила, но в целом вопросы регулируются внутренними концернами, а не IT-компаниями, потому что для IT они не являются стратегическими вопросами первостепенной важности. Контент больше не правит миром.
Софт начал пожирать розничную торговлю и другие рынки, пишет Эванс, сравнивая нынешнюю революцию с автомобильной, когда массовое владение автомобилями изменили экономику. Сейчас смартфоны на руках 80% населения — и никто пока не знает, к каким революционным изменениям это приведёт. По мнению Эванса, это сложно понять прежнему поколению специалистов, заставших эпоху «до смартфонов». По-настоящему революционные вещи придут от нового поколения людей, для которых это естественная среда обитания. Первое поколение таких людей сейчас заканчивает университеты.
Закат универсальных процессоров
Согласно теории GPT, универсальная технология может столкнуться с проблемами в конце своего жизненного цикла: в процессе замедления прогресса другие технологии вытесняют её в определённых нишах. По мнению учёных Нейла Томпсона (MIT) и Свеньи Спануты (ETH Zurich), сейчас подобное происходит с универсальными компьютерами, см. статью "The Decline of Computers as a General Purpose Technology" (Communications of the ACM, March 2021, Vol. 64 No. 3, Pages 64-72, doi: 10.1145/3430936).
Сегодня мы наблюдаем такой переход. Прогресс в CPU замедляется, и поэтому приложения переходят на специализированные процессоры. Исследователи подчёркивают: речь не о том, что компьютеры в целом «разучатся» делать какие-то вычисления, а именно об окончании экономического цикла GPT. На его место приходит фрагментарный цикл, когда экономика подталкивает пользователей к специализированным вычислительным платформам на процессорах специального назначения. Этот процесс угрожает подкрепляющему циклу технологического развития (см. рис. 1).
Рис. 1. Исторический подкрепляющий цикл технологического развития (а) заменяется фрагментарным циклом (b)
Фрагментация означает, что отдельные направления вычислений будут развиваться с разной скоростью. Это хорошо для приложений, которые движутся в «быстрой полосе», но плохо для остальных, которые больше не будут получать выгоду от прогресса универсальных CPU и, таким образом, обречены на движение в «медленной полосе».
Переход от универсальных к специализированным CPU может замедлить общие темпы совершенствования компьютеров, считают исследователи.
На протяжении десятилетий человечество извлекало пользу из этого благотворного экономического цикла GPT по мере прогресса универсальных процессоров. Рынок вырос от нескольких дорогостоящих мейнфреймов для военной, космической и других областей до более чем двух миллиардов универсальных компьютеров. Этот рост подпитывал увеличение инвестиций в улучшение процессоров. Например, Intel за последнее десятилетие потратила $183 млрд на НИОКР и новые производственные мощности. Это принесло огромные дивиденды: по некоторым оценкам, производительность процессоров с 1971 года увеличилась примерно в 400 000 раз.
Альтернатива — специализированные процессоры. Поскольку универсальный CPU должен хорошо выполнять множество различных вычислений, это приводит к неоптимальным конструктивным компромиссам. Штраф за производительность от этого компромисса особенно высок для специализированных приложений, которые можно сильно распараллелить. Например, специализированные интегральные схемы ASIC или части гетерогенных микросхем показывают лучший результат для специализированных приложений, поскольку железо адаптировано к вычислениям.
Насколько сильно специализация отражается в конструкции процессора — видно в сравнении типичных CPU и GPU.
Тип | Модель | Параллельных вычислений | Скорость | Полоса памяти | Доступ к кэшу L1 |
---|---|---|---|---|---|
CPU | Intel Xeon E5-2690v4 | 28 | 2,6?3,5 Ггц | 76,8 ГБ/с | 5?12 тактовых циклов |
GPU | Nvidia P100 | 3584 | 1,1 ГГц | 732 ГБ/с | 80 тактовых циклов |
GPU работает на меньшей тактовой частоте, но в каждом такте может выполнять в 100 раз больше параллельных вычислений, чем CPU. Это делает его намного быстрее для сильно распараллеленных задач. Например, приложения для машинного обучения (AlexNet и Caffe) выполняются в 35+ раз быстрее на GPU, чем на CPU, по данным Nvidia.
В то же время у специализированных процессоров существенные недостатки: они запускают только ограниченный набор программ, их труднее программировать и часто они требуют для управления универсального CPU. Для универсальных процессоров постоянные затраты (единовременные инженерные затраты, NRE) распределяются по большому количеству микросхем. В отличие от них, у специализированных процессоров гораздо меньшие рынки сбыта и, следовательно, более высокие постоянные затраты на каждый чип. Для понимания, общая стоимость разработки и производства специализированного CPU на передовых технологиях составляет около $80 млн, на технологиях более старого поколения — $30 млн.
За последние десятилетия специализированные процессоры (кроме GPU) использовались только в узких нишах: военные приложения, игры, майнинг. Но ситуация начинает меняться. По мнению исследователей, на сегодняшний день все основные вычислительные платформы — мобильные устройства, Интернет вещей и облачные/суперкомпьютерные вычисления — переходят на специализированные процессоры. Разве что рынок ПК остаётся на более универсальных CPU.
Отраслевые эксперты группы International Technology Roadmap for Semiconductors (ITRS), которая координирует технологические усовершенствования для поддержания закона Мура, в своём докладе косвенно одобрили этот сдвиг в сторону специализации CPU. Они признали, что традиционный универсальный подход с уменьшением размера транзисторов больше не должен определять требования к конструкции, а её следует адаптировать к конкретным приложениям.
Для измерения темпов совершенствования процессоров можно рассмотреть два ключевых показателя: общая производительность и производительность на доллар. Исторически обе эти метрики быстро улучшались благодаря закону Мура и масштабированию Деннарда. К сожалению, масштабирование Деннарда закончилось в 2004?2005 гг из-за технических проблем, а закон Мура тоже подходит к концу, поскольку производители достигли физических пределов транзисторов в современных материалах.
Рис. 2. Ежегодное улучшение результата SPECInt в новых моделях CPU (a) и ежегодное снижение цен с поправкой на производительность (b), источники: 1, 2
Из-за коварных законов физики растёт стоимость производства микросхем. В 2017 году стоимость строительства и оснащения завода по производству микросхем последнего поколения превысила $7 млрд.
Рис. 3. Стоимость нового завода (a) и количество производителей, освоивших передовой техпроцесс по производству микросхем в данном году (b)
На пике закона Мура специализированным процессорам было трудно пробиться на рынок, потому что универсальные CPU слишком быстро развивались — и инвестиции в специализированные процессоры были невыгодными даже при условии многократной разницы в производительности на начальном этапе.
Но с нынешней скоростью улучшения CPU в районе 8% в год ситуация кардинально изменяется: инвестиции в специализированные CPU становятся крайне выгодными.
Как уже сказано выше, закат эпохи универсальных процессоров означает угасание целой универсальной технологии со всеми негативными эффектами. Из-за фрагментации рынка CPU мы теряем взаимное подкрепление в цикле развития, что имеет всеобщий депрессивный эффект:К сожалению, депрессивные эффекты тоже подкрепляют друг друга, как и положительные эффекты в момент расцвета GPT.
- становится сложнее финансировать инновации,
- новые CPU не такие впечатляющие, по сравнению со старыми
- меньше новых пользователей (многие пропускают апгрейд на новое поколение CPU, ожидая следующего)
Если текущие тенденции сохранятся, то к 2026?2032 годам (в зависимости от темпов роста рынка) передовые полупроводниковые производства сможет поддерживать только один производитель-монополист, а ежегодные постоянные затраты на строительство одного нового объекта для каждого размера узла будут равны ежегодному доходу отрасли. Чтобы предотвратить такой мрачный сценарий, уже через 10 лет производители будут вынуждены резко замедлить разработку новых технологических процессов и снизить финансирование, что ещё больше замедлит прогресс в универсальных CPU, считают исследователи.
Вывод
Хотя персональные компьютеры теряют роль универсальной технологии, но эту роль приобретает программное обеспечение. Для человечества это ключевая фундаментальная технология, на которой начинает базироваться экономика, а затем и многие общественные структуры. По крайней мере, такое происходит в развитых странах. Программирование — фундамент для всего.
По мнению некоторых аналитиков, по этим признакам сейчас начинается раздел между странами первого, второго и третьего мира. Они отличаются по тому, в какой степени общество полагается на универсальные технологии нового поколения — программное обеспечение, интернет, ИИ. Несмотря на глобализацию последних десятилетий, разница в уровне жизни бедных и богатых стран может вырасти именно по этой причине. Говорят, что глобализация в этом смысле стала большим обманом. Она вовсе не сократила отставание от «золотого миллиарда», а только увеличила его.
В любом случае, программное обеспечение — это новая форма базовой грамотности современного человека. Если в стране или в компании низкий уровень грамотности, это невозможно компенсировать ничем другим. Всё теперь работает на софте.
На правах рекламы
Серверы для размещения сайтов и разработки — это про наши эпичные! Все серверы «из коробки» защищены от DDoS-атак, скорость интернет-канала 500 Мегабит, автоматическая установка удобной панели управления VestaCP для размещения сайтов и даже автоматическая установка Windows Server на тарифах с 4 ГБ ОЗУ, 2 vCPU и 20 ГБ дискового пространства или выше. Лучше один раз попробовать ;)
Brak0del
Имхо, всё не так мрачно, свет клином не сошёлся на CPU, уже давно народ серьезно развивает GPU и FPGA. Гляньте на современные SoC, которые ставят в те же телефоны и прочее, сколько там всего на одном кристалле. Гляньте на системы с HBM. Я к тому, что и без прогресса в CPU можно поставлять увеличенную производительность смартфонов и компов, а как следствие их и дальше будут разметать как горячие пирожки и финансировать новый цикл технологических инноваций.
К слову, статья классная, но она не 2021, а 2018 года, с тех пор многое уже изменилось.
VioletGiraffe
Именно о том и речь в статье: задачам, для которых разработан специализированный ускоритель, это плюс. Задачам, которые достаточно похожи на первые, чтобы прикинуться ими и ускорить значительный процент своих алгоритмов на том же спец. железе — тоже плюс. А всем остальным-то минус.
Brak0del
Вот с этим я и не согласен. Во-первых, специализированный ускоритель может быть обычным IP-ядрышком на кристалле с CPU (т.е. не будет стоить 80млн в разработке, а будет стоить 50К за лицензию разработчику процессора). Во-вторых, у нас тут уже времена тёмного кремния, так что такие ядрышки — это то, что доктор прописал, а большие процессорные ядра на их месте всё равно пришлось бы гасить и извращаться с энергопотреблением. В-третьих, ядрышки могут быть не фиксированными, а представлять собой логику ПЛИС (заметили, что два крупнейших процессорных вендора Intel и AMD купили двух крупнейших производителей FPGA?), в этом случае будет иметься возможность программировать в широких пределах ускорители под ваши редкие, кастомные задачи узкого профиля. В-четвёртых, у нас тут новые варианты оперативной памяти уже давно есть (HBM) с пропускной способностью в сотни гигабайт/с, которые процессоры внезапно никак не используют. В-пятых, про финансирование цикла инноваций, ажиотаж по видеокартам заметили? Это я к тому, что финансирование подтягивается, откуда не ждали.
Резюмируя, по-моему страхи надуманные, системы, в которых CPU обеспечивал всю производительность, уходят в прошлое, но их есть чем заменить, так что туда им и дорога, это развитие.
sumanai
А так сильно ли они нужны? ИМХО, чаще упор идёт в задержки, и они относительно производительности ЦПУ только растут.
Nordicx86
скорее упор в Архитектуру ПО — мы тащим за собой слой совместимости «размером с Континент»только потому что реально где-то в 2-5% случаев оно должно запустится…
Тоже самое и по Архитектуре процессоров — пора Выходить за рамки и Переходить к чему-то похожему на Экзоядра(как основа взаимодействия) + IP блоки на базе ПЛИС
про HBM/HMC память — в текущей архитектуре её даже не внедрить, тк Архитектура сильно ограничена и абсолютно не рассчитана на работу с такой памятью.
sumanai
Это точно никто править не будет.
Вот не уверен что ПЛИС что-то даст на десктопе, где куча разных задач. Там время на реконфигурацию будет больше, чем квант времени, выделяемый отдельному потоку.
Да без проблем, просто ещё один уровень кеша, вместо выкинутого на мороз L4.
Brak0del
Да, динамическая реконфигурация пока больная тема, хотя Xilinx роет в этом направлении (в том же Versal-e обещали гораздо живее всё). Но эти вещи можно делать ведь и в статике или в медленной динамике, т.е. продается унифицированное железо (SoC CPU+FPGA), а пользователь во время установки ОС или установки дровишек уже кастомизирует под свои цели, выбирает какие ядрышки поставить, какие убрать и т.д. + имеет возможность написать свои ядрышки и кастомизировать уж совсем под себя.
Nordicx86
тут скорее будет как ускорители для задачи — при загрузке OS или приложения Генерируется набор ускорителей которые ему нужны… те по сути совмещение ядра общего назначения и ПЛИС которая разошьет узкие места о полной реконфигурации речи еще долго не будеn…
Brak0del
Если не ограничиваться CPU, то нужны очень. В CPU есть бутылочное горлышко кэша-оперативы, это его существенное ограничение. Для CPU в нынешней форме HBM и правда не пришей кобыле хвост. Но прочие молотилки, типа GPU, ПЛИС и др., не ограничены кэшем, и возможность поставки данных со скоростями сотни гигабайт в секунду позволяет накормить их вычислительные аппетиты. В результате, для распараллеливаемых задач производительность будет гораздо лучше чем у CPU, ещё и кушать будет меньше электричества. Представьте, что у вас на кристалле есть десятки, если не сотни портов оперативной памяти, у каждого из которых может быть свой мелкий кэш, и тысячи вычислителей, которые взаимодействуют с этими портами.
sumanai
ГПУ это не ЦПУ, да )) Для высокой параллельности вычислений действительно нужна широкая шина, пропорционально числу ядер. Надеюсь, в следующем поколении десктопных процессоров с DDR5 наконец таки сделают 4-х канал на оперативку, а то ядер стало в 2-4 раза больше, а шина памяти не выросла.
Но именно процессору HBM не нужен, Apple вон выкинула L3 (или L2, смотря как считать), нарастила остальные уровни и получила прирост.
nixtonixto
Не совсем минус, особенно если ускорители будут удовлетворять 80% потребностей пользователей, а остальные 20% можно потерпеть. Пример — ноутбучный процессор Эппла, который, благодаря своим ускорителям, по соотношению производительности на ватт кладёт на лопатки все остальные процессоры.
beeruser
Благодаря каким именно ускорителям и где кладёт?