fads93_zombie

29 мая 2017, Santa Clara, CA

# Понедельник 66 твитов

Привет читателям @backendsecret! На этой неделе с вами @fads93_zombie

7:37

Немного о себе: учился на кафедре микропроцессорных технологий МФТИ, 4 года назад попал на стажировку в московский офис Интела

7:50

Работал в проекте Бабаяна, моя специализация - трансляторы, но не языковые :)

7:54

Хочу начать с того, что в Москве очень сильная школа процессорных технологий, с центрами в МЦСТ, ИТМиВТ, Интеле и на кафедрах МФТИ

8:02

Нельзя не сказать про Эльбрусы - часто рассматривали на лекциях на кафедре, мое впечатление - для своего времени это была передовая система

8:15

Буду только рад, если МЦСТ найдёт средства на дальнейшую разработку. Haters gonna hate!

8:15

Ах да, я веду паблик вконтакте с новостями процессорной индустрии без инсайдов
vk.com/pipelinestall

8:22

Давайте начнём интерактив. Помогите следопыту Даше определить, с какой аудиторией она имеет дело

8:32

Шёл 2017 год...

8:35

Обход графа в глубину...

8:36

Я просто не мог удержаться

8:44

В игрули я шпилю на...
(выпуск же про процессоры)

8:46
Его было не остановить @backendsecret pic.twitter.com/2qd3ZnS4at
8:47

Прошу вас подумать над вопросами, пока я ненадолго отключусь :)

8:58

Русский след в интеле, как с аэромеха попасть на микропроцессоры, зеленее ли трава в долине, и все, что может вас интересовать

9:00
@backendsecret @alexanius А я думал codesign это что-то дуальное к design.
16:40
@backendsecret @fads93_zombie Это все интересно, но оффтоп.
Какие перспективы у вышедшего наконец 3dxpoint'а?
Когда… twitter.com/i/web/status/8…

XPoint: как мне видится, технология перспективна для датацентров как быстрый кэш/расширенная RAM… twitter.com/i/web/status/8…

17:37
@backendsecret @fads93_zombie Почему интеловский пенёк лучше амдшного рузена/FX'a в игрульках?

1/ Про производительность в играх можно судить по бенчмаркам, например arstechnica.com/gadgets/2017/0… twitter.com/ioooooi1/statu…

17:51
@backendsecret @fads93_zombie Почему интеловский пенёк лучше амдшного рузена/FX'a в игрульках?

2/Вопрос почему: несмотря на то, что IPC микроарх Zen на 40% больше предыдущего поколения, это все равно меньше, че… twitter.com/i/web/status/8…

17:54
@backendsecret @fads93_zombie Почему интеловский пенёк лучше амдшного рузена/FX'a в игрульках?

3/Простой пример: AMD добавили в Zen кэш микроопераций, который был в Core начиная с Sandy Bridge (2011) twitter.com/ioooooi1/statu…

17:56
@backendsecret На борде сидишь?
Как твое образование относительно иностранных коллег выглядит, достойно?
Кто нибудь там про физтех вообще?

Про образование: в моей команде работают люди в основном с американским образованием, много PhD, есть один человек… twitter.com/i/web/status/8…

18:01

Я не могу быть полностью объективен, но в практических аспектах образование на уровне. МФТИ+базовая кафедра в Интеле - non est penis canina

18:05
@backendsecret На борде сидишь?
Как твое образование относительно иностранных коллег выглядит, достойно?
Кто нибудь там про физтех вообще?

Про физтех речь не заходила, но мой менеджер точно про него знает. Несколько человек знают про МЦСТ, те кто вместе… twitter.com/i/web/status/8…

18:10
@backendsecret Правда что много бомжей, потому что им доплачивают?
Правда,что невозможно высокие цены на жилье?
Пра… twitter.com/i/web/status/8…

В самой долине почти нет таких людей, но их много в городах (Сан-Хосе, СФ). Жилье дорогое, аренда 1bd апартов в Сан… twitter.com/i/web/status/8…

18:14
@backendsecret Правда что много бомжей, потому что им доплачивают?
Правда,что невозможно высокие цены на жилье?
Пра… twitter.com/i/web/status/8…

Каждый день езжу на работу мимо пожарной части :) Врачей вроде тоже хватает, если судить по списку тех, кто работае… twitter.com/i/web/status/8…

18:16

Сейчас производители процессоров хвастаются использованием нейронных сетей в предсказателе переходов (AMD, Samsung)

18:18

А знали ли вы, что в процессорах Интел начиная с Core 2 есть LSD-режим?

18:20

К диэтиламиду лизергиновой кислоты он не имеет отношения.Loop Stream Detector позволяет отключить часть фронтенда и… twitter.com/i/web/status/8…

18:24
@backendsecret сколько в мире реальных работодателей для разработчика микропроцессоров?

Думаю, не более 20. Intel, Nvidia, ARM, Qualcomm, Apple, Samsung, Google, Imagination, пара стартапов… И, конечно,… twitter.com/i/web/status/8…

18:34
@backendsecret бум ML/Data Science как-то отразился на МП?

Интел выпускает оптимизированный Distribution for Python для ML/DS, оптимизирует фреймворки Caffe и TensorFlow. (Чт… twitter.com/i/web/status/8…

18:37
@backendsecret А что это даёт?

Улучшает энергоэффективность (гасит BPU) и повышает пропускную способность фронтенда.
@krems5 twitter.com/dcromster/stat…

18:44
@backendsecret Что ты думаешь насчет x86? Не пришло ли наконец время для итаниума?
Какие шансы у эльбрусов?

Время итаниума наконец закончилось :) Интел прекращает выпуск Итаниумов с релизом Kittson
itworld.com/article/319607… twitter.com/krems5/status/…

18:46
@backendsecret Что ты думаешь насчет x86? Не пришло ли наконец время для итаниума?
Какие шансы у эльбрусов?

Моя точка зрения: широкая команда со статическим планированием (Итаниум, Эльбрус) уже не обгонит out-of-order super… twitter.com/i/web/status/8…

18:48
@backendsecret Почему интел не делает процессоры с более слабыми моделями памяти, не планирует в embedded?

Про более слабые модели памяти - имеется в виду отказаться от TSO? Тогда это будет не x86 :) twitter.com/krems5/status/…

18:49
@backendsecret Почему к power'ам и армам такие хилые доки, что бедный Peter Sewell вынужден экспериментально выясня… twitter.com/i/web/status/8…

У ARM совсем не хилые доки. Один из авторов ARM v8 публикует у себя в блоге работу с Machine Readable Spec… twitter.com/i/web/status/8…

18:51
@backendsecret А можешь пояснить где тебе видится слабое место VLIWов? Только статическое планирование?

Статическое планирование и проблемы с масштабируемостью (сложности с утилизацией всех исполнительных устройств в ка… twitter.com/i/web/status/8…

19:05
@backendsecret > Итаниум сдох
> Эльбрус не нужен
Казалось бы, можно расслабиться. Но тут внезапно
> NVIDIA Denver
> Qualcomm QDSP6
19:06
@backendsecret А если отойти от всех проблем с окружением, как думаешь, Itanium мог бы выстрелить?

Наверное, мог бы, будь у него обратная совместимость с x86 без потери производительности и повыше тактовая частота. twitter.com/dcromster/stat…

19:11
@backendsecret Есть ли тенденция включать больше векторных модулей в процессор?
В связи с популярностью sse и встро… twitter.com/i/web/status/8…

Как по мне - после AVX512 куда уж больше :) но потребность в SIMD вычислениях не падает, поэтому тренд продолжится twitter.com/krems5/status/…

19:13
@backendsecret А если отойти от всех проблем с окружением, как думаешь, Itanium мог бы выстрелить?

Под итаниум был хорошо спроектированный C++ ABI, который теперь используется как стандартный в GCC. twitter.com/dcromster/stat…

19:18
@backendsecret Разве Интел не собирается наступить на те-же грабли снова? Читал, что после всех Core I будет нечто… twitter.com/i/web/status/8…

Мне интересно, о чем идёт речь :) вообще у интела даже Xeon Phi x86-совместим twitter.com/dcromster/stat…

19:23
@dcromster @backendsecret Что-нибудь эдакое квантовое? :)

Ах, хотелось бы мне быть архитектором квантовой ISA :) twitter.com/traffsh0w/stat…

19:26

Не зря же я на госе по физике брал вопрос по выбору про алгоритм Дойча, в самом деле

19:27
@backendsecret Статья была на уровне слухов. А Фи это же Pentium какой-то дорабатонный. Разве нет?

Все равно, если найдёте статью - дайте знать. А Xeon Phi, как сообщает википедия, действительно основан на микроарх… twitter.com/i/web/status/8…

19:31
@backendsecret И тут у меня вопрос обывателя: а почему на такой древности, а не на Xeon там или i7?

Думаю, от оригинального пентиума там остался только in-order конвейер. В Xeon Phi есть SMT, кэши, 512b-регистры, мн… twitter.com/i/web/status/8…

19:43

Будучи стажером в московском интеле, я исследовал поведение и свойства программ

19:58

В одном из таких исследований я получил подтверждение принципа Парето: 80% времени исполнения приходится на 20% кода

20:00

Объяснение этому феномену очень простое: программы действительно проводят большую часть времени в циклах :)

20:02

Оптимизируйте вложенные циклы, друзья!

20:02
@astarasikov @backendsecret Denver -- это та хреновина с кривым рекомпилятором на кристалле?

Воу-воу, JIT в JVM по-вашему тоже кривой рекомпилятор? twitter.com/feelthefrog/st…

20:03
@backendsecret Пару советов по этому делу?

1. PGO - ваш друг

20:23

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

20:30

В частности, вызовы виртуальных функций (и косвенные переходы вообще) хорошо предсказываются

20:33

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

20:33
@backendsecret Я бы сказал что сильно от задачи зависит. Точнее это может быть много мелких циклов в разных частях кода. Тогда всё плохо )

Плоский профиль - и наша цель, и наш злейший враг) twitter.com/alexanius/stat…

20:35
@backendsecret Бомбить-то должно с того, что где виртуальный вызов -- там с большой вероятностью "прощай инлайн", если только не (D)PGO.
21:04
@backendsecret Для обывателя это обозримый "оверхед": добавили virtual и стало херово. Обывателю всё равно, каков механизм этого "херово".

Хотел поинтересоваться: в jvm jit производится автоматическая девиртуализация? twitter.com/shipilev/statu…

21:26
@backendsecret Ладно, про аэромех->расскажи. Это фалт что ли? Или все таки факи?
Как вообще в кремний то занесло? Кто вдохновил?

Да, поступал на ПМИ на ФАЛТ (на ФАКИ не было информатики). Попал в Интел через лабу МФТИ-Intel (компиляторы), потом… twitter.com/i/web/status/8…

21:35
@backendsecret Кто-то даже находил смешным, что автоматический PGO оказался куда более распространён в джавовом мир… twitter.com/i/web/status/8…

Программистов невозможно заставить профилировать код, а в managed execution это можно делать прозрачно twitter.com/shipilev/statu…

21:38
@backendsecret Но ведь программисты на С/С++ -- это ого-го! Они все прочитали Стандарт, глубоко знают свой тулчейн… twitter.com/i/web/status/8…
21:40
@backendsecret Я когда девиртуализацию запилил, у меня 473.astar ускорился в 1.5 раза ;) Проблема, как уже сказали… twitter.com/i/web/status/8…
21:53
Тупая железка - говорят программисты, когда что-то не работает.
Тупые программисты - говорят железячники
22:01
Если определить эксперта как того, кто больше пиздит, чем делает, то я эксперт

Чему я научился за 4 года в индустрии twitter.com/fads93_zombie/…

22:02
@fads93_zombie @shipilev а процессор может сам делать reorder инструкций с места, которое предсказал branch predictor?

Если я правильно понял вопрос, то это и так происходит в OOO-конвейере twitter.com/alexanius/stat…

22:28

Про предсказание переходов, наверно, стоит поговорить отдельно. Пост на SO с очень наглядной аналогией для понимания stackoverflow.com/a/11227902

22:31
@backendsecret Интересно что в списке нет AMD :)

Упс, это без задней мысли. У AMD хороший послужной список инноваций в архитектуре: amd64, интегрированный КП, HBM, … twitter.com/romanow_ua/sta…

23:20

# Вторник 37 твитов

IntelのCPUの早見表…。 pic.twitter.com/jLGB1836ky
4:16
@fads93_zombie @backendsecret А на чем железячники работают в интеле? Маки, сарфейсы, стационары или что-то ещё?

Инженеры пользуются обычными ноутбуками (HP и Thinkpad), реже стационарами, и еще реже маками. Разработка ведется н… twitter.com/i/web/status/8…

5:10
@backendsecret можешь рассказать о процах с фпга?

К сожалению, я ничего о них не знаю. Альтеровский бизнес пока по большей части отдельно. twitter.com/yamironichev/s…

5:11
@backendsecret почему маки не в почете?

Я думаю, что по чисто прагматическим соображениям: компании со штатом 100к человек дешевле поддерживать парк машин… twitter.com/i/web/status/8…

6:33
@backendsecret а у вас винда? я раньше думал, если инженер то сам разбираешься со своей машиной и ос

На ноутбуках только винда, на удаленных рабочих станциях или винда, или Линукс. Люди работают, а не разбираются со… twitter.com/i/web/status/8…

6:42

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

6:45

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

6:47

А кстати
На работе я пользуюсь

6:52
@backendsecret Что же мне выбрать, коли я Mac + Linux юзаю :D

Чем пользуетесь чаще twitter.com/strizhechenko/…

6:56

Одно интересное наблюдение: у архитекторов, которые проводят эксперименты и обрабатывают статистику, пользуется популярностью Jupyter NB

7:16

если в московском офисе я был одним из немногих, кто владел pandas'ом, то в штатах люди основательно взяли на вооружение этот инструмент

7:17

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

7:20
@backendsecret а можно нубский вопрос? Почему процессоры с одинаковой частотой и кол-вом ядер настолько разные по производительности?

Производительность процессора определяется тремя составляющими:

7:37

IPC - instructions per clock. IPC зависит от приложения и микроархитектуры процессора, борьба за повышение IPC ведется с обоих фронтов

7:41

Кстати, пиковый теоретический IPC Эльбруса - 23, однако большинство задач не обладают таким параллелизмом, чтобы загрузить все устройства

7:45
@backendsecret А как же всякие л3 кэши и синхронизация между ядрами?

Согласен, но кэши и протоколы когерентности относятся к подсистеме памяти, что лежит в т.н. uncore twitter.com/russianlagman/…

7:48
@backendsecret спасибо! а эти самые ipc можно найти в каких открытых спецификациях? в консумерских вариантах ни разу не попадались.

Производительность консумерских процессоров проще всего оценивать по интересующим вас бенчмаркам :) twitter.com/_maximkuzmin/s…

7:51

Иногда в новостях пишут: “Zen is 6-wide OOO CPU”, “Denver - 7-wide in-order”. Про микроархитектуру Intel и AMD пишет Agner Fog

7:52

Я не специалист по uncore :)

7:53

То есть IPC зависит от ILP задачи (instruction-level parallelism), ширины машины и способности машины извлекать параллелизм

7:57

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

8:00

Ширина исполнения определяется количеством инструкций, проходящих в такт по тракту конвейера

8:02

Способность извлекать параллелизм out-of-order процессоров напрямую связана с размером окна переупорядочивания (ROB, RS, Load/Store Buffer)

8:03
@backendsecret Нужен блиц курс по устройству процессора.
Или зря бы глоссарий

Хорошего блиц-курса или глоссария по архитектуре я не встречал :( twitter.com/krems5/status/…

8:15

Хороший всеобъемлющий учебник про архитектуру и дизайн процессоров - Харрис и Харрис в русском переводе silicon-russia.com/2016/01/04/har…

8:17

Не entry-level: технионовский курс про микроархитектуру от архитекторов Core webcourse.cs.technion.ac.il/234267/Winter2…

8:33

Нашел! Запись трехдневного тренинга по архитектуре в Яндексе от моего коллеги Александра Титова (видео+слайды):
linkedin.com/pulse/3-day-cp…

8:47
@backendsecret Что думаешь насчёт Xeon'ов на домашних компьютерах?

Мечта любого энтузиаста - собрать себе рабочую станцию с двумя 12-core Xeon... и компилировать Gentoo на этом железе twitter.com/dcromster/stat…

16:16
@backendsecret А единственный способ реально оценить производительность - замерить на конкретной задаче, под которую железка покупается
16:17
@backendsecret А как же Хенннси и Паттерсон. Раньше на их основе ещё на курсере курс был, но его удалили. Есть на торрентах

Речь про Computer Architecture: A Quantitative Approach, которая считается библией. На курсере есть принстонский ку… twitter.com/i/web/status/8…

16:20

Если честно, я так и не нашел ответа на вопрос зачем это нужно

16:21
@krems5 @backendsecret Вот норм статья lighterra.com/papers/modernm…

Плюсую
“Modern Microprocessors – A 90-Minute Guide!” twitter.com/alexgpg/status…

16:34
@backendsecret А какая книжка самая умная и крутая?

Обзорная: Patterson, Hennessy "Computer Organization and Design", детали Out-of-Order: Shen, Lipasti "Modern Proces… twitter.com/i/web/status/8…

19:00
Intel’s Core i9 Extreme Edition CPU is an 18-core beast engt.co/2qwBtEM pic.twitter.com/yWSkbUcAtw

О нет, они сломали понятную схему i3-i5-i7 twitter.com/engadget/statu…

19:05
@backendsecret Хочешь сказать, что ты непричём? :D

Ну это же как Пентиум-5, которого так долго ждали, и который из-за этого ни в коем случае нельзя было выпускать twitter.com/dcromster/stat…

19:18

Pentium 5, Core i9 - как каденция в музыке, которая наступает после напряженного ожидания. Теперь все расслабятся :/

19:21

# Среда 56 твитов

Доброе утро, разработчики бэкенда! Я обещал поговорить о московской школе процессорных технологий, к которой нескромно отношу и себя

4:52

Наверное, вся история начинается с института точной механики и вычислительной техники, в котором разрабатывались Эльбрусы

4:54

Наверное, будет разумно связать ранние процессорные разработки института с именем С.А. Лебедева, который разрабатывал МЭСМ в Киеве

4:57

Напомню, что МЭСМ - первая электронно-вычислительная машина в континентальной Европе (по википедии)

4:58

Лебедев в ИТМиВТ начинает работать над серией БЭСМ, на которых рассчитывают баллистику ракет и водородную бомбу (как рассказывали в ЦИАМ)

5:03

Последняя машина серии БЭСМ-6 становится первой советской суперэвм на транзисторах.

5:05

Кстати, про лампы. Бабаян рассказывал байку про ламповые машины: во время испытаний системы ПВО в ЭВМ взорвалась лампа

5:08

В системе была предусмотрена избыточность, поэтому лампу благополучно заменили, и ракета была успешно сбита

5:10

Теперь расскажите, как вы меняли диск в RAID hotswap

5:12

Так вот. БЭСМ-6 была конвейеризованной машиной с виртуальной памятью и обеспечивала 1 MIPS. В 1965 году.

5:16

Как шутил Бабаян, перенос при арифметическом сложении в тех машинах начинался в одной комнате, а заканчивался в другой

5:17

Кстати, американское слово, означающее размещение элементов процессора на чипе (floorplan) тогда носило буквальный смысл

5:18

За БЭСМ-6 последовал Эльбрус-1 и Эльбрус-2, разработанные под руководством Бурцева (про него часто вспоминал Бабаян)

5:22

Эльбрус-2 — это фантастическая машина для СССР конца 70х-начала 80х годов

5:23

Out-of-Order суперскаляр, многопроцессорность, виртуальная память, интегрированный КП, CRC-память, тегированные тип… twitter.com/i/web/status/8…

5:25

Сошлюсь на пост Бориса Мурташина на Хабре: habrahabr.ru/post/313376/

5:26

Для Эльбруса-2 под руководством Пентковского был разработан язык Эль-76. В Эль-76 были исключения, которые назывались просто: “ситуация”

5:29

Прошу прощения: Борис Муратшин

5:38

Эльбрус-2 вместе с Эль-76 (который служил ассемблером) и ОС был сдан госкомиссии в 1985 году. С тех пор он используется в ПВО Москвы

5:40

Разработка Эльбруса-3 началась в 1986 году уже под руководством Бориса Арташесовича Бабаяна

5:42

Идеи Эльбруса-3: EPIC VLIW система команд, продвинутые микроархитектурные фичи (типа асинхронного буфера префетча Array Prefetch Buffer)

5:47

Про Эльбрус издана книга (Ким, Волконский из МЦСТ): mcst.ru/vyshla-v-svet-…

5:50

Как по мне, киллер-фича Эльбруса, которая до сих пор широко не реализована - это контекстная защита (то есть ACL на уровне функций и данных)

5:54

Эльбрус-3 не взлетел отчасти из-за недофинансирования и распада СССР. Бабаян начал искать контакты с западом, который тоже был не прочь

5:58

Бабаян сконтактировался с Дейвом Дитцелом, тогда CTO в Sun Microsystems по архитектуре SPARC и основал МЦСТ как контрактора для Sun

6:00

Пентковский уехал в Америку и сделал Пентиум.

6:01

В каждой шутке доля шутки: Пентковский был архитектором Pentium 3, насколько мне известно, он работал над SSE

6:03

В то же время Бабаян рассказал Дитцелу все свои идеи про VLIW и двоичную трансляцию, и Дитцел основал Трансмету

6:06

Интервью Дитцела, в котором он говорит про свою историю работы с советскими/российскими архитекторами… twitter.com/i/web/status/8…

6:07

Но потом что-то пошло не так и Дитцел перестал контактировать с МЦСТ. В МЦСТ наступили тяжелые времена. Бабаян начал делать E2K (Elbrus2000)

6:11

Маркетинг E2K был потрясающий: в прессе его называли “убийца Merced (Itanium)”, история с Дитцелом указывала на то, что русские не блефуют

6:13

Как мы знаем, Эльбрус-2000 был выпущен и успешно работает (и даже продается за 400 тысяч). Так себе история успеха, но все же.

6:14

Потом в 2004 году Интел решил, что ему не нужно никакого убийцы Итаниума (он его убьет сам), и большая часть коллектива МЦСТ перешла в Интел

6:15

Кстати, первый офис Интел открылся в России в 1993 году, но не Москве, а в… Сарове. Да, рядом с закрытым городом ядерщиков Арзамасом-16

6:19

Что вместе с новостью о работе Sun с коллективом ИТМиВТ породило слухи, что якобы госдеп спонсирует ИТ-компании, чтобы те нанимали русских

6:21

Подтверждений этому я не нашел. Но вообще звучит разумно и дальновидно со стороны госдепа.

6:22

В Интеле коллектив продолжил работать с джавой (опыт работы с Sun оказался не лишним), компиляторами, а также делать R&D в архитектуре

6:25

На этом я закончу свой рассказ об истории московской процессорной школы, потому что здесь начинается настоящее (и будущее) :)

6:27

Спасибо за внимание!

6:28
@backendsecret Если ты про Эльбрус-4С, то уже 200К же стоит ;)
6:33
@backendsecret А можешь рассказать что сейчас происходит с офисами разработчиков intel в России и с базовой кафедро… twitter.com/i/web/status/8…

Кафедра микропроцессорных технологий в МФТИ работает, а про офисы не могу сказать. Тонко намекну, что я переехал, н… twitter.com/i/web/status/8…

6:35
@backendsecret Кстати, у нас сейчас портируют sanitizer с аппаратной поддержкой ;)

Киллер-фича Эльбруса еще заставит мир дрогнуть! twitter.com/alexanius/stat…

6:36
Зря они так. Убийца Итаниума таки вышел в прошлом году.

Правда сам Итаниум прекратили выпускать уже с 15 лет наза… twitter.com/i/web/status/8…

В те темные времена еще не было так очевидно, что Итаниум не выстрелит, у Интела ведь могло хватить инерции перевес… twitter.com/i/web/status/8…

6:41
@backendsecret да речь не о том. Просто спустя 15 лет продавать убийцу Итаниума за 10-кратную цену - как-то запредельно.

Давайте спросим эксперта @alexanius о вопросах ценообразования на Эльбрусы twitter.com/workaround9/st…

6:47
@backendsecret без полноценных команд целочисленной арифметики, производительность средних моделей IBM, скопирована… twitter.com/i/web/status/8…

Схожесть набора команд и копирование - разные вещи, согласитесь? ЕС ЭВМ копировались, в других случаях было заимств… twitter.com/i/web/status/8…

7:03
@backendsecret @alexanius За мелкосерийку нормальный ценник. Просто он в принципе нафиг он никому не нужен, тем бол… twitter.com/i/web/status/8…
7:04

Про идеи Барроуз в Эльбрусе говорил Бабаян. Про идеи Эльбруса в Трансмете говорил Дитцел :) была ли трансмета скопирована с Эльбруса? Нет

7:05
@imdefined @backendsecret И напоследок - на рынке российских разработок быстрее ничего нет и не предвидится. А я по… twitter.com/i/web/status/8…
8:07
@imdefined @backendsecret Вообще нужен там где есть специальные требования. Пытаемся ещё выйти на гос. рынок, но ну… twitter.com/i/web/status/8…

Кмк, адекватная ниша для Эльбрусов. Чтобы следующий Wannacry просто не запустился :) twitter.com/alexanius/stat…

8:09
Ryzen Threadripper is an actual BEAST. (mobile quadcore Ryzen chip on the right) pic.twitter.com/IrxoYHUpql

Он больше итаниума! twitter.com/shen/status/86…

18:48
Ryzen Threadripper will release this summer with a total of 64 PCIe lanes and no PCIe segmentation in the lineup.… twitter.com/i/web/status/8…

64 PCI-e линий - это SLI в 4x конфигурации! twitter.com/oc3d/status/86…

18:50

AMD Threadripper: 16 cores, 32 threads pic.twitter.com/G8zZFRMUs2

18:57

Мне напомнили, что линкедин доступен не везде :/
CPU Organization Training -- day 1 youtu.be/uf3p0owPcfQ via @YouTube

19:30

Привет читателям backendsecret от Юрия Панчула, организатора перевода учебника Харрис-Харрис pic.twitter.com/Q8sBlsfOsw

21:53

Из разговора с коллегой: "мне однажды приснилось в кошмарном сне, как меня попросили переписать распределение регистров в компиляторе"

22:43

Какой самый странный сон был у вас?

22:53

# Четверг 41 твит

@backendsecret Почувствовал себя во сне структурой данных над которой выполняют операцию traverse. Не очень приятно.
5:44

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

5:46

Вообще говоря, автоматическое распараллеливание — очень даже пример замены алгоритма (и ICC его охотно сделает по опции)

5:58

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

6:00

Чего стоит история с заменой printf на puts в GCC, вызывавшей разное поведение при NULL-строке ciselant.de/projects/gcc_p…

6:02

Но если вам очень не хочется переписывать код (или даже вставлять прагмы), стоит посмотреть на возможности ICC: software.intel.com/en-us/articles…

6:07

Например, ICC способен обнаружить цикл перемножения матриц и другие примитивы и заменить их на интринсики/вызовы параллельных версий

6:10

Моя любимая фраза из интеловского гайда по векторизации: Let the compiler help you to help the compiler to vectoriz… twitter.com/i/web/status/8…

6:19

Ах да, в C++17 предусмотрены расширения для параллелизма (execution policies), и Интел предоставляет Parallel STL как часть Parallel Studio

6:25

Getting Started with Parallel STL: software.intel.com/en-us/get-star…

6:26

Другая сторона — низкоуровневые оптимизации с учетом микроархитектуры, по которым у Интела есть офигенный мануал intel.com/content/www/us…

6:32

Например, каким должен быть цикл, чтобы он исполнялся из LSD: pic.twitter.com/dMTLNaYpTf

6:34

Или вот, как сказать механизму переименования, что можно разорвать зависимость между инструкциями через регистр (“Z… twitter.com/i/web/status/8…

6:37

И я вам скажу, что такие вещи критически важны — никто не хочет платить лишний такт в цикле, который крутится миллиарды итераций

6:42

Допустим, по профилю вы поняли хотспот вашего кода, максимально его соптимизировали и хотите понять, возможно ли еще его ускорить

6:55

Интеловские процессоры предоставляют доступ к микроарх счетчикам (Perf counters), которые могут указать на ботлнеки и помочь дотюнить код

6:58

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

7:00

Мой научный руководитель говорил: понятие instruction pointer в машине, которая исполняет 4*10^9 инструкций в сек,бессмысленно для человека

7:03

Опенсорс утилита, в рилтайме собирающая и отображающая счетчики: Processor Counter Monitor github.com/opcm/pcm

7:06

Но, конечно, самый мастхэв в низкоуровневом перфомансном анализе — это VTune software.intel.com/en-us/intel-vt…

7:08

Какие заключения можно делать из низкоуровневого перфомансного анализа? Моя любимая статья на эту тему: Profiling a warehouse-scale computer

7:10

Гугловцы собирали микроархитектурную(!) статистику по своим задачам на реальных данных в течение трех(!) лет
eecs.harvard.edu/~skanev/papers…

7:12

Они поняли, как распределен их ботлнек по конвейеру процессора pic.twitter.com/BCTTw1UO33

7:14

Выяснили, какие подзадачи имеет смысл выносить в ускорители (“datacenter tax”) pic.twitter.com/SqxqcSL8u6

7:17

И рассказали производителям процессоров, чего они хотят :) pic.twitter.com/GEytpopRm0

7:19

Да, методология перф анализа тоже очень важна: Top-Down за авторством интеловца Yasin ieeexplore.ieee.org/document/68444…

7:23

Чем Top-Down лучше, чем оценка счетчиков типа числа промахов в кэш: промахи могут не быть боттлнеками — OoO умеет скрывать задержки

7:25

То неловкое, когда пришел в @backendsecret рассказывать про бэкенд компилятора и бэкенд конвейера процессора

7:38
@backendsecret постоянно резолвлю какие-то сложные типы по сне
8:00
@backendsecret откуда инфа про большинство пользователей? sounds phishy ;)

Оценочное суждение, соцопросов я не проводил :) но главный по плюсам в гугле высказывает похожее мнение… twitter.com/i/web/status/8…

8:11

Ассоциативность кэшей для самых маленьких pic.twitter.com/KZyR3QdulX

8:18

и другие замечательные иллюстрации про CS и CompArch из Беркли csillustrated.berkeley.edu/illustrations.…

8:18
@backendsecret Я думал R. Smith там главный по плюсам :) Энивэй, все хотят чтоб их программы были быстрыми. Даже ко… twitter.com/i/web/status/8…

Ну оптимизации и изменения алгоритма — это разные вещи. Я сомневаюсь, что космос очень хочет -funsafe-math :) twitter.com/1101_debian/st…

8:21
@backendsecret Вот еще хорошая бумага на эту тему: The Correctness-Security Gap in Compiler Optimization nebelwelt.net/publications/f…
8:36
Woke up early, thinking for 5 minutes my dreams were just running in interpreter, and I needed to sleep more to compile them. #fuckingjob

В тему поехавших снов twitter.com/shipilev/statu…

8:42

Товарищ рассказывал, как ему приснилось, как я подключался в его сон по ssh и УДАЛЯЛ ОТТУДА ЛЮДЕЙ (помогал ему ставить Gentoo)

8:45

Из перевода Харрис-Харрис pic.twitter.com/rdFEjA4Djw

9:05

Floorplan ENIAC: как перенос начинался в одной комнате и заканчивался в другой (из музея компьютерной истории) pic.twitter.com/wVrZdrw9cP

9:10
We will fade from Siri's memory in Least-Recently-Used fashion twitter.com/MicroSFF/statu…
9:19
@backendsecret Мне сегодня приснилось что у меня цикл не unroll'ился из-за того что в нём был код плюсовых exceptio… twitter.com/i/web/status/8…

О_о
Цикл не анроллится, не растёт кокос twitter.com/alexanius/stat…

10:05

Сегодняшнее вечернее чтение: What every programmer should know about memory lwn.net/Articles/25096…
(спасибо @krems5 за подсказку)

18:48

# Пятница 43 твита

Top-Down перф анализ: нашел в открытом доступе презентацию автора методологии Ясина webcourse.cs.technion.ac.il/234267/Winter2… pic.twitter.com/NRFcinS4Jh

5:50

Я не придумал, о чем поговорить сегодня, поэтому будем говорить обо всем по чуть-чуть :)

5:57

Речка Сетунь, в честь которой был назван советский проект компьютера на троичной логике. Протекает рядом с МГУ, где… twitter.com/i/web/status/8…

6:00

Минимальная адресуемая единица машины — трайт, который равен шести тритам. Because fuck boolean logic, that’s why ru.wikipedia.org/wiki/%D0%A1%D0…

6:01

Самая известная книга по компиляторам — Dragon Book Ахо-Ульмана
en.wikipedia.org/wiki/Compilers… pic.twitter.com/P1gUiijT5p

6:10

Не сказать, что вот прям всем ее нужно читать, сам я ее (конечно же) не осилил целиком. Читал только ту часть, что про IR и оптимизации

6:13

Когда я переезжал и раздавал друзьям книжки, эта была самой желанной (особенно хотели её ФИВТы)

6:16

Кстати, в Драгон Буке есть несколько отсылок к работам Ершова: числа Ершова в главе про кодогенерацию и ссылки на е… twitter.com/i/web/status/8…

6:31

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

6:33

Я знаю только, что к этой школе принадлежат Касьянов и Евстигнеев, которые написали лучшую книгу про графы и компил… twitter.com/i/web/status/8…

6:36

Дональд Кнут дружил с Андреем Ершовым и написал про него заметку с воспоминаниями cs.stanford.edu/~uno/papers/er…

6:47
@backendsecret Которую нигде не купить :(

Увы, я сам долго искал и все безуспешно. Появляется на авито и сразу исчезает twitter.com/imdefined/stat…

6:48

Кнут просил преподавателя русского языка взять книгу Ершова про прогр. для БЭСМ как учебный текст, но заодно заботал по ней и компиляторы

6:51

Джон Маккарти, создатель Лиспа и основатель MIT AI Group, приезжал к Ершову в Новосибирск на два месяца
computer.org/cms/Company%20…

7:02

Новосибирску привет, в частности тем, кто учился у Касьянова и Евстигнеева (а может даже и Ершова)

7:11
@backendsecret О! Раз затронул эту тему: почему не делаютпроцессоры на тритичной логике?

Я думаю, дело в физике: проще (быстрее, дешевле) отличать два уровня, чем три twitter.com/dcromster/stat…

7:15
@backendsecret разве производительность не выше чтобы перевесить недостатки?

Думаю, что сложность различения трех уровней настолько высока, что процессоры работали бы на 10x напряжении и на 10… twitter.com/i/web/status/8…

7:21

Но я в этом деле совсем не специалист

7:21

Но вообще да, вероятно, имеют смысл только компьютеры на двоичной и троичной логике, тк оптимальное основание системы счисления — e

7:26

Кнут оценивал, что эффективность хранения/передачи данных повысится на 36% при переходе с двоичной на троичную систему

7:50

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

7:57
@raxpost @backendsecret Давно мечтаю сделать эмулятор троичного процессора :)

Осторожно: этот Твиттер курируют наркоманы! twitter.com/dcromster/stat…

8:08
Какова этическая сторона оптимизаций программы? Как чувствуют себя инструкции, которые были удалены?

ПОДУМОЙ twitter.com/fads93_zombie/…

8:14

Главное различие России и Штатов: в России у меня был пакет с пакетами из пятерочки, а в штатах — пакет с БУМАЖНЫМИ пакетами амазон прайм

8:19

Как вы предпочитаете называть свою профессию?

8:39
@backendsecret А ещё надо реабилитировать инструкции, удалённые незаконно. Ещё при reordering'е нужно предлагать им… twitter.com/i/web/status/8…

ААААА!! twitter.com/alexanius/stat…

8:40

Если вы хотели знать, в чем разница между акциями, опционами и RSU и как должен выглядеть оффер от стартапа
github.com/jlevy/og-equit…

8:44
@backendsecret Сениор Чиф Ниндзя Рокстар Юникорн Райдер оф Диджитал Трансформейшн
8:45
@backendsecret белочка

— Вы бывали в зоопарке?
— Я в нем живу! twitter.com/melnikov_p/sta…

8:47
@backendsecret Брат, друг, тышто, поляризации только две: левая и правая, остальное суперпозиции. Бинарно легко различать, а дальше сложнее

Короче, нет — поляризация фотона эквивалентна кубиту информации, а не биту twitter.com/krems5/status/…

8:54
Короче, нет — поляризация фотона эквивалентна кубиту информации, а не биту twitter.com/krems5/status/…

Ставь лайк, если тоже ждал, когда разработчики бэкенда будут спорить о поляризации фотона twitter.com/backendsecret/…

9:01

Немногие знают, что Линус собирался переходить из Трансметы в Эльбрус...
linux.slashdot.org/story/99/03/31…

9:24
@backendsecret А вот для вычислений они подходят довольно плохо, потому что их сложно запутывать.На вскидку только… twitter.com/i/web/status/8…

Физтех финишд? twitter.com/krems5/status/…

9:27
@backendsecret Поэтому например dwave и IBM используют сверхпроводниковые кубиты
9:28

Знакомимся с классикой CS: A case against GOTO statement, Эдсгер Дейкстра
cs.utexas.edu/users/EWD/ewd0…

9:36

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

10:18

Делал анализ трасс исполнения на предмет вложенной структуры кода (строил Program Structure Tree). Нифига бинарный код не структурирован :(

10:19
@backendsecret Да вроде ж первоапрельская шутка, нет?

НЕТ twitter.com/zzashpaupat/st…

10:21
@backendsecret А я думал, что ее покупают из-за 'рекламы' в известном фильме оО

А что за фильм? twitter.com/bradipus/statu…

16:10

MaxSim: платформа для симуляции, перф анализа и кодизайна, основанная на Maxine VM и ZSim. ISPASS 2017 best paper
github.com/beehive-lab/Ma…

16:38

Пост Михаила Сваричевского о об экономике высоких технологий в российских реалиях. Советую habrahabr.ru/post/218171/

16:43
@backendsecret Фильм назывался “Хакеры” который самый древний, там, кстати и другая литература упоминалась
18:08

Знаменитости на этаже pic.twitter.com/M8AH7b8lgm

20:11

# Воскресенье 48 твитов

Orwell — система видеонаблюдения с компьютерным зрением от зеленоградской компании Элвис elveesneotek.ru/index.php?id=4

2:28

Лайфхак от архитектора суперкомпьютеров pic.twitter.com/2GDMRYES9U

7:08

Конечно, нельзя не вспомнить другого гения простых решений pic.twitter.com/nOTt1VQU20

7:14
Давайте начнём интерактив. Помогите следопыту Даше определить, с какой аудиторией она имеет дело

Так как здесь серьезная публика, задам серьезный вопрос — как вы воспитываете своих детей? чтобы они учились у вас/… twitter.com/i/web/status/8…

7:20

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

7:22

Либо расскажите, как этот интерес появился у вас лично

7:23
@backendsecret В саду показывали интересные примеры. В школе показали как считать быстро. Каждый ужин считали заков… twitter.com/i/web/status/8…
7:25
@backendsecret школы. Итог: на математике скучно-учитель даёт доп задачи. считает тысячами. Понимает отрицательные… twitter.com/i/web/status/8…
7:26
@backendsecret Например: в саду за ужином считали по 2, по 3 и т.д. до 100 устно.

Насколько я помню, счет до 100 был в моем первом классе, и было очень смешно упираться в это ограничение twitter.com/dcromster/stat…

7:30

Почему я спрашиваю: сегодня хайкал по природе с Юрием Панчулом, который вовлекает детей (в том числе своих) в проекты на FPGA

7:33
@backendsecret а сейчас счёт до 10, в конце первого до 20 только + и -. Во втором таблица умножения до 20, а + и - до 100. =>

О_о
Таблица умножения была во втором, да, но про счёт очень странно такое слышать twitter.com/dcromster/stat…

7:34
@backendsecret познакомишь? :)

Он готовит материалы для преподавателей школ и университетов. Как только будет что-то готовое, напишу у себя) А пок… twitter.com/i/web/status/8…

7:37

Писал длиннопост в ЖЖ про путь в программировании от школы до Интела (больше мемуары, чем руководство по воспитанию)
interrupthandlr.livejournal.com/11888.html

7:43

TL;DR — я хотел делать процессоры с восьмого класса после дизассемблирования мотороловской прошивки и чтения ARM-ассемблера :)

7:51

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

7:52

Последняя техническая тема, которой я хочу коснуться: защищенные вычисления

8:09

Интерес к этому в индустрии нарастает: в ПО развивается формальная верификация, в HW — механизмы защиты

8:12

Проект L4Verified — верифицированное микроядро от спека до исполняемого файла ts.data61.csiro.au/projects/TS/l4…

8:13

Появляются статьи про доказательство корректности оптимизаций компилятора: cs.rutgers.edu/~santosh.nagar…

8:15

Интел представил расширение SGX (Software Guard Extensions) — механизм изоляции кода от другого ПО и даже ОС: software.intel.com/en-us/blogs/20…

8:20

Также представлен Intel MPX (Memory Protection Extensions): защищенные указатели software.intel.com/en-us/articles…

8:21

AMD представили похожие технологии SME (Memory encrytion) и SEV (encrypted virtualization) amd-dev.wpengine.netdna-cdn.com/wordpress/medi…

8:24

Подход Эльбруса к защищенным вычислениям (контекстная защита): old.computerra.ru/terralab/archi…

8:27

И большая статья Бабаяна про защищенные информационные системы. Читаю и страдаю, что этого до сих пор нигде нет mcst.ru/files/521c57/7…

8:30

Хотя появляются перспективные проекты вроде lowRISC: RISC-V плюс тегированная память lowrisc.org

8:31

Команда МЦСТ сделала защищенную реализацию C и C++ и нашли баги в SPEC 92, 95, 2000
mcst.ru/doc/SecureLang…

8:36

Контекстная защита — механизм, позволяющий исполнять процедуры без непредусмотренных взаимодействий типа подмены адреса возврата

8:40

В принципе, этот механизм может позволить исполнять процедуры разных процессов в одном адресном пр-ве, и никто не испортит чужих данных

8:42

Моё эфирное время подходит к концу. Хочу сказать огромное спасибо @dcromster за свободный микрофон для программистов! (практически #кактус)

8:55
@backendsecret Описанный Фейнманом метод минимизирует время принятия решения. Если нужно максимизировать награду и… twitter.com/i/web/status/8…
9:14

Спасибо разработчикам бэкенда и всем читателям! Всем кода без багов и быстрых процессоров, и наоборот) С вами был @fads93_zombie

9:23
@backendsecret а что не бигбраза?

BIG BROTHER 2000 IS WATCHING YOU twitter.com/andrey_68/stat…

9:25
@backendsecret Я так пытался кодить эльфов по кастомные прошивки сименсов

Офигенное было время twitter.com/mr_the/status/…

10:20
Реквестирую годный способ для освобождения времени для диплома, @pausky и всем студентам в моей ленте. twitter.com/backendsecret/…

Дропайте сначала ненужные задачи, потом нужные задачи. Тайм-менеджмент - это не все успевать, а только то, что важно twitter.com/volderbah/stat…

10:28
@backendsecret @Gorysko Цей лайфхак відомий архітекторам супермаркетів, тому найбільш потрібні продукти знаходяться… twitter.com/i/web/status/8…
10:44
@backendsecret Дайте ему телефон, на котором не пойдут игры, если его не перепрошивать)

Именно! twitter.com/poctek/status/…

11:09
@backendsecret Это не то, что пытались сделать в iAPX432? Не то, что сделали в мэинфреймах IBM, которые ведут родословную из System/360?

Похоже на iAPX. Но там был выбран подход capability list, из-за которого были высокие накладные расходы twitter.com/feelthefrog/st…

16:25

Образовательные проекты по микроэлектронике в России и Украине silicon-russia.com

17:02
Does AMD Ryzen have a bug that's causing segfaults and machine check errors?

forums.gentoo.org/viewtopic-p-80…twitter.com/i/web/status/8…

Пост Дэна про ошибки в процессорах: danluu.com/cpu-bugs/ twitter.com/danluu/status/…

17:38

Про использование ECC в серверах и на десктопе (к вопросу о Xeon дома)
TL;DR — сначала настройте бэкап
danluu.com/why-ecc/

17:41

Инсайды от @FioraAeterna о том, как устроена процессорная индустрия pic.twitter.com/vjb9d62tO9

17:57

Напоследок: интервью с Борисом Бабаяном про Эльбрус, i432, безопасность, языки высокого уровня, и x86-совместимость
geektimes.ru/post/205168/

18:03
What's the difference between Software Engineers, Programmers & Developers?

👍 Jer, 👍! pic.twitter.com/pzOlPDOJ3c

Правильный ответ на вопрос про инженеров, программистов и разработчиков twitter.com/chrismaddern/s…

18:29
@backendsecret @FioraAeterna Опасно низкий bus-factor

Индустрия перестала быть сексуальной, многие люди не хотят задерживаться на одном месте на срок процессорного проек… twitter.com/i/web/status/8…

18:52

Вообще я никогда не занимался тайм-менеджментом. "Правильно то, что качает" - Роман Михайлов

20:04
>Дропайте сначала ненужные задачи, потом нужные задачи

Я – прирожденный тайм-менеджер. Все задачи дропнул и успел! twitter.com/backendsecret/…

Дзен тайм-менеджмент: задач нет, время бесконечно twitter.com/sudodoki/statu…

20:18

Секреты тайм-менеджмента от @backendsecret pic.twitter.com/dq8xQj6VE0

20:28

Пора передавать микрофон следующему участнику. Всем пока! Напоминаю, что с вами был @fads93_zombie

20:38

software.intel.com

other