Разработки СО РАН - каталоги программ и БД

Поиск по каталогам:

2011-11-25

Назначение - Предлагаемая библиотека шаблонов классов содержит генераторы псевдослучайных чисел некоторых специальных распределений. Область применения - Имитационное моделирование мультисервисных сетей, оценка отказоустойчивости
Используемый алгоритм - Алгоритмы генерации  ПСЧ основаны на методе обратной функции и методе отбраковки. В примере (файл example.cpp)  в качестве базового генератора использовался Вихрь Мерсенна (Mersenne twister) mt19937 из стандартной библиотеки <random>, которая входит в пакет Visual C++ 2008 Feature Pack Release (интерфейс позволяет подключить любой базовый генератор из этой или другой библиотеки).
Функциональные возможности - Интерфейс прикладного программирования (API) соответствует рекомендациям комитета по стандартизации C++ (документ TR1, С++ Standards Committee Technical Report 1), функциональность некоторых шаблонов классов несколько расширена.
Библиотека содержит генераторы распределений: Парето, Вейбулла, экспоненциальное (со сдвигом, усеченное),  распределения времени хранения SYN пакета. Более подробная информация содержится в файле readme.rtf.
Инструментальные средства создания - С++
Разработка библиотеки проводилась в рамках проекта, поддержанного Российским фондом фундаментальных исследований (код проекта 11-07-00183)

2011-11-25

Назначение - Демонстрация алгоритма оценки отказоустойчивости сетевого узла в условиях атаки типа SYN Flooding.
Область применения - Исследование отказоустойчивости мультисервисных сетей
Используемый алгоритм - Алгоритм оценки основан на некоторых результатах из следующих статей:

  • В.В. Шахов. Некоторые задачи оптимизации качества обслуживания в мультисервисных сетях // Труды  XV Байкальской международной школы-семинара «Методы оптимизации и их приложения», Иркутск, 2011, С. 151-155.
  • В.В. Шахов. О моделировании механизмов противодействия DDoS атакам // Труды всероссийской конференции «Математическое моделирование и вычислительно-информационные технологии в междисциплинарных научных исследованиях», Иркутск, 2011, С. 130.
  • Vladimir Shakhov and Hyunseung Choo. An Efficient Method for Proportional Differentiated Admission Control Implementation // EURASIP Journal on Wireless Communications and Networking, vol. 2011, Article ID 738386, 5 pages, 2011.
  • Vladimir Shakhov. An Efficient Method for Proportional Differentiated Admission Control Implementation // Springer LNCS, 2010, Vol. 6235, P. 91-97. 

Функциональные возможности - По заданным параметрам сетевого трафика проводится оценка отказоустойчивости сетевого узла. Назначение параметров указанно в комментариях в исходном коде.
Инструментальные средства создания - VC++

 Алгоритм разработан в рамках проекта, поддержанного Российским фондом фундаментальных исследований (код проекта 11-07-00183).

2011-11-11

Назначение. Решение задач моделирования на высокопроизводительных системах и предоставление инструментария для удаленного запуска, мониторинга и визуализации расчетов.

Область применения. Решение актуальных наукоемких прикладных задач (требующих больших вычислительных ресурсов) для Северо-восточного федерального университета и научно-исследовательских институтов Республики Саха (Якутия), .

В Центре Вычислительных Технологий  Арктического Инновационного Центра при СВФУ разработан программный инструментарий для проведения массовых вычислительных экспериментов с гибким, масштабируемым вычислительным ядром. Ядро разработано на основе парадигмы объектно-ориентированного программирования, реализованного средствами языка C++, который добавляет абстрактный уровень, предоставляющий гибкость при реализации различных математических моделей и решателей. В его основе лежат решатели для систем линейных алгебраических уравнений, дающие масштабируемость и эффективность распараллеливания, что является особенно актуальным в свете существующих симуляторов.

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

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

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

Реализация удаленного запуска и мониторинга осуществляется средствами запущенного на вычислительном кластере сервиса, позволяющего получать оперативные данные о выполняемых расчетах. Для обработки полученных результатов сначала осуществляется синхронизация посредством программы удаленного сканирования и синхронизации файлов с последующей визуализацией полученных данных на стороне клиента.

Инструментальные средства создания. Использовались открытые библиотеки для параллельный вычислений MPI, BLAS, PETSC.
Языки программирования Python, C++.
Платформа Qt, библиотека визуализации VTK.

2011-11-03

Назначение. Пакет стандартных библиотек пользователя - это набор динамически подключаемых библиотек dll (dynamic link library). В библиотеках находятся интерфейсные функции, которые наиболее часто используются в самых разнообразных имитационных моделях. Кроме того, каждая библиотека содержит функцию инициализации библиотеки и шлюзовые функции, которые реализуют возможность вызова интерфейсных функций из WinALT.

Разработка программы поддержана проектом Президиума РАН 13.6.

Функциональные возможности. Пакет содержит следующий набор: altio.acl, altobj.acl, console.acl, io.acl, math.acl, standard.acl.

Краткое описание набора.

altio.acl – содержит множество функций для консольного ввода/вывода. Функции обеспечивают ввод с клавиатуры и печать на экран строковых значений, целых и дробных чисел, вызов редактора текстовой строки и ряд других. Перечень функций: WriteLn, ReadLn, ReadString, WriteString, WriteStringLn, WriteInteger, WriteIntegerLn, ReadInteger, WriteFloat, WriteFloatLn, Write1, Write1f, ReadFloat, WriteCharacter, WriteCharacterLn, ReadCharacter, WriteBoolean, WriteBooleanLn, ReadBoolean, GetYesNo, ShowMessage, ShowErrorMessage, responseRETRY, responseABORT, EditString, EnableCharBuffer. Библиотека используется как в консольной, так и в графической версиях системы WinALT, например, для печати промежуточных или конечных результатов моделирования, трассировки при отладке модели и т.д.

altobj.acl – содержит множество функций для работы с объектами данных (клеточными объектами), их отдельными клетками и группами клеток. Функции позволяют создавать и удалять объекты, менять их размеры и размерность, присваивать клеткам значения, присваивать значения группам клеток. Перечень функций: CreateObject, RemoveObject, CopyObject, GetDescriptor, CreateAlias, CreatePartial, CloseDescriptor, ResizeObject, GetObjectSizeX, GetObjectSizeY, GetObjectSizeZ, GetObjectName, GetCellName, SetCellName, GetIntCell, SetIntCell, SetIntRect, SetIntFilledRect, SetIntLine, SetIntCircle, SetIntFilledCircle, DupRect, SwapRects, ReflectXRect, ReflectYRect, ReflectZRect, RotateSquare.

console.acl – содержит множество функций для управления текстовой консолью. Перечень функций: Init, Deinit, Get, Release, SetTitle, SetAttr, foreBlue, foreRed, foreGreen, foreIntensity, backBlue, backRed, backGreen, backIntensity, GotoXY. Библиотека используется в моделях, ориентированных на исполнение в консольной версии системы WinALT.

io.acl – содержит множество функции файлового ввода-вывода. Эти функции в существенной степени повторяют функции стандартной библиотеки Си (как по названию, так и по составу параметров). Перечень функций: fopen, fclose, fread, fwrite, fgets, fputs, fputi, fputf, fputfsci, fgetc, fputc, feof, fseek, ftell, ferror, fflush, clearerr. Библиотека используется для ввода и вывода данных из файлов, форматы которых не имеют встроенной поддержки в системе WinALT.

math.acl – содержит множество математических функций. Названия функций полностью заимствованы из Си. Фактически библиотека состоит из математических функций, импортированных из стандартной библиотеки Си. Перечень функций: sin, cos, tan, asin, acos, atan, atan2, sinh, cosh, tanh, exp, log, log10, pow, hypot, sqrt, floor, ceil, fmod, j0, j1, jn, y0, y1, yn, fabs.

standard.acl – содержит разнообразные часто используемые константы и функции. Основная группа функций служит для работы с типами данных – определение типа переменной или клетки. Прочие функции позволяют получить размер клеточных массивов, произвести замеры времени, затрачиваемого на этап моделирования и т.д. Перечень функций: null, Null, NULL, typeInteger, typeBoolean, typeString, typeVoid, typeFloat, typeCharacter, succ, pred, abs1, max2, max3, min2, min3, cond, cond2, cond3, cond4, cond5, cond6, cond7, cond8, cond9(10), StringLength, StringEqual, Integer, Float, String, Pointer, TypeOf, typeof, SizeX, SizeY, SizeZ, Time, StartTimeCounter, StopTimeCounter.

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

Инструментальные средства создания. Библиотеки создаются в среде Microsoft Visual Studio. Исходные тексты интерфейсных функций либо берутся из некоторой стандартной библиотеки (например, языка Си), либо создаются разработчиком библиотеки. Создание библиотеки содержит три шага. С помощью специально разработанной утилиты stg генерируется файл на языке Си, в котором содержатся шлюзовые функции, делающие доступными интерфейсные функции в моделирующих программах. В Visual Studio создается проект, в который включаются все необходимые для компиляции интерфейсных функций исходные тексты и файл, сгенерированный на предыдущем шаге. Затем осуществляется компоновка dll файла в проекте Visual Studio. При стандартной установке системы WinALT на диск C библиотеки пакета размещаются в директории C:\alt\acllib.

2011-11-02

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

Разработка программы поддержана проектом Президиума РАН 13.6.
 
Область применения. Моделирование мелкозернистых процессов преобразования данных различной природы.
С использованием WinALT реализованы (и опубликованы на сайте системы) модели арифметических устройств, ассоциативных процессоров, однородных универсальных структур, ряда классических клеточных автоматов, модель диффузии, которая предложена Т. Марголусом, модели арифметических и геометрических фракталов, модели визуальной криптографии на основе алгоритмов Шамира.
С использованием WinALT заложены основы клеточной технологии построения 3D вычислительных структур, ориентированных на электрооптическую реализацию. Технология представлена в книге «3D лазерные информационные технологии» / Отв. редактор П.Е. Твердохлеб, 2003, Новосибирск, 550 с. (глава 4. Трехмерные интегральные схемы с оптическими межсоединениями, авторы Э.Г. Косцов и С.В. Пискунов).
Система используется для обучения основам параллельных технологий студентов НГТУ и НГУ.
 
Используемый алгоритм. Теоретическим фундаментом, на котором построен WinALT, служит алгоритмическая система «Алгоритм параллельных подстановок», первое широкое освещение получившая в статье Корнева Ю.Н., Пискунова С.В., Сергеева С.Н. «Алгоритмы обобщенных подстановок и вопросы их интерпретации сетями автоматов и однородными машинами», Известия АН СССР, Техническая кибернетика, № 6, 1971 и достаточно полно представленная в книге S.M. Achasova, O.L. Bandman, V.P. Markova, S.V. Piskunov Parallel substitution algorithm. Theory and Application // World Scientific, Singapore, 1994.

Основными компонентами (подсистемами) системы WinALT являются:

  1. консольная версия системы
  2. графическая оболочка системы
  3. пакет стандартных библиотек пользователя.

Все эти компоненты зарегистрированы в Каталоге ФАП как части составного произведения "Система имитационного моделирования мелкозернистых алгоритмов и структур WinALT".

Функциональные возможности. В настоящее время имеется реализация системы для платформы Win32.
WinALT построен как открытая система, возможности которой могут расширяться пользователем. WinALT может пополняться внешними модулями, которые представляют собой динамически подключаемые библиотеки - .dll файлы ОС Windows. Более того, из таких модулей могут собираться новые компоненты системы. Средства интерфейса системы нацелены на то, чтобы дать пользователю возможность комфортного конструирования и модификации графических образов как данных модели, так и моделирующих программ, обеспечить возможность следить за динамикой изменения преобразуемых в модели данных. Можно сказать, что предлагаемая система является системой визуального программирования, и, по-видимому, одной из первых в своей области. Установка системы на компьютер осуществляется с помощью инсталлятора, который использует библиотеку install.acl. Она содержит набор функций для распаковки и копирования файлов, реализации пользовательского интерфейса инсталлятора.

Структура каталогов системы WinALT, которую создает инсталлятор на диске в каталоге, указанном пользователем, такова:

  • acllib – здесь хранятся модули библиотек системы WinALT (включая пакет стандартных библиотек пользователя).
  • bin – исполняемые модули системы, а также динамически подключаемые библиотеки.
  • developr – каталог, предназначенный для диалога разработчиков системы как между собой, так и с конечными пользователями.
  • docs – каталог, содержащий документацию, не вошедшую в справочник по системе.
  • globals – каталог, содержащий глобальные объекты данных системы.
  • help – содержит файлы справки.
  • inc – каталог, содержащий файлы, подключаемые к программе, написанной на языке системы WinALT.
  • objmgrs – в этом каталоге хранятся драйверы объектов данных, используемые объектным менеджером, а также драйверы различных режимов визуализации, используемые OVE.
  • projects – местоположение проектов пользователя.
  • samples – примеры моделей дискретных динамических систем, иллюстрирующих возможности системы.

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