Все выпуски
- 2025 Том 17
- 2024 Том 16
- 2023 Том 15
- 2022 Том 14
- 2021 Том 13
- 2020 Том 12
- 2019 Том 11
- 2018 Том 10
- 2017 Том 9
- 2016 Том 8
- 2015 Том 7
- 2014 Том 6
- 2013 Том 5
- 2012 Том 4
- 2011 Том 3
- 2010 Том 2
- 2009 Том 1
-
Предсказание производительности избранных типов циклов над одномерными массивами посредством анализа эмбеддингов промежуточных представлений
Компьютерные исследования и моделирование, 2023, т. 15, № 1, с. 211-224Предложен метод отображения промежуточных представлений C-, C++-программ в пространство векторов (эмбеддингов) для оценки производительности программ на этапе компиляции, без необходимости исполнения. Использование эмбеддингов для данной цели позволяет не проводить сравнение графов исследуемых программ непосредственно, что вычислительно упрощает задачу сравнения программ. Метод основан на серии трансформаций исходного промежуточного представления (IR), таких как: инструментирование — добавление фиктивных инструкций в оптимизационном проходе компилятора в зависимости от разности смещений в текущей инструкции обращения к памяти относительно предыдущей, преобразование IR в многомерный вектор с помощью технологии IR2Vec с понижением размерности по алгоритму t-SNE (стохастическое вложение соседей с t-распределением). В качестве метрики производительности предлагается доля кэш-промахов 1-го уровня (D1 cache misses). Приводится эвристический критерий отличия программ с большей долей кэш-промахов от программ с меньшей долей по их образам. Также описан разработанный в ходе работы проход компилятора, генерирующий и добавляющий фиктивные инструкции IR согласно используемой модели памяти. Приведено описание разработанного программного комплекса, реализующего предложенный способ оценивания на базе компиляторной инфраструктуры LLVM. Проведен ряд вычислительных экспериментов на синтетических тестах из наборов программ с идентичными потоками управления, но различным порядком обращений к одномерному массиву, показано, что коэффициент корреляции между метрикой производительности и расстоянием до эмбеддинга худшей программы в наборе отрицателен вне зависимости от инициализации t-SNE, что позволяет сделать заключение о достоверности эвристического критерия. Также в статье рассмотрен способ генерации тестов. По результатам экспериментов, вариативность значений метрики производительности на исследуемых множествах предложена как метрика для улучшения генератора тестов.
-
Графовая сверточная нейронная сеть для быстрого и точного дизассемблирования инструкций x86
Компьютерные исследования и моделирование, 2024, т. 16, № 7, с. 1779-1792Дизассемблирование двоичных файлов x86 — важная, но нетривиальная задача. Дизассемблирование трудно выполнить корректно без отладочной информации, особенно на архитектуре x86, в которой инструкции переменного размера чередуются с данными. Более того, наличие непрямых переходов в двоичном коде добавляет еще один уровень сложности. Непрямые переходы препятствуют возможности рекурсивного обхода, распространенного метода дизассемблирования, успешно идентифицировать все инструкции в коде. Следовательно, дизассемблирование такого кода становится еще более сложным и требовательным, что еще больше подчеркивает проблемы, с которыми приходится сталкиваться в этой области. Многие инструменты, включая коммерческие, такие как IDA Pro, с трудом справляются с точным дизассемблированием x86. В связи с этим был проявлен определенный интерес к разработке более совершенного решения с использованием методов машинного обучения, которое потенциально может охватывать базовые, независимые от компилятора паттерны, присущие машинному коду, сгенерированному компилятором. Методы машинного обучения могут превосходитьпо точности классические инструменты. Их разработка также может занимать меньше времени по сравнению с эвристическими методами, реализуемыми вручную, что позволяет переложитьо сновную нагрузку на сбор большого представительного набора данных исполняемых файлов с отладочной информацией. Мы усовершенствовали существующую архитектуру на основе рекуррентных графовых сверточных нейронных сетей, которая строит граф управления и потоков для дизассемблирования надмножеств инструкций. Мы расширили граф информацией о потоках данных: при кодировании входной программы, мы добавляем ребра потока управления и зависимостей от регистров, вдохновленные вероятностным дизассемблированием. Мы создали открытый набор данных для идентификации инструкций x86, основанный на комбинации набора данных ByteWeight и нескольких пакетов Debian с открытым исходным кодом. По сравнению с IDA Pro, современным коммерческим инструментом, наш подход обеспечивает более высокую точность при сохранении высокой производительности в наших тестах. Он также хорошо себя показывает по сравнению с существующими подходами машинного обучения, такими как DeepDi.
-
О подходе к разработке и валидации алгоритмов маршрутизации на разрывных сетях
Компьютерные исследования и моделирование, 2022, т. 14, № 4, с. 983-993В данной статье рассматривается проблема централизованного планирования маршрутов передачи данных в сетях, устойчивых к задержкам и разрывам. Исходная проблема расширяется дополнительными требованиями к хранению узлов и процессу связи. Во-первых, предполагается, что связь между узлами графа устанавливается с помощью антенн. Во-вторых, предполагается, что каждый узел имеет хранилище конечной емкости. Существующие работы не рассматривают и не решают задачу с этими ограничениями. Предполагается, что заранее известны информация о сообщениях, подлежащих обработке, информация о конфигурации сети в указанные моменты времени, взятые с определенными периодами, информация о временных задержках для ориентации антенн для передачи данных и ограничения на объем хранения данных на каждом спутнике группировки. Два хорошо известных алгоритма — CGR и Earliest Delivery with All Queues — модифицированы для удовлетворения расширенных требований. Полученные алгоритмы решают задачу поиска оптимального маршрута в сети, устойчивой к разрывам, отдельно для каждого сообщения. Также рассматривается проблема валидации алгоритмов в условиях отсутствия тестовых данных. Предложены и апробированы возможные подходы к валидации, основанные на качественных предположениях, описаны результаты экспериментов. Проведен сравнительный анализ производительности двух алгоритмов решения задачи маршрутизации. Два алгоритма, названные RDTNAS-CG и RDTNAS-AQ, были разработаны на основе алгоритмов CGR и Earliest Delivery with All Queues соответственно. Оригинальные алгоритмы были значительно расширены и была разработана дополненная реализация. Валидационные эксперименты были проведены для проверки минимальных требований «качества» к правильности алгоритмов. Сравнительный анализ производительности двух алгоритмов показал, что алгоритм RDTNAS-AQ на несколько порядков быстрее, чем RDTNAS-CG.
-
Параллельное представление локального элиминационного алгоритма для ускорения решения разреженных задач дискретной оптимизации
Компьютерные исследования и моделирование, 2015, т. 7, № 3, с. 699-705Просмотров за год: 1.Алгоритмы декомпозиции являются методами решения NP-трудных задач дискретной оптимизации (ДО). В этой статье демонстрируется один из перспективных методов, использующих разреженность матриц, — локальной элиминационный алгоритм в параллельной интерпретации (ЛЭАП). Это алгоритм структурной из декомпозиции на основе графа, который позволяет найти решение поэтапно таким образом, что каждый последующих этапов использует результаты предыдущих этапов. В то же время ЛЭАП сильно зависит от порядка элиминации, который фактически является стадиями решения. Также в статье рассматриваются древовидный и блочный тип распараллеливания для ЛЭАП и необходимые процессы их реализации.
Журнал индексируется в Scopus
Полнотекстовая версия журнала доступна также на сайте научной электронной библиотеки eLIBRARY.RU
Журнал входит в систему Российского индекса научного цитирования.
Журнал включен в базу данных Russian Science Citation Index (RSCI) на платформе Web of Science
Международная Междисциплинарная Конференция "Математика. Компьютер. Образование"





