Se copian datos de solo lectura copiados a diferentes procesos para multiprocesamiento?

El fragmento de código que tengo se ve más o menos así:

glbl_array = # a 3 Gb array

def my_func( args, def_param = glbl_array):
    #do stuff on args and def_param

if __name__ == '__main__':
  pool = Pool(processes=4)
  pool.map(my_func, range(1000))

Hay una manera de asegurarse (o alentar) que los diferentes procesos no obtengan una copia de glbl_array sino que la compartan. Si no hay forma de detener la copia, iré con una matriz memmapped, pero mis patrones de acceso no son muy regulares, por lo que espero que las matrices memmapped sean más lentas. Lo anterior parecía lo primero que debía intentar. Esto está en Linux. Solo quería un consejo de Stackoverflow y no quiero molestar al administrador del sistema. ¿Crees que ayudará si el segundo parámetro es un objeto inmutable genuino comoglbl_array.tostring().

Respuestas a la pregunta(4)

Su respuesta a la pregunta