65
Karma
21.6
Rating
Alexander Komarov @izard

software optimization

Патентные тролли начинают и выигрывают: как я остался без игры

+1
Да, те. Потом на краски перешли. Петербург, и адрес совпадал в конце 90х

Впечатления от Gemini PDA. Карманный dual-boot комбайн или бесполезная игрушка?

0
Я пробовал, вроде все телефонное работает, но не нашел, как терминал переключить из портретного режима. Как и топикстартер, вернулся к termux.

Четыре типажа программистов

0
Последние 10 лет собеседую на позиции, где надо понимать, как работают внутренности процессора, платформы и операционки, и уметь быстро находить причины ухудшения производительности в больших и незнакомых проектах.

Четыре типажа программистов

+1
Для пассажирок в крупных корпорациях очень питательная среда, так что их я видел достаточно. И кстати линейные и тем более rock stars которые развились потом в пассажирок — очень полезны.

Четыре типажа программистов

+4
По моему опыту (17 лет фулл тайм, отсобеседовал под сотню кандидатов), было примерно поровну программисток — линейных, rock star и пассажирок, дельцов было очень мало.

Polybius Bank: самое значительное событие года в мире криптовалют

+4
Регуляторы — это хорошо, но нужны корсчета в других банках, а это уже не к регуляторам, а вопрос отношений с этими другими банками. Об этом и был вопрос выше.

Введение в DPDK: архитектура и принцип работы

0
Подкрутить к DPDK user mode TCP стэк — обычный пример, но мощИ обычно хватает, если сначала в dpdk app смотреть на пакетик, и отдавать TCP стэку только избранные, редкие flow.

Введение в DPDK: архитектура и принцип работы

+2
>копируется в основную память с помощью механизма DMA — Direct Memory Access
На достаточно свежем железе, копируется в last level cache того сокета, откуда инициировали DMA. И уже оттуда в память.

Вообще, хороший tutorial, но у читателя может сложиться впечатление (так как имеется сравнение с сетевым стеком линукс), что в dpdk есть сетевой стек, и он, например, умеет работать с tcp — собирать tcp, устанавливать соединение и тд.

Русская микроэлектроника и украинский IoT на конференциях SVOD и IoT DevCon в Силикон Вэлли

0
для ЖЖ может нормально. А на хабре обычно одна статья — одна тема.

Русская микроэлектроника и украинский IoT на конференциях SVOD и IoT DevCon в Силикон Вэлли

0
Юрий, отличный пост! Но уж очень разные темы подняты, и их слишком много для нормального восприятия как цельной статьи. Например, та часть, что о беседах с «техно-феминистками», очень хороша; мог бы получиться отличный отдельный пост об особенностях карьеры.

CAT — Управление размером кэша процессора

+1
А, тогда ладно. Но бранч предикт, кэширование, simd и gpu принципиально на arm не отличается. Так что вся эта гонка за % CPI за счет небольшой оптимизации текущих боттлнеков в конвейере продолжается надолго. Есть конечно и технологии 90х а не 70х, но про них, когда/если придет время, расскажет большой босс на IDF.

CAT — Управление размером кэша процессора

0
Архитектурные энергозатраты? Вы имеете в виду декодер x86 инструкций во фронтенде? Посмотрите на кристалл даже не Xeon, а Атом, и найдите сколько он по площади занимает. Лет 15 назад это еще был какой-то ощутимый %, а теперь — сотые доли % если не тысячные.

CAT — Управление размером кэша процессора

+4
А зачем это Интел? Несколько лет назад появились серверные Арм, и одновременно появились сервера на Атом с соответствующим энергопотреблением.

Лаборатория роботехники и девушки в Сколково

0
Там серферы есть, значит есть где недорого взять напрокат wetsuit, и купаешься сколько влезет.

Самая медленная инструкция x86

0
Если с splitlock как в примере, то несущественная. Если без сплитлока, надо измерять, не знаю так.

Самая медленная инструкция x86

0
AVX и SSE содержат достаточно простые инструкции. Скорее всего, если на них написать свой логарифм, может быть быстрее.

Самая медленная инструкция x86

0
Только чтобы подключить старое железо — старше broadwell и skylake, или редкое/мелкое. Весь зоопарк постоянно держать подключеным места не хватает, да и зачем — очень редко нужно.

Проверяем открытый исходный код UEFI для Intel Galileo при помощи PVS-Studio

+2
Спасибо, перешлю ссылку на google translate статьи человеку, который должен знать разработчиков quark EDK2

Самая медленная инструкция x86

0
Да, выше уже написали, что еще это может быть особенно дорого на Xeon-EX, там NUMA особенно злая.

Самая медленная инструкция x86

0
Можно, даже если другие VM работают на других ядрах. Но для многопроцессорного сервера — только соседей по процессору. VM можно запрограмировать это ловить и давать таким гостям совсем мало тактов, но вроде это нигде пока не реализовано.

Самая медленная инструкция x86

+2
А, это от vtune осталось, иначе ивенты не ловились. Конечно можно один раз померить, будет несколько тысяч циклов. Спасибо, поправлю.

Самая медленная инструкция x86

+1
да, я что-то код сверху не могу заставить тормозить, исполняю как раз на HSW. Схожу в лабу на SNB проверю, как раз выдран с реального кода на SNB.

Самая медленная инструкция x86

+2
WBINV надо быть в ring 0, ее неожиданно в пользовательском коде оказаться не может. Кстати, она сама не очень медленная, тормоза начинаются потом, когда оказывается что кэш пустой.

Самая медленная инструкция x86

+2
В Atom еще почти независимое. Но даже там в этом микрокоде полно load/store, которые занимают обычные порты. а в HSW core просто 8 портов, некоторые содержат в том числе execution units, работающие с fp.

Самая медленная инструкция x86

+3
Эта инструкция декодируется в длинный микрокод, так что нет (то есть этот микрокод, понятно, ипользует ILP внутри себя, но следующие инструкции ждут).

Самая медленная инструкция x86

0
Да, десятки и сотни, все примеры из статьи кроме fy2x — тысячи.

Самая медленная инструкция x86

+3
Сейчас проверю последний раз этот пример я запускал 2 года назад. Наверное, -fast-math включился, он отбрасывает denormals. Но код вроде правильный сгенерился.

Практикум «Intel IoT». Edison — могучая «кроха»

+1
Для wifi/bluetooth на галилео оч. рекомендую minip-pcie типа Intel N135 или 6250

Практикум «Intel IoT». Edison — могучая «кроха»

+1
апгрейд прошивки через reboot ota не на 100% совместим с последней официальной прошивкой. Ее надо прошивать через flashall.sh, который находится в корневом каталоге.

Илон Маск мог продать Tesla Motors корпорации Google

0
>интересовалась корпорация Apple. Сейчас _редмондская_ корпорация, по слухам, работает над собственным электромобилем, ..., Apple готова была заплатить
Так Microsoft или Apple интересовалась?

Об истории реализаций memcpy и их производительности

0
Хорошие результаты, но все предсказуемо — при маленьких объемах вызов микрокода — относительно большие накладные расходы для фронт енда. При больших объемах — вызов амортизируется, фронт енду наоборот приходится декодировать лишние объемы кода, особенно если он не поместился в LSD.

Black Swift: зачем мы его сделали

0
А зачем надо обязательно паять эдисон? покупается модуль, и вставляется в плату типа sparkfun

Содержимое Intel IOT development kit

0
О, вопрос номер три. Да, лично я предпочитал OpenRC когда мы обсуждали это в команде, но остальные убедили меня, что раз у нас не совсем embedded платформа, а почти PC, то можно сделеть вид, что мы обычный дистрибутив, а они все перешли на systemd, поэтому скоро пользователям станет привычнее, и решения проблем будут гуглиться.

Содержимое Intel IOT development kit

+1
>4. Почему в Quark используется архитектура i586+, при всем том, что примерно 95% софта >сейчас собираются для i686? В итоге потерялось едиственное преимущество x86 (кроме >отлаженных драйверов для Linux) — обратная совместимость с уже собранным ПО. А если >все равно нужно все пересобирать, то можно пересобрать и для ARM или MIPS.
вычислительное ядро внутри Quark начинался как scunkworks/research проект, и во-многом использовался 486, в который удалось поместить 586 инструкции, но 686 уже нет. Как и у Atom с Core есть roadmap, в котором ваши замечания к первому представителю этого семейства CPU учтены.
С i686 на i586 — именно пересобрать, и результирующий бинарник работать будет хоть на Xeon'е. А с i686 на ARM/MIPS — это уже портировать. Может повести, и хорошо написанная софтина портируется простой перекомпиляцией. Но везет не всегда.

Содержимое Intel IOT development kit

+1
>Intel очень хорошо умеет делать железо, но не очень хорошо умеет делать ПО.
к сожалению, формат нашего общения не предрасполагает к обсуждению причин распространенности такого мнения, но при личной встрече (if ever) обсудим.
> разница между Intel и другими специалистами рынка Embedded вроде TI или ST — огромная.
У Intel embedded продуктов есть огромный плюс, но он же и минус. Практически все они — суть доработки dekstop/mobile/server процессоров-чипсетов. Это позволяет использовать мощный R&D и manufacturing process, но поэтому нет такого фокуса только на этот сегмент, как у компаний, у которых он единственный. Поэтому приоритет фич, нужный для embedded — далеко не первый.

Содержимое Intel IOT development kit

Содержимое Intel IOT development kit

+2
Спасибо огромное за длинный, годный комментарий. Я переведу и покажу коллегам в IOTG и NDG. (Можно будет как-нибудь развиртуализоваться, как я буду в очередной раз в Деггендорфе навещать, как я догадываюсь, вашего работадателя на букву C или K)

Буду отвечать по очереди, постепенно. Баг с локом — не единственная причина отсутствия Дебиана. Еще он не так страшен, как вы описываете. Там не постоянные сегфолты, а редкие и неожиданные. Хрен редьки не слаще, конечно. Главная проблема скорее организационная — пока нет в quark patch в апстриме, мейнтейнеры debian не будут рады такому таргету. Ну и на 586 все перекомпилировать действительно плохо.

Содержимое Intel IOT development kit

0
Главное в дебиане — десятки тысяч пакетов и dpkg. Но они все равно в-основном скомпилированы на на 586, то есть придется пересобирать. В мейнлайн дебиана пока попасть не получится, т.к. патчи для ядра, необходимые для загрузки, пока не в апстриме.

Не пробовал но странно, там все скомпилировано под 586.

Содержимое Intel IOT development kit

+1
Удачи на хакатоне. И да, если критичен realtime — захватите с собой и Uno, которую можно повесить как периферию на galileo/edison — я видел на хакатонах людей, которые так делали.

Содержимое Intel IOT development kit

+1
Проблемы с RT обычно с датчиками, которые работают с GPIO bit bang. I2C обычно работает. Советы:
1. на galileo bus N = 0, на edison = 6
2. Выясните адрес устройства заранее, енумерация может не сработать.
3. Если повиснет — cold reboot.

ардуино библиотека может работать, а может и нет. realtime точно не будет, но i2c датчики обычно как раз скрывают за своим микроконтроллером необходимость hard RT
1 There