Pull to refresh
4
0.1

Пользователь

Send message

последовательное считывание файла с диска выполняется очень быстро

Поверхностное гугление показывает, что производительность чтения из кэша процессора составляет порядка терабайта/с, производительность чтения из RAM порядка 40ГБ/с. Т.е. диск всё ещё на 3 порядка отстаёт от кэша примерно как и в старые добрые времена, и на полтора от RAM.

Ниже показаны усреднённые результаты трёх лучших прогонов в секундах:

Сразу вопросы к эксперименту: у дисков есть свои кэши, последовательные прогоны в поисках лучшего наверняка осядут в этих кэшах и результаты будут уже не те, как по первому разу. Также наверно и в RAM после первого эксперимента прочитанное с диска частично тоже где-то закэшируется.

А что понимается под "отдельным каналом"?

У них есть оптический канал связи между устройствами, которые вырабатывают/распределяют ключи (ViPNet QSS Point, ViPNet QSS Server, ViPNet QSS Switch) и другой канал, по которому передаётся собственно трафик IP-телефонии или что они там шифруют.

По поводу "ключи распределяются квантово" - это разве не должно было бы означать, что в аппарат квантовый компьютер встроен?

Имхо, они реализовали что-то из этого, может детектируют поляризацию отдельного фотона.

Про остальное наверно не подскажу.

Или всё же имеется ввиду, что доступ к трафику получить можно, а взломать нельзя?

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

Когда вы берете типичный процессор для ASIC, например MIPS 24K, который после синтеза с ASIC library может работать на частоте больше гигагерца, то на FPGA он будет работать пару десятков мегагерцев - разница на два порядка.

Напомнили, в контексте обсуждения встречал такой пример: Alibaba пару лет назад выкатили high performance RISC-V процессор Xuantie 910 в 2 вариантах: ASIC 2.5 GHz и FPGA 200 MHz (на high-end ПЛИС).

если результат схемного проектирования вывести в VHDL, VERILOG,то насколько корявый итоговый результат и в чём получится при запуске по такому пути процессора в FPGA?

Вы можете это грубо прикинуть например так: в доке на Digital упоминается экземпл проект 16-битного процессора, который можно запустить на плис artix-7 (в составе basys3) и который на нем будет работать на частоте 20-30 МГц в зависимости от выбранных опций. Для artix-7 у Xilinx есть свой собственный 32-битный процессор/микроконтроллер Microblaze, который может работать на частоте 170-229 МГц в зависимости от выбранных опций. Т.е. разница на порядок.

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

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

Просто ваша картинка с вики, а вики вы не доверяете ;)

Alpha 21164 были типичными speed demon-ами, поэтому они максимально упрощенные по начинке, а Pentium Pro типичным brainiac-ом, поэтому там оч. сложная логика и как следствие низкие частоты, что и отражает табличка.

Суть моего спора в том, что ОоО как и in-order -- это средства, которые дают выигрыш в определенных условиях и предлагают tradeoff. В некоторых случаях как раз и получаются ваши 2-3 раза, в других получается иначе.

Извините, но я больше доверяю глазам, чем вики, если вы имеете ввиду отсылку

я имею ввиду отсылку на научную паперу, но продублирую ещё раз, табличка на 1 странице.

Там есть картинка с разметкой блоков на чипе, кэшей/логики там примерно 50 на 50.

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

 in-order дизайны были конкурентно способны, их бы и делали

Так их и делали некоторое время, пока лёгкость и простота конструкции позволяла получать существенный выигрыш по производительности за счёт роста частот; тяжелые и неповоротливые ОоО не могли за этим угнаться. А затем начались проблемы с Dennard Scaling, фокус с частотами перестал прокатывать, в результате пришлось копать OoO и после него много чего ещё. Это касается высокопроизводительных, в первую очередь десктопных и серверных процессоров.

Но есть ещё и мобильные, а также встроенные, где in-order вполне себе прижились, их делали и продолжают делать.

Alpha 21164 - 9 300 00 транзисторов

Pentium Pro - 5 500 000 транзисторов

То есть разница по транзисторам почти в два раза, а по перфомансу лишь 20% хуже.

Так-то у альфы 1.8 млн транзисторов на логику, а остальное кэши. А у пентиума на логику 4.5 млн.

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

А вот если сравнивать суперскалярный in-order 4-issue Dec Alpha 21164 с современным ему суперскалярным out-of-order 5-issue Pentium Pro, то получим, что OoO в тот раз оказался на 20% хуже. Конечно, это всё седая история, но в заявлениях про 10 раз и 2-3 раза хотелось бы какие-то более веские доказательства.

Опять же к старым 90нм новый интерфейс не "прикрутить"?

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

В случае одного ядра это же не работает?

Работает, смотрите hyper-threading.

  1. Увеличиваются кэши;

  2. Возрастает скорость интерфейсов памяти и/или их кол-во, появляется поддержка следующих поколений интерфейсов памяти;

  3. Больше потоков (threads), они ведь тоже аппаратных ресурсов требуют и на меньших нанометрах этих ресурсов становится больше.

  4. Дополнительные аппаратные блоки, типа ещё одного АЛУ и/или каких-то микроархитектурных улучшений и т.д. и т.п.

Но метрики как везде - блок должен вписываться в бюджет тактовой частоты, количества D-триггеров, площади, статического и динамического (зависящего от количества переключений).

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

Очень полезно для анализа чужого кода.

Вот кстати, а какие требования промышленные ASICоделы в целом и Samsung в частности предъявляют к коду? Как управляют сложностью? Может быть какие-то метрики тулзами считают и дают по рукам за превышения? Вопросы навеяны такой книжкой.

Кто-нибудь может указать на принципиальные отличия суперсовременных "чиплетов" от, например, IBM POWER4 multi-chip module (MCM) 20-летней давности?

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

Это хорошо иллюстрируют современные high-end ПЛИС (типа Xilinx Ultrascale+ с их технологией SSI), которые составляются из нескольких чиплетов, при этом границы чиплетов проходят прямо по логике (fabric) ПЛИС и просадки на сочленениях практически незаметны (latency < 1ns; при синтезе проекта тулза запросто может положить соседние модули в разные чиплеты и тайминги сойдутся).

Кстати, недавно Xilinx выкатил новую плис для космоса (Kintex RT) на 20 нм, с более 300К LUT, 2.7К DSP и 32 12.5G трансиверами. Так у них софткор Микроблейза 300 МГц тянет на этой плис.

А второй момент - это взаимодействие с памятью. Тут скажем кратко: классическая фон неймановская модель не вывезет. Память нужно пристыковать к самим вычислительным ядрам и всё это дело соединять быстрым и "толстым" интерконектом. Опять же нынешние способы не годятся,

Так-то уже лет 10 существует HBM, это уже давно нынешний способ и она примерно достигает того, что требуете, правда чутка дороговата.

Ну ладно чипов с транзисторами напихают в корпус, а охлаждать их как ? С таким же успехом можно делать чип в несколько "этажей". Только эти "пирожки" будут сильно горячими.

TSMC предлагали перемежать слои горячей логики холодными слоями Flash-памяти, например так:

 Microsoft разработала проприетарные FPGA для своих дата-центров Azure

Это не так. Microsoft не разрабатывала своих FPGA. Microsoft разработала для своих дата-центров Azure обычную плату-ускоритель (таких сейчас десятки), на которой стоит обычная плис от Intel (позже они перешли на Xilinx), а также есть пару сетевых интерфейсов, DDR, PCI-express. Кроме того, Microsoft разработала хороший слой софта над этими ускорителями, который может распределять задачи между ними, работая как с единой сетью, управлять коммуникацией, реконфигурацией, распределять нагрузку и т.д.

Information

Rating
3,962-nd
Registered
Activity