• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Найдены 134 публикации
Сортировка:
по названию
по году
Статья
Клеменков П. А., Кузнецов С. Д. Труды Института системного программирования РАН. 2012. Т. 23. С. 143-158.

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

Добавлено: 31 октября 2017
Статья
Кулямин В. В., Лаврищева Е., Мутилин В. и др. Труды Института системного программирования РАН. 2016. Т. 28. № 3. С. 189-208.

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

Добавлено: 28 августа 2017
Статья
Кошкарев А., Медведев А., Вишняков Ю. и др. Труды Института системного программирования РАН. 2012. Т. 23. С. 245-256.

На основе технологической платформы UniHUB (http://www.unihub.ru), разработанной в Институте системного программирования РАН, в составе Дата-центра РАН создана веб-лаборатория, нацеленная на интеграцию данных дистанционного зондирования в интересах наук о Земле.    . Информационная система ориентирована на научное и образовательное сообщество и предназначена для совместной научной работы ее участников в едином рабочем пространстве, обеспечивая поиск источников пространственных данных, формирование хранилищ данных, доступ к данным, в том числе к ресурсам внешних открытых веб-сервисов, к приложениям и обучающим материалам. Облачная распределенная информационная среда UniHUB использована для решения географических задач, включая обработку космических изображений и цифровых моделей рельефа с использованием методов и технологий пространственного анализа и геомоделирования средствами ГИС с открытым исходным кодом Quantum GIS.

Добавлено: 26 января 2016
Статья
Татарников А. Д., Камкин А. С., Проценко А. С. и др. Труды Института системного программирования РАН. 2016. Т. 28. № 6. С. 87-102.

ARM — это семейство микропроцессорных архитектур, разработанных в одноименной компании. Новейшая архитектура этого семейства, ARMv8, содержит большое число команд разных типов и отличается сложной организацией виртуальной памяти (включающей аппаратную поддержку многоуровневой трансляции адресов и виртуализации); все это делает функциональную верификацию микропроцессоров этой архитектуры крайне трудной технической задачей. Неотъемлемой частью верификации микропроцессора является генерация тестовых программ — программ на языке ассемблера, создающих разнообразные ситуации (исключения, блокировки конвейера, неверные предсказания переходов, вытеснения данных из кэш-памяти и т.п.). В статье описываются требования, предъявляемые к промышленным генераторам тестовых программ, и представляется генератор для микропроцессоров архитектуры ARMv8, разработанный с использованием инструмента MicroTESK (Microprocessor TEsting and Specification Kit). Генератор поддерживает подмножество команд, характерное для мобильных приложений (около 400 команд) и состоит из двух основных частей: (1) архитектурно независимого ядра и (2) формальной спецификации ARMv8 (точнее, модели, автоматически построенной по формальным спецификациям). При такой организации процесс разработки генератора тестовых программ состоит преимущественно в создании формальных спецификаций, что экономит усилия за счет повторного использования архитектурно независимых компонентов. Архитектура описывается на языках nML и mmuSL: первый язык позволяет описывать регистры микропроцессора, синтаксис и семантику команд; второй — устройство подсистемы памяти (адресные пространства, разного рода буферы и таблицы, алгоритмы трансляции адресов и т.п.). В статье приводятся характеристики разработанного генератора и делается сравнение с существующими аналогами.

Добавлено: 24 ноября 2017
Статья
Камкин А. С., Чупилко М., Лебедев М. и др. Труды Института системного программирования РАН. 2017. Т. 29. № 4. С. 247-256.

Тестирование аппаратуры — это процесс, нацеленный на обнаружение неисправностей, внесенных в интегральные схемы в процессе производства. Для оценки качества таких тестов используют две основные метрики: способность обнаруживать ошибки (покрытие ошибок) и время тестирования (длина теста). Известно множество методов генерации тестов, однако масштабируемого решения, применимого к сложной цифровой аппаратуре, нет до сих пор. В данной статье анализируется возможность использования функциональных тестов, построенных по высокоуровневым моделям (прежде всего, моделям уровня регистровых передач), для низкоуровневого производственного тестирования. Рассматривается конкретный метод генерации тестов, использующий технику проверки моделей (model checking). Входной информацией выступает HDL-описание. Метод состоит из двух ключевых шагов: построение модели системы и построение модели покрытия. Указанные модели автоматически извлекаются из HDL-описания. Модель системы представлена в виде высокоуровневых решающих диаграмм. Модель покрытия — это множество LTL-формул, определяющих условия достижимости переходов расширенного конечного автомата, описывающего систему. Построенные модели транслируются во входной формат инструмента проверки моделей (model checker), который для каждой формулы модели покрытия генерирует контрпример — вычисление, нарушающее эту формулу, то есть приводящее к срабатыванию соответствующего перехода автомата. Изначально рассматриваемый метод предназначался для покрытия всех путей исполнения HDL-описания и обнаружения недостижимого кода. Экспериментальное сравнение метода с существующими аналогами показало, что он строит более короткие тесты, однако эти тесты достигают меньшего уровня покрытия константных неисправностей, чем тесты, построенные с помощью специальных средств. В статье предлагается модификация метода для преодоления указанного недостатка.

Добавлено: 6 ноября 2017
Статья
Захаров В. А., Новикова Т. А. Труды Института системного программирования РАН. 2014. Т. 26. № 2. С. 245-268.
Задача унификации пары подстановок θ_1 и θ_2 состоит в вычислении такой пары подстановок η' и η'', чтобы композиции θ_1 η' и θ_2 η'' были равны. По существу, задача унификации подстановок равносильна задаче решения линейных уравнений вида θ_1 X=θ_2 Y в полугруппе подстановок. Но некоторые линейные уравнения над подстановками также можно рассматривать как новые варианты задачи унификации. В этой статье мы вводим понятие двусторонней унификации как процесса преобразования одной заданной подстановки θ_1 к другой заданной подстановке θ_2 при помощи композиции, применяемой как справа, так и слева к подстановке θ_1. Иначе говоря, задача двусторонней унификации состоит в решении уравнений вида Xθ_1 Y=θ_2. Двусторонняя унификация подстановок может быть использована при решении одной из задач реорганизации (рефакторинга) программ – выделения в заданном фрагменте кода тела библиотечной процедуры с целью последующей замены выделенного участка кода на вызов этой процедуры. В статье исследован вопрос о сложности задачи двусторонней унификации подстановок. Установлено, что эта задача является NP-полной. Доказательство NP-трудности задачи двусторонней унификации проводится путем сведения к ней NP-полной задачи правильного расположения домино в прямоугольной области плоскости. В статье также сформулирована и исследована задача двусторонней унификации программ в модели программ первого порядка с отношением логико-термальной эквивалентности. Доказано, что сформулированная задача двусторонней унификации программ также является NP-полной.
Добавлено: 30 сентября 2015
Статья
Монаков А., Платонов В., Аветисян А. И. Труды Института системного программирования РАН. 2014. Т. 26. № 1. С. 357-374.

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

Добавлено: 22 марта 2017
Статья
Силаков Д. В. Труды Института системного программирования РАН. 2011. Т. 20. С. 25-36.

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

Добавлено: 22 сентября 2015
Статья
Маллачиев К., Пакулин Н. В., Хорошилов А. В. и др. Труды Института системного программирования РАН. 2017. Т. 29. № 4. С. 283-294.

Современные операционные системы для встроенных систем могут использоваться для решения задач управления в различных аппаратных контекстах. Управляющие ЭВМ могут различаться архитектурой центрального процессора, составом каналов связи, поддерживаемыми протоколами связи и т. д. Обычно встраиваемые ОС конфигурируются на этапе сборки, позволяя создать образ ОС, предназначенный для выполнения на определенной аппаратной платформе. Эту конфигурацию осуществляет команда, называемая группой системной интеграции. Зачастую ОС для встроенных систем разрабатываются множеством компаний. Если ОС не является модульной, то совместные проектирование, разработка и конфигурирование ОС представляют собой очень сложным задачи. Поддержка модульности и компонентой сборки значительно уменьшает необходимость во взаимодействии между компаниями-разработчиками. Клиентам это позволяет создавать минимальные решения, оптимально адаптированные под особенности задачи и аппаратной платформы. Кроме того, различные производители систем могут быть заинтересованы в том, чтобы внедрять в решение свои специализированные компоненты, в том числе и в бинарном виде, защищающем интеллектуальную собственность разработчиков. В данной статье мы представляем подход к построению модульных решений из гетерогенных компонентов на базе ОС РВ JetOS. Разработанный нами механизм связывания компонентов позволяет объединять гетерогенные компоненты от различных производителей в рамках одного раздела адресного пространства. Этот механизм позволяет разработчикам компонентов осуществлять независимую разработку. А системному интегратору позволяет независимо от разработчиков конфигурировать ОС, выбирая какие компоненты попадут в конечный образ ОС, и как эти компоненты будут взаимодействовать.

Добавлено: 9 ноября 2017
Статья
Недумов Я. Р., Кузнецов С. Д. Труды Института системного программирования РАН. 2018. Т. 30. № 6. С. 171-198.

В этой статье мы анализируем современные работы, посвященные поисковому поведению ученых, и работы, посвященные методам исследовательского поиска. Мы показываем, что четыре вида поиска из шести, характерных для ученых (в том числе самый субъективно сложный – исследование новых направлений и самый часто возникающий – поиск для поддержания осведомленности), можно с достаточной степенью уверенности считать исследовательским поиском. Таким образом, поисковые системы, предназначенные для поиска научных данных, должны реализовывать специфичные для исследовательского поиска инструменты. Чтобы проверить это, мы анализируем семнадцать специализированных поисковых систем: от встроенных в электронные библиотеки Scopus и WoS до Google Scholar и социальных сетей для ученых, таких как ResearchGate и Academia.edu. Мы приходим к выводу, что степень их адаптации к специфике исследовательского поиска оставляет простор для улучшений и обсуждаем возможные направления их развития.

Добавлено: 3 марта 2019
Статья
Лукашевич Н. В., Алексеев А. Труды Института системного программирования РАН. 2012. Т. 23. С. 257-276.
Добавлено: 30 января 2013
Статья
Кулямин В. В., Петренко А. К., Хорошилов А. В. Труды Института системного программирования РАН. 2018. Т. 30. № 6. С. 367-382.

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

Добавлено: 14 февраля 2019
Статья
Зеленова С., Зеленов С. В. Труды Института системного программирования РАН. 2017. Т. 29. № 6. С. 183-202.

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

Добавлено: 12 февраля 2018
Статья
Евтушенко Н. В., Ермаков А. Труды Института системного программирования РАН. 2016. Т. 28. № 3. С. 123-144.
Добавлено: 10 августа 2018
Статья
Tvardovskii A., Евтушенко Н. В. Труды Института системного программирования РАН. 2018. Т. 30. № 4. С. 139-154.

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

Добавлено: 9 октября 2019
Статья
Аничкин А., Семенов В. А. Труды Института системного программирования РАН. 2017. Т. 29. № 2. С. 231-256.

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

Добавлено: 12 декабря 2018
Статья
Нурмухаметов А., Жаботинский Е., Курмангалеев Ш. и др. Труды Института системного программирования РАН. 2017. Т. 29. № 6. С. 163-182.

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

Добавлено: 12 февраля 2018
Статья
Гомзин А. Г., С.Д. Кузнецов Труды Института системного программирования РАН. 2016. Т. 6. С. 171-184.

Работа посвящена методам определения возраста пользователей социальных сетей. Социальные сети предоставляют пользователям возможность заполнять свои профили, которые могут включать в себя возраст. В связи с тем, что профили заполняются не полностью, возникает задача предсказания неуказанных значений атрибутов пользователей. Явно указанные и предсказанные значения возраста используются в рекомендательных и маркетинговых системах, они позволяют фильтровать целевую аудиторию рекомендуемых товаров и услуг. Кроме того, предсказанные значения могут использоваться для более точного определения демографического профиля интернет-сообществ, целевую аудиторию рекламных кампаний в Интернете. В данной работе предлагается метод, предсказывающий незаполненное значение возраста пользователя. Метод использует следующую доступную информацию из социальной сети: явно указанные пользователями значения возраста и социальные связи. Метод основан на распространении меток по графу друзей и подписок пользователей на сообщества.

Добавлено: 25 января 2018
Статья
Аветисян А. И., Богомолов И., Алексиянц А. В. и др. Труды Института системного программирования РАН. 2015. Т. 27. № 5. С. 49-58.

На сегодняшний день платформа OpenStack является одной из лидирующих технологий в области построения облачных сервисов. Keystone - это один из основных сервисом платформыOpenStack. Данный компонент отвечает за аутентификацию и авторизацию пользователей в системе.  Keystone является сильнонагруженным сервисом в инфраструктуре OpenStack, поскольку любое взаимодействие между сервисами происходит через Keystone. Таким образом, увеличение числа пользователей облачным сервисом значительно усиливает нагрузку на Keystone. В этой статье мы обращаем внимание на проблему деградации данного сервиса при постоянной нагрузке. Чтобы найти причину такого поведения, мы протестировали сервис Keystone с различными СУБД (MariaDB, PostgreSQL), HTTP-серверами (Apache2, nginx) и физическими устройствами хранения данных (HDD, SSD и tmpfs в оперативной памяти). Использование различных конфигураций для запуска Keystone было необходимо, чтобы сузить поиск причины возникающей деградации. Все тесты запускались через тестирующую систему OpenStack Rally. В качестве результата мы обнаружили, что система начинает довольно быстро деградировать при достаточно слабых нагрузках. Так же было отмечено, что подобная деградация возникает во всех возможных конфигурациях. С целью подтвердить, что подобное поведение Keystone является неудовлетворительным, мы реализовали макетный сервис, который выполняет простейшие функции Keystone. Подобный сервис отказался значительно быстрее самого Keystone. Мы предполагаем, что проблема с Keystone может возникать в результате реализации внутренней логики приложения, либо неэффективного взаимодействия с другими компонентами. Поиск причин является следующим этапом нашего исследования.

Добавлено: 22 марта 2017
Статья
Лаврищева Е. М., Зеленов С. В., Пакулин Н. В. Труды Института системного программирования РАН. 2019. Т. 31. № 5. С. 95-108.

Определяются основные методы обеспечения и оценки надежности и безопасности программно-технических систем в процессах их жизненного цикла, a также сбора сведений о возникающих в системах ошибках, дефектах и отказах для последующих изменений. Рассматривается стандартная модель надежности и дается характеристика базовых показателей, среди которых присутствует показатель надежности; функциональность и безопасность составляют основу измерения надежности. Приводится классификация моделей надежности, дается характеристика моделей оценочного типов, используемых при проверке показателей надежности компонентов программно-технических систем. Обсуждаются экспериментальные результаты применения оценочных моделей надежности к разным размерам программных компонентов программно-технических систем и приводится оценка результатов измерения показателя надежности на этих компонентах с учетом плотности дефектов, интенсивности отказов и восстанавливаемости. Отмечается важность обеспечения надежности и безопасности (dependability and safety) систем в рамках новых стандартов интеллектуальных систем и Интернета вещей.

Добавлено: 11 марта 2020
Статья
С.Д. Кузнецов, Гомзин А. Г. Труды Института системного программирования РАН. 2015. Т. 27. № 4. С. 129-144.

Работа посвящена методам построения социально-демографического профиля пользователей Интернета. Примерами демографических атрибутов являются пол, возраст, политические и религиозные взгляды, район проживания, состояние отношений с другими людьми. Эта работа представляет собой обзор методов, которые обнаруживают демографические атрибуты из профиля пользователя и сообщений. Большинство известных работ посвящены выявлению пола. Возраст, политические взгляды и области также интересуют исследователей. Самыми популярными источниками данных для извлечения демографических атрибутов являются социальные сети, такие как Facebook, Twitter, Youtube. Большинство решений основано на машинном обучении с учителем. Машинное обучение позволяет найти целевые значения (демографические атрибуты) в зависимости от входных данных и использовать их, чтобы предсказать значение целевого атрибута для новых данных. в работе анализируются следующие шаги решения задачи: сбор данных, извлечение признаков, отбор информативных признаков, методы обучения классификаторов, оценка качества. Исследования используют различные виды данных, чтобы предсказать демографические атрибуты. Самым популярным источником данных является текст. Последовательности слов (п-граммы), части речи, смайлики, особенности относящиеся к конкретным ресурсам (например, @ и # в Twitter) извлекаются и используются в качестве входных данных для алгоритмов машинного обучения. Социальные графы также используются в качестве исходных данных. Сообщества пользователей, которые автоматически извлекаются из социального графа пользователем в качестве признаков для прогнозирования атрибутов. Текстовые данные дает много возможностей. Алгоритмы выбора признаков необходимы для снижения признакового пространства. В статье исследуются функции выбора, классификации и регрессии алгоритмы, показатели оценки.

Добавлено: 23 января 2018