Конференции

66-я Всероссийская научная конференция МФТИ

Список разделов ФРКТ - Cекция микропроцессорных технологий

На секцию микропроцессорных технологий принимаются научные работы, посвященные архитектуре универсальных и специализированных вычислительных систем; САПР элементов и узлов; проектированию кристаллов; системному программированию; операционным системам, компиляторам.

 

Формат проведения: Очно-дистанционный

Рабочий язык: русский

Дата проведения: 02.04.2024 в 11:00 часов

Место проведения: Москва, Рочдельская ул., 15, стр 13

  • Flexfloat – новый тип данных для эффективной обработки в специализированных чипах сигналов с большим динамическим диапазоном

    Данная работа приводит недостатки метода обработки в специализированных чипах (СБИС/ПЛИС) HDR сигналов в формате fixed point и предлагает новую методологию, в основу которой заложены особенности нелинейности человесчкого восприятия HDR сигналов. Эффективность методологии демонстрируется на примере обработки HDR  изображений.

  • Программно-аппаратная оптимизирующая статическая инструментация программы для улучшения эффективности замещения кэш-линий в процессоре

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

     

  • Аналитическая система оптимизации трасс исполнения для исследования программной предподкачки данных

    Аналитическая система оптимизации трасс исполнения для исследования программной предподкачки данных

  • Генерация синтетических трасс исполнения для верификации программ-обработчиков трасс

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

  • Исследование и разработка системы анализа кода для повышения производительности программ на языке программирования высокого уровня

    Исследована и разработана система анализа кода для повышения производительности программ целевого ЯП высокого уровня с учетом разделения на поддерживаемые TS предложения для исправлений и не поддерживаемые.

    Анализ происходит в момент компиляции исходного кода и предлагает включение желаемых проверок группами или по отдельности путем добавления флагов компиляции.

    Разработчики могут активировать или деактивировать любую опцию по одной или включать группами.

  • ЭФФЕКТИВНОЕ ПОСТРОЕНИЕ ПЕРЕУПОРЯДОЧИВАНИЙ МНОЖЕСТВА ОПЕРАЦИЙ С ПАМЯТЬЮ В МНОГОПОТОЧНОЙ ПРОГРАММЕ

    Построение всех возможных переупорядочиваний операций с памятью в многопоточных программах относится к классу #P-полных и для сколько-нибудь больших множеств (30 элементов) общее количество переупорядочиваний может достигать 10^18. Полное построение, анализ и хранение такого объёма данных затруднительны. Целью работы является разработка алгоритма, который позволил бы добиться практически приемлемых результатов по времени и памяти на множествах порядка 80-90 элементов.

  • Улучшение оптимизации корутин в компиляторе LLVM

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

  • Сжатие потока исполнения программ RISC-архитектур

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

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

  • Внедрение механизма FFI в язык программирования EOLANG.

    Foreign Function Interface (FFI) -это механизм языка, позволяющий вызывать код, написанный на другом языке. Он позволяет компенсировать отсутствие некоторых алгоритмов и нерешенных задач существующими решениями другого языка.

    В работе рассказывается, как добавлялся этот важный механизм в язык, и как он влияет на производительность.

     

  • Оптимизация производительности в мультиязыковой виртуальной машине: адаптивный TLAB в зависимости от статистики аллокации объектов

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

  • Улучшение векторизации в компиляторе LLVM для расширяемой архитектуры RISC-V посредством распознавания сложных алгоритмических паттернов

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

  • Мониторинг кэшей верхнего уровня в гипервизоре KVM для архитектуры RISC-V

    В данной работе описывается реализация программной части мониторинга кэшей верхнего уровня в гипервизоре KVM для архитектуры RISC-V

  • Обнаружение доступов к памяти за пределами жизни объектов в языке C++

    Данная работа посвящена проблеме обнаружения доступов к памяти за пределами жизни объектов в языке C++. Обращение к объекту вне его жизненного цикла приводит к неопределенному поведению в программе, что создает потенциальные проблемы безопасности. В работе был разработан и реализован метод обнаружения таких нарушений с помощью средства динамического анализа Valgrind Memcheck.

  • Система автоматизированного тестирования файловой системы jffs2

    Данная работа посвящена разработке методики тестирования файловой системы jffs2 при помощи набора тестов xfstests, анализу достигаемого тестового покрытия кода и методов его увеличения.

  • Решение задачи PBQP с использованием вычислений на GPU

    В данной работе рассматривается реализация алгоритма распределения регистров с помощью GPU. В качестве математической модели было выбрано PBQP.

  • Ускорение операций округления чисел с плавающей точкой в динамически-компилируемых языках

    В работе рассматриваются методы ускорения операций округления чисел с плавающей точкой и различными режимами на примере языка Java для архитектуры RISC-V. В работе обсуждаются способы написания интринсиков (вручную созданного машинного кода, используемого при компиляции методов), а также их тестирования.

  • Векторизация ленивых вычислений в линейном коде

    Работа посвящена линейной векторизации ленивых вычислений, то есть вычислений, находящихся внутри if-else конструкций. Такие операции не могут быть векторизованы традиционными методами, применяемыми компиляторами. Предлагается алгоритм, позволяющий обойти данную проблему, пользуясь знанием о страничной организации памяти.

  • Разработка инструмента для анализа производительность OpenJDK и ART приложений

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

  • Архитектура для сопоставления и настройки высокоуровневых моделей сетей на кристалле

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

  • Использование performance monitoring counters с целью предсказания оптимальной CPU частоты с точки зрения потребления энергии.

    Анализ нового алгоритма оптимального выбора частоты, выявлены слабости текущего governor-а на основе таких метрик, как количество инструкций в цикл и потребляемой энергии.

  • Межпроцедурный подход к оптимизации предварительной выборки данных

    В данной работе рассмотрен межпроцедурный подход к оптимизации предварительной выборки данных в компиляторе GCC для адресов с нерегулярным выражением.