Pull to refresh

Comments 33

В статье - какое-то субъективное и, чессгря, наивное мнение инженера-программиста, а скорее даже навязываемое программистам мнение, раздувающее значимость их технических навыков и скрывающее под ковром основную причину - экономическую. Пример Эпла, которая дважды меняла архитектуру своей аппаратуры с сохранением преемственности всей своей софтварной экосистемы, показывает, что дело не совсем в технологиях, а, скорее, в издержках на их внедрение, которые не просто в деньгах выражаются, а во всех интересах всех задействованных участников завязанного на соответствующих технологиях рынка. И "лубочное" объяснение сворачивания советских разработок - вполне себе объективное, это действительно был в каком-то смысле "подкуп" имеющих отношение к отечественной отрасли ИТ персоналий и институтов более крупными капиталами, стоящими за IBM и всеми её партнёрами (и просто сверхвыгодными контрактами, и даже в прямом смысле "откатами"). Это называется навязыванием технологического отставания, или в терминах конкретной реализации этой стратегии - вендорлоком. Ведь зачем развивать собственную независимую технологию, если можно дёшево получить уже готовую, пусть и такую, на развитие которой ты повлиять не можешь (а впоследствии - и на её ценообразование). Подозреваю, что в ближайшее время из Китая в мировую среду выплеснется кучка процессорных архитектур, показывая, что монополия x86 была в большей степени экономической проблемой, ежели технической :).

Возникает проблема курицы и яйца - владельцы софта не видят смысла тратить кучу ресурсов на портирование сложного ПО на новое железо, если его продажи минимальны, а продажи железа с новой архитектурой минимальны, потому что под него нет ПО.

Да, дело в издержках. Всегда все можно объяснить издержками.

И пример Apple не показателен. Они не избавились от x86, а написали эмулятор x86. Причем очень хорошо работающий эмулятор. Но не идеально. И множество сайтов вида "что запустится на ARM-маке" тому доказательство. Спустя 2 года неработающего ПО все еще достаточно много. И очень большая куча ПО работает только через эмулятор x86.

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

Что, впрочем, не меняет того факта, что их чипы M1 получились крайне выдающимися. И да, это очень серьезная заявка на конкуренцию с x86 на десктопах и ноутбуках.

Но от x86 они не избавились - хотя бы в виде эмулятора он остался. И сомневаюсь, что избавятся в ближайшей перспективе. Хотя бы потому, что эмуляция x86 работает действительно хорошо и сценарий "допилю работу ПО на эмуляторе" выглядит лучше чем "перепишу ПО под ARM".

Не очень понял сути ваших возражений. Я говорю о том, что роль монополий на рынке для внедрения того или иного варианта технологии оказывается важнее технических несовместимостей между этими вариантами технологий, а вы говорите, что несовместимости в технологиях преодолеваются, хоть и неидеально, и преодолеваются в том числе за счёт монопольного контроля экосистемы. Вроде как подтверждаете мои слова, но почему-то в форме возражения :).

Возражение в том, что тот же Apple не избавился от наследия x86 при всех своих финансовых возможностях.

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

Хотя для избавления достаточно просто выключить Rosetta 2 при очередном обновлении... На что Apple вполне способен - они регулярно ломают обратную совместимость.

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

скрывающее под ковром основную причину - экономическую

Именно про экономическую причину (высокая стоимость портирования ПО) вся статья.

Пример Эпла, которая дважды меняла архитектуру своей аппаратуры с сохранением преемственности всей своей софтварной экосистемы

Пример Эппла просто показывает, что люди, которые изначально спроектировали свою бизнес-модель таким образом, чтобы максимально держать в своих руках всю экосистему и заранее позаботиться о возможности смены процессорной платформы - имеют такие вот преимущества. Но это не относится к рынку десктопов/серверов/ноутбуков, где совершенно другая ситуация и нет единого "держателя" экосистемы

И "лубочное" объяснение сворачивания советских разработок - вполне себе объективное, это действительно был в каком-то смысле "подкуп" имеющих отношение к отечественной отрасли ИТ персоналий и институтов более крупными капиталами, стоящими за IBM и всеми её партнёрами (и просто сверхвыгодными контрактами, и даже в прямом смысле "откатами")

Ага, ну вот и эксперты подъехали. Читаем по приведённой в статье ссылке стенограмму заседания:

Присутствуют: Калмыков, Келдыш, Горшков (председатель ВПК. - Прим. авт.), Савин, Кочетов (представители ЦК КПСС. - Прим. авт.), Раковский (зампред Госплана СССР. - Прим авт.). Сулим, Лебедев, Крутовских, Горшков (заместитель министра радиопромышленности. - Прим. авт.), Левин, Шура-Бура, Ушаков, Арефьева, Пржиялковский, Маткин, Дородницын

Вы утверждаете, что абсолютно все вышеперечисленные участники заседания были подкуплены, серьёзно?

 показывая, что монополия x86 была в большей степени экономической проблемой, ежели технической

И снова возвращаемся к вопросу, что проблема портирования ПО - это как раз экономическая проблема, про что статья и написана

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

UFO just landed and posted this here

Да, пардон, посчитал переход m68k -> PowerPC уж слишком древним, не очень в курсе, насколько там софт отнаследовался (или там просто получился "полный перезапуск"), про 6502 -> m68k ещё меньше в курсе. Но подсчёт этих переходов лишь усиливает мою аргументацию :).

UFO just landed and posted this here

Ваше лубочное объяснение про подкуп и крупные капиталы в отношении советских разработок голословно и ничем не доказано, т.е. является вашим личным мнением.

Ох, это не личное мнение, это очень глубокая и проработанная концепция, изжёваная уже и вдоль, и поперёк. Начните, например, с трудов Маркса изучать вопрос о том, как оно всё устроено в мире вообще, и как формируется компрадорская буржуазия в частности :).

Это всё не сказки о хороших людях и плохих людях, это всё объективные социальные и экономические процессы.

Что касается серверных решений, то доминирование в высоконагруженных системах началось в 2010-х годах. Связано это было в первую очередь со стоимостью закупки и поддержки, которая для х86 стала в разы меньше, чем PA-RISK (HP), Sparc (Sun) и PowerPC (IBM). Доходило до того, что дешевле было купить новый сервер на базе х86, чем поддерживать 3-летний Sun sparc аналогичной производительности. Собственно, поэтому вендоры начали массово переводить свой парк на х86.

Я в статье указал, что доминирование x86 в серверах началось "затем", специально не конкретизируя дату, ибо это дискуссионный вопрос. Главное, я думаю никого не будет сомнений, что на текущий момент архитектура x86 - лидер серверного сегмента в части CPU.

Я не знаю, какая архитектура сейчас лидирует, и по каким критериям. Я утверждаю, что доминирование началось именно тогда, когда производительность серверных систем на х86 достигла RISC-систем, а TCO при этом начало стремительно падать. В нашем мире всё упирается исключительно в бабки.

Не похоже. Когда люди убивают друг друга, каждый ли из них так много заработает на этом?

Если софт так важен, то не видно смысла и в RISC-V (да и в любой новой процессорной архитектуре). Стоит ли менять шило на мыло только ради того чтобы не платить немного ARM, а потратить куда больше денег на софт для новой архитектуры?

Конечно стоит переписать основное ПО и тяжелые алгоритмы на C. Это даст кратный в разы выхлоп с точки зрения CPU costs. Т.е., например, вместо покупки новых 10 серверов вы сможете обойтись существующими 10. Но вложиться нужно будет не в железо, а в ПО.
Но это очень непопулярная точка зрения. К сожелению.

Почему к сожалению?
Потому что стоимость разработки ПО "размазываеся" на число исталляций. И условная оптимизация на 10% при милиллионном траже позволит сэкономить 100К условных CPU.
Но это, как я уже говорил, тренд немодный. Ибо важнее "скорость выхода на рынок. остальное - допилим потом".

Софт важен (про то и статья), но это не единственный фактор, конечно же. Есть сегменты, где зависимость по софту не столь критическая. Например, всякие мелкие процессоры/контроллеры, где поставщик конечного решения вполне может иметь почти всё в своих руках и ему не так сложно перейти на новую архитектуру. Именно поэтому RISC-V сейчас используется в основном во всяких микроконтроллерных исполнениях (ну и конечно ещё потому, что для создания более сложных CPU требуется больше времени и ресурсов и уже определённая аппаратная экосистема).

Также есть определённые ниши, где привязка к архитектуре тоже не столь сильная, и можно портировав небольшой стек ПО уже иметь возможность предлагать там конкурентно способные решения. История развития того же Arm в последнее время - это как раз про это. Они пытаются начать экспансию с захвата именно таких сегментов - файловые хранилища, веб-сервисы и тому подобное. А вот заменить x86-десктоп с MS Word и MS Excel они пока не стремятся.

А когда-то Intel ведь продал своё ARM-подразделение, XScale.

Я понимаю, почему за ARM так топят вендоры — для них это просто манна небесная. Но вот почему ARM поддерживают и пропагандируют ещё и пользователи — этого я понять не могу.
Что получает рядовой пользователь от ARM, кроме лишения остатков свободы? Ведь ARM — это конструктор вендорно огороженных SoC'ов. И покупая устройство на ARM, вы купите вендорно огороженный SoC, на который поставятся только те ОС и только тех версий, которые поддерживаются вендором.
x86 — единственная на данный момент архитектура, на которой можно запустить абсолютно всё — от древней MS DOS до ОС Android, причём любых версий. Можете назвать хоть одно устройство на ARM, на которое можно было бы поставить по выбору скажем Android 2.3, Android 4.2 и Android 12?
ARM по сравнению с x86 — просто убогий загон, где все должны кланяться в ножки вендору.

просто убогий загон, где все должны кланяться в ножки вендору.

Ну все таки не вендору, а тому кто сканпелирует линукс под проц и (САМОЕ ГЛАВНОЕ !) железо прилагающееся к нему.

Хоть это и не сильно сложно, но зачем кому то это делать если не "просто захотелось" ?

А под х86/64 все есть.

Нападок не надо, ибо это разумно "не заниматься фигнёй". Возьмем среднестатистического (не из silicon valley) "шарющего студента". Об ARM его интузиазм разобьется еще в зародыше )

PS. Когда состоял в тусовке Siemens SX1 одна мысль меня постоянно настигала - а мне вообще потом пригодится это знание ARM ASM в жизни ? )

Кстати пока не пригодилось )

И покупая устройство на ARM, вы купите вендорно огороженный SoC, на который поставятся только те ОС и только тех версий, которые поддерживаются вендором.

разве? вот у меня на столе стоит raspberry pi, на которой крутится собственноручно собранный с помощью buildroot образ linux. всякие *bsd тоже не проблема поставить.
то же самое и с виртуалками на arm в aws, например.

UFO just landed and posted this here

ну если на то пошло, то драйвера-блобы и для x86 есть.


arm-железок, на которых можно загрузить неподписанное ядро linux сейчас много.
да, в основном это мелкие железки: rpi и клоны, wifi-роутеры. но тот же байкал ЕМНИП грузит неподписанное ядро, а драйвера разработчики байкала пропихивают в апстрим. десктопы на байкале уже показывали.
кстати, на apple m1 же тоже запустили linux; не слежу за проектом, но раз у них получилось, подпись кода необязательна. да, там не всё гладко с драйверами, но говорить о вендор-локе не приходится.

У M1 совсем своя система обеспечения безопасности и схема загрузки, не имеющая ничего общего с большей частью ARM-систем. И запуск сторонних ОС там сделан целенаправленно.
А вот с драйверами всё плохо почти на всех ARM-платформах. Даже в рамках одной линейки SoC одного производителя, самые базовые части, вроде контроллера прерываний, постоянно меняются, и кто-то должен постоянно заниматься реверс-инженерингом, чтобы просто иметь возможность стартануть ядро. Не говоря уже о проприетарном управлении питанием, сетевых контроллерах, GPU...

абсолютно всё — от древней MS DOS

По факту - все старые версии Windows на относительно современном железе давным-давно отрезаны не только имплицитно (отсутствием драйверов), но и по факту применяются активные меры, чтобы этого сделать не смогли. Как вы собираетесь запустить на голом железе, например, Windows 95 или NT 3.51? Вы можете запустить определенные версии DOS, но скорее всего это будет FreeDos - от классической DOS (я ставил на размеченную флэшку версию 3.3!) толку будет очень-очень мало. Плюс неминуемо вылезут разные прелести вроде того, что современные системы уже очень плохо переваривают старинные менеджеры памяти вроде EMM386, а часть видеорежимов VGA и даже EGA намертво вырезана так, что на голом железе не заработают даже обычные игрушки из 1990 года. Про звук с материнской платы под DOS-режимом на голом железе, конечно, можно сразу забыть, этому уже лет двадцать как.

Ну с другой стороны — вопросы эмуляции старого — тоже отработаны.
DOSEMU и выпиленный уже NTVDM если надо что-то совсем старое
DOSox (жрущий в разы больше чем оригинал ресурсов но можно позволить)


А на голое железо — ну вот FreeDOS на ноуты ставят.
Правда иногда очень интересными способами вроде https://habr.com/ru/company/dcmiran/blog/666258/
и при этом все работает -:)


Windows — ну 16-бит приложения зарезали только с появлением 64-битных версий Windows. 32-битные — сдохнут окончательно когда 32-бит версий Windows совсем уже не будет в эксплуатации.


Вот Apple с одной стороны ставит эмуляторы а с другой стороны — раз они сказали что OpenGL устарел и надо Metal — значит устарел (хотя реально сами не обновляли драйвера). Решили что в 32-бит приложениях под macOS потребности нет — значит разработчики должны обновить их или работать на Catalina и выше не будет. А то что некоторым компаниям приходится статьи вроде https://help.steampowered.com/ru/faqs/view/5E0D-522A-4E62-B6EF писать (если кратко — сам Steam обновили а если кто-то из разработчиков игр не обновил и вам эта игра нужна — играйте под другой ОС или НЕ обновляйте macOS).

А вы следите за проектом Embox от Антона Бондарева?

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

непосредственным участником не был, но где-то около контакты были, для тех кому интересно небольшие субъективные замечания без претензий на истину в конечной инстанции:

  1. не стоит переоценивать техническую рациональность принятых в то время решений, начиная с 50х общая тенденция в промышленности была на создание удельных вотчин, и всяческая о них забота, при Сталине вероятно это сдерживалось страхом, позже при Хрущеве и Брежневе стало обычным делом, особенно в оборонке, где закрытость информации способствовала,

  2. главные и генеральные конструктора имели супер высокий статус и его поддерживали как могли, правила игры при этом не слишком соблюдались, начал работать отрицательный отбор, достаточно известна история главного конструктора Кисунько (МРП), они довольно успешно занимались ПРО, типа впервые в мире сделали реальный перехват, но в те дальние времена когда о нем практически никто не знал, слышал подробности от людей с ним работавших, по их выражению "съели живьем", не хочу вдаваться в детали, просто характеризует обстановку в одном из наиболее продвинутых министерств, это к тому кто и как принимал решения в том числе на упомянутом заседании в МРП (декабрь 1969) ,

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

ps

т.е. практически все стратегические решения того времени не были объективными техническими в точном смысле, всегда за ними были личные и групповые интересы тех или иных главных конструкторов, директоров институтов, министров и пр. начальников (поддерживающих друг друга по интересам), imho не менее чем 50/50, между техникой и политикой по типу византийской, это слегка шокировало пока не привык когда-то очень давно

Статья понятная и правильная, но есть придирки к логике.
В одном месте говорится что люди готовы переписывать поддерживать и тратить силы на новую архитектуру, а тут же рядом, говрится что на самом деле не готовы и не надо, и нужно подстраиваться под программную экосистему. Центром мотивации является прибыль, а не сложность перехода на новую архитектуру. Выпустите процессор хоть на 8051, но при каких-то нереальных усилиях программистов и компиляторщиков доводимый до производительности среднячков, ну и в 10 раз дешевле в поддержке - его купят и перепишут на него весь софт. На ARM софт тоже стал появляться в том числе из-за доступности железа, то есть из-за экономики. Вспомнить десятки китайских Allwinner с непонятными дровами и эратой больше даташита и выяснится что деньги спокойно перевешивают все недостатки.

Сама статья между строк опускает лицом в грязь VLIW. И вполне возможно что если взять и прикинуть на бумажке, выйдет что стоит вкладывать деньги только в ARM и RISC-V (RISC-X), что модно - а значит правильно. Но может оказаться и иная ситуация, где производить более-менее серьезные камни выйдет только у той компании, которую нельзя будет притянуть за перепродажу лицензии на ядра ARM, у той компании, чьи процессоры уже умеют хоть в каком то виде корпусировать в РФ, а главное тестировать исключительно в пределах РФ, у той компании, чьи процессоры содержат больший процент своей периферии. Они будут хуже, менее модными, менее мощными, менее удобными в использовании чем те - самые классные в теории ARM или RISC-V, но они хотя бы будут заказаны через подстаные лица. В аналогии с предыдущим абзацем, они будут теми самыми 8051, на которые экономически будет проще перевести софт. (я не в курсе возможно ли это, пример абстрактный)

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

Так переписывание и поддержка кода - это ведь тоже деньги.

О чём автор и говорит - что переписывать и поддерживать код чтобы он нормально работал дорого. Как только это будет эффективнее или дешевле (т.е. прибыль будет выше затрат), чем запускать на x86, так сразу всё и перепишут.

И на примере сельхоза мы знаем, как в России достигается эта выгодность:

а. владельцами компаний становятся чиновники и связанные с ними лица
(https://www.forbes.ru/milliardery-photogallery/378069-hozyaeva-zemli-russkoy-20-samyh-dorogih-zemlevladeniy-rossii-reyting)

б. конкуренты уничтожаются нерыночными способами.Например искуственными "антисанкциями", т.е. будем давить еду на границе и обесцениванием валюты с помощью уничтожения инвестклимата и войн, чтобы люди тупо не могли себе позволить, даже если формально что-то из конкурентного осталось в магазинах. (про внутрирыночную уничтожение конкурентов рейдерством, поджогами, убийствами я не говорю, частных местных производителей cpu не финансируемых за счёт наших налогов в ИТ нет)

Вуаля, условный безальтернативный сыр из говна за несоответствующие качеству деньги готов. А т.к. выбора нет - все жрут то что дают. И сразу всё стало "выгодным" - или ничего, или говно.

Вот и тут будет так же: при наличии конкуренции это дорогое бессмысленное ненужное говно. При отсутствии конкуренции это дорогое говно которому никаких альтернатив нет.
Сначала вы налогами всё, включая взятки, откаты, распилы, подлоги, обман "произведено в России" и неэффективное расходование средств оплатите, а потом вам же снова за ваши же деньги, при том безумные, будут это тормозное, гнилое говно впихивать, потому что другого не будет. А вы будете жрать и нахваливать, потому что сравнивать будет уже не с чем.

Это россия детка

Sign up to leave a comment.

Articles