Рубрики

MPI — распределенные вычисления стали проще

Основная проблема

Чтобы упростить ситуацию, давайте сразу перейдем к некоторой статистике:

  • Facebook, в настоящее время, имеет 1,5 миллиарда активных ежемесячных пользователей.
  • Google выполняет не менее 1 триллиона поисковых запросов в год.
  • Около 48 часов видео загружается в Youtube каждую минуту.

При таком высоком спросе я считаю, что одна система не сможет справиться с обработкой. Таким образом, возникает необходимость в распределенных системах.

Что такое распределенные вычисления?

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

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

Преимущества распределенных вычислений?

  • Очень эффективным
  • Масштабируемость
  • Менее терпимы к неудачам
  • Высокая доступность

Давайте посмотрим на пример, где мы экономим вычислительное время с помощью распределенных вычислений.

Например, Если у нас есть массив a , имеющий n элементов, a = [1, 2, 3, 4, 5, 6]

Мы хотим суммировать все элементы массива и вывести его. Теперь предположим, что в массиве 10 20 элементов и время для вычисления суммы равно x.

Если теперь мы разделим массив на 3 части, a1 , a2 и a3 где

a1 = {Набор элементов, где по модулю (элемент из a) == 0}

a2 = {Набор элементов, где по модулю (элемент из a) == 1}

a3 = {Набор элементов, где по модулю (элемент из a) == 2}

Мы отправим эти 3 массива в 3 различных процесса для вычисления суммы этих отдельных процессов. В среднем, давайте предположим, что каждый массив имеет n / 3 элемента . Таким образом, время, затрачиваемое каждым процессом, также уменьшается до х / 3 . Поскольку эти процессы будут выполняться параллельно, три «x / 3» будут вычислены одновременно, и сумма каждого массива будет возвращена основному процессу. В конце мы можем вычислить окончательную сумму a, суммируя индивидуальную сумму массивов: a1, a2 и a3 .

Таким образом, мы можем сократить время с x до x / 3 , если одновременно выполняем обработку.

Что такое MPI?

Интерфейс передачи сообщений (MPI) — это стандартизированная и портативная система передачи сообщений, разработанная для распределенных и параллельных вычислений. MPI предоставляет поставщикам параллельного оборудования четко определенный базовый набор процедур, которые могут быть эффективно реализованы. В результате поставщики оборудования могут использовать этот набор стандартных низкоуровневых подпрограмм для создания высокоуровневых подпрограмм для среды связи с распределенной памятью, поставляемой с их параллельными компьютерами.

MPI дает пользователю гибкость вызова набора подпрограмм из C, C ++, Fortran, C #, Java или Python. Преимущества MPI по сравнению со старыми библиотеками передачи сообщений — это переносимость (поскольку MPI реализован практически для каждой архитектуры распределенной памяти) и скорость (поскольку каждая реализация в принципе оптимизирована для оборудования, на котором она работает)

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

Несмотря на то, что есть варианты, доступные для нескольких языков, Python является наиболее предпочтительным из-за простоты, простоты написания кода. Итак, теперь мы рассмотрим, как установить MPI на Ubuntu 14.10.

Установите MPI на Ubuntu

1) Шаг № 1: Скопируйте следующую строку кода в свой терминал, чтобы установить NumPy, пакет для всех научных вычислений в python.

 sudo apt-get установить python-numpy 

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

                           sudo apt-get update
                           sudo apt-get -y install python-pip

3) Теперь мы скачаем документацию для последней версии MPI.

 sudo apt-get установить libcr-dev mpich2 mpich2-doc 

4) Введите команду для загрузки MPI, используя pip для python

 sudo pip установить mpi4py 

MPI успешно установлен.

Иногда при очистке пакетов после установки MPI может возникать проблема из-за отсутствия инструментов разработки в python. Вы можете установить их, используя следующую команду:

 sudo apt-get установить python-dev 

MPI на Windows / MAC

Для пользователей Windows / MAC они могут перейти по следующей ссылке, скачать ZIP-файл, распаковать и выполнить его:

Структура MPI

Рекомендуемые посты:

MPI — распределенные вычисления стали проще

0.00 (0%) 0 votes