1. 22 марта

    Зал 1Зал 2Зал 3
    07:00
    07:30
    Смотреть запись

    Компиляторные технологии в верификации аппаратного обеспечения

    Доклад будет построен вокруг возможностей опенсорсного генератора llvm-snippy. Рассмотрим преимущества использования компиляторной инфраструктуры.

    Смотреть запись

    Доверенная загрузка в современной ОС: функции, особенности, применение

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

    Смотреть запись

    Особенности и возможности внешних отладчиков на примере RISC-V OpenOCD и не только

    Рассмотрим, как внешний отладчик взаимодействует с аппаратным интерфейсом и реализует типовые операции. Затронем уникальные возможности, которые дает внешняя отладка.
    08:45
    Смотреть запись

    Блеск и нищета WebAssembly

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

    Смотреть запись

    Ремонт обхода кадров стека в ядре Linux для RISC-V

    Расскажу об исправлении ошибки в обходе кадров стека на архитектуре RISC-V. А также о самом механизме, его применениях в ядре Linux и поддержке со стороны компилятора.

    10:00
    Смотреть запись

    Компиляторный бенчмаркинг и JIT-компиляция

    Обсудим инструмент автоматического бенчмаркинга llvm-exegesis, у которого недавно появился RISC-V backend. Этот инструмент позволяет проводить как bare-metal бенчмаркинг, так и бенчмаркинг для ОС Linux. В случае Linux используется llvm-jit, о котором также пойдет речь.

    Смотреть запись

    Анатомия фаззинга для ядра Linux

    Разберем, как устроен типичный фаззер для тестирования ядра ОС на примере syzkaller и Linux. Эти знания помогут понять, как приспособить фаззинг для тестирования собственных проектов.

    11:15
    Смотреть запись

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

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

    Смотреть запись

    A Deep Dive into Smart Device Memory Management

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

    Смотреть запись

    Устройство многопоточного рантайма движков ВКонтакте

    ВКонтакте используют движки (кастомные NoSQL базы данных) для решения разных задач: от хранения key-value значений до подбора рекламы. Расскажу, как устроен многопоточный асинхронный рантайм движков, какие примитивы синхронизации в нем используются, на какие виды они делятся и как менялись со временем.

    12:30
    Смотреть запись

    Отладка с помощью аппаратных точек останова и их поддержка в отладчиках

    Рассмотрим сценарии, когда отладка обычными точками останова становится проблематичной или даже невозможной. Отталкиваясь от этого, вы узнаете, что такое аппаратные точки останова, чем могут помочь и как реализованы.

    Смотреть запись

    Memory efficient RCU B+ дерево

    Поделимся нашим опытом разработки memory effective RCU-safe B+ дерева и его интеграцией в Linux kernel для управления VMA.

    Смотреть запись

    Надежно пишем в сокет: как Rust помогает писать многопоточный код

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

    13:45
    Смотреть запись

    V8: RISCованные недра Chromium

    Разберемся, как браузеру удается быстро и эффективно исполнять код на JavaScript, а также обсудим, что скрывается под капотом Chromium для достижения этой цели.

    Смотреть запись

    Мультиплексирование ввода/вывода в Linux

    Погружение в мультиплексирование ввода/вывода в Linux: как устроен ввод/вывод в Linux; как работает мультиплексирование внутри ядра с реализацией pipe в качестве примера; экскурс в историю: select & poll, проблема C10k, epoll и его устройство; краткий экскурс в io_uring.

    Подойдет для любого специалиста, разрабатывающего под Linux.

    Смотреть запись

    Симуляция беспроводной среды с eBPF на Rust: от тестирования к анализу проблем

    Расскажу, зачем нам понадобилась симуляция беспроводной среды, какие задачи решаем с помощью eBPF и почему выбрали Rust с Aya для проекта. На примере задачи симуляции рассмотрим применение eBPF в моделировании сложных сценариев и анализе низкоуровневой части протокола Wi-Fi.

    15:00
    Смотреть запись

    Генератор случайных процессорных архитектур для обучения системному программированию

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

    15:50
    Смотреть запись

    Закрытие конференции

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

    16:00

    Нетворкинг и афтерпати

    16:30
    Не записывалось

    Lightning Talks

    Lightning talks — это отличный формат, чтобы динамично обсудить тему и найти единомышленников. Вас ждут 15-минутные доклады на профессиональные или околопрофессиональные темы и живые обсуждения.