В чем разница между облачными и грид-вычислениями?

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

Как Windows Azure - это облачная ОС, есть ли у нас что-то подобное для Grid Computing?

В прошлом я занимался распределенными и параллельными вычислениями и использовал библиотеки, такие как PVM и MPI, для обработки распределения. Из любопытства я хотел узнать, распространяется ли Grid Computing через Интернет?

8 ответов

Решение

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

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

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

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

Облако обычно использует сетку. Сетка не обязательно является облаком или частью облака.

Статьи Википедии: Грид-компьютинг, Облачные вычисления.

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

Сетка в основном бесплатна для научных исследований и т. Д.

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

Облако не бесплатно. Это услуга, предоставляемая различными поставщиками услуг, и они взимают плату в соответствии с вашей работой.

Я бы сказал, что основное отличие заключается в следующем:

Сетки используются в качестве платформы для вычислений / хранения.

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

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

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

Облако: установите диаметр шарика, материал из заранее заданных типов, высоту, с которой шарик падает, и т. Д. И запросите результаты

Я бы сказал, что если бы вы создали ОС для грид, вы бы фактически создали облачную ОС.

Вы должны действительно прочитать Википедию для глубокого понимания. Короче говоря, облачные вычисления означают, что вы разрабатываете / запускаете свое программное обеспечение удаленно на удаленной платформе. Это может быть использование удаленной виртуальной инфраструктуры (amazon EC2), удаленной платформы (механизм приложений Google) или удаленного приложения (force.com или gmail.com).

Грид-вычисления подразумевают использование множества физических устройств для выполнения вычислений (в широком смысле), как если бы это было одно оборудование. Это означает, что вы можете запускать приложение на нескольких разных машинах одновременно.

не очень точно, но достаточно, чтобы начать.

На этот вопрос уже есть много хороших ответов, но еще один способ взглянуть на него - это облако (ала Amazon AWS), которое хорошо подходит для интерактивных сценариев использования, а сетка (аля High Performance Computing) хороша для случаев пакетного использования.

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

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

Есть хорошие варианты использования для обоих стилей вычислений.

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

Облачные вычисления предоставляют услуги через Интернет через несколько серверов, использующих виртуализацию. В облачных вычислениях вы можете предоставлять услуги трех типов: Iaas, Paas, Saas . Это даст вам решение, если у вас нет ресурсов на короткое время для бизнес-услуг через Интернет.

Облачные вычисления - это большая группа взаимосвязанных компьютеров. Данные скрыты от пользователя. Грид-вычисления - это несколько компьютеров, связанных для решения проблемы. Грид-вычисления работают в облачных вычислениях.

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