mapa mongodb reducir en servidor multinúcleo

Tengo un mongodb con miles de registros que contienen vectores muy largos. Estoy buscando correlaciones entre un vector de entrada con mi conjunto de datos MDB usando un cierto algoritmo.

codigo psudo

function find_best_correlation(input_vector)
    max_correlation = 0
    return_vector = []
    foreach reference_vector in dataset:
        if calculateCorrelation(input_vector,reference_vector) > max_correlation then:
            return_vector = reference_vector
    return return_vector

Este es un muy buen candidato para el patrón de reducción de mapas, ya que no me importa el orden en que se ejecutan los cálculos.

El problema es que mi base de datos está en un nodo. Me gustaría ejecutar muchas asignaciones simultáneamente (tengo una máquina de 8 núcleos)

Por lo que entiendo, MongoDb solo usa un subproceso de ejecución por nodo; en la práctica, estoy ejecutando mi conjunto de datos en serie. ¿Es esto correcto?

Si es así, ¿puedo configurar el número de procesos / subprocesos por ejecución de reducción de mapa? Si administro varios subprocesos que ejecutan map-reduce en paralelo y luego agrego los resultados, ¿tendré un aumento sustancial en el rendimiento (¿Alguien lo ha intentado)? Si no, ¿puedo tener varias réplicas de mi base de datos en el mismo nodo y "truco" mongoDb para ejecutar en 2 réplicas?

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta