Разница между BOINC и Hadoop/Spark/ и т. Д.

В чем разница между BOINC https://en.wikipedia.org/wiki/Berkeley_Open_Infrastructure_for_Network_Computing

против генерала Hadoop/Spark/ и т. д. структура больших данных? Все они, похоже, являются распределенными вычислительными средами - есть ли места, где я могу прочитать о различиях или BOINC в частности?

Кажется, большой адронный коллайдер в ЕС использует BOINC, почему бы не Hadoop?

Благодарю.

2 ответа

Решение

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

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

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

Ядро Apache Hadoop состоит из части хранения, известной как распределенная файловая система Hadoop (HDFS), и части обработки, называемой MapReduce.

(акцент добавлен к фреймворку и его двойной функциональности)

Здесь вы видите, что Hadoop - это фреймворк (также называемый экосистемой), который имеет как хранилища, так и вычислительные возможности. Поставщики Hadoop, такие как Cloudera и Hortonworks, объединяют в себе дополнительные функциональные возможности (Hive, Hbase, Pig, Spark и т. Д.), А также несколько инструментов безопасности / аудита.

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

Кажется, большой адронный коллайдер в ЕС использует BOINC, почему бы не Hadoop?

Поскольку BOINC предоставляет программное обеспечение, которое любой человек в мире может установить для присоединения к кластеру, они получают большой объем вычислительной мощности практически из любой точки мира практически бесплатно.

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

То, что сходно между BOINC и Hadoop, заключается в том, что они используют, что большая проблема может быть решена во многих частях. И то, и другое больше всего связано с распределением данных по многим компьютерам, а не приложением.

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

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

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

Другие вопросы по тегам