В рубрику "Решения корпоративного класса" | К списку рубрик | К списку авторов | К списку публикаций
Создан кластер системы распределенных вычислений на базе трех встраиваемых устройств для решения задач, связанных с обработкой речи.
The distributed computing cluster is based on three embedded devices to run speech processing tasks.
В опубликованной ранее работе [1] рассматривались вопросы, связанные с верификацией и идентификацией диктора на встраиваемых устройствах (одноплатных компьютерах), делались выводы о производительности подобных устройств. Также отмечалось, что использование одноплатного компьютера для идентификации диктора в реальном масштабе времени невозможно без дополнительной оптимизации. Поэтому следующим шагом в исследовании идентификации речи, по мнению автора, необходимо изучить возможность применения технологии распределенных вычислений для решения задач, связанных с обработкой речи на встраиваемых устройствах.
Распределенные вычисления связаны с применением распределенных систем для обработки больших массивов данных или решения трудоемких вычислительных задач. Распределенные системы, в свою очередь, можно представить как объединение однородных (необязательно) и независимых вычислительных устройств (узлов) с помощью скоростного соединения в единый вычислительный ресурс, используемый для решения общей задачи. Такой единый вычислительный ресурс называется кластер. Элементами кластера могут быть встраиваемые устройства – независимые одноплатные компьютеры, имеющие свою память, процессор, порты ввода-вывода и взаимодействующие между собой посредством локальной сети.
Для обеспечения связанного функционирования всех узлов кластера необходимо специальное программное обеспечение (ПО), занимающее промежуточный уровень между операционной системой узла и его прикладными программами. ПО предоставляет приложениям унифицированный интерфейс взаимодействия между собой. Существует ряд коммерческих и открытых проектов по распределенной обработке данных. Одним из примеров такого открытого ПО является проект Hadoop [2], включающий в себя набор различных инструментов. Hado-op реализует парадигму MapReduce [3] – программную модель распределенных вычислений для обработки больших объемов данных. Модель описывает два вычислительных этапа (шага):
Для создания модели кластера на базе одноплатных компьютеров был выбран открытый проект 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] времени идентификации диктора на одном встраиваемом устройстве. Поэтому в качестве дальнейшего пути исследования поставленного вопроса автор планирует выполнить следующие шаги:
Вышеперечисленные шаги необходимо выполнить для создания стабильно работающей модели кластера обработки речи на одноплатных компьютерах. После этого можно будет сделать выводы о целесообразности использования такого типа кластеров для повышения производительности системы идентификации диктора и ее работы в режиме реального времени на одноплатных компьютерах.
Литература
Опубликовано: Журнал "Технологии и средства связи" #5, 2016
Посещений: 3698
Автор
| |||
В рубрику "Решения корпоративного класса" | К списку рубрик | К списку авторов | К списку публикаций