Обновить
64K+
587,75
Рейтинг
37 540
Подписчики
Сначала показывать

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

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

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

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

Читать далее

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

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

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

Отменяем summertime sadness

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

Кто ходит в гости по утрам, тот поступает мудро. А кто ходит в гости в инженерный центр, становится еще мудрее. 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 мин
Охват и читатели9.6K

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

Как мы валидировали сервер YADRO для NVIDIA H100 Special

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

Недавно на рынке появились карты NVIDIA H100 в форм-факторе PCIe, построенные на основе извлеченных из HGX-модулей SXM-чипов. Но точно ли их производительность не уступает производительности оригинальных NVIDIA H100 NVL? 

Меня зовут Артём Маклаев, вместе с командой я занимаюсь оценкой производительности серверных платформ для задач искусственного интеллекта в YADRO. В целях эксперимента мы решили сравнить показатели PCIe-карты NVIDIA H100 (дальше по тексту буду называть их NVIDIA H100 Special) и NVIDIA H100 NVL. Для этого провели испытания с использованием сервера YADRO G4208P G3. Методику построили так, чтобы результат можно было проверить и воспроизвести: для сравнения использовали одинаковую серверную платформу, одинаковые версии драйвера, CUDA и ОС, а также два уровня тестов — прикладной vLLM benchmark и NCCL all_reduce_perf для проверки GPU-интерконнекта. 

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

Читать далее

Как мы тестируем планшеты KVADRA_T на производстве: архитектура DeviceTestPro

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

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

Привет, Хабр! Меня зовут Сергей, я ведущий инженер программист в отделе разработки приложений в YADRO. В статье расскажу, как мы создавали систему производственного тестирования Android-планшетов, которая используется на этапах сборки и в отделе технического контроля.

Читать далее

С/С++ в современном машинном обучении: традиционные роли и возможности нового стандарта

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

Привет, Хабр! Меня зовут Кирилл, я разработчик СХД в YADRO и ML-энтузиаст, автор книги "Hands-on Machine Learning with C++". Я заметил, что роль С/С++ в экосистеме машинного обучения трансформируется прямо сейчас. Чтобы понять, какое значение язык играет в развитии ML, мы поговорим о классическом применении C++ для ручной оптимизации вычислительных ядер. Затем разберемся, почему новый стандарт не закрепляет реализаций линейной алгебры, а отдает это на откуп поставщикам стандартной библиотеки и вендорам оборудования. И в завершение подумаем, как работать с «зоопарком реализаций», который из-за этого остается. 

Читать далее

SI/PI в разработке электронных устройств: анализ, который сэкономит вам время, деньги и нервы

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

Привет, Хабр! Меня зовут Алексей, я старший инженер в отделе моделирования физических процессов в YADRO. Вот уже четвертый год я помогаю печатным узлам стать лучше, технологичнее и стабильнее — об этом расскажу дальше. Но основной темой статьи будет анализ целостности сигналов (Signal Integrity, SI) и питания (Power Integrity, PI) в разработке современных электронных устройств. Этот этап часто недооценивают на практике, а в результате компания может столкнуться с лишними финансовыми затратами на доработку КД и повторное производство доработанных модулей и с переносом срока выпуска итогового продукта. 

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

Читать далее

Как работает передача данных в радиоэфире: прогоняем картинки с котиками через ресурсную сетку

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

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

Спецификации LTE и 5G обычно написаны «для своих». Чтобы разобраться в них, приходится глубоко погружаться в физику, математику и обработку сигналов. Но мир телекома слишком красив, чтобы прятать его за этой сложностью. В этой статье попробуем шаг за шагом разобраться, как современные сети превращают данные в радиосигнал и передают их через пространство и время.

Исследуем вместе

Минус 500 MB: оптимизируем Docker-образ Django-приложения

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

Когда Docker-образ backend-приложения начинает весить 1,5 GB, это уже хороший повод хотя бы посмотреть, что вообще лежит внутри. Пока все работает, мало кто задумывается, сколько мусора, dev-зависимостей и ненужных файлов уезжает в production вместе с приложением. Но на самом деле от «лишнего веса» нужно избавляться, потому что каждый лишний мегабайт — это более долгие сборки и дополнительные сложности.  

Читать далее

Алиасинг памяти в C++: прошлое, настоящее, будущее

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

Привет, Хабр! Меня зовут Владислав, я разрабатываю компиляторы в YADRO. В этой статье я расскажу вам про алиасинг памяти в C++: как он развивался, к чему пришел сейчас и что комитет по стандартизации языка думает делать с алиасингом в будущем. По пути я немного затрону алиасинг в других языках, рассмотрю связанные случаи undefined behavior, а также пропозалы C++, которые, как ожидалось, проблемы с алиасингом решат.

Читать далее

Больше, чем поддержка: как сервис-менеджер меняет продукт и отношения с клиентом

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

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

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

Меня зовут Руслан Рахимкулов, я отвечаю за развитие качества сервиса в YADRO. За годы работы в сервисном управлении я пришел к выводу, что сервис-менеджер — одна из самых недооцененных ролей в IT. Часто его воспринимают как координатора или владельца отчетности. На практике же сервис-менеджер становится человеком, который соединяет продукт, сервис, процессы и технические команды в единую систему эффективного взаимодействия и достижения результата для клиента.

В конце статьи расскажу, кого мы ищем в команду и какие вопросы задаем кандидатам на позицию сервис-менеджера.

Как стать сервис-менеджером?

Webhook в TestY заставил переписать приложение с нуля: от Flask-костылей к FastAPI

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

Привет, Хабр! Меня зовут Станислав Кулагин, я ведущий инженер отдела сертификационного тестирования компании YADRO. Я разработал ATS Studio — Flask-приложение, которое позволяло запускать автотесты в TestY TMS из браузера, не проставляя статусы руками. За полгода приложение стало популярным в нашей компании теперь экономит по 40 часов в месяц коллегам из KVADRA. 

Но я заметил, что у ATS есть потенциал стать лучше, поэтому начал разрабатывать вторую версию. Теперь ATS умеет обрабатывать до 400 тестов одновременно и подходит для совместного использования. В статье расскажу, как появился ATS Framework и почему TestY остается краеугольным камнем этой истории.

Читать далее

Как процессоры обмениваются данными в многопроцессорных системах

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

Привет, Хабр! Меня зовут Максим, в YADRO я разрабатываю методики тестирования аппаратных средств. В этой статье я подробно опишу, как процессоры обмениваются данными в многопроцессорных системах Intel. Расскажу, как здесь выбирать процессор с учетом количества линков UPI (Ultra Path Interconnect) и почему иногда даже мощные серверные процессоры не спасают от тормозов запущенного на них софта.

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

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

Информация

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