Задайте окружение параллельного выполнения для mapreduce и длинные массивы
mapreducer
задает окружение выполнения для mapreduce
или длинные массивы. Используйте mapreducer
функция для изменения окружения выполнения, чтобы использовать другой кластер или переключаться между последовательной и параллельной разработками.
В окружение выполнения по умолчанию используется либо локальный MATLAB® сеанс или параллельный пул, если у вас есть Parallel Computing Toolbox™. Если у вас установлен Parallel Computing Toolbox, когда вы используете tall
или mapreduce
functions, 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 опции, необходимо явно запустить пул, если хотите использовать параллельные ресурсы. Для получения дополнительной информации см. раздел «Задайте Настройки Parallel».
Следующий код показывает, как вы можете использовать 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