Descargar

El diseño de algoritmos paralelos (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red

Aglomeración Aglomeración es el proceso de agrupar tareas en tareas mas grandes para mejorar el rendimiento o simplificar la programación.

edu.red

Las Metas de Aglomeración Reducir la cantidad de comunicaciones (“overhead”) Mantener la escabilidad del diseño paralelo Reducir el costo de ingenieria de software

edu.red

Reducir la Cantidad de Comunicaciones Aglomerar tareas primitivas que se comuniquen una con otra. Es decir, aumentar localidad. Combinar grupos de recibos y envios.

edu.red

Mantener la Escabilidad del Diseño Paralelo De la enciclopedia Wikipedia: “…scalabiity is a desirable property of a system, a network, or a process, which indicates its ability to handle growling amounts of work in a graceful manner…” Un diseño paralelo es escalable si el mismo diseño funciona cuando se aumenta el número de procesadores.

edu.red

Reducir el Costo de Ingenieria de Software Por ejemplo, hacer uso de código secuencial existente.

edu.red

Lista de Cotejos para Evaluar la Calidad de Aglomeración La aglomerición que se ha llevado a cabo ha aumentado localidad. Computaciones replicadas requieren menos tiempo que las comunicaciones que se reemplazan. La cantidad de datos replicados es suficientemente pequeña para que el algoritmo se pueda escalar

edu.red

Lista de Cotejos para Evaluar la Calidad de Aglomeración (cont) Tareas aglomeradas tienen costos de computación y comunicación parecidos La cantidad de tareas es tan pequeña como sea posible, pero tan grande como la cantidad de procesadores disponibles

edu.red

Asignar Tareas a Procesadores La meta es maximizar la utilización de procesores y minimizar las comunicaciones entre procesadores. Balancear la computación entre los procesadores maximiza la utilización de procesador (el porcentaje de tiempo que los procesadores están ocupados). Comunicaciones entre procesadores decrecen cuando dos tareas se asignan al mismo procesador.

edu.red

Asignar Tareas a Procesadores (cont) Aumentar la utilización de procesadores y a la vez reducir las comunicaciones entre procesadores pueden conflijar uno con otro. Por ejemplo, si se asigna cada tarea al mismo procesador, entonces, no hay comunicaciones entre procesadores, pero la utilicación de procesadores es 1/p, donde p es el número de procesadores. El problema de optimizar la asignación de tareas a procesadores es NP-hard.

edu.red

“Dynamic Load Balencing” Se necesita cuando tareas se crean y destruyen durante de la ejecutación. Ejemplo: La paradigmagerente-trabajador”: El gerente mantiene una lista de tareas que hay que llevar a cabo y las asigna a los trabajadores. Cuando un trabajador termina una tarea, pide otra del gerente,

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente