Статья является продолжением предыдущей статьи авторов, в которой строится абстрактная модель распределенной сети, содержащей только хосты и коммутаторы. Хосты предлагают пользователям пакеты определенных услуг (сервисов), сообщения (запросы) между хостами пересылаются через промежуточные узлы по правилам коммутации, и настройка узлов определяет множество путей от хоста к хосту, по которым будут пересылаться пакеты. Ситуация моделируется с использованием графа физических связей, вершинами которого являются хосты и коммутаторы, причем каждый хост (как и коммутатор) содержит систему правил коммутации. Обсуждается возможность повышения эффективности работы сети на основе использования информации о классах услуг, на которые разбивается множество всех услуг, предоставляемых хостами сети. На основе информации о классах услуг рассматриваются задачи передачи сообщений, настройка, в том числе инкрементальная, распределенной сети при различных изменениях параметров сети.
Данная работа посвящена применению суффиксных кодов в модульной метрике для решения задач кластеризации и поиска ближайших соседей (k-nearest neighbors, kNN). Рассматриваются преимущества использования модульной метрики перед евклидовой метрикой, особенно в пространствах высокой размерности. Основной акцент сделан на разработку эффективных алгоритмов кластеризации и поиска ближайших соседей с использованием кодов, позволяющих исправить ошибки в модульной метрике. Предложенный подход обеспечивает полиномиальную сложность относительно размерности обучающей выборки, что делает его перспективным для приложений машинного обучения с большими наборами данных и высокими требованиями к производительности.
Современные вычислительные задачи, связанные с обработкой больших чисел, требуют не только высокой точности, но и значительной скорости операций. В данном контексте применение системы остаточных классов предлагает подход к параллельной обработке больших чисел, который применяется в криптографии, обработке сигналов и искусственных нейронных сетях. Ключевой задачей при построении системы остаточных классов является определение её базиса. В статье представлен алгоритм генерации компактных базисов системы остаточных классов, основанный на теореме Диемитко. Предложенный алгоритм генерирует базисы в среднем на 15,5% быстрее, чем построение базисов на основе псевдо-Мерсенновских чисел, и на 75,7% быстрее, чем метод общей фильтрации. Проведённый сравнительный анализ показал, что использование компактных базисов обеспечивает в среднем 12% ускорение модульных операций по сравнению со специальными наборами модулей.
Время приема-передачи (RTT, Round-Trip Time) – время, которое требуется для отправки пакета от отправителя к получателю и возврата подтверждения, что пакет был получен. Алгоритмы управления перегрузками в протоколе TCP косвенно или напрямую используют предсказанные значения RTT для определения перегрузки сети. Основным алгоритмом для прогнозирования RTT на основе взвешенного скользящего среднего является алгоритм Джейкобсона. Однако этот алгоритм может работать не совсем эффективно, если RTT имеет распределение с тяжёлым хвостом, т.е. существуют редкие, но очень большие значения RTT. В этой статье мы предлагаем метод прогнозирования RTT, основанный на обучении с учителем, который может работать как в оффлайн режиме (с заранее собранной обучающей выборкой), так и в онлайн режиме (с поступлением данных в реальном времени и их последовательной обработкой). Полученные результаты показывают улучшение алгоритмов, основанных на машинном обучении, по сравнению с классическим алгоритмом Джейкобсона с точки зрения показателей MAPE, MAE и MSE. Кроме того, показана высокая эффективность онлайн обучения по сравнению с оффлайн обучением в случае дрейфа концепции или дрейфа данных.
В статье рассматривается одна трудновоспроизводимая ошибка типа use-after-free в подсистеме Direct Rendering Manager (DRM) ядра операционной системы Linux. Её причиной является некорректный способ выделения памяти, доступной для пользовательского кода через обратные вызовы устройства. Для поиска ошибок работы с памятью мы используем анализ на основе символьных графов памяти (SMG). Чтобы отследить способ выделения памяти, мы добавили ей цвет. Среди 186 проанализированных драйверов DRM ОС Linux было найдено 6 нарушений предложенного правила.
В статье рассматриваются методы машинного обучения для обнаружения внедрения SQL-кода в сетевые журналы с помощью программы KNIME, основанные на поиске закономерностей между входящими признаками и последующем прогнозировании в задаче бинарной классификации. В отличие от существующих работ, в этой статье рассматривается эффективность пяти методов машинного обучения на основе деревьев. Представлено содержание и последовательность этапов работы. Наиболее высокие результаты показал метод "Случайный лес": точность – 97,58%; площадь под кривой ошибок (ROC-кривой) – 0,976.
Данная статья представляет алгоритм динамической адаптивной буферизации пакетов (Dynamic Adaptive Packet Buffering, DAPB). Разработанный для повышения эффективности передачи данных в современных сетевых средах, алгоритм основан на принципах алгоритма Нейгла. DAPB преодолевает ограничения существующих методов буферизации за счет динамической адаптации поведения на основе текущих сетевых условий, требований приложений и чувствительности к задержкам. Алгоритм сочетает контекстно-зависимую буферизацию, адаптивные механизмы таймаутов и прогнозирование на основе машинного обучения для оптимального баланса между эффективностью, задержкой и энергопотреблением. Контекстно-ориентированная буферизация адаптирует стратегию под конкретные приложения: минимизирует буферизацию для чувствительных к задержкам сервисов (VoIP, онлайн-игры) и максимизирует для throughput-ориентированных задач (передача файлов). Адаптивный механизм таймаутов динамически регулирует период ожидания с учетом времени кругового обхода (RTT), потерь пакетов и джиттера, обеспечивая оптимальную производительность при изменяющейся нагрузке. Модели машинного обучения предсказывают оптимальные размеры буфера и значения таймаутов, используя исторические данные и метрики реального времени. Алгоритм реализует селективную агрегацию пакетов, интеллектуально определяя какие пакеты следует агрегировать, а какие передавать немедленно. DAPB уделяет особое внимание энергоэффективности за счет оптимизации параметров буферизации, что делает его применимым в энергоограниченных средах (edge computing, IoT устройства). По сравнению со стандартным алгоритмом Нейгла, DAPB демонстрирует снижение задержек, увеличение пропускной способности и улучшение энергоэффективности. Исследование выполнено в рамках Программы фундаментальных исследований Национального исследовательского университета "Высшая школа экономики" (НИУ ВШЭ).
Популярность использования LLM для генерации кода делает обязательной всестороннюю проверку безопасности и надежности сгенерированного кода. Для проверки сгенерированного кода предлагается использовать статический анализатор Svace, который проверяет исполняемый код с помощью встроенного компилятора и проверяет код на наличие дефектов. Результат генерации обрабатывается с помощью Svace и получает запросы с обнаруженными предупреждениями или ошибками в коде и запрашивает исправления у LLM после генерации. Кроме того, настраиваем модель Qwen2.5-Coder, используя прямую оптимизацию предпочтений (DPO) для пар кодов ошибок, которые включают распространенные синтаксические ошибки и ошибки во время выполнения. Это снизило частоту ошибок, включая синтаксические и уязвимые места, на 20%. Для оценки моделей мы собрали специализированный набор данных из открытых наборов для оценки LLM, сосредоточив внимание на задачах, в которых модели генерируют ошибочный код. Результаты экспериментов показывают, что тонкая настройка модели с акцентом на качество кода позволяет генерировать код, который уменьшает количество типичных ошибок. В этой работе мы объединяем механизм итеративных запросов с DPO для повышения безопасности и точности генерации кода LLM.
ИИ-помощники разработчика, основанные на больших языковых моделях (LLM), продемонстрировали большие возможности в генерации программ по текстовому описанию. Однако в таком коде зачастую встречаются ошибки. Пользователи ожидают код без дефектов и, в идеале, четкие указания на их присутствие. Проверенный код может снизить потенциальные бизнес-риски, связанные с внедрением сгенерированного кода. Используя расширение CodePatchLLM, в работе оценивается качество генерируемых программных решений. Эксперименты показывают, что даже одна итерация исправления кода для языка Java во всех наборах данных и моделях снижает на 19,1% количество дефектов при сохранении функциональной корректности.
В статье представлены результаты экспериментального анализа инструмента SVAN статического анализа описаний цифровой аппаратуры на языках Verilog и SystemVerilog. Инструмент разрабатывается в ИСП РАН и предоставляет средства формального и эвристического анализа HDL-описаний, нацеленные на выявление синтаксических ошибок, нарушений стиля оформления кода, проблем безопасности. Эксперименты, проведенные на описаниях из открытого тестового набора hdl-benchmarks, демонстрируют более высокую эффективность SVAN в сравнении с открытым инструментом Verilator и проприетарным инструментом Synopsys VCS. В частности, SVAN обнаружил на 73% больше типов ошибок и на 23-25% больше ошибок в целом. Ключевые преимущества инструмента SVAN состоят в более высоком уровне локализации ошибок и развитой типологии ошибок. К выявленным недостаткам инструмента SVAN относится ограниченная поддержка RTL-моделей, в которых используется несколько языков описания. Полученные результаты подчеркивают потенциал SVAN как конкурентоспособного инструмента статического анализа в области автоматизации проектирования цифровой аппаратуры.
На данный момент отрасль информационных технологий (ИТ) занимает лидирующую позицию по темпам роста среди основных отраслей экономики. Однако, не существует универсальных и стандартизованных инструментов для важнейших компонентов процесса разработки: оценки и рефакторинга программных продуктов. Поэтому нашей основной целью является проектирование средства для унифицированного изменения и формальной оценки кода на объектно-ориентированном языке программирования. Для описания изменений кода используются шаблоны рефакторинга, для оценки его характеристик – расчет метрик кода. Целью нашего инструмента является помощь программистам в принятии решений, связанных с качеством кода и необходимостью внесения изменений в код, автоматизация этих изменений. Приложение может использоваться в организациях и образовательных учреждениях. Был разработан предметно-ориентированный язык, чтобы унифицировать описание объектно-ориентированных языков. Кроме того, был создан исследовательский прототип инструмента. Для демонстрации возможностей предложенного подхода были созданы 3 описания объектно-ориентированных языков и 6 различных шаблонов рефакторинга.
В исследовании изучаются методы оптимизации для повышения производительности обработки изображений на платформе RISC-V с использованием Lichee Pi 4A. Исследование сосредоточено на обработке видео в режиме реального времени для системы самообслуживания, которая реализована в виде микросервисного приложения. Рассматриваются и оцениваются стратегии оптимизации, включая оптимизацию модели нейронной сети, аппаратное ускорение с использованием векторных инструкций RVV и использование встроенного ускорителя для нейронных сетей (NPU). Результаты профилирования существующих стратегий показывают, что обнаружение объектов и извлечение признаков потребляют большую часть вычислительных ресурсов. Чтобы устранить разрыв в производительности, реализовано квантование модели в формат INT8, что позволяет сократить использование памяти и задержку вывода. Кроме того, развернута модифицированная версия ONNX Runtime для поддержки ускорения NPU. Эти улучшения привели к уменьшению размера модели на 75% и уменьшению задержки вывода на 35%. В исследовании делается вывод, что аппаратно-ориентированные оптимизации значительно повышают производительность на платформе RISC-V (Lichee Pi 4A). А также определена основная проблема практического применения разработанного решения на Lichee Pi 4A, связанная с низкой скоростью обработки данных: текущая частота кадров составляет всего 0,05 FPS.
Автоматическая генерация кода большими языковыми моделями (LLM) достигла значительных успехов, однако все еще сталкивается с проблемами при работе со сложными и объемными кодовыми базами, особенно на таких языках, как Java. Ограничения контекстного окна LLM и сложность отладки сгенерированного кода являются ключевыми препятствиями. В данной статье представлен подход, направленный на улучшение генерации и отладки Java-кода. Мы предлагаем использовать модель Associative Recurrent Memory Transformer (ARMT), обладающую расширенным контекстным окном и улучшенными возможностями памяти, для решения двух задач: 1) выбора наиболее релевантных фрагментов из существующей кодовой базы для генерации нового кода; 2) выбора наиболее значимых частей стектрейсов и рантаймданных для итеративной отладки. Этот подход интегрирован в итеративный цикл отладки, реализованный в нашей разрабатываемой системе «JavaCapsule» (по аналогии с PyCapsule для Python), которая включает компиляцию и выполнение тестов в контролируемой среде Docker с использованием Gradle. Ожидается, что предложенный метод повысит точность и релевантность генерируемого Java-кода, особенно в контексте крупных проектов, и улучшит процесс автоматизированной отладки. Бенчмарки, такие как JavaBench, дополнительно подчеркивают необходимость подобных целенаправленных усовершенствований.
В статье представлен модифицированный алгоритм локального выравнивания генетических последовательностей, основанный на алгоритме Смита-Ватермана, с использованием метода окон и кодирования длин серий. Проведено экспериментальное сравнение производительности предлагаемого подхода с классическим алгоритмом по таким метрикам, как время выполнения, среднее и пиковое потребление памяти. Результаты демонстрируют эффективность модификации при сохранении качества выравнивания, особенно в условиях ограниченных вычислительных ресурсов. Работа имеет практическое значение для задач биоинформатики, связанных с анализом геномов, аннотированием генов и поиском гомологичных участков.
В последнее время актуальность генеративных моделей существенно возросла, а их область применения становится все больше. Однако, главная проблема современных больших языковых моделей заключается в том, что существуют состязательные атаки, с помощью которых можно заставить модель выдавать запрещенную информацию. В последних работах были представлены состязательные уязвимости в классе атак “побег из тюрьмы” (jailbreaks) на большие языковые модели в сценарии черного ящика на основе перефразирования. Мы стремимся продолжить и расширить данное исследование, а также разработать защищенные модели от подобных атак, используя для этого процедуру “красной команды” (red-teaming). Более того, мы проводим обширные эксперименты, которые оценивают качество генерации текстов защищенных моделей на различных бенчмарках.
В настоящее время огромное количество данных представлено в виде таблиц. Они повсеместно используются при решении различных практических задач в разных областях. Для семантической интерпретации (аннотирования) таблиц и построения на их основе графов знаний разрабатывается специализированное методологическое и программное обеспечение. Эффективное тестирование подобного обеспечения требует создания и использования русскоязычных наборов данных. В данной статье предложен русскоязычный набор табличных данных RF-200, содержащий 200 таблиц из 26 предметных областей, размеченных с использованием платформы Talisman. Приведены результаты тестирования производительности авторского подхода к извлечению фактов из русскоязычных таблиц с использованием RF-200, при которых F-мера достигла значения 0.464, превзойдя традиционные методы извлечения фактов из текстов (F1 = 0.277). Результаты подчеркивают важность специализированных решений для работы со структурированными данными, особенно для русскоязычных источников. Практическая значимость работы заключается в интеграции подхода в платформу Talisman, что расширяет возможности семантической аналитики, проводимой по таблицам. Исследование вносит вклад в автоматизацию обработки таблиц, решая проблему семантической интерпретации в условиях лингвистического разнообразия, и открывает перспективы для интеграции методов глубокого обучения и масштабирования созданного набора данных.
В данном исследовании рассматривается применение пяти методов приоритезации требований – MoSCoW, модели Кано, взвешенной оценки, RICE и стоимости задержки (CoD) – при разработке веб-приложения для персонализированного питания. В исследовании рассматривается проблема управления ограниченными ресурсами (временными, финансовыми и человеческими) при одновременном максимизации ценности для пользователей и обеспечении безопасности в области с высокими ставками. В ходе сравнительного анализа были оценены сильные и слабые стороны каждого метода, что показало, что наиболее эффективным является гибридный подход, адаптированный к различным этапам разработки. Основные функциональные возможности, такие как управление аллергенами и персонализация рациона, неизменно занимают приоритетное место во всех методах. В исследовании предложена динамическая структура, объединяющая MoSCoW и Weighted Scoring для определения MVP, а также RICE и Kano для масштабирования, что подчеркивает важность баланса между безопасностью, удовлетворенностью пользователей и сложностью реализации. Полученные результаты содержат практические рекомендации для разработчиков и менеджеров продуктов в сфере здравоохранения и других регулируемых областях.
ISSN 2220-6426 (Online)
 
                     
                                                 





