Определение среды параллельного выполнения для массивов mapreduction и tall
mapreducer определяет среду выполнения для mapreduce или массивы высокого уровня. Используйте mapreducer изменение среды выполнения для использования другого кластера или переключения между последовательной и параллельной разработкой.
В среде выполнения по умолчанию используется либо локальная сессия MATLAB ®, либо параллельный пул при наличии Toolbox™ Parallel Computing. Если установлена панель инструментов параллельных вычислений, при использовании tall или mapreduce MATLAB автоматически запускает параллельный пул работников, если не изменены настройки по умолчанию. По умолчанию в параллельном пуле используются локальные работники, обычно по одному работнику для каждого ядра компьютера. Если параметр Автоматически создавать параллельный пул отключен, то для использования параллельных ресурсов необходимо явно запустить пул. См. раздел Задание параметров параллели.
При работе с массивами tall используйте mapreducer для установки среды выполнения перед созданием массива высокого уровня. Массивы Tall привязываются к текущей глобальной среде выполнения при их создании. При последующем изменении глобальной среды выполнения массив tall является недопустимым и должен быть создан заново.
Примечание
В MATLAB нет необходимости задавать параметры конфигурации с помощью mapreducer потому что mapreduce алгоритмы и вычисления массива высокого уровня автоматически выполняются только в локальном сеансе MATLAB. При наличии панели инструментов параллельных вычислений можно использовать дополнительные mapreducer опции конфигурации, перечисленные на этой странице для параллельного выполнения. При наличии Compiler™ MATLAB можно использовать отдельные mapreducer параметры конфигурации для выполнения в развернутых средах.
См.: mapreducer в документации MATLAB, или mapreducer (Компилятор MATLAB) в документации компилятора MATLAB.
mapreducer без входных аргументов создает новый mapreducer среда выполнения со всеми значениями по умолчанию и устанавливает ее текущей mapreduce или среда выполнения массива высокого уровня. Вы можете использовать gcmr для получения текущей конфигурации mapreducer.
Если у вас есть настройки по умолчанию (включено автоматическое создание параллельного пула), и вы не открыли параллельный пул, то mapreducer открытие пула с использованием профиля кластера по умолчанию, наборы gcmr в mapreducer на основе этого пула и возвращает этот mapreducer.
Если вы открыли параллельный пул, то mapreducer наборы gcmr в mapreducer на основе текущего пула и возвращает этот mapreducer.
Если параметр Автоматически создавать параллельный пул отключен и параллельный пул не открыт, то 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 или массивы tall, использующие ранее созданный объект MapReducer, mr, если его ObjectVisibility свойство - 'On'.
возвращает объект MapReducer для указания среды выполнения. Можно определить несколько объектов MapReducer, что позволяет поменять местами среды выполнения, передав один из них в качестве входного аргумента mr = mapreducer(___)mapreduce или mapreducer.
скрывает видимость объекта MapReducer, mr = mapreducer(___,'ObjectVisibility','Off')mr, используя любой из предыдущих синтаксисов. Этот синтаксис используется для создания новых объектов MapReducer без влияния на глобальную среду выполнения mapreduce.
Если вы хотите развивать в серийном формате и не использовать локальных работников или указанный кластер, введите:
mapreducer(0);
mapreducer чтобы изменить среду выполнения после создания массива с высоким значением, этот массив недопустим и его необходимо создать заново. Чтобы снова использовать локальных работников или указанный кластер, введите:mapreducer(gcp);
mapreducer с автоматическим созданием параллельного пула, отключенногоЕсли параметр Автоматически создавать параллельный пул отключен, то для использования параллельных ресурсов необходимо явно запустить пул. Дополнительные сведения см. в разделе Определение параметров параллели.
Следующий код показывает, как можно использовать 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
Одно из преимуществ разработки алгоритмов с помощью массивов tall состоит в том, что код нужно писать только один раз. Код можно разработать локально, а затем использовать mapreducer для масштабирования и использования возможностей, предлагаемых Parallel Computing Toolbox, MATLAB Parallel Server™ или MATLAB Compiler, без необходимости перезаписи алгоритма.
gcmr | gcp | mapreduce | parallel.cluster.Hadoop | tall