Предметно-ориентированные системы, использующие ускорители на базе программируемых логических интегральных схем (ПЛИС), все чаще проектируются при помощи инструментов высокоуровневого синтеза и конструирования аппаратуры. В настоящее время разработчикам доступно множество таких инструментов, как открытых, так и коммерческих. В данной работе проведено экспериментальное сравнение нескольких существующих решений (языков и инструментов), а именно: Verilog (базовое решение), Chisel, Bluespec SystemVerilog (Bluespec Compiler), DSLX (XLS), MaxJ (MaxCompiler) и C (Bambu и Vivado HLS). Сравнение и анализ производились на примере алгоритма обратного дискретного косинусного преобразования матрицы 8×8 (ОДКП), широко используемого, в том числе, в JPEG- и MPEG-декодерах. В качестве метрик сравнения реализаций алгоритма ОДКП использовались: 1) степень автоматизации (насколько меньше исходного кода требуется для описания алгоритма по сравнению с Verilog); 2) контролируемость (возможность достижения заданных характеристик аппаратуры, а именно соотношения производительности к занимаемой площади); 3) гибкость (легкость внесения изменений в реализацию с целью достижения определенных характеристик). Для оценки характеристик синтезированных схем в реальном окружении были разработаны AXI-Stream-адаптеры. В исследовании показано, как отдельные оптимизации (настройки инструментов и модификации исходного кода) влияют на производительность системы и занимаемую площадь. Продемонстрировано, насколько важно уметь управлять балансом между пропускной способностью интерфейса и производительностью вычислительного ядра; даны рекомендации по разработке новых инструментов проектирования систем, использующих ускорители на основе ПЛИС.
В статье рассматривается опыт и оценивается возможность применения свободного, открытого и собственного САПР в маршруте верификации СнК со степенью интеграции в миллиарды транзисторов, изначально базирующемся на коммерческих пакетах от "большой тройки". Предлагается подход к оценке пригодности конкретного САПР для заданного этапа маршрута верификации, основанный на формальном описании этапа и требований к средствам автоматизации для выбранного этапа. Приводятся собственные решения, внедренные в компании, являющиеся альтернативой коммерческим решениям или уникальными разработками. На основе предложенного подхода проведен анализ существующих средств автоматизации с точки зрения применимости в маршруте верификации современных СнК.
Реверс-инжиниринг сетевых протоколов широко применяется в задачах анализа безопасности сетевых программ. Задача реинжиниринга протокола состоит из восстановления форматов данных и менее изученного вопроса – восстановления реализованного в программе протокольного автомата, а краеугольным камнем является отсутствие формально понятия состояния протокола. В настоящее время сложились два основных подхода к восстановлению автоматов сетевых протоколов, базирующиеся на использовании различной исходной информации: на основе анализа записанных сетевых трасс и путем анализа бинарного кода программы, реализующего исследуемый протокол. В статье предлагается метод восстановления протокольных автоматов на основе анализа бинарного кода трасс программ в процессе их выполнения. Первой целью работы является описание математической модели протокольного автомата и метода ее проецирования на бинарный код приложения. Вторая цель – описание концепции понятия состояния протокола и правил, указывающих на выполнение переходов, с использованием некоторых «глобальных» объектов трассы программы. Третья преследует способ уточнения протокола с помощью фаззинга в памяти процесса (in-memory fuzzing) с использованием «плавающей» точки запуска порождающего сервера для контроля состояний и управления переходами. Наконец, в статье очерчена схема разработанного набора инструментов и показаны эксперименты по его использованию с реальным VPN-клиентом, подтверждающие состоятельность подхода.
В работе рассматривается задача построения алгоритма сравнения двух исполнимых файлов. В основе алгоритма лежит построение по заданной паре программ вектора показателей похожести и принятие на основе этого вектора решения о похожести или непохожести программ с помощью методов машинного обучения. Показатели похожести строятся с помощью алгоритмов двух типов: с помощью алгоритмов, не учитывающих формат входных данных (значения нечетких хеш-функций, значения коэффициентов сжатия), и с помощью алгоритмов, выполняющих анализ машинного кода (с помощью дизассемблеров). Всего построено 15 показателей: 9 показателей первого типа и 6 второго. На основе построенного обучающего множества пар похожих и непохожих программ (на основе набора программ coreutils) обучены и протестированы 7 разных бинарных классификаторов. Результаты экспериментов показали высокую точность моделей на основе случайного леса и k ближайших соседей. Также выявлено, что совместное применение показателей обоих типов может увеличить точность классификации.
Работа посвящена разработке библиотеки, предназначенной для реализации компиляторов. Статья содержит описание возможностей библиотеки и основных принципов её функционирования. В ходе работы была изучена и реализована генерация синтаксических анализаторов с помощью LR(1)-автоматов, были спроектированы и реализованы два вспомогательных языка: язык запросов к семантической сети и язык, предназначенный для генерации исполняемого кода. Результатом работы является библиотека для платформы .NET (библиотека тестировалась, в частности, для языка C#), которая содержит классы, существенно облегчающие реализацию синтаксического анализа исходного кода, семантического анализа и генерацию исполняемого файла. Данная библиотека не имеет внешних зависимостей, кроме стандартной библиотеки .NET.
Natch – это инструмент для получения поверхности атаки, то есть поиска исполняемых файлов, динамических библиотек, функций, отвечающих за обработку входных данных (файлов, сетевых пакетов) во время выполнения задачи. Функции из поверхности атаки могут быть причиной уязвимостей, поэтому им следует уделять повышенное внимание. В основе инструмента Natch лежат доработанные методы отслеживания помеченных данных и интроспекции виртуальных машин. Natch построен на базе полносистемного эмулятора QEMU, поэтому позволяет анализировать все компоненты системы, включая ядро ОС и драйверы. Собранные данные визуализируются в графическом интерфейсе SNatch, входящем в поставку инструмента. Построение поверхности атаки может быть встроено в CI/CD для интеграционного и системного тестирования. Уточненная поверхность атаки позволит поднять эффективность технологий функционального тестирования и фаззинга в жизненном цикле безопасного ПО.
В работе рассмотрен подход к сравнению систем обнаружения вторжений (СОВ) на основе нескольких независимых сценариев и комплексного тестирования, который позволил выявить основные достоинства и недостатки СОВ, основанной на применении методов машинного обучения (ML СОВ); определить условия, при которых ML СОВ способна превосходить сигнатурные системы по качеству обнаружения; оценить практическую применимость ML СОВ. Разработанные сценарии позволили смоделировать реализацию как известных атак, так и эксплуатацию уязвимости «нулевого дня». Сделан вывод о преимуществе ML СОВ при обнаружении ранее неизвестных атак, а также о целесообразности построения гибридных систем обнаружения, сочетающих возможности сигнатурного и эвристических методов анализа.
С развитием онлайновых социальных сетей все большую актуальность приобретают задачи выявления пользователей, которые оказывает большое влияние на других участников социальных сетей. Важным источником информации служат данные о комментировании пользователями контента, создаваемого другими пользователями. В работе предлагается метод определения влиятельности, основанный на двудольном графе пользователь-комментарий-контент, а также использующий информацию о текстовых сообщениях и реакции на них других пользователей. Кроме того, предложен метод выявления сообществ пользователей в таком графе на основе общих интересов. Результаты тестирования на коллекциях данных сетей ВКонтакте и YouTube показывают корреляцию активности и влиятельности пользователя, однако самые активные комментаторы не обязательно являются самыми влиятельными. Анализ сообществ показывает положительную корреляцию между размером сообщества, числом наиболее влиятельных пользователей в нем и средней влиятельностью пользователей сообщества.
В статье рассматриваются и сравниваются различные инструменты автоматизации управления ресурсами в облаке. Изменения в архитектуре программного обеспечения и подходов к разработке требуют автоматизации процессов управления развертывания и дальнейшего сопровождения по в разных средах. В разд. 2 представлен подробный обзор инструментов с примерами конфигураций, а также разбор релевантных статей, рассматривающих различные инструменты автоматизации и эффективность их внедрения. В разд. 3 представлен проект решения по объединению оркестраторов, разработанных в ИСП РАН, для получения инструмента с функционалом, которого нет у конкурентов.
В статье представлены результаты корпусного исследования криптотипов имен существительных в 20 диалектах английского языка (Englishes). Данные для этого исследования, собранные из корпусов GloWbE и NOW Марка Дэвиса, позволили нам сосредоточиться на вариациях скрытой классификации существительных в современных диалектах английского языка. Криптотип существительного, введенный Уорфом, рассматривается как «скрытый тип классификации существительных, отмеченный лексическим отбором в синтаксическом классификаторе, а не морфологическим тегом». Цель исследования состояла в том, чтобы сравнить и сопоставить скрытую классификацию 23 основных эмоций в двадцати диалектах английского языка (64 702 токена). 20 диалектов английского языков были сгруппированы с помощью методов интеллектуального анализа данных (таких как кластеризация k-средних и самоорганизующаяся карта Кохонена). Шесть кластеров оказались соответствующими географическим областям: американский кластер (американский и канадский английский); австралийский кластер (австралийский и новозеландский диплекты английского языка); европейский кластер (британский и ирландский английский); азиатский кластер (индийский, пакистанский, сингапурский, гонконгский, малазийский, бангладешский, шри-ланкийский и филиппинский диалекты английского); африканский кластер (кенийский, южноафриканский, нигерийский, ганский и танзанийский диалекты английского); карибский кластер (ямайский английский). Коэффициенты корреляции среди диалектов английского в азиатском и африканском кластерах (внешний круг в парадигме Браджа Б. Качру) колеблются от 0,74 до 0,8 из-за небольшого контакта между диалектами внутри этих кластеров. Коэффициенты корреляции между диалектами в американском, австралийском и европейском кластерах (внутренний круг) колеблются от 0,92 до 0,933, что свидетельствует о высокой согласованности этих диалектов за счет длительных, устойчивых языковых контактов.
В статье описывается новый метод контекстного разрешения омонимии на основе центроидно-контекстной модели (ЦКМ). Предлагаемый метод выявления случаев омонимии в корпусе текстов и ее разрешения с помощью модели ЦКМ базируется на теоретической концепции фразеологического концептуального анализа текстов (ФКАТ) и уникальной машинной грамматике, в основу которой положена система флективных классов русских слов. Заложенное в теоретической концепции флективных классов слов русского языка жесткое соответствие между формой представления слов и их грамматической информацией позволило создать на этой основе новые классы – классы слов, имеющие одинаковые наборы грамматических признаков, соответствующие их формам представления в сходных контекстных окружениях. При разработке этой модели авторы исходили из следующей гипотезы: одинаковым последовательностям обобщенных символов классов слов (обобщенным синтагмам) должны соответствовать одинаковые синтаксические структуры различных фрагментов текстов. При этом предполагалось, что такая гипотеза верна для любых синтаксических моделей и может быть полезна при решении как глобальных, так и частных задач анализа текста. С помощью этого метода было предложено новое решение задачи разрешение омонимии на основе предлагаемой модели ЦКМ.
Сети Петри с временными дугами – это временное расширение сетей Петри (TaPN-сети), которое позволяет присваивать таймеры фишкам. Система динамических точек на метрическом графе (DP-система) это другая динамическая модель, которая рассматривается в теории геометрических дискретных динамических систем и, исторически, ее изучение мотивировано изучением распространения локализованных гауссовых волновых пакетов по тонким структурам. DP-система моделирует дискретные ветвящиеся события происходящие в реальном времени. В недавних работах были получены асимптотические оценки на рост числа точек в DP-системах на метрических графах. В данной работе мы предлагаем методы оценки сверху числа различных значений таймеров для подкласса сетей Петри с временными дугами с помощью построения DP-системы на метрическом графе по сети Петри и показывает, что количество различных значений таймеров в исходной сети Петри не превосходят количество точек в DP-системе. Это позволяет переносить известные оценки для DP-систем на сети Петри с временными дугами для выделенного подкласса.
Рассматриваются вопросы математического моделирования турбулентных течений в каналах со вдувом различных форм поперечного сечения. В результате серии вычислительных экспериментов с использованием инструментов пакета OpenFoam исследуются вопросы влияния формы канала на реализуемые особенности течений. Предложена математическая модель сопряженного теплообмена для рассматриваемых каналов. Сравнение результатов численного моделирования с известными экспериментальными данными показало корректность предложенных моделей, схем и алгоритмов. Исследованы топологические особенности структуры потока вязкого сжимаемого теплопроводного газа в каналах с массоподводом сложных форм, в том числе описаны особенности формируемых профилей скоростей в выходных сечениях каналов, приводятся результаты расчета коэффициента неравномерности скорости.
В работе с использованием инструментов пакета OpenFOAM проведено численное моделирование вынужденного конвективного теплообмена в кремниевом микроканальном радиаторе. В качестве теплоносителя использовалась однофазная жидкость – вода. Модель микроканального радиатора представлена в виде кремниевой подложки длиной 10 мм, с прямоугольными микроканалами шириной 57 мкм и глубиной 180 мкм. расположенными по всей длине радиатора. Выполнен сравнительный анализ в виде кроссплатформенной верификации полученных численных результатов с данными сторонних авторов. Анализ полученных данных показал хорошую сходимость результатов исследования и возможность применения пакета OpenFOAM в качестве расчетной среды для численного моделирования физических процессов, протекающих в канальных радиаторах.
В статье рассматривается задача о моделировании обледенения треугольного крыла самолета-демонстратора X-59. Рассматривается три варианта сеток на 1.1, 3.8, 9.6 млн. ячеек. Обледенение крыла моделируется с помощью решателя iceFoam, разработанного в рамках пакета OpenFOAM. Для решения задачи используется две сетки: первая во внешней области, вторая - для жидкой пленки у твердого тела. Для построения сетки газовой фазы используются утилиты blockMesh и snappyHexMesh в составе пакета OpenFOAM. Качество сетки газовой фазы, определяемое стандартной утилитой checkMesh, соответствует всем проверяемым требованиям. Однако, в ходе автоматического построения сетки жидкой пленки могут образовываться ячейки с неудовлетворительными параметрами, к которым, например, относится требование ограниченной неортогональности граней. В связи с этим обсуждается новый алгоритм исключения некачественных расчетных ячеек. Расчеты были проведены для моделей крыла самолета-демонстратора X-59 в масштабе 1:25 и 1:1 для случая рыхлого льда. Для разномасштабных моделей обеспечивалось неизменность чисел Рейнольдса и Маха. В тоже время неизменными параметрами в размерном виде были водность воздуха и медианный диаметр капель воды. Получены картины образования льда на верхней и нижней части крыла. Показано, что области обледенения разномасштабных моделей крыла могут существенно различаться даже при совпадении безразмерных комплексов подобия для газовой фазы. Сделан вывод о том, что многие экспериментальные и расчетные результаты по обледенению профилей небольшого размера трудно перенести на полномасштабные профили. Вычисления выполнялись на кластере ИСП РАН с использованием 48 или 96 ядер процессоров.
Представлена трехмерная математическая модель динамики прибрежных вод в заливе Петра Великого Японского моря. Система уравнений Навье-Стокса записана в предположении гидродинамического приближения неоднородной жидкости учитывает, турбулентный обмен, ветровые напряжения, силы трения, сложный рельеф дна и береговой линии. На основе гидрографической информации используется численный метод восстановления рельефа дна и береговой линии. Уравнение свободной поверхности воды заменяется сингулярно возмущенной задачей. В прикладном программном пакете FreeFem++ написан код для расчёта гидродинамических характеристик прибрежной акватории. В ходе решения сетка конечных элементов строится автоматически, параметры сетки задаются пользователем. Для решения сингулярной задачи на каждом временном слое происходит адаптация сетки вокруг численного решения с параметрами адаптации сетки.
В работе предложен алгоритм решения задачи мелкой воды, реализованный на основе центрально-разностной по пространству и явной одношаговой по времени схемы, устойчивость которой достигается методом FCT. Показано, что при решении задачи о распаде разрыва цилиндрического столба жидкости в мелком бассейне, предложенный метод является устойчивым, сравним по точности с методом Мак–Кормака превосходя его по производительности.
ISSN 2220-6426 (Online)