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

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

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

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

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

Размещено на 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;

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

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

Работа выполнена при поддержке РФФИ (проекты №18-07-01446 и № 18-37-00460).

Список литературы

1 Большие данные (Big Data) [Электронный ресурс] / TADVISER, 2017. - Режим доступа: http://www.tadviser.ru/index.php/Статья:Большие_данные_(Big_Data)

2 HDFS Architecture Guide [Электронный ресурс] / The Apache Software Foundation, 2018. - Режим доступа: https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html

3 Apache Hadoop [Электронный ресурс] / The Apache Software Foundation, 2018. - Режим доступа: view-source:https://hadoop.apache.org/

4 RDD Programming Guide [Электронный ресурс] / The Apache Software Foundation, 2018. - Режим доступа: https://spark.apache.org/docs/latest/rdd-programming-guide.html#basics

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

...

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

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

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

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

    дипломная работа [68,7 K], добавлен 04.08.2016

  • Определение базы данных и банков данных. Компоненты банка данных. Основные требования к технологии интегрированного хранения и обработки данных. Система управления и модели организации доступа к базам данных. Разработка приложений и администрирование.

    презентация [17,1 K], добавлен 19.08.2013

  • Общая характеристика операционных систем и приложений Windows. Разделение ресурсов, работа с окнами, назначение диска, видов памяти, системы сохранения и передачи данных. История возникновения приложений, их виды и особенности, порядок написания.

    курс лекций [321,0 K], добавлен 24.06.2009

  • Преимущество построения Web-приложений для поддержки стандартных функций браузера. Настройка проекта Web-приложения. Создание и изменение исходных файлов. Изменение файла JavaServer Pages по умолчанию. Основные проблемы при выполнении Web-приложений.

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

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

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

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

    реферат [25,3 K], добавлен 16.06.2013

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

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

  • Проектирование системы управления базами данных. Особенности реализации в MS SQL. Разработка пользовательского интерфейса. Тестирование и отладка приложения. Руководство пользователя и системного администратора. Анализ и методы разработки приложений.

    курсовая работа [867,9 K], добавлен 16.07.2013

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

    дипломная работа [645,3 K], добавлен 21.11.2010

  • Возможности создания MDI-приложений, их преимущества. Основные приемы работы с записью информации в файл, экспорт данных в приложения Microsoft Office с помощью использование технологии OLE, на примере MS Excel интегрированного пакета MS Office.

    лабораторная работа [1,2 M], добавлен 05.10.2010

  • Основы создания мидлетов (midlet) - MIDP приложений для мобильных устройств на языке Java. Особенности устройств, для которых мидлеты предназначены. Библиотеки javax.microedition. Практические примеры создания MIDP приложений для телефона и их запуск.

    методичка [25,9 K], добавлен 30.06.2009

  • Разработка веб-приложений на основе Servlet API. Основные способы передачи данных от пользователя. Краткая справка по необходимым программным компонентам. Составление программы интернет-чата на основе протокола HTTP. Диаграмма классов веб-приложения.

    лабораторная работа [1,1 M], добавлен 01.05.2014

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

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

  • Вопросы программирования в Maple версий 6-11 и разработка приложений. Рассматривает эффективные приемы программирования и разработки приложений для многих разделов техники, математики, физики, для решения которых пакет не имеет стандартных средств.

    монография [4,8 M], добавлен 13.03.2008

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

    отчет по практике [52,6 K], добавлен 30.09.2009

  • Функции технологии Ajax разработки Web-приложений: выполнение HTTP-запросов в клиентской части и анализ ответа XML-сервера. Создание данных объекта XMLHttpRequest для разных браузеров. Обработка с помощью сервлета. Функциональность задач в Ajax.

    лабораторная работа [54,8 K], добавлен 06.06.2009

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

    дипломная работа [2,8 M], добавлен 25.01.2013

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

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

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

    дипломная работа [1,9 M], добавлен 12.02.2018

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