Задайте параллельную среду выполнения для mapreduce и длинных массивов
mapreducer
mapreducer(0)
mapreducer(poolobj)
mapreducer(hadoopCluster)
mapreducer(mr)
mr = mapreducer(___)
mr = mapreducer(___,'ObjectVisibility','Off')
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.
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
является параллелью. Объект 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