Рубрика «высокая производительность» - 5

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


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

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

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

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

Читать полностью »

Китай наладил техпроцесс 7 нм без доступа к западным технологиям - 1

Летом 2022 года стало окончательно понятно, что китайская корпорация SMIC освоила производство микросхем по техпроцессу 7 нм.

Хотя специализированные процессоры MinerVa7 Bitcoin (SHA256 ASIC) мало кому интересны, но здесь любопытен технологический аспект. Получается, что если Китай освоил такой техпроцесс, то может в условиях торговых ограничений наладить производство CPU общего пользования, не уступающих процессорам TSMC (Apple, AMD) и Intel предпоследнего поколения?

Сразу появились подозрения, что китайский техпроцесс SMIC 7 нм скопирован с техпроцесса TSMC N7 образца 2018 года. И встал вопрос, какую фотолитографию использует Китай, ведь у них нет доступа к современным степперам ASML.
Читать полностью »

CDN против DDoS-атак: в каких случаях это действительно работает - 1

Мы привыкли воспринимать CDN, или сеть доставки контента, как технологию для ускорения работы веб-сайтов. При этом у CDN есть менее известное преимущество — услуга повышает безопасность инфраструктуры, в частности за счет защиты от DDoS-атак. Под катом рассказываем, действительно ли сеть доставки контента способна противостоять атакам и какие тут есть нюансы.
Читать полностью »

Long story short

Сеньоры начинают и проигрывают

@qrdl - ничего личного.

Тут как на олимпийских играх - быстрее, короче, изящней.


В продолжение увлекательной дискуссии

https://habr.com/ru/post/540136/

https://habr.com/ru/post/682080/

https://habr.com/ru/post/682332/

Сеньоры в 4 потока

time ./multithreaded2 > /dev/null

real 0m1,173s user 0m4,158s sys 0m0,140s

Читать полностью »

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

Читать полностью »
От Шёлкового Пути — to the Road to Silicon: в Средней Азии есть RTL-дизайнеры - 1

Оказывается, в Кыргызстане, который в 11 веке стоял аккурат посередине Великого шёлкового пути, спустя тысячу лет появились проектировщики цифровых схем на уровне регистровых передач. Во время семинара Читать полностью »

После написания первой статьи про FizzBuzz (которая неожиданно для меня стала выбором редакции на Технотексте 2021) у меня появлялись мысли о том, что можно бы еще ускорить, но все время было не до того. И тут мне прилетает перчатка.

Продолжаем разгонять FizzBuzz - 1

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

Читать полностью »

Сегодня мы анонсируем выход в опенсорс фреймворка userver для создания высоконагруженных приложений. Для нас это важный способ поделиться опытом в разработке микросервисов, который мы накопили. Вот ссылка на GitHub-репозиторий c исходным кодом, документацией, примерами, шаблоном для создания своих сервисов (с настроенным CI, сборкой и тестовым окружением) и сервисом динамических конфигов. Всё это опубликовано под лицензией Apache 2.0.

Яндекс выложил в опенсорс бету фреймворка userver - 1

🐙userver позволяет быстро создавать эффективные микросервисы на языке C++ и уже много лет активно используется в Яндекс Go, Еде, Лавке, Доставке, Маркете, финтехе и других проектах. Вот из каких требований мы исходили в процессе разработки:

  • Простота. Стажёр или студент, приходя к нам, может уже через неделю написать и отправить в продакшен новый микросервис.
  • Надёжность. Многие ошибки, в том числе и связанные с многопоточностью, можно поймать на этапе компиляции. Кроме того, фреймворк даёт подсказки по исправлению проблем.
  • Полнота. В userver есть всё необходимое для тестирования, работы с разными базами данных, кеширования, логирования, трейсинга, распределённых блокировок, работы с JSON, BSON, YAML, изменения параметров сервиса на лету и так далее.

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

За два года с тех пор, как я опубликовал статью I want off Mr Golang's Wild Ride, она вновь и вновь всплывала на Reddit, Lobste.rs, на HackerNews и в других местах.

Всякий раз дискуссия выходит к одним и тем же ответам:

  • Вы говорите о Windows: а ведь как раз с Windows язык Go не слишком хорош! (Опять же, кого это волнует?)

  • Вы однобоки: о сильных сторонах Go вы не говорите!

  • Вы не понимаете тех компромиссов, на которые мы идем в Go.

  • Крупные компании используют Go, значит, не так уж он и плох!

  • Читать полностью »


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