Рубрика «Блог компании RUVDS.com» - 32

Выжимаем все соки: PGO Оптимизация ядра Linux - 1


Сложность вычислительных задач и систем растёт с каждым днём. Для бизнеса ускорение кода даже на пару процентов даёт улучшение производительности, заметное снижение издержек и уменьшение задержки(latency). В первую очередь это касается мобильных и встраиваемых систем, высоконагруженных серверов, научных вычислений и 3D-графики. Так был разработан относительно перспективный и молодой метод оптимизации — Profile-Guided Optimization, далее просто PGO-оптимизация. Данный метод эффективно используют такие известные компании, как Google, Mozilla Foundation, Intel, Oracle, IBM и другие. Практически ни один современный веб-браузер не обходится без PGO-оптимизации.

Не так давно компанией Google был предложен набор патчей, включающий PGO-оптимизацию в ядре Linux. Мною был протестирован этот набор патчей в работе и доработан. Мне хотелось бы рассказать об этом методе оптимизации ядра Linux, о том, с какими трудностями можно столкнуться, и как их решить.

Если вас заинтересовала эта тема, вам интересно развитие технологий и тренды крупных компаний, то добро пожаловать под кат.
Читать полностью »

Как оценить реальную производительность своего кода - 1


Код, который мы пишем, и который будет исполнен процессором, — две разные вещи. На уровне ассемблера существует миллион вариантов, в каком виде интерпретировать и запустить высокоуровневые команды. Более того, современные компиляторы сильно оптимизируют код, а результат этой оптимизации похож на магию.
Читать полностью »

Каково это: строить бизнес в разработке, когда тебе 40 - 1

Кадр из фильма «Перекрёсток» (1986)

Я родился в 1981-м, так что в прошлом году мне стукнуло 40. Если верить Википедии, это первый год поколения Y (миллениалов). Миллениалов обычно ассоциируют с претенциозным характером, и в моём случае так оно и есть. Родители кучу раз говорили мне, как тяжело им приходилось работать и идти на жертвы, чтобы обеспечить для меня достойное образование. Из этого следовало, что мне следует как можно лучше учиться и усердно трудиться, что я и делал (спасибо вам за совет, мама и папа ✝). И вот чему я научился. Это моя история о росте, обязанностях и пределах.Читать полностью »

Как робот-министр должен помочь киберпанкизации Японии - 1


В начале ноября мировые медиа облетела новость: разработчики из университета Осаки представили министру цифровых реформ Таро Коно его робота-двойника. Министр дроида оценил, попробовал дистанционное управление, включающее передачу речи и мимики — и прокомментировал: «Теперь я могу отправлять свой аватар в разные места и общаться, не приходя туда сам. С разрешения парламента, я бы с удовольствием послал его вместо себя участвовать в заседаниях бюджетного комитета!».

Разработчик робота, профессор Хироси Исигуро, создал робота не просто так. Он должен стать «лицом» проводимой министром Коно политики форсированной цифровизации Японии. В том числе — реализации амбициозной, но буксующей программы цифровых реформ и повсеместного внедрения государственной идентификационной системы My Number.
Читать полностью »

Как портят софт ради обратной совместимости - 1


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

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

Звуковая карта USB на STM32. Часть 2: Используем встроенный АЦП - 1


Во второй части публикации речь пойдёт о реализации линейного входа описанной ранее звуковой карты USB на встроенном в MCU STM32F411CEU6 АЦП.

В статье будут разобраны несколько неочевидных нюансов подобной реализации, а в финале мы сравним характеристики линейного входа на встроенном АЦП с характеристиками линейного входа на кодеке TLV320AIC3104IRHB.
Читать полностью »

Как НЕ надо строить надежные системы - 1

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

Учёные разрабатывают новый протокол контакта с инопланетянами в рамках SETI - 1

▍Не преподнесут ли ревущие 2020-е нам новые сюрпризы?

Британские учёные из Сент-Эндрюсского университета в Шотландии (который считается третьим по качеству образования и престижу в Великобритании после Оксфорда и Кэмбриджа) задумались о разработке протокола первого контакта с внеземной разумной жизнью.

Это десятилетие уже успело изрядно отучить нас удивляться самым неожиданным, необычным и масштабным событиям — так что удивления от прилёта каких-нибудь пришельцев в следующем году мы будем сильно меньше, чем в каких-нибудь нулевых или 2010-х годах. Хотя после долгих десятилетий отсутствия хотя бы чего-нибудь внятного и осмысленного из космических бездн, этого уже мало кто ожидает всерьёз в сколько-то близкой перспективе. Впрочем, кто знает?
Читать полностью »

Пневмоника и процессор постапокалипсиса - 1


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

Удивительно, но струйная логика используется не только в ракетных двигателях или газодинамических подшипниках, но и в бытовых газовых счётчиках. Совершенно случайно я наткнулся на пост «Внутренности газового счётчика» на Пикабу и увидел своих старых знакомых. «Ребята, а что вы тут делаете?», — подумал я и понял: время пришло.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js