Задайте параллельную среду выполнения для mapreduce и длинных массивов
mapreducer
задает среду выполнения для mapreduce
или длинные массивы. Используйте mapreducer
функционируйте, чтобы изменить среду выполнения, чтобы использовать различный кластер или переключиться между последовательной и параллельной разработкой.
Среда выполнения по умолчанию использует или локальный сеанс MATLAB® или параллельный пул, если у вас есть Parallel Computing Toolbox™. Если вам установили Parallel Computing Toolbox, когда вы используете tall
или mapreduce
функции, MATLAB автоматически запускает параллельный пул рабочих, если вы не изменили настройки по умолчанию. По умолчанию параллельный пул использует локальных рабочих, обычно одного рабочего для каждого ядра в вашей машине. Если вы выключаете опцию Automatically create a parallel pool, то необходимо явным образом запустить пул, если вы хотите использовать параллельные ресурсы. Смотрите Задают Ваши Параллельные Настройки.
При работе с длинными массивами использовать mapreducer
установить среду выполнения до создания длинного массива. Длинные массивы связаны с текущей глобальной средой выполнения, когда они создаются. Если вы впоследствии изменяете глобальную среду выполнения, то длинный массив недопустим, и необходимо воссоздать его.
Примечание
В MATLAB вы не должны задавать использование параметров конфигурации mapreducer
потому что mapreduce
алгоритмы и вычисления длинного массива, автоматически выполненные в локальном сеансе работы с MATLAB только. Если у вас также есть Parallel Computing Toolbox, то можно использовать дополнительное mapreducer
параметры конфигурации, перечисленные на этой странице для выполнения параллельно. Если у вас есть MATLAB Compiler™, то можно использовать отдельный mapreducer
параметры конфигурации для выполнения в развернутых средах.
См.: mapreducer
в документации MATLAB, или mapreducer
(MATLAB Compiler) в документации MATLAB Compiler.
mapreducer
без входных параметров создает новое mapreducer
среда выполнения со всеми значениями по умолчанию и наборами это, чтобы быть током mapreduce
или среда выполнения длинного массива. Можно использовать gcmr
получить текущую mapreducer настройку.
Если у вас есть настройки по умолчанию (Automatically create a parallel pool включен), и вы не открыли параллельный пул, то mapreducer
открывает пул с помощью кластерного профиля по умолчанию, наборов gcmr
к mapreducer на основе этого пула и возвращает этот mapreducer.
Если вы открыли параллельный пул, то mapreducer
наборы gcmr
к mapreducer на основе текущего пула и возвращает этот mapreducer.
Если вы отключили Automatically create a parallel pool, и вы не открыли параллельный пул, то mapreducer
наборы gcmr
к mapreducer на основе локального сеанса работы с MATLAB, и mapreducer
возвращает этот mapreducer.
mapreducer(0)
задает тот mapreduce
или tall
вычисления массивов, выполненные на клиентском сеансе MATLAB, не используя параллельных ресурсов.
mapreducer(
задает параллельный пул для параллельного выполнения poolobj
)mapreduce
или длинные массивы. poolobj
parallel.Pool
объект. Пул по умолчанию является текущим пулом, который возвращен или открыт gcp
.
mapreducer(
задает кластер Hadoop® для параллельного выполнения hadoopCluster
)mapreduce
или длинные массивы. hadoopCluster
parallel.cluster.Hadoop
объект.
mapreducer(
устанавливает глобальную среду выполнения для mr
)mapreduce
или длинные массивы, с помощью ранее созданного объекта MapReducer, mr
, если его ObjectVisibility
свойством является 'On'
.
возвращает объект MapReducer задать среду выполнения. Можно задать несколько объектов MapReducer, который позволяет вам подкачать среды выполнения путем передачи один как входной параметр к mr
= mapreducer(___)mapreduce
или mapreducer
.
скрывает видимость объекта MapReducer, mr
= mapreducer(___,'ObjectVisibility','Off')mr
, использование любого из предыдущих синтаксисов. Используйте этот синтаксис, чтобы создать новые объекты MapReducer, не влияя на глобальную среду выполнения mapreduce
.
Если вы хотите разработать в сериале и не использовать локальных рабочих или ваш заданный кластер, введите:
mapreducer(0);
mapreducer
чтобы изменить среду выполнения после создания длинного массива, затем длинный массив недопустим, и необходимо воссоздать его. Использовать локальных рабочих или ваш заданный кластер снова, введите:mapreducer(gcp);
mapreducer
с выключенным Automatically Create a Parallel Pool Если вы выключили опцию Automatically create a parallel pool, то необходимо явным образом запустить пул, если вы хотите использовать параллельные ресурсы. Смотрите Задают Ваши Параллельные Настройки для деталей.
Следующий код показывает, как можно использовать mapreducer
без входных параметров, чтобы установить среду выполнения на ваш локальный сеанс работы с MATLAB и затем задать локальный параллельный пул:
>> mapreducer
>> parpool('local',1);
Starting parallel pool (parpool) using the 'local' profile ... connected to 1 workers.
>> gather(min(tall(rand(1000,1))))
Evaluating tall expression using the Local MATLAB Session: Evaluation completed in 0 sec ans = 5.2238e-04
Одно из преимуществ разработки ваших алгоритмов с длинными массивами - то, что только необходимо записать код однажды. Можно разработать код локально, затем использовать mapreducer
масштабировать и использовать в своих интересах возможности, предлагаемые Parallel Computing Toolbox, MATLAB Parallel Server™ или MATLAB Compiler, не будучи должен переписать ваш алгоритм.
gcmr
| gcp
| mapreduce
| parallel.cluster.Hadoop
| tall