<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Оценка качества научных гипотез в виртуальных экспериментах в областях с интенсивным использованием данных</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>tarasov@outlook.com</string-name>
          <email>tarasov@outlook.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>© Evgeny Tarasov</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Federal Research Center Computer Science and Control of the Russian Academy of Sciences</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dmitry Kovalev</institution>
        </aff>
      </contrib-group>
      <fpage>281</fpage>
      <lpage>292</lpage>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Данные в современных исследованиях имеют
определяющую роль [11]. Они могут быть
представлены как в неструктурированном, так и в
Труды XIX Международной конференции
«Аналитика и управление данными в областях с
интенсивным использованием данных»
(DAMDID/ RCDL’2017), Москва, Россия, 10–13
октября 2017 года</p>
      <p>К одной из областей ИИИД можно отнести
течение многофазных потоков жидкости [8]. Данные
собираются с множества сенсоров, например,
выполняется дискретная запись акустического
сигнала, температур, давления, течения жидкости.
Накопленные объемы данных служат для
характеристики многофазных потоков и их режимов.
Важным приложением интерпретации акустического
сигнала и накопленных мета-данных является
предсказание скорости потока жидкости.</p>
      <p>Несмотря на значительные успехи в
интерпретации данных с сенсоров, проблемы
построение сложных моделей, объясняющих
динамику течения жидкости, остаются открытыми.
Проведение точного физического эксперимента
требует от исследователя серьезных усилий, т. к.
необходимо обеспечить множество специальных
условий [32]. Численное моделирование, особенно
для недостаточно хорошо изученных потоков, часто
требует калибровки с экспериментом [25, 31].
Разработка подходов к анализу данных для
интерпретации потоковых данных виртуального
эксперимента является важной и перспективной
проблемой для исследования.</p>
      <p>Параметры модели течения жидкости не
являются статичным элементом. Внешние условия
изменчивы и влияют на неё. Из-за этого
предсказательная способность модели может
начинать резко ухудшаться [30]. Это приводит к
необходимости проведения её повторной
калибровки. Важно отследить тот момент, когда
модель начинает выдавать заведомо плохой
результат. Таким образом, платформа,
обрабатывающая вычисления, должна уметь
работать с потоковыми данными в режиме, близком
к реальному времени. Это обуславливает особое
отношение к такому роду задач.</p>
      <p>Одной из таких особенностей является
требование распределенности. Система должна быть
легко масштабируема, чтобы обрабатывать модель
любой сложности с постоянно возрастающим
объемом данных за разумный промежуток времени.
Готовых открытых систем в области гидродинамики,
удовлетворяющих данному требованию, по
сведению авторов, нет.</p>
      <p>Всё больше задач формируется не в рамках одной
области, а междисциплинарно. Таким образом,
возрастает роль онтологических спецификаций [37].
Это позволяет как различным ученым в рамках
одной области, так и ученым из различных областей
использовать общие понятия, что необходимо для
ускорения проведения совместных исследований. В
данной работе область применения исследования
лежит как в контексте изучения физических явлений,
а именно, течения жидкости, так и управления
гипотезами [10].</p>
      <p>Новизной данной работы является
распределенная реализация метода бинарной оценки
качества модели, работающей с потоковыми
данными.</p>
      <p>Статья организована следующим образом. В
разделе 2 представлен сравнительный обзор
платформ, на базе которых может быть осуществлен
виртуальный эксперимент. Раздел 3 определяет
онтологическую спецификацию двух предметных
областей: течения жидкости и управления
гипотезами. В разделе 4 выполнена концептуальная
спецификация данных, используемых в виртуальном
эксперименте. Раздел 5 описывает формат сырых
входных данных, данных, поступающих на вход
модели, и извлечённые значимые признаки модели
течения жидкости. Раздел 6 содержит описание
метода оценки качества с использованием двух
подходов: частотного и Байесовского. Раздел 7
раскрывает архитектуру использованного для
расчётов программно-аппаратного комплекса. В
разделе 8 представлен реализованный поток работ.
Раздел 9 описывает результаты, полученные на
практике.
2 Обзор платформ
2.1 Критерии выбора</p>
      <p>Одним из ключевых элементов ИИИД, наряду с
машинным обучением, является явное
использование гипотез в определении виртуального
эксперимента [10]. Многие исследователи
скептически относятся к подходу с использованием
машинного обучения, так как он дает низкую
интерпретируемость полученных результатов, так
как многие методы в нем используются как черный
ящик [18]. Подход же на основе гипотез лишен
данного недостатка. Гипотезы в математическом
виде описывают априорные знания об исследуемом
явлении, которые проверяются в рамках
виртуального эксперимента.</p>
      <p>На сегодняшний день отсутствует единая
методология работы с потоковыми данными [36].
Программные продукты, которые в той или иной
мере реализуют представления отдельных групп
ученых на то, как нужно работать с ними, не
являются развитыми и стабильными.</p>
      <p>В рамках исследования существующих решений
по поставленной перед нами цели рассмотрим
платформы для обработки данных в таких области
научной деятельности как:
• средства управления гипотезами и проведения
виртуального эксперимента;
• средства управления и обработки потоковых
данных.</p>
      <p>В качестве требований, предъявляемым при
сравнительном анализе систем, будем применять
следующие положения:
1. Система должна соответствовать
онтологической спецификации предметной
области. Это значит, что на базе нее возможно:
a. реализовать модель;
b. провести статистическое тестирование;
2. Система должна уметь работать с большим
объемом потоковых данных;
3. Распределенность и скорость, т. е. должна легко
масштабироваться в зависимости от
вычислительной нагрузки. Результат должен
получаться в режиме, близком к реальному
времени;
4. Открытость, т. е. система должны быть с
открытым исходным кодом;
5. Стабильность работы также является важным
критерием, т. к. многие средства были
разработаны ещё совсем недавно и не прошли
полного цикла отладки.
2.2 Управление гипотезами</p>
      <p>В настоящее время в рамках работы в областях с
интенсивным использованием данных многие
исследователи приходят к выводу о необходимости
унификации подходов построения виртуальных
экспериментов. Отдельные научные группы
разрабатывают свои программные продукты,
реализующие видение своих авторов к данной
проблематике. Проанализируем некоторые из них –
такие продукты, как: Hephaestus [10, 38], Features
Collection and Correlation Engine (FCCE) [26, 38],
ϒDB [11, 12, 38]. Сводная информация по сравнению
платформ управления гипотезами представлена в
Таблице 1.
2.3 Потоковые системы</p>
      <p>
        Для сравнения выберем открытые системы,
которые являются наиболее популярными с точки
зрения применимости в практических задачах. К
таким продуктам можно отнести: Storm [
        <xref ref-type="bibr" rid="ref36 ref40">5, 21, 15</xref>
        ],
Flink [
        <xref ref-type="bibr" rid="ref36">1, 2, 15</xref>
        ], Spark Streaming [
        <xref ref-type="bibr" rid="ref36">4, 15, 27, 13</xref>
        ].
      </p>
      <p>Серьёзной проблемой выбора потоковых
фреймворков [36, 29] является отсутствие в
настоящее время единых и объективных критериев
оценки производительности [36]. В научной
литературе существуют публикации, авторы
которых проводят определённые сравнения, однако
проблемой являются узкая специализация и
ограниченность применения этих тестов [9]. В связи
с отсутствием единой методологии целесообразно
получать сравнительную производительность систем
на данных конкретной исследовательской задачи для
всех анализируемых платформ.</p>
      <p>
        Однако скорость является не единственным
критерием выбора платформы. Сводные
данные [
        <xref ref-type="bibr" rid="ref36">13, 15</xref>
        ] по потоковым системам
представлены в Таблице 2.
2.4 Выбор платформы
      </p>
      <p>Исходя из всех выше приведенных обзоров,
можно сделать следующие выводы.</p>
      <p>В рамках данной работы невозможно
использовать никакую из существующих систем по
управлению гипотезами. Это обусловлено тем, что
они:
• ориентированы на работу с статическими
данными, хранящимися в базе данных;
• нет гибкого инструмента построение
виртуального эксперимента; имеется ориентаций
на свои области применения;
• не являются открытыми программными
продуктами;
• не носят законченного характера; некоторые
модули имеют только описательный характер без
практической реализации;
• плохая документированность.
Таблица 2 Сравнение потоковых систем
Критерий Storm
Поддержка языков Java
программирования
Режим работы
Обработка сообщений
Управление окном
Управление ресурсами
Задержка обработки
Механизмы обеспечения
отказоустойчивости
Управление потоком
Операции с сохранением
состояния
Потоковая примитива
Пропускная способность
Потоковый (tuple-wise)
По крайней мере один
раз (at least once)
Нет, встроенными
средствами</p>
    </sec>
    <sec id="sec-2">
      <title>YARN, Mesos, Built-in</title>
      <p>Низкая
ACK записи
Проблематично
Нет
Tuple
Низкая
В качестве платформы оценки качества
виртуального эксперимента выбрана платформа на
базе Spark Streaming. Этот выбор обусловлен
следующими положениями:
• текущая реализация модели течения жидкости
представлена на Python;
• имеется возможность расширения функционала
программирования проверки статистических
гипотез за счет установки дополнительных
библиотек;
• возможность управления окном на основе
времени.</p>
      <p>Из сравнительной таблицы потоковых систем
видно, что Spark Streaming не является самой
производительной системой. Её выбор обусловлен
поддержкой языка Python и обеспечением
минимально необходимого функционала.
3 Онтологическая спецификация
3.1 Течение жидкости</p>
      <p>Онтологическая спецификация течения жидкости
представлена на Рис. 1. Данная онтология описывает
проведение реального эксперимента, при котором
анализируется течение жидкости в трубе [8]. В
качестве жидкости могут использоваться: вода,
масло, их смесь с газом. Жидкость в рамках данного
эксперимента обладает следующими свойствами:
температура, скорость потока, давление. В рамках
модели акустический шум и спектр являются
функциями давления. Спектр в свою очередь
характеризуется амплитудой и частотой, которые
являются входными данными для определения
величины частотного пика. Давление измеряется
гидрофонами, установленными в
гидродинамической трубе. Также для измерения
температуры скорости потока используются
дополнительные сенсоры. Данные с гидрофонов и
сенсоров поступают на аналогово-цифровой
преобразователь, который, в свою очередь,
усиливает и дискретизирует поступающий сигнал в
соответствии с заданными свойствами. В</p>
      <sec id="sec-2-1">
        <title>Flink</title>
        <p>Java, Scala
Потоковый и
микропакеты
Строго один раз
(exactly once)
На основе: времени,
строк, приходящих
данных
YARN, Built-in
Низкая
Распределенные
снапшоты
Естественно
Да</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>DataStream Высокая</title>
      <sec id="sec-3-1">
        <title>Spark Streaming</title>
        <p>Java, Scala, Python
Микро-пакеты
(microbatch)
Строго один раз
(exactly once)
Только на основе
времени</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>YARN, Mesos, Built-in</title>
      <p>Средняя
Микро-пакет
Проблематично
Да
DStream
Высокая
эксперименте частота дискретизации составляет
100 кГц. Обработанный сигнал записывается в
результирующий файл эксперимента.</p>
      <p>Онтология предметной области соответствует
реальному физическому эксперименту. Каждый
эксперимент выполняется в течение 25 секунд. Затем
происходит некоторое изменение в параметрах
модели, затем эксперимент повторяется снова. Так
на выходе получается набор результирующих
файлов. Поток данных формируется искусственно с
использованием этих файлов.
3.2 Управление гипотезами</p>
      <p>Онтологическая спецификация управления
гипотезами представлена на Рис. 2.</p>
      <p>Определим некоторые термины предметной
области. Виртуальный эксперимент – деятельность
по применению набора гипотез для воспроизведения
симуляций близких к наблюдаемому явлению.
Гипотеза – формальная спецификация свойств
исследуемого объекта или явления, имеющих
математическое представление. Модель – алгоритм,
реализующий гипотезы. Оценка качества –
характеристика модели, позволяющая сделать вывод
о её соответствии реальному явлению.</p>
      <p>Статистическое тестирование – это процесс
принятия решения о том, противоречит ли
рассматриваемая статистическая гипотеза выборке
данных. Частотный подход – аппарат проверки
гипотез, базирующийся на частотном определении
вероятности, т. е. вероятности как предела
относительной частоты наблюдения некоторого
события в серии однородных независимых
испытаний. Байесовский подход – аппарат проверки
гипотез, базирующийся на байесовском определении
вероятности, для которой имеются некоторые
априорные знания о наблюдаемом явлении.
Потоковая система – программное средство,
позволяющее анализировать непрерывно
поступающие на ее вход данные.</p>
      <p>Oil
is a</p>
      <sec id="sec-4-1">
        <title>Fluid</title>
      </sec>
      <sec id="sec-4-2">
        <title>Flow rate</title>
      </sec>
      <sec id="sec-4-3">
        <title>Water is a has property has property</title>
      </sec>
      <sec id="sec-4-4">
        <title>Analog Digital</title>
      </sec>
      <sec id="sec-4-5">
        <title>Converter</title>
        <p>measures
request</p>
      </sec>
      <sec id="sec-4-6">
        <title>Sampling rate</title>
      </sec>
      <sec id="sec-4-7">
        <title>Amplification</title>
        <p>implement
has
has
send data
has property</p>
      </sec>
      <sec id="sec-4-8">
        <title>Model has</title>
      </sec>
      <sec id="sec-4-9">
        <title>Streaming</title>
      </sec>
      <sec id="sec-4-10">
        <title>System</title>
      </sec>
      <sec id="sec-4-11">
        <title>Temperature</title>
      </sec>
      <sec id="sec-4-12">
        <title>Sensor measures</title>
      </sec>
      <sec id="sec-4-13">
        <title>Dataset has property a function of</title>
      </sec>
      <sec id="sec-4-14">
        <title>Quality Score has computes use</title>
      </sec>
      <sec id="sec-4-15">
        <title>Statistical Test is a</title>
      </sec>
      <sec id="sec-4-16">
        <title>Bayes is a</title>
      </sec>
      <sec id="sec-4-17">
        <title>Frequentist</title>
        <p>request
has property</p>
      </sec>
      <sec id="sec-4-18">
        <title>Hypothesis has</title>
      </sec>
      <sec id="sec-4-19">
        <title>Virtual</title>
      </sec>
      <sec id="sec-4-20">
        <title>Experiment</title>
        <p>0..* AcousticNoise
-rms:Float
0..*</p>
        <p>VirtualExperiment
0..* Observation</p>
      </sec>
      <sec id="sec-4-21">
        <title>Frequency peak</title>
        <p>Рисунок 1 Онтология течения жидкости
Рисунок 2 Онтология управления гипотезами
Spectrum
-frequency:Float
-amplitude:Float
Рисунок 3 Концептуальная спецификация
На базе потоковой системы реализована модель,
описывающая течение жидкости в трубе. Также
данная система имеет модули выполнения проверки
статистических тестов. На базе результата работы
модели и входных данных сформулированы
гипотезы, позволяющие получить оценку качества
модели. Оценка высчитывается на базе
статистических тестов, заложенных в потоковой
системе. В виртуальном эксперименте
рассматриваются частотный и Байесовский подходы
для получения оценки качества.
4 Концептуальная спецификация
Концептуальная спецификация виртуального
эксперимента представлена на Рис. 3.</p>
        <p>В рамках исследуемой модели имеется априорное
знание о зависимости скорости потока от
a function of</p>
      </sec>
      <sec id="sec-4-22">
        <title>Pressure has property flow in</title>
      </sec>
      <sec id="sec-4-23">
        <title>Pipe</title>
        <p>has property</p>
        <p>HydrophoneObservation</p>
        <p>-preasure:Float
1..*</p>
        <p>PipeObservation
-temperature:Float
-volrate:Float
-timestamp:DateTime
температуры, значении частоты пика спектра, шума
потока. Также известно, что имеются корреляции
между показателями гидрофонов, установленных в
гидродинамической трубе. Данные разделяются на
полученные из наблюдения и вычисленные из
данных наблюдения. К непосредственно
получаемым данным относится информация от
гидрофонов и сенсоров, а именно: давление,
температура, скорость потока. К вычисляемым
относятся: спектр, амплитуда, акустический шум.
Все эти характеристики рассчитываются на основе
наблюдаемых показателей давления. Все данные,
кроме временной метки, имеют вещественный тип.
5 Формат данных
5.1 Входные данные
Данные, полученные в
рамках реального
физического эксперимента, хранятся в CSV (Comma
Separated Value) файлах на распределенной
файловой системе (HDFS). На вход системе
поступает два вида файлов: данные, полученные с
гидрофонов; данные, полученные с сенсоров.</p>
        <p>Файл с информацией, полученной с гидрофонов,
имеет следующее описание. Заголовок файла
состоит из порядкового номера nm,– указатель
канала гидрофона h{i}, где i – число от 0 до 2.
Столбцы разделены знаком табуляции. Заголовок
файла выглядит так: nm\t\h0\h1\h2.</p>
        <p>Частота дискретизации для сбора акустических
данных составляет 100 кГц. Один эксперимент
длится 25 секунд. Таким образом, каждый CSV файл
содержит 2,5 миллиона строк.</p>
        <p>Файл с информацией, полученной с сенсоров,
имеет следующее описание: заголовок файла состоит
из timestamp – временной метки, temp – температуры,
vol_rate – скорости потока, file – файла,
соответствующего показателям гидрофонов.
Столбцы разделены знаком “;”. Заголовок файла
выглядит так: timestamp;temp;vol_rate;file
Показатели температуры и скорости потока
собираются один раз в секунду. Вопросы
синхронизации показателей различных файлов
решаются через информацию временных меток и
сопоставления имен файлов в соответствующих
полях.
5.2 Обрабатываемые данные</p>
        <p>Данные для обработки в потоковой системе
преобразуются в формат RDD (Resilient Distributed
Dataset) – отказоустойчивый набор элементов,
обработка которых может выполняться
параллельно [28]. Вся логика работы с данными
происходит в рамках этого концепта. Существуют
два способа получения такого набора:
• параллелизация последовательного массива в
рамках текущей программы с помощью вызова
метода parallelize();
• на этапе извлечения данных из внешних
источников, таких, как HDFS, HBase, Streaming
Context.</p>
        <p>При создании распределенного набора можно как
явно задать число, показывающее, сколько
параллельных разделов использовать при работе с
этими данными, так и использовать значение по
умолчанию.</p>
        <p>В рамках виртуального эксперимента самые
«тяжелые» в вычислительном плане задачи ложатся
H0
H1
на набор данных, поступивших с гидрофонов. Так
как используется информация из трёх каналов, то
степень параллелизма на этапе предобработки
устанавливается также равной трём.</p>
        <p>Концепт RDD имеет свой API и поддерживает два
вида операций:
• трансформацию – получение нового набора из
существующего;
• действие – запускает задание на выполнение.</p>
        <p>При написании программы важно отслеживать
область действия переменных в рамках данных
видов операций.</p>
        <p>Важными характеристиками RDD являются:
• распределенность – операции над данными
выполняются на различных узлах кластера;
• ленивое исполнение (“lazy”) – трансформация не
выполняется прямо сейчас; система хранит
последовательность операций над набором;
выполнение происходит, только если в коде
программы встретилась операция действия;
• управление состоянием – возможность выбора, из
какого хранилища (память или диск) они будут
повторно использоваться.
6 Подход оценки качества
6.1 Описание метода</p>
        <p>Рассматриваемый нами метод оценки качества
виртуального эксперимента опирается на
классическую теорию детектирования сигнала [14].
Эта теория выступает как средство количественной
оценки возможности различать информационную
составляющую сигнала от шума [24]. Базовые
компоненты теории детектирования представлены
на Рис. 4.</p>
        <p>Первым ее элементом является источник,
который генерируют выходной сигнал. Его выход
может быть одним из нескольких вариантов. В самом
простом случае это гипотезы:  1 и  0. Второй и
третий компоненты соответственно: механизм
вероятностного перехода и пространство
наблюдений. Механизм перехода может
рассматриваться для определения, какая гипотеза
истина. На основе этих знаний он генерирует точку в
пространстве наблюдений в соответствии с
некоторым законом вероятности. Независимая
дискретная случайная величина  , чья плотность
вероятности нам известна, добавляется к выходу
источника.</p>
        <p>Decision
rule</p>
        <p>Decision
Source</p>
        <p>Probabilistic transition
mechanism</p>
        <p>Observation</p>
        <p>space
n
Noise
Рисунок 4 Компоненты теории детектирования</p>
        <p>Четвертым компонентом теории детектирования
сигнала является правило принятия решения. После
получения наблюдаемой переменой в пространстве
наблюдений мы должны угадать какая гипотеза была
истинной. Правило принятия решений сопоставляет
точке
наблюдений
одну
из
гипотезПодходящий выбор правил будет зависеть от
факторов,
которые
определяются
постановкой конкретной исследовательской задачи.</p>
        <p>Мы рассматриваем оценку качества как бинарное
событие, которое в математическом представлении
определено в виде гипотез:
 0: модель корректна;
 1:⁡происходит нарушение работы модели.
Чтобы сделать предположение о качестве модели,
необходимо выполнить статистическую
проверку
данных.
быть
метод.</p>
        <p>Одним из параметров, передаваемых на вход
нашей
системы</p>
        <p>один
измеренная величина 
раз
в</p>
        <p>секунду, является
скорости потока. В рамках
проведения
виртуального
эксперимента
модель
выдавала вычисленную величину  ̂ скорости потока.
Оценивая их разность  ̂ − 
на протяжении 25
секунд, можно сделать вывод об оценке качества
модели при заданных условиях эксперимента.</p>
        <p>Известно,
нормальному
что
закону
разность
 ̂ −</p>
        <p>подчиняется
распределения [8].</p>
        <p>Таким
образом, в качестве аппарата проверки гипотез могут
использованы
следующие
подходы:
классический или частотный метод; Байесовский
6.2 Частотный подход</p>
        <p>В рамках классического подхода вероятность
определяется
наступления</p>
        <p>как
события.</p>
        <p>относительная
Все
события
частота
имеют
независимый характер. Общая методика проведения
статистического тестирования широко представлена
в
литературе
(см.,
например, [35]).
возьмем разность   =  ̂ −  контрольного значения</p>
        <p>шкала [20] доказательной силы
Байесовского критерия приведена в Таблице 3.
распределение
свободы:
Статистика
критерия
имеет
Стьюдента с  − 1
степенями
 ( )=
( ̅ −  )√</p>
        <p>где выборочное среднее  ̅ =
дисперсия  2 =
1 ∑
 −1  =1(  −  ̅)2.</p>
        <p>Пусть задан уровень значимости  = 0.05. В
нашей
задаче</p>
        <p>используем
альтернативу.</p>
        <p>Таким
образом,
двухстороннюю
статистический
критерий будет иметь вид | | &gt;   /2, где  
квантиль
распределения
Стьюдента
с
– 
 − 1
степенями свободы. Если | | &gt;   /2, то нулевая
~ ( − 1),

1 
∑
 =1   , выборочная
гипотеза  0 отвергается.
6.3 Байесовский подход</p>
        <p>Байесовский подход отличается от классического
тем, что в своей основе имеет другое определение
вероятности
(она
интерпретируется
как
мера
незнания, а не как объективная случайность [33]). В
общем виде вероятность определяется как степень
уверенности в истинности суждения.
Мы имеем
некоторое априорное знание о наблюдении, которое
уточняется в процессе эксперимента.</p>
        <p>Байесовская
проверка
в
рамках
теории
детектирования базируется на двух предположениях:
• выходы источника регулируются вероятностным
присвоением,
они
обозначаются  1
и  0 и
называются априорными вероятностями, которые
представляют собой информацию об источнике
до проведения эксперимента;
• каждому из возможных исходов присваивается
стоимость; обозначим стоимости 4-х
исходов
С00, ⁡С10, С01, ⁡С11; первый индекс указывает на
выбранную гипотезу, второй – на ту, которая
истинна; после каждого эксперимента стоимости
могут уточняться.
• Правило принятия решения должно быть таким,
чтобы
меньше.</p>
        <p>средняя</p>
        <p>стоимость</p>
        <p>Описание архитектуры
Для проведения вычислительного эксперимента в
рамках поставленных задач был собран
программноаппаратный вычислительный комплекс: аппаратная
часть построена на базе серверов и коммутатора
фирмы</p>
        <p>
          Quanta [23];
программная
часть
–
программный
кластер
на
базе
продукта HDP
(Hortonworks Data Platform) [
          <xref ref-type="bibr" rid="ref11 ref13">16</xref>
          ].
7.1 Аппаратная часть
Аппаратная
архитектура
состоит из
шести
серверов, представленных в форм-факторе OpenRack
и
объединенных
одним
коммутатором
по
интерфейсу 10Gb Ethernet. Каждый сервер имеет
свои локальный SSD-диск с установленными на нём
операционной
системой
и
программными
компонентами HDP кластера, а также свою полку с
HDD-дисками,
интерфейсу
подключенную
напрямую
по
SATA.
        </p>
        <p>Каждый
сервер
выполняет
определенную роль в кластере, которая определяет
его
технические
характеристики.</p>
        <p>Технические
характеристики
управляющих
и рабочих
узлов
представлены в Таблице 4.
Таблица 4 Характеристики узлов
Характеристика
Тип процессора
Количество ядер
Память
Тип дисков
Объем дисков
Резервирование дисков
Подключение дисков
Операционная система
Сетевые интерфейсы
Значение</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Genuine Intel 2.30GHz/</title>
    </sec>
    <sec id="sec-6">
      <title>Intel Xeon E5-2630L</title>
      <p>40/24
32/64ГБ
SSD, HDD
240ГБ, 2/4ТБ</p>
    </sec>
    <sec id="sec-7">
      <title>RAID-1/JBOD</title>
    </sec>
    <sec id="sec-8">
      <title>SATA</title>
      <p>CentOS 6.9
10GbEthernet
Роли серверов в кластере:
• m1,
m2
–
управляющие</p>
      <p>узлы, к
в
–
предъявляются повышенные требования в плане
производительности
и
надежности;
на
установлены
компоненты,
отвечающие
распределение задач по рабочим узлам кластера,
такие, как Name Node сервиса</p>
    </sec>
    <sec id="sec-9">
      <title>HDFS, ресурс менеджер YARN и др.; критические компоненты зарезервированы режиме</title>
      <p>Active-Passive; в
качестве Active сервера для большинства из них
выступает узел m1;
• s1,
s2,
s3, s4
рабочие
узлы;</p>
      <p>основной
вычислительный элемент кластера обеспечивает
выполнение программного кода приложений в
распределенной среде; выход из строя такого узла
не является критическим, так как их состояние
постоянно отслеживается управляющими узлами,
которые в случае падения перезапустят задачу на
оставшихся
доступных
серверах,
однако</p>
      <p>это
приведет к замедлению выполнения расчетов на
кластере.</p>
      <p>Доступ к компонентам управления платформы
осуществляется из общей сети лаборатории за счет
ним
них
за
подключения коммутатора кластера с общим
маршрутизатором по интерфейсу 1GbEthernet.
7.2 Программная часть</p>
      <p>Для построение вычислительной системы была
использована платформа HDP версии 2.6. Эта версия
является последней актуальной на момент написания
этой статьи. На аппаратные сервера был установлен
минимально необходимый набор программных
компонент для проведения виртуального
эксперимента:
• HDFS [7] – отказоустойчивая распределенная</p>
      <p>файловая система;
• YARN [22] – менеджер ресурсов, основной</p>
      <p>
        планировщик задач, запускаемых на кластере;
• Storm [
        <xref ref-type="bibr" rid="ref40">5</xref>
        ], Spark (с модулем Streaming) [4],
      </p>
      <p>
        Flink [2] – системы потоковой обработки
данных;
• Kafka [3] – виртуальная очередь;
• Ambari [
        <xref ref-type="bibr" rid="ref11 ref13">16</xref>
        ] – веб-интерфейс для управления
      </p>
      <p>кластером;
• ZooKeeper [17] – сервер координации работы</p>
      <p>
        распределенных приложений;
• Zeppelin [
        <xref ref-type="bibr" rid="ref11 ref13">16</xref>
        ] – среда написания и отладки
программного кода.
      </p>
      <p>Все представленные ниже компоненты, кроме
Apache Flink, входят в установочный пакет HDP
кластера. Flink установлен дополнительно как сервис
над YARN. Установка одновременно трёх потоковых
систем в рамках одного кластера обусловлена тем,
что в настоящий момент нет единой методологии
оценки. Поэтому типовым является сценарий, когда
существующая практическая задача в тестовом виде
реализуется одновременно на всех платформах, а
уже затем сравнивается производительность,
полученная на практике. Также на момент
развертывания кластера были неизвестны
ограничения всех систем, и соответственно не было
принято решение о применимости конкретного
продукта для реализации виртуального
эксперимента.
8 Поток работы</p>
      <p>Поток работ виртуального эксперимента
представлен на Рис. 5.</p>
      <p>Виртуальный эксперимент заключается в
одновременной непрерывной работе следующих
компонент над потоком входных данными:
• Producer – программа, занимающаяся
извлечением данных из csv-файла и
отправляющая сообщения в очередь Kafka;
• Kafka – обслуживает прием, промежуточное</p>
      <p>хранение, репликацию данных;
• Spark Streaming – выполняет роль Consumer,
извлекает данные из очереди в формате RDD и
передает их на обработку в ядро Spark.
• Spark – выполняет вычисления с данными,
вызывает модель течения жидкости, проводит
статистические тесты оценки качества модели.
Этапы потока работ таковы:
1. Данные, полученные в результате физического
эксперимента, хранятся в распределенной
файловой системе. Producer представляет собой
программный модуль, реализованный на Python.
Этот компонент первым шагом извлекает
данные из CSV-файлов, содержащих показатели
гидрофонов, значения температуры и скорости
потока и формирует два массива строк;
2. Подготовка данных к отправке заключается в
разбиении полученных массивов строк на
партии по 100 тыс. значений для показателей
гидрофонов и одного – для температуры и
скорости потока;
3. Отправка сообщений осуществляется с
помощью вызова метода send() из загруженной
библиотеки kafka-python [19]. Этот метод
является ассиметричным. Для увеличения
скорости отправки значение Ack выставлено в 0,
чтобы Producer не ждал от Kafka-пакета
подтверждения доставки. Так как кластер
находится в изолированном сетевом сегменте и
на серверах используются высокоскоростные
сетевые интерфейсы, то потерь пакетов не
происходит;
4. Из-за ограничений Spark Streaming как
потоковой системы [6], а именно:
a) имеется только временное управление</p>
      <p>окном;
b) реализованы чтение данных из всех
разделов очереди и запись их в одну</p>
      <p>RDD;
c) недостаточна производительность
работы ядра Spark из-за использования
промежуточного слоя
Pythonинтерпретатора и самой архитектуры</p>
      <p>Spark;
d) не реализован функционал Backpressure</p>
      <p>стандартными средствами;
возникла необходимость в оптимизации
гиперпараметров модели. Изначально
предполагалось подавать на вход модуля
обработки данных из очереди 100 тыс.
сообщений в секунду. За данный интервал
времени Spark должен их успевать
обрабатывать. Однако, таких скоростей: как
обработки, так и подачи в очередь достигнуть не
удалось. Поэтому возникла необходимость в
увеличении временного интервала отправки
партии сообщений;
5. Слияние полученных признаков в один кортеж</p>
      <p>для отправки его на вход модели;
6. Расчет модели на базе полученных входных
данных. Распределение задания расчета модели
по кластеру выполняется ядром Spark, исходя из
своей внутренней логики работы;
7. Проведение статистического теста. Для оценки
качества модели мы используем
одновыборочный T-тест с двух сторонней
альтернативой или Байесовский подход. На
выходе мы имеем строку с результатом в
формате:
a. число – для оценки в случае байесовского
критерия;
b. True/False – для оценки статистического</p>
      <p>критерия;
8. Вывод результата в консоль.</p>
      <p>Start</p>
      <p>Read data from</p>
      <p>csv files
Features Extraction</p>
      <p>Producer
Prepare data to
send</p>
      <p>Send data to
queues</p>
      <p>Kafka
Processing
queues</p>
      <p>Spark Streaming
Receive data from</p>
      <p>kafka
Optimization model
hyperparameters
FFT
Cut
Peak</p>
      <p>RMS</p>
      <p>RMS</p>
      <p>Temp</p>
      <p>RMS</p>
      <p>VolRate
Node 1</p>
      <p>Node 2</p>
      <p>Node 3</p>
      <p>Node 4
Stop</p>
      <p>Console</p>
      <p>Output Result
Рисунок 5 Поток работ
9 Полученный результат</p>
      <p>По результатам проведенного эксперимента
получены данные, представленные в Таблице 6.
Цветом подсвечены результаты оценки качества
виртуального эксперимента различными методами.
Использованы следующие обозначения:
• белый – модель корректно описывает входные</p>
      <p>данные (Гипотеза  0);
• серый – модель не корректна (Гипотеза  1).
Таблица 6 Полученный результат</p>
      <p>Join Features and</p>
      <p>VolRate
Spark</p>
      <p>Model Processing
По полученным результатам можно определить
момент, когда модель начинает некачественно
описывать поведение течения жидкости по входным
данным. Результаты обоих методов схожи, но всё же
немного отличаются, так как мы попали в граничные
области Баейсовского критерия (3,3046), которые
имеют слабую доказательную силу, поэтому
отвергнуть гипотезу  0 о том, что модель корректна,
нельзя.
10 Заключение</p>
      <p>Представлен подход, позволяющий оценить
качество научных гипотез на примере области
течения жидкости. Его идея базируется на
классической теории детектирования, в рамках
которой в качестве правил принятия решения
выступают критерий Стьюдента и критерий
правдоподобия.</p>
      <p>Разработаны онтология предметной области и
концептуальная схема виртуального эксперимента
для исследования характеристик течения жидкости в
трубе на основе его акустического шума. Произведен
анализ существующих инструментов организации
распределенной обработки потоковых данных.</p>
      <p>Выполнено исследование подходов к
организации методов проверки гипотез и оценки
[30] Ünalmis, Ö.H.: Subsea Multiphase Flowmeter: [36] Самарев, Р.С.: Обзор состояния области
Performance Tests in Multiphase Flow Loop. Society потоковой обработки данных. Труды ИСП РАН,
of Petroleum Engineers (1), сс. 231-260 (2017)
[31] Wilcox, D.C.: Turbulence modeling for CFD. D C W [37] Скворцов Н.А., Аввакумова, Е.А., Брюхов, Д.О.,</p>
      <p>Industries (2006) Вовченко, А.Е., Вольнова, А.А., Длужневская,
[32] Zagarola, M.V., Smits, A.J.: Mean-flow Scaling of О.Б., Кайгородов, П.В., Калиниченко, Л.А.,
Turbulent Pipe Flow. J. of Fluid Mechanics, 373, Князев, А.Ю., Ковалева, Д.А., Малков, О.Ю.,
pp. 33-79 (1998) Позаненко, А.С., Ступников, С.А.:
[33] Байесовский подход к теории вероятностей. Концептуальный подход к решению задач в
Примеры Байесовских рассуждений. Глава 6. астрономии. Астрофизический бюллетень, 71 (1),
2007. http://www.machinelearning.ru/wiki/images/ сс. 122-133 (2016)
4/43/BayesML-2007-textbook-2.pdf [38] Тарасов, Е.А.: Сокращение числа виртуальных
[34] Критерий Стьюдента. http://www. экспериментов с помощью оценки корреляций
machinelearning.ru/wiki/index.php?title=Критерий параметров взаимодействующих гипотез. Сб.
_Стьюдента трудов XVIII Межд. конф. DAMDID/RCDL,
сc. 383-388 (2016)
[35] Проверка статистических гипотез. http://www.</p>
      <p>machinelearning.ru/wiki/index.php?title=Проверка_
статистических_гипотез</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          качества моделей, реализующих соответствующие [12]
          <string-name>
            <surname>Goncalves</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Porto</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>ϒ-DB: A System</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <article-title>Создана архитектура распределенной системы Analytics (</article-title>
          <year>2014</year>
          ). http://arxiv.org/abs/1411.7419
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <article-title>для оценки качества модели и проверки гипотез</article-title>
          . [13]
          <string-name>
            <surname>Hagedorn</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Götze</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Saleh</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          : Stream
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <article-title>для существующей кластерной инфраструктуры</article-title>
          .
          <source>Data. Information Technology</source>
          ,
          <volume>58</volume>
          (
          <issue>4</issue>
          ), pp.
          <fpage>195</fpage>
          -
          <lpage>205</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <article-title>различные подходы проверки научных гипотез по</article-title>
          [14]
          <string-name>
            <surname>Harry</surname>
            ,
            <given-names>L. van Trees</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bell</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tian</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          : Detection,
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <article-title>оценке качества модели позволяют получить схожие Estimation, and Modulation Theory</article-title>
          . Part 1 -
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <article-title>граничных областях критерия качества</article-title>
          .
          <source>Таким Edition</source>
          . Willey,
          <volume>1175</volume>
          p. (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <article-title>равной степени быть применены для оценки качества</article-title>
          [15]
          <string-name>
            <surname>Hesse</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lorenz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          : Conceptual Survey on Data
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <source>виртуального эксперимента в рассматриваемой Stream Processing Systems. Proc. of the IEEE 21st</source>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <article-title>предметной области - течения жидкости</article-title>
          .
          <source>Int. Conf. on Parallel and Distributed Systems</source>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [16]
          <article-title>Hortonworks Data Platform</article-title>
          . https://hortonworks.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <article-title>Работа выполнена при поддержке РФФИ (грант</article-title>
          [17]
          <string-name>
            <surname>Hunt</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Konar</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Junqueira</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reed</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          16-
          <fpage>07</fpage>
          -01028).
          <article-title>ZooKeeper: Wait-free Coordination for Internet-</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>Литература Technical Conf.</surname>
          </string-name>
          (
          <year>2010</year>
          ) [1]
          <string-name>
            <surname>Alexandrov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bergmann</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ewen</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Freytag</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , [
          <volume>18</volume>
          ]
          <string-name>
            <surname>Ioannidis</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          : Why Most Published Research
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Hueske</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heise</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kao</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leich</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leser</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          , Findings Are False.
          <source>PLoS Medicine</source>
          ,
          <volume>2</volume>
          (
          <issue>8</issue>
          ) (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Markl</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Naumann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peters</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rheinländer</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , [
          <volume>19</volume>
          ]
          <article-title>Kafka-python</article-title>
          . http://kafka-python.readthedocs.io/
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>Warneke</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          : The Stratosphere Platform аor Big Data [
          <volume>20</volume>
          ]
          <string-name>
            <surname>Kalinichenko</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kovalev</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kovaleva</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <surname>Analytics. The VLDB</surname>
          </string-name>
          J.,
          <volume>23</volume>
          (
          <issue>6</issue>
          ), pp.
          <fpage>939</fpage>
          -
          <lpage>964</lpage>
          (
          <year>2014</year>
          )
          <string-name>
            <surname>Malkov</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <article-title>Methods and Tools for Hypothesis[2] Apache Flink: Scalable Batch and Stream Data driven Research Support: a Survey. Informatica and</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          Processing. https://flink.apache.org/ Appications,
          <volume>9</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>28</fpage>
          -
          <lpage>54</lpage>
          (
          <year>2015</year>
          )
          <article-title>[3] Apache Kafka is a Distributed Streaming Platform</article-title>
          . [21]
          <string-name>
            <surname>Marz</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Warren</surname>
          </string-name>
          , J.:
          <source>Big Data: Principles and Best</source>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          https://kafka.apache.
          <source>org/intro Practices of Scalable Realtime Data Systems. [4</source>
          ]
          <string-name>
            <given-names>Apache</given-names>
            <surname>Spark - Lightning-Fast Cluster Computing</surname>
          </string-name>
          .
          <source>Manning Publications Co. USA. 1st edition</source>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          https://spark.apache.org/ [22]
          <string-name>
            <surname>Mathiya</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Desai</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          : Apache Hadoop Yarn [5]
          <string-name>
            <given-names>Apache</given-names>
            <surname>Storm</surname>
          </string-name>
          . https://storm.apache.org/ Parameter Configuration Challenges and
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          <string-name>
            <surname>Optimization</surname>
          </string-name>
          .
          <source>Proc. of the Int. Conf. on Soft</source>
          [6]
          <string-name>
            <surname>Armbrust</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Das</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Davidson</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ghodsi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Or</surname>
          </string-name>
          ,
          <article-title>Computing and Network Security (ICSNS -</article-title>
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Rosen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Stoica</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            ,
            <surname>Wendell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Xin</surname>
          </string-name>
          ,
          <string-name>
            <surname>R.</surname>
          </string-name>
          , Zaharia, Coimbatore.
          <source>India</source>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          <source>and Usability. Proc. of the VLDB Endowment</source>
          ,
          <volume>8</volume>
          (
          <issue>12</issue>
          ) [23]
          <string-name>
            <given-names>Quanta</given-names>
            <surname>Cloud</surname>
          </string-name>
          <article-title>Technology</article-title>
          . http://qct.io/
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          (
          <year>2015</year>
          ) [24]
          <string-name>
            <surname>Rysak</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Litak</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mosdorf</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <source>Analysis of Non</source>
          [7]
          <string-name>
            <surname>Borthakur</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>HDFS Architecture Guide</article-title>
          .
          <article-title>Hadoop stationary Signals by Recurrence Dissimilarity</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          <string-name>
            <given-names>Apache</given-names>
            <surname>Project</surname>
          </string-name>
          (
          <year>2008</year>
          )
          <article-title>Recurrence Plots</article-title>
          and Their Quantifications:
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          <string-name>
            <given-names>Expanding</given-names>
            <surname>Horizons</surname>
          </string-name>
          (
          <year>2016</year>
          ) [8]
          <string-name>
            <surname>Brennen</surname>
            ,
            <given-names>C.E.</given-names>
          </string-name>
          : Fundamentals of Multiphase Flow.
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          Cambridge University Press (
          <year>2005</year>
          ) [25]
          <string-name>
            <surname>Salvetti</surname>
            ,
            <given-names>M.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Geurts</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meyers</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sagaut</surname>
          </string-name>
          , P.:
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          <string-name>
            <surname>Quality</surname>
          </string-name>
          and
          <article-title>Reliability of Large-Eddy Simulations</article-title>
          . [9]
          <string-name>
            <surname>Chintapalli</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dagit</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Evans</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Farivar</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , Springer. Netherlands (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          <string-name>
            <surname>Patil</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peng</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poulosky</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          : Benchmarking [26]
          <string-name>
            <surname>Schales</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hu</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jang</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sailer</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stoecklin</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          <string-name>
            <given-names>Distributed</given-names>
            <surname>Processing Symposium Workshops Latency Big Data</surname>
          </string-name>
          <article-title>Analytics</article-title>
          .
          <source>Proc. of 2015 IEEE 31st</source>
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          (
          <year>2016</year>
          )
          <article-title>Int</article-title>
          .
          <source>Conf. on Data Engineering</source>
          , pp.
          <fpage>1316</fpage>
          -
          <lpage>1327</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          (
          <year>2014</year>
          ) [10]
          <string-name>
            <surname>Duggan</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brodie</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Hephaestus: Data Reuse for</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          <string-name>
            <given-names>Accelerating</given-names>
            <surname>Scientific</surname>
          </string-name>
          <article-title>Discovery</article-title>
          .
          <source>Proc. of 7th [27] Spark documentation. Pyspark.streaming module.</source>
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          <string-name>
            <given-names>Biennial</given-names>
            <surname>Conf</surname>
          </string-name>
          .
          <source>on Innovative Data Systems Research https://spark.apache.org/docs/1</source>
          .6.3/api/python/pyspa
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          <source>(CIDR'15)</source>
          . USA (
          <year>2015</year>
          <article-title>) rk</article-title>
          .streaming.html [11]
          <string-name>
            <surname>Goncalves</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Porto</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Managing</surname>
          </string-name>
          Large-Scale [28]
          <article-title>Spark Programming Guide</article-title>
          . https://spark.apache.
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          <article-title>Scientific Hypotheses as Uncertain and Probabilistic org/docs/1.6.3/programming-guide</article-title>
          .html
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          <article-title>Data With Support for Predictive Analytics</article-title>
          .
          <source>Proc. of</source>
          [29]
          <string-name>
            <surname>Stonebraker</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Çetintemel</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zdonik</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>The 8</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          <source>the IEEE Computing in Science and Engineering, 17 Requirements of Real-time Stream Processing.</source>
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          <source>(5)</source>
          , pp.
          <fpage>35</fpage>
          -
          <lpage>43</lpage>
          (
          <year>2015</year>
          )
          <article-title>SIGMOD Rec</article-title>
          .,
          <volume>34</volume>
          (
          <issue>4</issue>
          ), pp.
          <fpage>42</fpage>
          -
          <lpage>47</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>