Pull to refresh

Comments 86

Интересно, здесь только я вижу, что система на процессоре интел раз в 30 быстрее?

По другим тестам тоже некоторые результаты вот никак не соответствуют сделанным в статье выводам…

Действительно, тут разница в 30 раз – но разных «по набивке» процессоров – разное количество ядер, разная частота. Для корректного сравнения возможностей мы приводили к показателю Transactions-per-second в перерасчёте на 1 ядро частотой 1 ГГц.

Добавьте тогда, сколько стоит 1 ядро частотой 1 ГГц эльбруса и интела? По производительности уже все понятно, спасибо.

А насколько корректно такое удельное сравнение? Ведь в реальной жизни решает общая скорость обработки данных. Если, образно говоря, военный сгорит в танке из-за недостаточной производительности встроенного бортового компьютера, ему вряд ли станет радостнее от того факта, что «по удельной производительности на ядро-гигагерц наш Эльбрус всё равно ого-го»
UFO just landed and posted this here
поскольку со стороны противника тоже автоматы заряжания


Нет у противников автоматов заряжания. У противников +1 член экипажа и заряжание происходит вручную.
UFO just landed and posted this here
Неважно кто и как первым изобрел или внедрил автомат заряжания в танке, важно состояние дел на сегодняшний момент. А оно таково, что:

Abrams M1 — заряжающий
Challenger 2 — заряжающий
Leopard 2 — заряжающий

Ну и с «другой» стороны:
T-72 — автомат заряжания
T-80 — автомат заряжания
T-90 — автомат заряжания
UFO just landed and posted this here
не следует считать противников за идиотов /по крайней мере едучи на рать/.
нет автомата заряжания — так есть противотанковый комплекс в засаде.
Мне кажется вы свои мысли мне приписываете. Я нигде не писал про идиотов, а просто указал, что у танков, разработанных в странах НАТО и стоящих на данный момент на вооружении как правило нет заряжающего механизма. Это все, что я хотел сказать и не более того.
постороннему наблюдателю может показаться что опровергается основной тезис («Увы. Военный сгорит в танке по любому») путём опровержения одного из доказательств.
а оно вот оно как))
А чем это вызвано? Это настолько дешевле?
UFO just landed and posted this here
«А там точно нет закладок?» — чтобы точно ответить на этот вопрос про любую железку иностранного происхождения, рано или поздно надо сделать её самому
Ну сделали, и какой сейчас точный ответ?

Теперь это свои закладки, заложенные в интересах страны-разработчика.

было бы верно, если бы его хоть кто то в мире использовал

В вопрос закладок мы не погружались в этой статье.)

ИМХО, наиболее действенный способ избежать закладок при условии, что железо делается за рубежом и нет контроля над производством — это делать процессоры на ПЛИС.
В ПЛИС запихнуть закладку намного сложнее, почти нереально, а выявить её легче. К тому же производитель ПЛИС знать не знает, для чего конкретно будет использована произведённая им партия — эти чипы слишком универсальны, на них можно строить всё — от процессора до майнера крипты.
Покупаем ПЛИС за рубежом, а прошивку и разрабатываем, и прошиваем уже в собственной стране, где всё это можно проконтролировать.

это делать процессоры на ПЛИС

Только процессоры будут очень медленные -- мегагерц 500.

Пчхи, вы на два порядка ошиблись. При макетировании техники такого уровня на ПЛИСах(а там не одна ПЛИС, там очень часто 10-20 очень жЫрных ПЛИС) получаются очень длинные комбинационные цепочки и просто супер, когда частота до десятков мегагерц доходит.

вы на два порядка ошиблись

Вряд ли, Microblaze у Xilinx до 720 МГц заявлен на семействе ультраскейл+. Но согласен, микроблейзу далеко до серьезных процев.

Микроблейз это всёже из разряда чего-то около Cortex-M.

Так ведь и макетирование asic на десятке ПЛИС это тоже не совсем процессор на ПЛИС, не находите?

Точнее не процессорное ядро. Можно сказать либо «процессор», либо «рефренсная платформа» в зависимости от того, что туда кроме процессора в макетирование включили.
Компляторов для какого-нибудь языка программирования общего назначения, выдающих схему ПЛИС нет, и пока не предвидится.
Хотя Вы правы — вероятно за этим будущее. На Интелах с Эльбрусами отрисовывать ПЛИС, а остальное — микроустройства узкого назначения.

Не вижу причин приводить тесты к "1 ядро 1 ГГц", пока Эльбрус не достигает тех же частот, что Интел, чтобы не получить смягчающий фактор в сторону Эльбруса величиной до 5. После этого интерпретация тестов как "медленнее в 1.6 раза" превращается в замеренные "медленнее в 10-30 раз" и всё встает на место. Работать будет, но половину программистов придется переучивать, чтобы не городили слои абстракций высотой с Вавилонскую башню (и это будет хорошо, но когда ещё это будет...).

В большинстве современных бизнес-систем максимальная производительность процессора не является лимитирующим фактором. В инфраструктурах, использующих виртуализацию, например, применяют коэффициенты, определяющие, условно говоря, между сколькими разными приложениями будет делиться одно процессорное ядро. И вот именно для подобных систем подход "1 ядро 1 ГГц" вполне оправдан.

Или другой пример. Все задачи одного небольшого офиса сейчас вполне может обслуживать один сервер средней мощности. Но это не отказоустойчиво, поэтому серверов ставим два или, лучше, три, чтобы кворум соблюдался. И в таком разрезе не важно, какие серверы мы поставим - просто интелы будут загружены в среднем на 10-20% общей мощности, а Эльбрусы - на 50-70%.

В небольшом офисе три сервера никто ставить не будет — тупо бюджета не хватит. Так что сервер будет один, Интел, загруженный на 60%, а на Эльбрусе всё будет тормозить втрое против Интела, и понадобится три сервера, чтобы завести эту самую нагрузку.


Кстати об интелах — VMware на эльбрусе работает?

На испытываемых процессорах аппаратной виртуализации не было. Но разработчик уже демонстрировал ее на опытных образцах процессора Эльбрус 16С.

И в таком разрезе не важно, какие серверы мы поставим — просто интелы будут загружены в среднем на 10-20% общей мощности, а Эльбрусы — на 50-70%.

И насколько будет дороже решение на Ээльбрусах?
не всё можно измерить деньгами
ну и «дорогу осилит идущий»

С одной стороны вы приводите пиковые ФЛОПсы как показатель, с другой стороны у вас производительность "не лимитирующий фактор". Вы уж определитесь.

Попытки замазать провал производительности Эльбрусов пересчетами равных частот заранее обречены на провал. Эльбрус как и его старший брат Итаниум никогда не достигнет высоких частот независимо от техпроцесса из за немасштабируемой по частоте архитектуре. Невозможно синхронизировать огромные RF на высоких частотах. Нет. Никак. Совсем.

Результаты вполне ожидаемы. Разработчики все никак не могут понять, что VLIW не подходит для процессоров общего назначения, и продолжают изобретать велосипед. VLIW подходит только для DSP и числодробилок.

В чем смысл пересчёта производительности на 1 ядро на частоте 1ГГц? Похоже на попытку хоть как-то подмогнуть Эльбрусу, но даже это не помогло.
>В чем смысл пересчёта производительности на 1 ядро на частоте 1ГГц
Для того чтобы оценить разницу в производительности архитектур с разными подходами без учета частоты/нм?

Потешить себя. Но по факту требуется максимальная производительность на объем в стойке за минимальные деньги.
Какой толк от пересчета, если в итоге потребуется 10 серверов ставить, а не 1.

Кому требуется? Вам? Гос-ву?
Предположим, чисто гипотетически, запретят поставлять в РФ процессоры (оборудование) Intel и AMD. Все грязно выругаются и переедут в заграничные ЦОДы. Все кроме гос.органов и АСУ — им деваться некуда. И тогда выбор будет между не работающими системами или системами с 10 серверами. Выбор по-моему очевиден.
В данной ситуации не требуются никакие сравнительные тесты.

Да! Нам, бизнесу.

Да на случай чего мы уйдем за бугор и с нами нужно считаться иначе уйдем быстрее. Неожидано да?

органы на бу интелах поживут за 3 копейки

А если не криворукие уроды пишущие кривой код то core2duo коих мильярд на бу будет достаточно для обычных pc, неожиданно да?

Основное что не обеспечивают эльбрусы это обеспечение дешовых, но мощных вычислительных мощностей.

Не работающие системы, это вопрос изоляции этих приложений от мира.

Ясно — понятно, с АСУ вы не работали.
Вот вам пример «нового» и свежего железа за ~100к (1.3k $) 6ое поколение интелов! И это свежак, вам придется еще пучек пересогласований пройти т.к. в проекте будет что-ндь на 3570.
И практически все АСУ на этом — где-то больше, где-то меньше.
1. АСУ это какой % рынка?
2. Хотелось бы понять требования основные
Корпус+процессор+мелочевка в вашей сборке стоят 20 000р т.е. 35 000р с мамкой где-то
Единственное предраться можно к мамке, аля требований com портов и кол-ва USB
Но скажем эти требования добиваются при использовании переходников
Я вот никак и не прикаких не вижу стоимости в 100т.р кроме как заточить под откат
Я немного потерял нить спора.
В общем, что хотел донести — Эльбрус, это нишевый продукт, для АСУ и прочих гос-оборон-заказов и не надо пытаться его проецировать на какой-нибудь high load. Не, ну серьезно, есть камазы, а есть болиды F1, разные конструкции, разное назначение, разные заводы.
АСУ ТП это пример систем где правило
максимальная производительность на объем в стойке за минимальные деньги.

не работает.
АСУ ТП очень консервативно, там нафиг не нужны мощности, но нужна надежность т.к. срок эксплуатации некоторых систем составляет 30 лет. И да, есть объекты на которых крутится ПО если не 90, но начала нулевых — и всех все устраивает.
Сертификация и прочие штуки тоже жрут деньги. Вы не можете придти и сказать вот новый i7, он лучше i3-5ого поколения. Потому что первый же вопрос будет — а вы его протестировали на ЭМС, сейсмику, климатику? А ПО? Совместимо или мамой кленетесь? И это совершенно нормальные вопросы когда вы запускаете системы которые должны работать автономно, долго и отказ которых может привести к техногенной катастрофе или наоборот спасти человеческие жизни. В общем это вам не Хоум Ассистант на RPi поднять.

1. АСУ это какой % рынка?
% от чего? от продаж? от оборота? от количества? В любом случае рынок достаточный чтобы в него тяжело было влезть — циска вот пыжится уже который год, а результат примерно как 5 лет назад.
Компания iRobot («мы», «наш», «нас») гарантирует работоспособность данного изделия (в том числе аккумуляторов) в течение 1 (одного) года
Никаких вам 10к лет нет!
Да сертификация этого оборудования увеличивает его цену с 35 тысяч до 100т, и мы не поймем в чем суть такого удорожания кроме как попытка нажиться
Так же мы, общественность, охреневаем когда сравнивают эльбрус с Intel заявляя что в каких-то синтетических тестах эльбрус сильно быстрее интел. Потом оказывается что это если бы интел был 1герцовый о прочая ересь. Это сплошная спекуляция!
весь маркетинг эльбруса в корне неверный!
Это основная мысль которую хотел донести.
с тем же успехом вы можете грузовик критиковать: «а сколько он на нюрбургринге жмёт? фу, что за фуфел, никто такое не купит»
вам, общественности, никто эльбрусы не предлагает покупать вместо интелов
не говоря уже о том, что так-то вы многовато на себя берёте, говоря за общественность
не надо тут грузовики приплетать. и то и то центральные процессоры общего назначения.
Был разработан эльбрус- он оказывается существенно медленнее Intel.
Как пример Apple- она разработала M1 и вполне спокойно его сравнивает с intel без прохладных историй и сравнений на 1ггц.

И я абсолютно уверен, что если в параметры сравнения добавить ещё цену- то выяснится что Эльбрусы абсолютно неконкурентоспособны.
ещё раз: вам никто ничего не навязывает, не нравится — не покупайте. и конкуренция тут вообще ни при чём, вы же не будете утверждать, что С-400/С-500 конкурирует с patriot-ом, например?

и при чём здесь apple? вы в этой статье где-то увидели МЦСТ, хвастающуюся достижениями? человеку попал в руки комп, он его потестировал и результатами поделился
Это довольно странно, ибо частота это часть микроархитектуры. Какие-то могут высокие частоты, какие-то не могут ни при каких условиях. Если бы эльбрус был низкочастотный, но быстрый, можно было еще понять (как амд когда-то делала, вычисляя рейтинг производительности относительно интела). Но он ни то, ни другое.

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

«частота это часть микроархитектуры» — тут путанница в терминологии. Мироахитектура Intel Xeon 6230 и, например, микроархитектура Intel Xeon E5-2680 — это разные микроархитектуры. Хотя и то и другое — микроархитектура CISC (или RISC — кому как больше нравится:)

Учитывая, что Эльбрусы печатаются по техпроцессу 28нм — им есть куда расти (Эппл уже скупает на корню процесс 2нм). Вместе с миниатюризацией вырастет и частота.
ЦОДам очень интересна энергоэффективность, на тематических конференциях проблема организации качественного отвода тепла/подачи питания среди топовых тем.
Производительность на Вт интересна всем. Это единственный адекватный показатель производительности архитектуры, который можно сопоставлять между процессорами, наряду с пересчетом на доллары. Если оба процессора эквивалентны по скорости, но один жрет в 10 раз больше энергии, то нафиг он такой не нужен. От тепловыделения будут исходить расчеты по энергии на стойку, тепловыделению. От этого потянется питание и охлаждение датацентра.

Речь именно о микроархитектуре. Она очень даже влияет на частотные пределы процессора. Техпроцесс тоже и не обязательно его толщина, т.к. их тоже под разные задачи делают. Интелы вон на своем древнем техпроцессе спокойно гоняют 5ГГц+, а амд на топовом техпроцессе не удается это до сих пор. Тоже самое было во времена пентиумов 4 и атлонов xp.
Вы об это геймерам расскажите :))

А если серьезно — где то в интернете встречал информацию, эльбрус выдал бОльшую производительность в расчете на ватт (по сравнению с интелами).
Вот для геймеров как раз главная метрика будет производительность на доллар, т.к. многим потребление действительно не так важно.
Вот когда эльбрус начнет думать о домашних геймеровских компьютерах, и у рядового студента в принципе появится возможность и деньги купить хотя бы один эльбрус, вот тогда и поговорим про геймеров.

>>Производительность на Вт интересна, по большому счету, только майнерам.

Враньё или некомпетентость.

Разработчики все никак не могут понять, что VLIW не подходит для процессоров общего назначения

Нет чтоб послушать экспертов из интернета и просто взять и зделоть Ryzen X Black Edition от которого любой код будет ссаться AVXами сам по себе, без программистов.

Одного меня смущает что одна и та же ОС на одном и том же Intel CPU дает разницу от десятка процентов и до 2х раз, а на том же CPU например Astra Linux — еще больше разницы? Прочие характеристики серверов отличаются (диски например)? Ну так надо это написать, указать в чем разница и не писать что «мы старались исключить влияние», стараться мало, надо или исключить или нет.

Тесты которые не дошли до конца на Intel платформе и заявления про нестабильность Linux дистрибутивов для x86 вымораживает еще больше. И как весь мир на них живет…

На основании этих двух фактов, я не доверяю этому тестированию абсолютно, хотя Эльбрусы считаю несомненным достижением и вцелом за попытку его потестировать конечно спасибо.
«Исключить влияние» можно только на синтетических тестах. Такие тесты проводятся и публикуются регулярно, как официальные, так и независимые. Только смысла в них немного, о производительности в реальных задачах они ничего не говорят.
Идея оценки конкретных приложений в этом смысле гораздо интереснее. Правда pgbench это тоже, скорее, синтетический тест.

Абсолютное большинство представленных на рынке процессоров, включая процессоры наиболее распространённых семейств х86-64 и ARM, используют архитектуру RISC

считается, что х86-64 использует архитектуру CISC - Complex Instruction Set Computer

хотя, конечно, бытует мнение, что благодаря заимствованию идеи и подходов в современных реалиях разница RISC и CISC размыта практически до состояния её отсутствия

Последним настоящим CISC процессором был Pentium Pro. Далее пошел декодер инструкций, который раскладывал эти самые CISC инструкции в RISC, которые уже умело ядро.
А если потестировать не на контрафактной ЭльбрусОС, а на хоть чём-то, что там можно запустить легально (похоже, легально там можно запустить что-то только в режиме эмуляции)?
С какой стати собственный дистрибутив Linux стал контрафактом?
Легально можно запускать всё, что позволяет лицензия. У перечисленного в статье софта с этим всё нормально.
если у вас у кого-то с NDA или чем-то похожим — то в этом конкретном случае может быть и нормально. Ну или если вы сами разработчик ЭльбрусОС и запускаете у себя.

В общем случае — запускать можно всё, что было легально введено в гражданский оборот. А вот ввести ЭльбрусОС легально в гражданский оборот как раз лицензия не позволяет. Ибо действует принцип «не можете предоставить сорсы — не имеете права распространять — а если нет права распространять, то и копию нельзя легально ввести в гражданский оборот». А кое-какие сорсы предоставить не могут, хотя и обязаны по лицензии.

Так что не всё, что бесплатно — не является интеллектуальной собственностью…
Вы ничего не путаете? Эльбрус ОС скомпилирована из исходников линукс. Они, очевидно, опубликованы.
По словам разработчиков, модификации подвергались только ассемблерные вставки, т.к. они, очевидно, процессорно-зависимые.
Простой вариант объяснения — не важно, что они там поменяли, они должны взять и отдать сорсы в т.ч. этих изменений любому лицу, кому отдали ЭльбрусОС в бинарном виде, без рассуждений «вам дать можем, а вам — не можем». Давать саму ЭльбрусОС, правда, не обязаны. Но вот если дали — вынь и полож сорсы. Ну или ничего не меняйте в сорсах (но тогда ж и скрывать нечего, верно?).

Более сложный вариант объяснения — т.к. распространяют модифицированное ядро линукса — должны именно сами дать сорсы этого ядра вместе с модификациями, без отсылок на то, что они (за исключением маааленькой штучки, которую мы вам не дадим) есть где-то на kernel.org. Не делают так — значит, нарушают лицензию, значит, теряют право на распространение, значит, переданная кому-то копия линукса лицом, не имевшим право на её распространение — не вводилась законно в гражданский оборот, то есть контрафактная.

Видите ли, лицензия ядра Линукса специально написана так, чтобы не давать делать на его базе закрытые вещи, даже в небольшой части. Не можете выполнить условия лицензии (а насколько я понимаю, разработчик ЭльбрусОС не не хочет, а именно не может — из-за закрытости нативных инструкций процессора Эльбрус) — пишите своё ядро, кто не даёт?..

И обращаю внимание — речь не идёт об абстрактной «ЭльбрусОС», речь идёт от конкретном экземпляре ЭльбрусОС. Легальность разных экземпляров будет разной.

Всё, что находится «внутри» организации-разработчика — абсолютно легально, он имеет право делать что угодно у себя.

Проблема возникает только в случае, если он передаёт копию ЭльбрусОС какому-то другому лицу.

Так что еще раз обращаю внимание — если что-то опенсорс и бесплатно, это совершенно не означает, что это общественное достояние, а не объект интеллектуальной собственности.

А может быть они и дают?
Тем кому сами дали бинарники? Всему интернету — они не обязаны давать.
Тут надо КРОК спросить скорее — им исходники дали? А возможность запросить и получить — у них есть?

А Кроку, судя по статье, ЭльбрусОС и не давали ;)
Ему из «НОРСИ-ТРАНС» железку дали, для опытов. Оно конечно возможно, что Норси-Трансу всё дали.

Правда, тут начинаются настоящие нюансы… Лицензия запрещает накладывать на распространяемый код ограничения, отличные от установленной самой лицензией, вплоть до автоматического аннулирования предоставленной распространителю лицензии за такие действия. А тут мало того, что распространение сопряжено с дополнительными условиями получателю о нераспространении кода, и что «сорсы по запросу» — это уже нарушение лицензии, так разработчик еще и открыто заявил, что исходного кода ядра даст не всем, кому даст сорсы ЭльбрусОС (а там и без ядра наверняка полно софта под GPL-лицензией)…

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

Сейчас — может быть. Но если запустить её в разработку сейчас, то в продаже она хорошо если будет года через два. Как раз когда ажиотаж спадёт, а крупные производители выкатят новое поколение железок.

Так, почему я вижу разнице в производительности на 400-500%, а автор говорит, что все в порядке?
UFO just landed and posted this here

Странно, уже не первый раз вижу что якобы "внутри x86_64 RISC-ядро", но не вижу никаких доказательств или ссылок. Видимо, фанаты RISC специально распускают ложные слухи. В RISC-архитектуры, как правило, команды имеют похожую структуру и длину, и похожий процесс их выполнения. x86_64 под это определение не попадает — это CISC-процессор.


Также, не написано — выполнялись ли тесты, используя нативный код для Эльбруса, или в режиме эмуляции x86?


VLIW — очень интересная идея. Но, что огорчает, это то, что у процессора Эльбрус из-за этого получаются очень жирные команды — до 64 байт! Наверно, это создает большую нагрузку на кеш и относительно медленную память? Также, интересно, что у него очень много регистров (256, по моему) — по идее, это бы должно давать экономию при работе с локальными переменными.


Что касается производительности, то тут чудес ждать не стоит — техпроцесс у Эльбруса довольно крупный и быстро работать не может.


И, конечно, исходники ОС надо выложить. Какой позор — российский процессор работает на ворованном коде.

Странно, уже не первый раз вижу что якобы «внутри x86_64 RISC-ядро», но не вижу никаких доказательств или ссылок. Видимо, фанаты RISC специально распускают ложные слухи. В RISC-архитектуры, как правило, команды имеют похожую структуру и длину, и похожий процесс их выполнения. x86_64 под это определение не попадает — это CISC-процессор.

Речь обычно о том, что x86 процы делят инструкции на µop, которые раз как раз походят на RISC. А так, грань между RISC и CISC давно стерта и спор этот имеет не более чем академический интерес.

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

А для vliw - это как? Чтобы данные лежали ровными массивчиками, везде руками были расставлены префетчи, циклы имели статические границы и никаких вызовов функций по указателю? Век вроде 21й на дворе

А для vliw - это как?

Думаю, речь в исходной цитате о режиме совместимости, линуксы и виндоусы скомпилены ведь под х86/64, а не под vliw эльбрус. В результате там работает механизм двоичной трансляции, когда инструкции динамически парсятся во vliw, а оно небыстрое и главное неэффективное. В 21м веке, если следите, интеловский Itanium уже затонул на этом.

Чтобы данные лежали ровными массивчиками, везде руками были расставлены префетчи, циклы имели статические границы и никаких вызовов функций по указателю?

Почти так, только не руками. Существенное отличие VLIW от всяких x86/CISC в том, что VLIW очень сильно полагается на статическое планирование команд (это когда компилятор всё раскладывает так, чтобы конвейер и ресурсы процессора были задействованы максимально эффективно), в то же время в х86 и прочих хорошо прокачано динамическое планирование исполнения команд (все эти спекулятивные исполнения), когда почти всё эффективно разруливается железом в рантайме по ситуации. В результате без норм компилятора vliw неэффективен.

Я думаю, что все, что тут тестировалось, скомпилировано под e2k, а не в режиме двоичной трансляции работает. Я читал руководство по эффективному программированию под Эльбрус (если честно, субъективно довольно красиво у них организован регистровый файл, подготовка переходов, режим спекулятивности и предикатного исполнения), и примерно представляю, что такое vliw. Комментарий о другом был. Что нужно не заставлять программистов "писать под vliw" (с ручной расстановкой префетчей, например), а процессор/компилятор допиливать, чтобы он нормально жевал современный код, с кучей мелких объектов, косвенных вызовов (привет, аппаратный предсказатель переходов!) и короткими базовыми блоками. Числодробилки, под которые Эльбрус вроде должен бы быть эффективен (но это тоже не совсем так, видел статью, где есть сравнение на программах численного моделирования, и там эльбрус тоже совсем не айс, даже в пересчете на ядро*гигагерц), сейчас пишут на GPU, и это правильно.

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

Что нужно не заставлять программистов "писать под vliw" (с ручной расстановкой префетчей, например), а процессор/компилятор допиливать, чтобы он нормально жевал современный код, с кучей мелких объектов, косвенных вызовов (привет, аппаратный предсказатель переходов!) и короткими базовыми блоками.

С этим соглашусь лишь частично. Даже без привязки к Эльбрусам суть архитектуры VLIW в том, чтобы переложить всё планирование на софт и программиста, и этим максимально упростить/удешевить железо. Как только появляются все эти планировщики и спекулятивное выполнение в железе, преимущества VLIW сходят на нет и это перестаёт быть VLIW. Но соглашусь с тем, что компилятор для VLIW должен быть совсем конфеткой.

так они и появляются в железе потому, что целую гору оптимизаций иначе как на уровне железа не получится сделать. Простой пример, есть 2 инструкции, одна пишет в память, другая читает. Интел видит, что операнды (=адреса памяти) у них разные, значит можно выполнить одновременно, переставить их и т.д, короче независимость инструкций для него налицо. А компилятор эльбруса видит 2 указателя, из одного читают, в другой пишут, и поди докажи, что они не равны, особенно если указатели из разных единиц трансляции, так что в одну широкую команду он не сможет их запихнуть просто так, и будет вынужден генерить дополнительный if, задействовать предикатное исполнение и тд, на что будут теряться такты, и не факт, что выигрыш будет того стоить. Или косвенный вызов - до того, как из кэша придет адрес перехода, интел смотрит в предсказатель переходов и видит, что с вероятностью 99% прыгнем туда-то, и начинает подкачивать код, исполнять его спекулятивно. Компилятор эльбруса за косвенный вызов может заглянуть только будучи JIT-ом или имея профиль выполнения (что, ну скажем, так себе), в противном случае придется подождать подкачки адреса из кэша/памяти, и только потом подкачки кода и исполнения.

Вы всё правильно пишете, но каждому инструменту своё место. Если нужен CISC, то надо принять неизбежную сложность и пилить его изначально, с динамическим планированием и всем прочим, если же выбран VLIW, то надо принять необходимость мириться со статическим планированием и тем, что оно уступает динамическому планированию даже в теории, зато существенно упрощает железо. Имхо, выбор типа архитектуры -- это одно из самых первых и основополагающих решений при проектировании процессора и хот-фиксами такое не правится ну никак, с другой стороны, каждый тип архитектур имеет свои плюсы и минусы. В случае Эльбруса было бы интересно почитать обоснование, почему был выбран именно VLIW.

это не отменяет того, что HyperThreading в эльбрусе нужен) в итаниуме, кстати, был.

Прикольно, не знал, и правда был в последних версиях. А ссылки на детальную архитектуру случаем не найдется? Интересно, что у них там за монстр получился в результате в последних итаниумах.

ссылки нету( Но вангую, что HT для vliw не должен сильно отличаться. Укорачиваем вдвое широкую команду, чтобы потом из двух сделать одну (инструкции в них независимы по определению), добавляем в ядро второй MMU, второй набор регистров состояния потока, флаговый регистр, ну и регистровый файл надо как-то тоже распилить надвое - и вроде как должно заработать.

Я всегда хардварю рассматриваю субъективно: мне нужно чтобы Database: Oracle/MySQL/Postgre работали как можно быстрее, желание вполне очевидное. IBM POWER в этом секторе применения насколько я помню еще никто не уделал. Это хорошее промышленное решение. Но с ним эльбрус не сравнивается, а с Intel Gold 6230, который сильно проигрывает бытовому AMD Ryzen Threadripper 3970X, опять же в тестах на БД и виртуализации. На Intel & AMD хотя бы игрушки запускаются:)))
С нетерпением жду когда 1С запилят под Эльбрус, чтоб скрепно было.
Sign up to leave a comment.