Mapa (patrón paralelo) - Map (parallel pattern)
Map es un modismo en computación paralela donde se aplica una operación simple a todos los elementos de una secuencia, potencialmente en paralelo. Se utiliza para resolver problemas embarazosamente paralelos : aquellos problemas que se pueden descomponer en subtareas independientes, que no requieren comunicación / sincronización entre las subtareas, excepto una unión o barrera al final.
Al aplicar el patrón de mapa, se formula una función elemental que captura la operación a realizar en un elemento de datos que representa una parte del problema, luego aplica esta función elemental en uno o más subprocesos de ejecución , hyperthreads , carriles SIMD o en múltiples ordenadores .
Algunos sistemas de programación paralela, como OpenMP y Cilk , tienen soporte de lenguaje para el patrón de mapa en forma de bucle for paralelo ; lenguajes como OpenCL y CUDA soportan funciones elementales (como " núcleos ") a nivel de lenguaje. El patrón de mapa generalmente se combina con otros patrones de diseño paralelos. Por ejemplo, el mapa combinado con la reducción de categoría da el patrón MapReduce .