Совсем недавно на одном из саммитов Microsoft была представлена очень интересная и интригующая своим предназначением технология под названием проект Daytona. В двух словах проект Daytona представляет собой MapReduce движок, созданный специально под платформу Windows Azure. Технология может использоваться для широкого круга задач, связанных с анализом данных и алгоритмами машинного обучения. Кроме того заявляется, что Daytona чрезвычайно масштабируется и умеет функционировать на большом количестве одновременно работающих серверов. В основном этот фреймворк будет интересен проектам, которые оперируют большими объемами данных. Например, это могут быть проекты связанные с медициной, образованием и т.д.
При помощи данного фреймворка можно было бы значительно упростить и ускорить процесс нахождения закономерностей в большом количестве данных.
Одним из ограничений текущей версии фреймворка является то, что он запускается только в условии Windows Azure. Для того, чтобы развернуть свое решение на базе проекта Daytona нам необходимо выполнить следующую последовательность шагов :
В скачиваемом пакете также присутствуют инструкции по загрузке среды выполнения Daytona в облако. При этом у нас есть возможность настроить количество виртуальных машин, сконфигурировать аккаунт хранилища, где будут накапливаться результаты функционирования алгоритма, а также средства для тестирования работоспособности системы в условиях Windows Azure.
Дальше уже полноценно в игру вступает сама среда Daytona, которая в первую очередь деплоит свой клон на все виртуальные машины после чего подразделяет данные на маленькие порции для того, чтобы они могли быть обработаны параллельно (это собственно и есть map-функция). По завершению среда комбинирует полученные результаты в готовое решение и сохраняет его в хранилище блобов (reduce-функция). Как я уже говорил среда спроектирована для функционирования в условиях Windows Azure, поэтому она на полную мощность использует потенциал этой платформы. Хранилище данных также выбрано не случайно. Все дело в том, что блобы соответствуют всем основным требованиям параллельных вычислений таким как поддержка параллельных чтений, автоматическое сохранение и репликация. В конце концов данный фреймворк чрезвычайно оптимален для большинства задач, требующих значительной аналитики данных. Он поддерживает циклические вычисления; присутствуют механизмы повышающие отказоустойчивость системы, а также нативный программный интерфейс для взаимодействия со средой.
На данный момент проект Daytona находится в стадии RTP (Research Technology Preview). Будем надеяться, что эта технология все также будет активно развиваться так как заявленная функциональность думаю является очень востребованной на рынке.
При помощи данного фреймворка можно было бы значительно упростить и ускорить процесс нахождения закономерностей в большом количестве данных.
Одним из ограничений текущей версии фреймворка является то, что он запускается только в условии Windows Azure. Для того, чтобы развернуть свое решение на базе проекта Daytona нам необходимо выполнить следующую последовательность шагов :
На первом шаге мы при помощи фреймворка Daytona разрабатываем сам алгоритм анализа. Сам алгоритм должен быть выполнен как последовательность Map и Reduce задач. Следует отметить, что в пакете Daytona (который кстати можно скачать по этому адресу http://research.microsoft.com/en-us/downloads/cecba376-3d3f-4eaf-bf01-20983857c2b1/default.aspx) уже присутствуют примеры разработки таких алгоритмов, а также пошаговые инструкции для разработчиков по разработке новых решений и интеграции с проектом Daytona готовых решений.
На втором шаге нам необходимо загрузить наши данные в хранилище. На данный момент в качестве основного источника данных для проекта Daytona используется хранилище блобов (Azure Blob Storage). В скачиваемом пакете также присутствуют инструкции по загрузке среды выполнения Daytona в облако. При этом у нас есть возможность настроить количество виртуальных машин, сконфигурировать аккаунт хранилища, где будут накапливаться результаты функционирования алгоритма, а также средства для тестирования работоспособности системы в условиях Windows Azure.
Дальше уже полноценно в игру вступает сама среда Daytona, которая в первую очередь деплоит свой клон на все виртуальные машины после чего подразделяет данные на маленькие порции для того, чтобы они могли быть обработаны параллельно (это собственно и есть map-функция). По завершению среда комбинирует полученные результаты в готовое решение и сохраняет его в хранилище блобов (reduce-функция). Как я уже говорил среда спроектирована для функционирования в условиях Windows Azure, поэтому она на полную мощность использует потенциал этой платформы. Хранилище данных также выбрано не случайно. Все дело в том, что блобы соответствуют всем основным требованиям параллельных вычислений таким как поддержка параллельных чтений, автоматическое сохранение и репликация. В конце концов данный фреймворк чрезвычайно оптимален для большинства задач, требующих значительной аналитики данных. Он поддерживает циклические вычисления; присутствуют механизмы повышающие отказоустойчивость системы, а также нативный программный интерфейс для взаимодействия со средой.
На данный момент проект Daytona находится в стадии RTP (Research Technology Preview). Будем надеяться, что эта технология все также будет активно развиваться так как заявленная функциональность думаю является очень востребованной на рынке.
Комментариев нет:
Отправить комментарий