From OpenSCADAWiki
Jump to: navigation, search

Методика измерений в таблице выше следующая:

1. Оценка времени вычисления операций общего блокирования критической секции, "sin(Pi)" и "pow(Pi,2)", во второй, третьей и четвёртой колонках. Данные операции выбраны как показательные, для оценки производительности сопроцессора и общих манипуляций с вещественными числами. Значения в квадратных скобках характеризуют степень накладных расходов при вычислении внутри виртуальной машины OpenSCADA и производительность целочисленных вычислений вокруг образцовых операций. Т.е. основное значение характеризует производительность процессора в операциях с плавающей точкой (математический сопроцессор или эмуляция), а в квадратных скобках — в целочисленных операциях (центральный процессор), как разница времени операций с плавающей точкой. Методика измерения:
a) обеспечиваем стабильность частоты центрального процессора, путём установки политики её управления в ПРОИЗВОДИТЕЛЬНОСТЬ;
b) запускаем OpenSCADA без нагрузки, проект по умолчанию или с пустой конфигурацией, c конфигуратором UI.QTCfg, UI.WebCfg или UI.WebCfgD;
c) открываем объект функции "sin()", а затем "pow()", модуля библиотеки математических функций;
d) переходим во вкладку "Исполнить", устанавливаем "Включено", вводим значения аргументам "X" в 3.14159 и "Степень" в 2 (для "pow()"), устанавливаем количество запусков в 1000 (для большей репрезентативности можно увеличить, порядками, до общего времени операции не более 10 секунд);
e) нажимаем "Исполнить" и получаем время исполнения;
f) производим вычисления несколько раз, нажимая "Исполнить", добиваясь минимального значения;
g) фиксируем минимальное значение, которое делим на 1000 (количество запусков) и получаем основное значение времени одного вычисления в микросекундах;
h) переходим к объекту модуля внутренних вычислений OpenSCADA (DAQ.JavaLikeCalc);
i) создаём там объект библиотеки функций "test", а в ней функцию "test", которую включаем;
j) во вкладке "Программа" вводим текст команды ПУСТО, "y=sin(3.14159)", и затем "y=pow(3.14159, 2)";
k) переходим во вкладку "Исполнить" и выполняем тоже самое, что в пунктах "d."-"g.";
l) полученный результат записываем во второй колонке и считаем вспомогательным, в квадратных скобках, для третьей и четвёртой после вычитания значения во второй.
2. Комплексная оценка производительности, пятая колонка, осуществляется путём исполнения модели технологического процесса (ТП) АГЛКС на целевой архитектуре. Данный тест может исполняться только на вычислительных системах со сравнительно высокой производительностью (или с количеством ядер более одного), которые способны исполнять модель, и с устройством вывода графической информации (дисплей), случай исполнения сервера визуализации не рассматривается. Основное значение нагрузки процессора характеризует исполнение динамической модели ТП, а дополнительное добавляет формирование и исполнение графического интерфейса. Методика измерения:
a) обеспечиваем стабильность частоты центрального процессора, путём установки политики её управления в ПРОИЗВОДИТЕЛЬНОСТЬ;
b) из меню окружения рабочего стола запускаем модель АГЛКС;
c) запускаем эмулятор терминала (например, "konsole"), где набираем "top", нажимаем Shift+H (смотрим процесс в целом) и Shift+P (сортируем по нагрузке на процессор);
d) снимаем показания в колонке "%CPU" напротив процесса "openscada", отбираем типовое значение для нескольких обновлений и фиксируем его как основное значение;
e) возвращаемся к окну OpenSCADA и запускаем среду визуализации, а затем проект интерфейса "АГЛКС".
f) возвращаемся в эмулятор терминала и снимаем дополнительное значение, как в пункте "d.".