Моделирование приложений для обработки больших данных

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 02.04.2019
Размер файла 53,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Моделирование приложений для обработки больших данных

Полежаев П.Н., Бахарева Н.Ф., д.т.н., проф., Шухман А.Е., к.п.н., доцент, Ушаков Ю.А., к.т.н., доцент, Легашев Л.В.

ФГБОУ ВО «Оренбургский государственный университет», г. Оренбург

В настоящее время большие данные (big data) [1] находят применение в различных сферах деятельности человека, включая анализ сетевого трафика, журналов работы компонентов компьютерных инфраструктур, транзакций в банковской сфере (поиск мошеннических операций), а также в медицинской (ДНК, снимки томографии пациентов), экономической и картографической информации. Все больше крупных и средних компаний разрабатывают приложения для обработки больших данных, позволяющих повысить эффективность бизнес-процессов и получить дополнительную прибыль. Для обработки больших данных нередко применяют технологии облачных вычислений (cloud computing), в частности, возможно использование услуг одного или нескольких провайдеров публичных облачных услуг IaaS (Infrastructure as a Service). Виртуальные машины и сети могут быть использованы для развертывания отказоустойчивой масштабируемой инфраструктуры по обработке больших данных с гибкой системой оплаты (pay-as-you-go).

Каждое приложение (задача) для обработки больших данных, отправляемое в вычислительный сервис (Computations as a Service), может быть формализовано в виде следующего вектора:

облачный вычисление обработка данные

где - множество заданий приложения, которые выполняются последовательно, например, последовательные запросы к источникам данных или несколько последовательных Map-Reduce преобразований; - конкретные источники входных данных и хранилища для сохранения результатов вычислений (файлы из распределенной файловой системы, например, HDFS - Hadoop Distributed File System [2]), данные из хранилища BLOBS (Binary Large Objects), из реляционной или NoSQL базы данных); - пользователь-владелец задачи, - максимальное время исполнения, заданное пользователем задачи.

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

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

Вычислительная стадия формализуется в виде кортежа следующего вида:

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

Предложенный подход позволяет моделировать Map-Reduce приложения [3], в этом случае вычислительные стадии могут быть представлены в виде множества из двух стадий:

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

Также предложенная модель позволяет учитывать обработку данных (выполнение трансформаций и действий) над наборами RDD (Resilient Distributed Dataset) в библиотеке Spark [4]. В этом случае, может включать в себя типовые трансформации, например: map (отображение), reduce (редукцию), filter (фильтрация), groupByKey (группировка), union (объединение), join (соединение), sortByKey (сортировка) и др.

Данная модель также может учитывать динамическую составляющую выполнения приложений, в частности, может собираться статистика их выполнения на различных уровнях (с помощью стандартных инструментов Hadoop или Spark).

На уровне всего приложения , задания и вычислительной стадии :

а) , , - реальное время выполнения;

б) , , - средняя загрузка вычислительных ядер;

в) , , - пиковый размер суммарной потребляемой оперативной памяти за все время выполнения приложения;

г) , , - пиковый размер суммарной потребляемой дисковой памяти за все время выполнения приложения;

д) , , и , , - соответственно суммарные объемы входных и выходных данных.

Знание данных значений имеет большое значения для:

а) алгоритмов планирования выполнения облачных приложений - подбор наиболее подходящих по ресурсам виртуальных машин для выполнения вычислительных задач отдельных стадий, уменьшения окон в расписании за счет более реальных оценок времени выполнения приложений и их компонентов;

б) алгоритмов масштабирования вычислительных ресурсов - для запуска новых виртуальных машин при возрастании нагрузки на вычислительный пул и остановки части машин - при ее снижении.

Далее рассмотрим подходы к прогнозированию данных значений.

Для уровня всего приложения обозначим вектор прогнозируемых значений:

. (1)

Прогнозирование будет осуществляться на основе следующих параметров, собираемых для :

а) - имя исполняемого файла приложения;

б) - имя пользователя, запускающего приложение;

в) - время поступления задачи в очередь;

г) - размер входных данных;

д) - вектор признаков ресурсов (виртуальных машин), используемых для выполнения приложения. Здесь - количество виртуальных машин -го типа конфигурации.

Обозначим вектор данных признаков в виде .

Возникает задача построения модели машинного обучения , которая способна предсказывать по :

Это задача регрессии. Для построения данной модели необходимо подготовить набор обучающих размеченных данных (обучение с учителем):

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

Для решения данной задачи могут быть использованы:

а) глубокие нейронные сети - Deep Neural Networks;

б) метод опорных векторов - Support Vector Regression;

в) логистическая регрессия - Logistic Regression;

г) решающие деревья - Decision Tree Regression;

д) бустинг деревьев - Tree Boosting;

в) ансамблевые варианты, комбинирующие результаты данных методов.

При недостаточном размере набора или его неполноте (запускается совершенно новая задача), могут быть использованы эвристики для получения первичных оценок сверху для прогнозируемых параметров.

На уровне задания прогнозирование может осуществляться с помощью системы массового обслуживания, которая может быть реализована на базе дискретного событийно-управляемого симулятора :

, (2)

где - вектор прогнозируемых значений, аналогичный вектору (см. формулу (1)).

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

Кроме того, данный симулятор может быть модифицирован для прогнозирования значений, на уровне приложения, поэтому формула (2) может быть уточнена следующим образом:

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

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

На следующем этапе исследования планируется провести сравнение эффективности работы предложенных методов прогнозирования параметров на разных уровне с использованием реально собранных данных. При этом для моделей машинного обучения должна использоваться техника кросс-валидации (cross validation). Также предполагается подстройка гиперпараметров моделей машинного обучения за счет использования алгоритма grid search.

Достоинства предложенной модели приложений для обработки больших данных:

а) учет параллелизма на уровне заданий и отдельных стадий;

б) совмещение параллелизма по задачам (на уровне приложения - последовательное выполнение заданий, на уровне задания - ориентированный ацикличный граф стадий) и по данным (в задачах на уровне отдельной стадии);

в) возможность моделировать современные приложения для обработки больших данных, включая Map-Reduce (приложения Hadoop) и Spark;

г) возможность учитывать не только структурные, но и динамические параметры приложений.

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

Размещено на Allbest.ru


Подобные документы

  • Обработка текстовых данных, хранящихся в файле. Задачи и алгоритмы обработки больших массивов действительных и натуральных чисел. Практические задачи по алгоритмам обработки данных. Решение задачи о пяти ферзях. Программа, которая реализует сортировку Шел

    курсовая работа [29,2 K], добавлен 09.02.2011

  • История и факторы развития облачных вычислений. Роль виртуализации в развитии облачных технологий. Модели обслуживания и принципы работы облачных сервисов. Преимущества облака для Интернет-стартапов. Применение технологии облачных вычислений в бизнесе.

    реферат [56,6 K], добавлен 18.03.2015

  • Общие сведения о компьютерном математическом моделировании. Принцип построения и функционирования распределенных систем. Технологии объектного связывания данных. Механизм изоляции транзакций и преодоления ситуаций несогласованной обработки данных.

    курсовая работа [92,5 K], добавлен 13.12.2014

  • Проблемы, связанные с продуктивным распределением и систематизированием больших потоков информации. Основные виды распределенных баз данных, анализ процессов их функционирования. Стратегии распределения данных. Распределение сетевого справочника данных.

    курсовая работа [397,5 K], добавлен 09.08.2015

  • Технологии обработки экономической информации в среде ТП MS Excel. Работа в среде СКМ Maple. Технологии обработки данных в среде СУБД MS Access и анализ языка запросов SQL как средства расширения возможностей СУБД. Разработка отчетов в СУБД Access.

    контрольная работа [1,5 M], добавлен 04.04.2012

  • Разработка реляционных баз данных. Обслуживание и применение сервисных средств. Применение языков запросов для создания приложений. Базы данных в корпоративных сетях. Автоматизация работы с базой данных. Объединение компонентов в единое приложение.

    методичка [430,2 K], добавлен 22.11.2008

  • Анализ существующих технологий создания web-приложений. Разработка сетевой технологии публикации и обработки информации о детях в детском саде №176 "Белочка" с помощью JSP-страниц и сервлетов с использованием JDBC-драйвера для доступа к базе данных.

    курсовая работа [3,8 M], добавлен 18.12.2011

  • Преимущества распределенных система обработки данных. Классификация интегрированных технологий. Модели реализации технологии "клиент-сервер". Мониторы обработки транзакций. Глобальные вычислительные и информационные сети. Виды доступа к глобальным сетям.

    презентация [2,1 M], добавлен 20.11.2013

  • Разработка программы на языке Си++ и осуществление постановки и выбора алгоритмов решения задач обработки экономической информации, создание и редактирование базы данных, сортировка записей по определенному запросу, анализ эффективности обработки данных.

    контрольная работа [316,8 K], добавлен 28.08.2012

  • Требования и структура систем обработки экономической информации. Технология обработки информации и обслуживание системы, защита информации. Процесс создания запросов, форм, отчетов, макросов и модулей. Средства организации баз данных и работы с ними.

    курсовая работа [2,7 M], добавлен 25.04.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.