exponenta event banner

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

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

Основные причины рассмотрения параллельных вычислений:

  • Экономьте время, распределяя задачи и выполняя их одновременно

  • Решение проблем больших данных путем распределения данных

  • Воспользуйтесь преимуществами ресурсов настольных компьютеров и расширьте возможности до кластеров и облачных вычислений

С помощью Parallel Computing Toolbox™ можно

  • Ускорение кода с помощью интерактивных параллельных вычислительных средств, таких как parfor и parfeval

  • Масштабирование вычислений с помощью интерактивных инструментов обработки больших данных, таких как distributed, tall, datastore, и mapreduce

  • Использовать gpuArray для ускорения вычислений на графическом процессоре компьютера

  • Использовать batch разгрузка вычислений в кластеры компьютеров или облачные вычислительные системы

Ниже приведены некоторые полезные концепции параллельных вычислений.

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

  • Поток: наименьший набор команд, которые могут управляться независимо планировщиком. В GPU, многопроцессорной или многоядерной системе одновременно может выполняться несколько потоков (многопоточность)

  • Пакет: выполнение вне загрузки функционального сценария для запуска в фоновом режиме

  • Масштабируемость: увеличение параллельного ускорения с добавлением большего количества ресурсов

Какие инструменты предлагают MATLAB ® и Parallel Computing Toolbox?

  • MATLAB рабочие: MATLAB вычислительные механизмы, которые работают в фоновом режиме без графического рабочего стола. Функции панели инструментов параллельных вычислений используются для автоматического разделения задач и назначения их этим работникам для параллельного выполнения вычислений. Можно запустить локальных работников, чтобы воспользоваться преимуществами всех ядер многоядерного настольного компьютера. Можно также выполнить масштабирование для запуска сотрудников на кластере машин с помощью параллельного Server™ MATLAB. Сеанс MATLAB, с которым вы взаимодействуете, называется клиентом MATLAB. Клиент инструктирует работников параллельными языковыми функциями.

  • Параллельный пул: параллельный пул работников MATLAB, созданный с помощью parpool или функции с автоматической параллельной поддержкой. По умолчанию при необходимости функции параллельного языка автоматически создают параллельный пул. Дополнительные сведения см. в разделе Запуск кода для параллельных пулов.

    Для локального профиля по умолчанию количество работников составляет один на ядро физического ЦП с использованием одного вычислительного потока. Это происходит потому, что, хотя каждое физическое ядро может иметь несколько виртуальных ядер, виртуальные ядра совместно используют некоторые ресурсы, обычно включая совместно используемый блок с плавающей запятой (FPU). Большинство вычислений MATLAB используют эту единицу, поскольку они представляют собой плавающую точку с двойной точностью. Ограничение до одного работника на физическое ядро гарантирует, что каждый работник имеет эксклюзивный доступ к блоку с плавающей запятой, что обычно оптимизирует производительность вычислительного кода. Например, если ваш код не требует больших вычислительных затрат, он требует больших затрат на ввод-вывод (I/O), рассмотрите возможность использования до двух рабочих на каждое физическое ядро. Работа слишком большого числа сотрудников на слишком небольшом количестве ресурсов может повлиять на производительность и стабильность компьютера.

  • Ускорение: Ускорьте код, запустив несколько рабочих MATLAB или графических процессоров, например, используя parfor, parfeval, или gpuArray.

  • Масштабирование данных: разбиение больших данных на несколько работников MATLAB с использованием больших массивов и распределенных массивов. Дополнительные сведения см. в разделе Обработка больших данных.

  • Асинхронная обработка: Использование parfeval выполнение вычислительной задачи в фоновом режиме без ожидания ее завершения.

  • Масштабирование до кластеров и облаков. Если вычислительная задача слишком большая или слишком медленная для локального компьютера, можно выгрузить вычисления в кластер на месте или в облаке с помощью MATLAB Parallel Server. Дополнительные сведения см. в разделе Кластеры и облака.

Связанные темы