Инструменты, использующие параметр коэффициента параллельной обработки, разделят выполнение операции на несколько процессов.
Так, многие современные компьютеры имеют многоядерные процессоры. Распределение операции геообработки на несколько процессов может ускорить производительность, если будет использоваться не одно ядро процессора, а больше. Преимущества в производительности вследствие применения параллельной геообработки для разных инструментов могут различаться.
Примечания по использованию
- Значение этого параметра определяет число логических процессов, которое потребуется для выполнения операции инструментом. Эти логические процессы будут поделены между ядрами компьютера. Число ядер компьютера не зависит от этого параметра.
- Каждый инструмент, использующий данный параметр, имеет встроенное значение, установленное по умолчанию, для количества логических процессов на данном конкретном компьютере. Это значение можно изменять с учетом данных, операции и доступных ресурсов.
- Если вы укажете значение в процентах (используя знак %), то число процессов будет задано в процентах от числа ядер компьютера, округленного до ближайшего целого. Например, на 4-ядерном компьютере установка 50% означает, что операция будет распределена по 2 процессам (50% * 4 = 2), Установка 66% означает, что операция будет распределена по 3 процессам (66% * 4 = 2,64, что округляется до 3), а установка 100% означает, что операция будет распределена по всем 4 процессам (100% * 4 = 4).
- Если при геообработке используется база данных SQL Server Express, необходимо сократить число параллельных процессов до двух.
SQL Server Express разрешает не более трех одновременных подключений. Каждый работающий ЦП требует подключения к серверу. Также ПО, на котором работает инструмент, например, ArcGIS Desktop, считается одним подключенным процессом, в результате чего для параллельной обработки остаются только два подключенных процесса.
- Если указать число процессов большее, чем количество ядер процессора, то возможно существенное падение производительности компьютера. Падение производительности в этом случае обусловлено одновременным обращением к ресурсам одного ядра сразу нескольких процессов. Для того, чтобы задать этот параметр среды, и при этом не возникало бы конкуренции между процессами, вы можете либо использовать процентное значение меньше 100%, либо указывать число процессов меньшее, чем количество ядер процессора.
Однако в тех случаях, когда все процессы связаны с операциями ввода/вывода данных на жесткий диск или с подключением к многопользовательской базе данных, производительность будет выше, если указать число процессов больше, чем количество ядер. Например, инструмент Добавить растры в набор данных мозаики является инструментом ввода/вывода, когда набор данных мозаики хранится в многопользовательской базе данных. Инструмент Построить обзорные изображения также является преимущественно инструментом ввода/вывода на диск/с диска. Вы можете использовать большее число процессов, чем количество ядер вашего компьютера, но для этого надо указать процентное значение выше 100%, либо число процессов большее, чем количество ядер вашего процессора. Например, если у вас 4-ядерный процессор и вы укажете число процессов 8 или процентное значение 200%, то операции будут разбиты на 8 процессов.
- Параметр среды Коэффициент параллельной обработки не поддерживается в Background Geoprocessing (64-разрядная).
Синтаксис диалога
Коэффициент параллельной обработки – число процессов, которое потребуется для выполнения инструментом операции.
- пусто – каждый инструмент самостоятельно определяет число процессов. Это значение по умолчанию
- 0 – не разбивайте операции на какое-то число процессов.
- n – используйте заданное число процессов.
- n% – вычислите число процессов с помощью заданного процентного значения: Число процессов = количество ядер процессора * n / 100.
Синтаксис скриптов
arcpy.env.parallelProcessingFactor = string
Параметр | Объяснение |
---|---|
пустая строка | Пусть каждый инструмент самостоятельно определяет число процессов. Это значение по умолчанию |
0 | Не разбивайте операции на несколько процессов. |
n | Используйте заданное число процессов. |
n% | Вычислите число процессов с помощью заданного процентного значения: Число процессов = число ядер процессора * n / 100. |
Пример скрипта
import arcpy
# Use half of the cores on the machine
arcpy.env.parallelProcessingFactor = "50%"