Дриада (программирование)
Оригинальный автор(ы) | Microsoft Исследования |
---|---|
Разработчик(и) | Майкрософт |
Стабильная версия | v0.2.1 / 7 октября 2014 г |
Репозиторий | github |
Написано в | С# , С++ , С |
Операционная система | Microsoft Windows |
Платформа | .NET Framework |
Тип | Программная среда |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | www |
Dryad — это исследовательский проект Microsoft Research, посвященный среде выполнения общего назначения для выполнения приложений с параллельным использованием данных . Исследовательские прототипы фреймворков параллельной обработки данных Dryad и DryadLINQ доступны в исходном виде на GitHub . [1]
Обзор [ править ]
Microsoft сделала несколько предварительных выпусков этой технологии доступными в качестве надстроек к Windows HPC Server 2008 R2 .
Приложение, написанное для Dryad, моделируется как ориентированный ациклический граф (DAG). Группа обеспечения доступности баз данных определяет поток данных приложения, а вершины графа определяют операции, которые необходимо выполнить с данными. «Вычислительные вершины» записываются с использованием последовательных конструкций, лишенных какой-либо семантики параллелизма или взаимного исключения . Среда выполнения Dryad распараллеливает граф потока данных, распределяя вычислительные вершины по различным механизмам выполнения (которые могут представлять собой несколько процессорных ядер на одном компьютере или разные физические компьютеры, соединенные сетью, как в кластере ). Планирование вычислительных вершин на доступном оборудовании осуществляется средой выполнения Dryad без какого-либо явного вмешательства со стороны разработчика приложения или администратора сети. Поток данных между одной вычислительной вершиной к другой реализуется с помощью «каналов» связи между вершинами, что в физической реализации реализуется потоками TCP/IP . общая память или временные файлы . Поток используется во время выполнения для транспортировки конечного числа структурированных элементов .
Dryad определяет предметно-ориентированный язык , который реализуется через библиотеку C++ и используется для создания и моделирования графа выполнения Dryad. Вычислительные вершины записываются с использованием стандартных конструкций C++. Чтобы сделать их доступными для среды выполнения Dryad, они должны быть инкапсулированы в класс , который наследуется от класса. GraphNode
базовый класс. Граф определяется добавлением ребер; ребра добавляются с помощью оператора композиции (определенного Dryad), который соединяет два графа (или два узла графа) с ребром. оболочки управляемого кода для Dryad API Также можно написать .
Существует несколько компиляторов языков высокого уровня, которые используют Dryad в качестве среды выполнения; примеры включают Scope (структурированные вычисления, оптимизированные для параллельного выполнения) и DryadLINQ. [2]
В октябре 2011 года Microsoft прекратила активную разработку Dryad, переключив внимание на платформу Apache Hadoop . [3] [4] [5]
Ссылки [ править ]
- ^ GitHub — MicrosoftResearch/Dryad: это исследовательский прототип инфраструктур параллельной обработки данных Dryad и DryadLINQ, работающих на Hadoop YARN.
- ^ «DryadLINQ: система для распределенных параллельных вычислений общего назначения с использованием языка высокого уровня» (PDF) . Исследования Майкрософт . Проверено 21 января 2009 г.
- ^ Пэти, Дон. «Анонсируем выпуск планировщика Windows Azure HPC и пакета обновления 3 для пакета HPC 2008 R2!» . Майкрософт . Проверено 31 мая 2013 г.
- ^ Фоли, Мэри Джо. «Microsoft отказывается от Dryad и делает ставку на большие данные на Hadoop» . ЗДНет . Проверено 31 мая 2013 г.
- ^ Хеншен, Дуг. «Microsoft отказывается от Dryad и фокусируется на Hadoop» . Информационная неделя . Проверено 31 мая 2013 г.
Дальнейшее чтение [ править ]
- «Дриада: распределенные программы с параллельными данными из последовательных строительных блоков» (PDF) . Исследования Майкрософт . Проверено 4 декабря 2007 г.
- «ОБЛАСТЬ ПРИМЕНЕНИЯ: Простая и эффективная параллельная обработка больших наборов данных» (PDF) . Исследования Майкрософт . Проверено 21 января 2009 г.