Том 15, № 2 (2024)
Распределенная арифметика в оптическом канале на основе фотонных коммутаторов
Аннотация
В статье рассматривается фотонная сеть с распределенным управлением, состоящая из нескольких узлов, связанных общим каналом, в котором за время передачи одного числа выполняется единая операция над числами, которые параллельно передаются всеми узлами. Рассматриваются такие операции как суммирование или нахождение максимума (минимума) чисел, передаваемых последовательно по двоичным разрядам. Предполагается, что разряды чисел передаются парафазными оптическими сигналами, а общий канал строится из фотонных коммутаторов этих сигналов.
Программные системы: теория и приложения. 2024;15(2):3-19
3-19
Жестовое управление полетом малого беспилотного летательного аппарата
Аннотация
Рассмотрена задача построения жестовых команд для управления малым беспилотным летательным аппаратом, таким как квадрокоптер. Получаемые видеокамерой команды идентифицируются классификатором на основе сверточной нейронной сети, а мультимодальный интерфейс управления, оснащенный интеллектуальным решателем, преобразует их в команды управления квадрокоптером. Нейронные сети из библиотеки моделей нейронных сетей Ultralytics позволяют выделять целевые объекты в кадре в режиме реального времени. Команды управления квадрокоптером поступают в специализированную программу на смартфоне, разработанную на базе симулятора полетов DJI SDK, которая посылает команды по радиоканалу дистанционного управления.Исследовано качество распознавания разработанных жестовых команд для квадрокоптеров DJI Phantom 3 standard edition. Представлено краткое руководство в виде сценариев работы оператора с беспилотными транспортными средствами. Раскрыты перспективы жестового управления несколькими транспортными средствами в экстремальных условиях с учётом сложностей безопасности совместного полета и взаимодействия летательных аппаратов в ограниченном пространстве.
Программные системы: теория и приложения. 2024;15(2):21-36
21-36
Систематический обзор методов составления тестовых инвариантов
Аннотация
Тестирование инвариантами (metamorphic testing) — один из наиболее эффективных методов тестирования программ, для которых сложно подбирать тестовые примеры и формулировать тестовые оракулы. При тестировании инвариантами вместо проверки правильности вывода программы на отдельных наборах входных данных проверяется выполнение тестового инварианта (metamorphic relation) — функции от нескольких наборов исходных данных и соответствующих им ответов программы. Составление тестовых инвариантов требует понимания решаемой программой задачи и творческого подхода.Предлагаемый систематический обзор посвящён выявлению широкоприменимых методик получения инвариантов и повторяющихся приёмов составления инвариантов в разных научных областях. На основе проведенного анализа предложена классификация инвариантов на шесть основных типов, выявлены типовые преобразования исходных данных, используемые при составлении инвариантов в нескольких областях знаний. Результаты обзора будут полезны исследователям в примененении тестирования инвариантами на практике к верификации наукоемких программ и алгоритмов машинного обучения.
Программные системы: теория и приложения. 2024;15(2):37-86
37-86
Использование распределенных вычислений при моделировании предметной области в универсальной силлогистике
Аннотация
Неклассическая пропозициональная логика $L_{S_{2}}$ построена на базе алгебраической системы, содержащей булеву алгебру множеств и два отношения между множествами: $\subset$ и $=$. Ближайшим аналогом ее является силлогистика Аристотеля, математической моделью которой является алгебраическая система с Булевой алгеброй множеств и одним отношением $\subset$. Недостатком силлогистик, в основе которых лежит алгебраическая система с одним отношением $\subset$, является многосмысловость интерпретации их формул и атомарных суждений.Под логико-семантической моделью предметной области в данной работе мы понимаем совокупность формулы универсальной силлогистики $L_{S_{2}}$ и ее семантического значения, в качестве которого выступает конечное множество неотрицательных целых чисел. Предлагается алгоритм вычисления семантического значения конъюнктивной правильно построенной формулы $L_{S_{2}}$, обладающий высоким уровнем параллелизма на уровне задач, на уровне данных и на уровне алгоритмов, реализующих операции над составляющими множествами. В силу особенностей операций объединения, пересечения и дополнения универсума над конечными множествами все процессы их вычисления и решения подзадач происходят на битовом уровне и, как правило, эффективно реализуются на алгоритмических языках. В предлагаемом алгоритме переход на битовый уровень и обратно реализуется набором программных средств.
Программные системы: теория и приложения. 2024;15(2):87-112
87-112
Применение нейронных сетей сиамской архитектуры в задачах классификации продуктов различных категорий на прилавках универсама
Аннотация
В настоящей работе представлено исследование на тему применения нейронных сетей сиамской архитектуры в задачах классификации различных продуктов питания на прилавках универсальных магазинов. Сиамские сети — это особый класс нейросетевых архитектур, объединяющий в себе две свёрточные подсети. Его часто используют в задачах сопоставления объектов, поскольку по сравнению с традиционными свёрточными нейронными сетями он не требует большого количества обучающих данных. В ходе работ сгенерирован собственный набор данных, включающий пять различных категорий продуктов. В результате удалось достичь точности в 97.5% при обучении.
Программные системы: теория и приложения. 2024;15(2):113-137
113-137
Новое поколение GPGPU и сопутствующего оборудования: микроархитектура и производительность вычислительных систем от серверов до суперкомпьютеров
Аннотация
Дан обзор современного состояния GPGPU с ориентацией их применения на традиционные задачи HPC (и в меньшей степени ИИ). К базовым GPGPU в обзоре отнесены Nvidia V100 и A100. В качестве GPGPU нового поколения рассмотрены Nvidia H100, AMD MI100 и MI200, Intel Ponte Vecchio (Data Center GPU Max), а также BR100 от Biren Technology. Проанализированы и сопоставлены микроархитектура и аппаратные показатели этих GPGPU, важные для задач HPC и ИИ, а также важнейших дополнительных аппаратных средств для построения вычислительных систем с применением GPGPU — центральных процессоров, специализированных для работы с GPGPU нового поколения, и межсоединений. Дается краткая информация об использующих их серверах, в том числе multi-GPU, и новых применяющих эти GPGPU суперкомпьютерах, где были получены данные о достигаемой производительности при работе с GPGPU.Кратко рассмотрены SDK фирм-производителей GPGPU и программные средства других фирм, включая математические библиотеки. Приводятся примеры, демонстрирующие важные для достижения максимальной производительности средства широко используемых моделей программирования, способствующие при этом непереносимости программных кодов на другие модели GPGPU.Особое внимание обращено на возможности применения тензорных ядер и их аналогов в современных GPGPU разных фирм. Это относится и к расчетам с пониженной (относительно стандартного для HPC формата FP64) и смешанной точностью, актуальным вследствие резкого роста достигаемой производительности при их использовании в тензорных ядрах GPGPU. Анализируются данные о достигаемой ими реальной производительности в тестах и приложениях для HPC и ИИ. Вкратце рассматривается и применение в GPGPU современных библиотек пакетной линейной алгебры, в том числе для HPC-приложений.
Программные системы: теория и приложения. 2024;15(2):139-473
139-473
Архитектура взаимодействия в медицинской экосистеме
Аннотация
В сфере медицинской информатики наблюдается устойчивая тенденция к формированию сложной многокомпонентной экосистемы. На передний край выходят проблемы взаимодействия и интеграции компонентов экосистемы: медицинских, лабораторных, радиологических систем, ЕГИСЗ, ЕМИАС, МДЛП, различных регистров и сервисов, в том числе реализующих подходы ИИ к обработке данных и решению задач. Пациенты остро нуждаются в личных кабинетах, интегрирующих их медицинские данные, становятся активными участника экосистемы. Решать интеграционные задачи приходится в сильно неоднородной информационной среде, когда становится недостижимым обеспечение синхронного интерактивного взаимодействия между участниками экосистемы. Для отдельных приложений необходима гибкая возможность сочетания как синхронного, так и асинхронного взаимодействия, выбираемого ситуационно, исходя из конкретных временных задержек и характеристик взаимодействия.В статье предлагается специальная архитектура, позволяющая реализовывать синхронное и асинхронное взаимодействие между участниками экосистемы. Адаптация ПО, рассчитанного только на синхронное взаимодействие, под асинхронную архитектуру не требует радикальной переделки ПО. Подход отрабатывался на примере адаптации модуля МДЛП МИС Интерин к работе во внутренней защищенной сети медицинского центра. Предложенная архитектура может быть использована разработчиками ПО и в других сферах деятельности, где идёт активное развитие экосистем, сопровождающееся ростом интеграционных взаимодействий.
Программные системы: теория и приложения. 2024;15(2):475-492
475-492


