mapreducer

Задайте параллельную среду выполнения для 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.

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(hadoopCluster) задает кластер Hadoop® для параллельного выполнения mapreduce или длинные массивы. hadoopCluster объект parallel.cluster.Hadoop.

mapreducer(mr) устанавливает глобальную среду выполнения для mapreduce или длинные массивы, с помощью ранее созданного объекта MapReducer, mr, если его ObjectVisibility свойством является 'On'.

mr = mapreducer(___) возвращает объект MapReducer задать среду выполнения. Можно задать несколько объектов MapReducer, который позволяет вам подкачать среды выполнения путем передачи один как входной параметр к mapreduce или mapreducer.

mr = mapreducer(___,'ObjectVisibility','Off') скрывает видимость объекта MapReducer, 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

Входные параметры

свернуть все

Объедините для параллельного выполнения в виде parallel.Pool object.

Пример: poolobj = gcp

Кластер Hadoop для параллельного выполнения в виде объекта parallel.cluster.Hadoop.

Пример: hadoopCluster = parallel.cluster.Hadoop

Выходные аргументы

свернуть все

Среда выполнения для mapreduce и длинные массивы, возвращенные как объект MapReducer.

Если ObjectVisibility свойство mr установлен в 'On', затем mr задает среду выполнения по умолчанию для всего mapreduce алгоритмы и вычисления длинного массива. Если ObjectVisibility свойством является 'Off', можно передать mr как входной параметр к mapreduce явным образом задавать среду выполнения для того конкретного вызова.

Можно задать несколько объектов MapReducer, который позволяет вам подкачать среды выполнения путем передачи один как входной параметр к mapreduce или mapreducer.

Советы

Одно из преимуществ разработки ваших алгоритмов с длинными массивами - то, что только необходимо записать код однажды. Можно разработать код локально, затем использовать mapreducer масштабировать и использовать в своих интересах возможности, предлагаемые Parallel Computing Toolbox, MATLAB Parallel Server™ или MATLAB Compiler, не будучи должен переписать ваш алгоритм.

Введенный в R2014b