ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Equilibrio De Carga


Enviado por   •  9 de Agosto de 2014  •  3.535 Palabras (15 Páginas)  •  358 Visitas

Página 1 de 15

Equilibrio de carga en la velocidad

Para aprovechar al máximo los procesadores multi-núcleo, se espera que las aplicaciones proporcionar un alto grado de paralelismo a nivel de hilo. mientras adecuada para los recuentos básicos bajos y sus cargas de trabajo típicas, la corriente de carga compatibilidad de equilibrio en los sistemas operativos pueden no ser capaces de lograr la utilización del hardware eficiente para las cargas de trabajo paralelas. Equilibrio de ejecución longitud de colas ignora globalmente las necesidades de las aplicaciones paralelas donde se requieren roscas para igualar el progreso. En este documento nos presentar una técnica de equilibrio de carga diseñado específicamente para el paralelo las aplicaciones que se ejecutan en sistemas multinúcleo. En lugar de equilibrar ejecutar longitud de la cola, nuestro algoritmo equilibra la vez que un mensaje ha ejecutado en núcleos "rápidos" y "lentos". Ofrecemos un nivel de usuario implementación de balanceo de velocidad en UMA y NUMA MULTICASQUILLO arquitecturas que ejecutan Linux y discutir el comportamiento a través de una variedad de cargas de trabajo, los escenarios de uso y modelos de programación.

Nuestros resultados indican que el equilibrio de la velocidad en comparación con la balanceo de carga nativo de Linux mejora el rendimiento y proporciona buen aislamiento rendimiento en todos los casos considerados. balanceo de velocidad también es capaz de proporcionar un rendimiento comparable o mejor que DWRR, una implementación de programación multi-procesador justo en el interior el kernel de Linux. Por otra parte, el rendimiento de aplicaciones paralelas es a menudo determinado por la ejecución de las operaciones de sincronización y el equilibrio de la velocidad reduce la necesidad de afinar las implementaciones de tales primitivas.

INTRODUCCION

Los procesadores multi-core son frecuentes hoy en día en sistemas que van de dispositivos integrados a gran escala de computación de alto rendimiento sistemas. Durante la próxima década el grado de paralelismo en el chip aumentará de manera significativa y procesadores contendrán decenas e incluso cientos de núcleos [6]. La disponibilidad de barato paralelismo a nivel de hilo ha impulsado la búsqueda de nuevas aplicaciones que agregarían valor comercial a los sistemas de computación, por ejemplo, voz e imagen reconocimiento o navegadores paralelas. Estas nuevas aplicaciones son paralelas, a menudo en múltiples niveles, y es probable [2] para utilizar métodos y algoritmos encontrados en la computación científica. Su aparición hará que la estructura de escritorio futuro y cargas de trabajo, incluso incrustados ser modificado de manera fundamental.

Los sistemas operativos actuales se escriben y se optimizan principalmente para multiprogramados cargas de trabajo comercial y de usuario final y el hilo la independencia es un supuesto básico en el diseño de sus programadores. En una aplicación paralela existe un mayor nivel de interacción entre hilos; en consecuencia, el equilibrio aplicaciones con los datos y la sincronización dependencias requiere mecanismos planificador adicionales [5, 8, 9, 15, 29]. Los tiempos de ejecución que se han diseñado específicamente para paralelo computing proporciona paradigma del trabajo ad hoc robar soluciones para equilibrio de carga (por ejemplo, adaptable MPI [11] y Cilk [14]).

En este trabajo se propone una técnica genérica a nivel de usuario para cargar equilibrar las aplicaciones científicas paralelas escritas en estilo SPMD. este técnica está diseñada para un buen desempeño en procesadores multi-núcleo cuando se cumple cualquiera de las condiciones siguientes: 1) el número de tareas en una aplicación podrían no ser divisible por el número de núcleos disponibles; 2) sistemas asimétricos donde núcleos pueden funcionar a diferentes velocidades y 3) ambientes no dedicados donde un tareas de aplicaciones paralelas compiten por núcleos con otras tareas.

Nuestro planificador gestiona de forma explícita todos los hilos dentro de una sola aplicación y utiliza la migración para asegurarse de que cada hilo se le da un oportunidad justa para funcionar en el sistema disponible más rápida velocidad de ancho. nosotros llamado nuestro equilibrio Velocidad algoritmo de planificación y se presenta un aplicación a nivel de usuario en NUMA (AMD Barcelona) y la UMA (Intel Tigerton) sistemas multinúcleo que ejecutan el kernel de Linux 2.6.28.

Nos empíricamente validar su rendimiento bajo una variedad de uso escenarios que utilizan combinaciones de paralelo (OpenMP, MPI y UPC) y las cargas de trabajo multiprogramados. Usando la velocidad de equilibrio del rendimiento a veces se duplica en comparación con la carga de Linux balanceador, mientras que la variabilidad de ejecución se reduce de un máximo de 100% a lo general menos de 5%. Equilibrio de velocidad también es capaz de proporcionar un mejor rendimiento que los mecanismos de equilibrio de carga de nivel de sistema operativo [16], que están diseñados para proporcionar una justicia global en varios núcleos procesadores. Por otra parte, nuestros resultados indican que el equilibrio de la velocidad elimina algunas de las restricciones de aplicación para la sincronización o de las operaciones colectivas tales como las barreras cuando se ejecuta en ambientes no dedicados o con exceso de solicitudes.

La investigación en planificación de procesos tiene una larga y distinguida la historia y la importancia de la aplicación efectiva de funcionamiento sistema o paradigma independiente de la carga de equilibrio mecanismos para cargas de trabajo paralelas mixtas ha sido recientemente [5, 15] volvió a insistir. A lo mejor de nuestro conocimiento, el enfoque propuesto de forma dinámica equilibrar la velocidad de funcionamiento de las discusiones es original. Medición la velocidad es una manera elegante y sencilla de capturar la historia y las complejas interacciones causadas por prioridades, tareas interactivas o núcleos heterogéneos. La noción de velocidad nos permite diseñar un novela nivel de usuario equilibrador aplicación paralela que es la arquitectura independiente, que funciona en los sistemas no especializados, no hace tan-supuestos sobre el comportamiento de aplicaciones y funciona bien con desigual distribuciones de tareas. Como se analiza en este documento, alternativa enfoques tienen limitaciones en al menos una de estas áreas.

Balanceo de velocidad puede fácilmente co-existir con la carga por defecto de Linux implementación equilibrio y nuestra discusión Linux-centric es fácil para relacionarse con otros sistemas operativos. Además, el equilibrio de la velocidad tiene el potencial para simplificar el diseño de los tiempos de

...

Descargar como (para miembros actualizados)  txt (22.1 Kb)  
Leer 14 páginas más »
Disponible sólo en Clubensayos.com