Обновить
128K+
557,63
Рейтинг
38 600
Подписчики
Сначала показывать

Снапшоты дедуплицирующей файловой системы на LSM-дереве: опыт TATLIN.BACKUP

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели8.4K

Привет, Хабр! Меня зовут Александр Черепанов, я руковожу группой в команде Data Path TATLIN.BACKUP.

Мы уже писали в блоге про наше хранилище. Сначала про то, как с нуля делали дедуплицирующую файловую систему: чанки, FastCDC, протокол T-BOOST. Потом про то, что такое снапшоты, зачем они нужны и как мы их устроили на уровне архитектуры: экстенты, файл как список их идентификаторов, выбор Mark-and-Sweep вместо подсчета ссылок для сборки мусора. С тех пор снапшоты уже почти год в проде, и, судя по отзывам, работают неплохо.

Эта статья принципиально другая. Мы достанем отвертку и залезем внутрь: разберемся, на чем технически строятся снапшоты, как мы их сделали поверх RocksDB, при чем тут LSM-дерево и Bloom-фильтр размером с системный диск ноутбука.

Читать далее

А не послушать ли нам «радио Судного дня»… с AI? Создаю АПК радиолюбителя для УВБ-76

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели16K

Я занимаюсь инфраструктурным DevOps в YADRO — кластеры, виртуализация, мониторинг, оптимизация железа. Последнее время на работе был сильный завал. Голова кипела. Захотелось отвлечься на что-то совсем другое: переключить мозги с «как ускорить сборку на три секунды» на «как это вообще работает». Пока думал, как занять подобным образом свободное от работы время, попалась мне статья про УВБ-76.
 
Знаете это чувство? Читаешь про что-то странное и загадочное, и внутри загорается лампочка: «А чего так не системно то?» Тут и родилась идея объединить свою профессиональную деятельность с чем-то новым для меня. Не просто послушать разок жужжание из любопытства, а построить целую станцию наблюдения. Сразу пришло понимание, что сидеть ночами с наушниками и слушать странный эфир я не хочу...

Читать далее

Как мы превратили жалобу на «сырость» операционной системы в измеримый UX-показатель

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели10K

Вы выпускаете обновления и исправляете баги, но пользователи все равно говорят: «Продукт сырой». Что именно не так и что чинить в первую очередь? Мы разложили ощущение «сырости операционной системы» на четыре измеримых компонента: надежность, функциональность, производительность и удобство — и собрали из них индекс зрелости от 10 до 50 баллов.

Привет, Хабр! Меня зовут Маргарита Урбанович, эту статью я подготовила вместе с коллегой Марией Копачевской. Мы работаем в отделе изучения пользовательского опыта в YADRO и исследуем, как люди пользуются мобильной и десктопной операционными системами, планшетами, ноутбуками, ПК и другими продуктами под брендом KVADRA. В этом материале расскажем, как появилась методика измерения зрелости ОС, из чего она состоит, как мы ее проверяли и для каких задач используем. А еще поделимся файлом с автоматическим расчетом показателей, чтобы вы могли переиспользовать методику в своих исследованиях. 

Забрать методику себе

Рефлексия в C++26 на примере сериализации и десериализации JSON

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели9.5K

Всем привет! Меня зовут Тимур, я работаю в YADRO, и уже больше двух месяцев мой системный компилятор — gcc16. В новом стандарте добавили очень много, и сегодня я расскажу вам о некоторых обновлениях. В основном о рефлексии, но также будет немного и о контрактах.

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

Читать далее

Пришел, увидел, разобрался: как я возглавил отдел в 5G Core, не различая SMF и AMF

Время на прочтение12 мин
Охват и читатели11K

Привет! Меня зовут Сергей, я руководитель отдела разработки компонентов опорной сети 5G в YADRO. Когда меня пригласили на эту роль, я не знал, как работают протоколы управления сессиями и чем конкретно LTE отличается от 5G, но точно знал, как выстроить процессы в команде, где каждый второй — инженер с десятилетним стажем. 

Как вы уже поняли, стать руководителем в телеком-команде без опыта в телекоме можно. Навыки здесь нужны те же, что и руководителю в любой IT-компании: выстраивать процессы, работать с людьми, принимать решения, управлять сроками и рисками. Предметная область подтягивается по ходу, а вот к масштабу задач придется привыкать. Сложно ли было не «поплыть» и пришлось ли зубрить спецификации 3GPP на ночь, я расскажу в статье.

Читать далее

Почему антенны работают на физике XIX века, но требуют технологий XXI

Время на прочтение20 мин
Охват и читатели20K

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

Меня зовут Алексей, я радиоинженер, работаю в дивизионе Телеком в YADRO и руковожу кафедрой «Радиофизика, антенны и микроволновая техника» в МАИ. Сегодня мы продолжаем цикл статей о разработке базовых станций. Расскажу об особенности разработки антенн: как менялись требования к ним от поколения к поколению связи, как создаются и тестируются прототипы, какой может быть архитектура и какие вызовы стоят перед нами сейчас.

Читать далее

Блогу YADRO на Хабре 10 лет — разыгрываем суперприз за суперквиз

Время на прочтение3 мин
Охват и читатели10K

В этом году блогу YADRO на Хабре исполняется 10 лет. За это время мы опубликовали более 400 статей о разработке железа, телекоме, процессорной архитектуре, системном ПО и других инженерных темах.

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

Решать квиз за приз →

Запуск файловой системы LittleFS на SPI‑NAND Flash от GigaDevice

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели10K

В этой статье я подготовил обзор широко известной и доступной в продаже микросхемы Flash NAND памяти GD5F1GQ5xExxG. Согласно маркировке, это микросхема энергонезависимой NAND-памяти GigaDevice емкостью 128 МБ с доступом по интерфейсу SPI. Во второй части я расскажу, как установить на эту микросхему LittleFS — отказоустойчивую файловую систему, разработанную специально для микроконтроллеров.

Читать далее

Созвоны, аватарки и немного тревожности: как команды теряют контакт в онлайне

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели8.6K

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

Хабр, привет! Меня зовут Мария Рыбалкина, я руководитель группы разработки приложений YADRO. В этой статье разберу, как устроен цикл контакта в рабочих коммуникациях, почему команды теряют живое взаимодействие на созвонах и какие практики помогают вернуть внимание, вовлеченность и участие людей в обсуждении.

Читать далее

От JTAG к IJTAG: зачем понадобился новый стандарт аппаратного тестирования

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели12K

Приветствую! На связи Антон Осетров, DFT-разработчик SoC в компании YADRO. В этой статье я хочу рассказать о вызовах в тестировании SoC, о том, как они изменялись со временем и как с этим связан переход от аппаратного интерфейса JTAG к IJTAG.

Читать далее

Архитектура «Гегелло», или как мы создали собственную платформу для анализа состояния оборудования

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели11K

Всем привет! Меня зовут Юрий, я руковожу группой прикладной разработки в департаменте мультивендорной поддержки YADRO. Мы занимаемся развитием собственного сервисного инструмента «Гегелло», который позволяет работать с диагностическими данными различного оборудования и визуализировать проблемы в системах. 

Какую задачу решает платформа, почему это не просто «Grafana у нас дома» и что в основе архитектуры «Гегелло» — читайте в статье.

Читать далее

Летняя встреча Go-сообщества: системное и embedded-программирование

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели11K

Если список литературы по Go на лето уже прочитан, пора переходить от теории к живым кейсам. 23 июля собираемся в Москве и онлайн на встрече Go-сообщества от YADRO и Postgres Professional. Начинаем в 19:00 — подключайтесь к трансляции и слушайте тех, кто работает с Go каждый день.

Отменяем summertime sadness

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

Время на прочтение15 мин
Охват и читатели24K

Привет! Меня зовут Василий Рамаданов, я ведущий инженер в отделе разработки восходящих каналов связи в YADRO. Прямо сейчас я опубликовал эту статью со смартфона. Мне не удалось бы совершить это действие без устойчивого покрытия мобильных операторов, а для него нужны базовые станции (очень много базовых станций). В крупных городах одна БС устанавливается примерно на каждые 200 метров, так что за короткую 15-минутную прогулку можно встретить 5–7 станций — конечно, если знать, куда смотреть и как они выглядят.

Получается, базовая станция — вполне себе массовый продукт. При этом ей нужно реализовывать множество вычислительно затратных алгоритмов в режиме реального времени. Напрашивается противоречие в лучших традициях ТРИЗ: нужен простой и доступный, но сложный и качественный продукт. «Отдуваться» приходится инженерам, которые эти самые станции создают.

Мы в YADRO развиваем телеком-направление с 2022 года. Об инженерных решениях, которые позволяют совмещать простоту конструкции и высокую вычислительную мощность оборудования, я и мои коллеги расскажем в цикле статей. Сегодня поговорим о специфике разработки БС в целом, а дальше разберем антенну, RU и BBU. Сохраняйте в закладки, чтобы не потерять продолжение!

Читать далее

Ускоряем обработку изображений в OpenCV на RISC-V: алгоритмическая, низкоуровневая и компиляторная оптимизация

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели9K

Привет, Хабр! Меня зовут Роман Кузьмин, я занимаюсь развитием фреймворков искусственного интеллекта в YADRO. В этой статье я расскажу о работе по оптимизации алгоритма компьютерного зрения — детекторе углов, основанном на глобальных и локальных свойствах кривизны, который реализован с помощью библиотеки OpenCV под архитектуру RISC-V. 

С коллегами из НГТУ им. Р. Е. Алексеева мы добились лучшей эффективности алгоритма за счет подхода, включающего алгоритмические оптимизации и ручную векторизацию с использованием RVV. Я подробно опишу, что и где мы изменили, а в конце статьи оценю прогресс с помощью тестов на плате Lichee Pi 4a.

Читать далее

В поле и офисе: послушаем доклады и увидим своими глазами, где тестируют продукты YADRO

Время на прочтение2 мин
Охват и читатели10K

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

Встреча пройдет без трансляции и записи докладов — только живое общение и максимальное погружение в тему. Эксперты расскажут о полевом тестировании базовой станции и особенностях тестирования «железа», а затем для гостей проведут экскурсию по лабораториям, ЦОД и инженерным пространствам.

Читать далее

MTU, Frame Size и Jumbo Frames: анатомия сетевого пакета для инженера

Время на прочтение12 мин
Охват и читатели12K

Привет, Хабр! Меня зовут Светлана Каткова, я старший разработчик ПО для коммутатора KORNFELD в YADRO. Знакома ли вам ситуация: L2-связность работает, L3-маршруты есть, но большие файлы не копируются, VPN-туннель «рвет» соединение, а базы данных падают при попытке репликации? Диагностика показывает, что мелкие пакеты проходят идеально, а крупные — исчезают бесследно. С высокой вероятностью проблема упирается в Maximum Transmission Unit (MTU).

Тема MTU кажется простой только на первый взгляд. На практике мы сталкиваемся с разницей между L2 и L3 MTU, Jumbo Frames, настройкой Link Aggregation Group (LAG) и «сюрпризами» вендорских ОС при обновлении. Одна из ключевых проблем — непонимание, как из значения mtu получается реальный Ethernet-кадр, который уходит в кабель.

В этой статье рассмотрим правила настройки на примере Kornfeld OS, так как система аналогична многим вендорам.

Читать далее

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

Время на прочтение12 мин
Охват и читатели10K

Привет, Хабр! Меня зовут Анатолий, я руковожу группой автоматизации и управления тестового оборудования в YADRO.

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

Хаотичная работа с тестовыми стендами — это проблема, и я пришел в компанию, чтобы ее решить. Так в YADRO появилась автоматизированная система бронирования тестовых стендов, она же Automated Testing Facility (ATF). В статье расскажу, что она умеет, на каких технологиях основана и почему под наши задачи не подошел Jenkins

Создаем систему бронирования стендов →

Охота за районами: как устроены мобильные активации радиолюбителей

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели22K

Современное радиолюбительство — это огромная техническая среда со своими соревнованиями, рейтингами, цифровыми сервисами и даже картографическими системами. И мобильные активации — только одна из ее частей.

Привет, Хабр! Меня зовут Андрей Зубарев, я старший системный аналитик GSM-решений в YADRO. В статье расскажу, как устроено современное радиолюбительство, как радиолюбители работают в эфире на коротких волнах и почему связь на тысячи километров возможна без привычной мобильной инфраструктуры.

Читать далее

Как я переехал с Altium Designer на KiCAD

Время на прочтение6 мин
Охват и читатели13K

Я расскажу о своем переходе с мощного и широко распространенного Altium Designer на open source-инструмент KiCad. Причин перехода с Altium Designer три. Во-первых, хочется использовать официальное ПО, проекты из которого я смогу спокойно выкладывать в открытый доступ. Во-вторых, я теперь не изготавливаю печатные платы и могу пользоваться любой интересной мне программой. Наконец, я просто хотел попробовать что-то новое, открытое и независимое.

Читать далее

Создаем потокобезопасную очередь с условными переменными: «академический» пример против реальности

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели12K

Представьте, что вы едете в ночном поезде. Чтобы гарантированно выйти на нужной станции, придется не спать всю ночь и внимательно отслеживать остановки. Свою станцию вы не пропустите, но сойдете с поезда уставшим. Другой способ: узнать из расписания предполагаемое время прибытия поезда, поставить будильник на нужное время с небольшим запасом и лечь спать. Этого вполне достаточно, чтобы не пропустить свою станцию, но, если поезд задержится, пробуждение окажется слишком ранним. Идеальным решением было бы лечь спать, положившись на то, что кто-нибудь или что-нибудь разбудит вас незадолго до реального прибытия поезда на нужную станцию...

Какое отношение этот пример имеет к работе с потоками в программировании? Дело в том, что решить задачу синхронизации конкурентных операций можно также несколькими способами, близкими к ситуации выше. Меня зовут Александр, я разработчик на С++ в YADRO, и в этой статье я разберу несколько вариантов эффективной организации ожидания потоков. 

Читать далее
1
23 ...

Информация

Сайт
yadro.com
Дата регистрации
Дата основания
Численность
5 001–10 000 человек
Местоположение
Россия
Представитель
Ульяна Соловьева