Контакты
Подписка
МЕНЮ
Контакты
Подписка

В рубрику "Решения корпоративного класса" | К списку рубрик  |  К списку авторов  |  К списку публикаций

Интернет вещей (IoT): использование кластера встраиваемых устройств в распределенной обработке речиThe Internet of Things: using embedded device cluster to run distributed computing speech processing

Создан кластер системы распределенных вычислений на базе трех встраиваемых устройств для решения задач, связанных с обработкой речи.

The distributed computing cluster is based on three embedded devices to run speech processing tasks.

Павел Зернов
Независимый исследователь, к.т.н.
Pavel Zernov
Independent researcher, Ph.D
Ключевые слова:
Интернет вещей, распределенные вычисления, встраиваемые устройства, обработка речи
Keywords:
Internet of Things, distributed computing, embedded devices, speech processing.

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

Кластер – объединение вычислительных устройств для решения общей задачи

Распределенные вычисления связаны с применением распределенных систем для обработки больших массивов данных или решения трудоемких вычислительных задач. Распределенные системы, в свою очередь, можно представить как объединение однородных (необязательно) и независимых вычислительных устройств (узлов) с помощью скоростного соединения в единый вычислительный ресурс, используемый для решения общей задачи. Такой единый вычислительный ресурс называется кластер. Элементами кластера могут быть встраиваемые устройства – независимые одноплатные компьютеры, имеющие свою память, процессор, порты ввода-вывода и взаимодействующие между собой посредством локальной сети.

Парадигма MapReduce

Для обеспечения связанного функционирования всех узлов кластера необходимо специальное программное обеспечение (ПО), занимающее промежуточный уровень между операционной системой узла и его прикладными программами. ПО предоставляет приложениям унифицированный интерфейс взаимодействия между собой. Существует ряд коммерческих и открытых проектов по распределенной обработке данных. Одним из примеров такого открытого ПО является проект Hadoop [2], включающий в себя набор различных инструментов. Hado-op реализует парадигму MapReduce [3] – программную модель распределенных вычислений для обработки больших объемов данных. Модель описывает два вычислительных этапа (шага):

  • Map-шаг, на котором происходит предварительная обработка входных данных, их разделение на части и передача узлам кластера;
  • Reduce-шаг, в процессе которого происходит сбор предварительно обработанных на узлах данных и формирование итогового результата поставленной задачи.

Модель кластера для обработки речи

Для создания модели кластера на базе одноплатных компьютеров был выбран открытый проект Hadoop второй версии, отличающийся от первой возможностью динамического распределения ресурсов узла (процессорное время, ОЗУ, ПЗУ) между приложениями, запущенными в кластере. Программные модули Hadoop устанавливаются на каждый узел отдельно. Для ускорения сборки кластера исходный код Hadoop компилировался на одном из одноплатных компьютеров, а затем microSD-карта с уже настроенной системой клонировалась для использования в остальных узлах. Существует ряд версий Hadoop сторонних производителей, позволяющих инсталлировать модули централизованно. Все узлы с установленными модулями интегрируются в кластер посредством программы управления, отвечающей за распределение и сбор обрабатываемых данных. Для мониторинга работающего кластера используется web-интерфейс. На рис. 1 представлен снимок экрана web-интерфейса системы управления кластером, состоящим из трех одноплатных компьютеров.


В исследованиях [1] для построения системы верификации/идентификации диктора использовался проект ALIZE [4], представляющий собой открытую платформу биометрической аутентификации, разработанную на языке Си. Для модели кластера конфигурация ALIZE была частично модифицирована таким образом, чтобы проводить идентификацию диктора параллельно на разных узлах. Параллельная идентификация достигалась за счет использования утилиты Hadoop Streaming, которая реализует программную модель MapReduce для исполняемых файлов или скриптов. Задача идентификации состоит в том, чтобы точно указать одного из дикторов среди N дикторов множества. Поэтому необходимо проводить N сравнений измеренных параметров речи с хранящимися параметрами в виде эталона. Эти сравнения могут проходить параллельно. Тогда задача идентификации диктора в распределенной системе сводится к оценке признаков входного речевого сигнала относительно голосовой модели каждого диктора на каждом из узлов кластера. Затем полученные оценки от каждого узла аккумулируются в итоговый отчет, на основании которого принимается решение об идентификации диктора в зависимости от установленного в системе порога [1].

Выводы и дальнейшие шаги исследования

Модель кластера состояла из трех одноплатных компьютеров: двух с процессором ARMv6 и объемом оперативной памяти 512 Кбайт и одного ARMv7 с объемом оперативной памяти 1 Гбайт. В распределенной файловой системе HDFS более мощный одноплатный компьютер выступал в качестве Name-Node-сервера, а остальные два в качестве DataNode-серверов. Для идентификации диктора в кластере использовались эталонные модели смеси нормальных гауссовых распределений (СГР) размерностью 256. Во всех экспериментах выполнение задачи идентификации заканчивалось с ошибками из-за нехватки оперативной памяти или по истечении срока времени выполнения (тайм-ауту). По мнению автора, это связано с использованием утилиты Hadoop Streaming в условиях ограниченной памяти одноплатного компьютера. Автору на данный момент не удалось достичь аналогичного опубликованному в статье [1] времени идентификации диктора на одном встраиваемом устройстве. Поэтому в качестве дальнейшего пути исследования поставленного вопроса автор планирует выполнить следующие шаги:

  1. Найти наиболее оптимальные параметры настроек кластера Hadoop для работы с одноплатными компьютерами.
  2. Использовать для создания кластера более мощные одноплатные компьютеры на базе ARMv7 с объемом оперативной памяти 1 Гбайт.
  3. Исследовать возможность конфигурирования системы идентификации диктора для ее запуска с использованием языка Java в распределенной системе, т.к. Hadoop Stream требует дополнительные ресурсы для работы.

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

Литература

  1. Зернов П.С. Интернет вещей (IoT): задача идентификации и верификации речи на встраиваемых устройствах // Технологии и средства связи. № 2. – 2016. С. 18–20.
  2. Apache Hadoop. [online]. Доступ через: http://hadoop.apache.org/ (дата обращения: 05.09.2016).
  3. Jeffrey Dean and Sanjay Ghemawat. Mapreduce: Simplified data processing on large clusters. In OSDI 2004. Pages 137–150.
  4. Open-source platform ALIZE. [online]. Доступ через: http://mistral.univ-avignon.fr (дата обращения: 05.09.2016).

Опубликовано: Журнал "Технологии и средства связи" #5, 2016
Посещений: 3532

  Автор

Павел Зернов

Павел Зернов

Аспирант СПб ГУТ им. Бонч-Бруевича

Всего статей:  12

В рубрику "Решения корпоративного класса" | К списку рубрик  |  К списку авторов  |  К списку публикаций