Я ищу пакет python, который может выполнять многопроцессорную обработку не только на разных ядрах на одном компьютере, но также и на кластере, распределенном на нескольких компьютерах. Существует множество различных пакетов python для распределенных вычислений, но для большинства, похоже, требуется изменение кода для запуска (например, префикс, указывающий, что объект находится на удаленной машине). В частности, мне хотелось бы как можно ближе к многопроцессорной функции pool.map
. Так, например, если на одной машине сценарий:
from multiprocessing import Pool
pool = Pool(processes = 8)
resultlist = pool.map(function, arglist)
Тогда псевдокодом для распределенного кластера будет:
from distprocess import Connect, Pool, Cluster
pool1 = Pool(processes = 8)
c = Connect(ipaddress)
pool2 = c.Pool(processes = 4)
cluster = Cluster([pool1, pool2])
resultlist = cluster.map(function, arglist)