Está en la página 1de 6

Arquitecturas Multiprocesador

Plan 96
Curso Cuatrimestre Carcter Crditos Quinto Primero Optativo 6 (4T + 2P)

Presentacin

Curso 07/08

Programa

Prcticas Bibliografa

Evaluacin

Tabln de Anuncios 01/Oct/09:

Inicio de las clases:


o

El curso empieza el jueves 1 de octubre con la presentacin de la asignatura

Presentacin
Los sistemas multiprocesador (MP) son un tipo de arquitectura con una importancia creciente y ampliamente difundido. La mayora de los constructores de computadores ofrece mquinas en las que estn presentes ms de una CPU, configuracin que es hoy en da de uso habitual en casi todos los sistemas de tamao medio y grande, incluso ya en ordenadores personales. Asimismo, los fabricantes de procesadores incorporan a sus arquitecturas, desde hace unos aos, los mecanismos necesarios para que stos se puedan emplear fcilmente, y con un coste reducido (publicidad de Sun Microsystems en 1999: "si compra un procesador, le regalamos otro"), en la construccin de este tipo de sistemas. Esta tendencia se ha visto reforzada en los ltimos aos con la aparicin de los multicore, es decir, varios ncleos por procesador. En los prximos aos veremos mquinas con bastantes procesadores, cada uno de ellos con multitud de ncleos. Por tanto, comprender como funcionan y saber explotar correctamente esta potencia de cmputo se vuelve algo necesario para cualquier ingeniero informtico.

Esta asignatura pretende mostrar una panramica general de los MP, haciendo hincapi en dos cuestiones: 1) los problemas que surgen de la existencia de ms de una CPU y las distintas soluciones que se han propuesto; y 2) el cmo un programa puede sacar partido a la existencia de varios procesadores, fundamentalmente, en la vida real, a travs de su "paralelizacin" manual. En el desarrollo de la asignatura se tratar de hacer siempre referencia a las realizaciones comerciales, presentndose adems globalmente tres sistemas representativos de los principales tipos de arquitecturas. Se pretende que las clases tericas de la asignatura tenga un carcter fundamentalmente participativo, fomentndose el debate y la discusin en todo momento. Se tratar, por tanto, de clases alejadas de la forma tradicional "unidireccional" de enseanza, primando aqu ms el tratar de entender por qu se hacen las cosas, con sus pros y contras, y buscando en su caso soluciones alternativas, que el decir meramente que se hacen de determinada manera. En particular, se dedicar parte del tiempo de clase a la discusin de algn artculo reciente de inters o a la presentacin y el debate sobre algn tema puntual que aparezca durante el desarrollo de las clases (pulsando aqu puedes encontrar los artculos y temas que se debatieron en otros cursos). Los alumnos debern realizar obligatoriamente una prctica de paralelizacin de un programa (vase el apartado de Prcticas) y de manera voluntaria, adems, la presentacin en clase de uno de los estudios de ejemplo propuestos. En la evaluacin de la asignatura se tendr en cuenta el examen de la asignatura, las prcticas realizadas y el grado de asistencia y participacin en clase del alumno. Para cualquier consulta sobre el curso puedes ponerte en contacto con el coordinador de la asignatura, Antonio Garca Dopico.

Curso 2009/10
Lugar:
Aula 3103

Horario:

Mircoles: 10:00-11:00 Jueves: 15:00-17:00 L M X J V 9:00 10:00 11:00 12:00 13:00 14:00 15:00

16:00

Profesorado:
Antonio Garca Dopico (coordinador) Luis M. Gmez Henrquez Fernando Prez Costoya

Programa
La asignatura comprende los siguientes temas, de los que aparecen aqu slo los principales epgrafes. Para un ndice ms detallado pulsa aqu.

1. Introduccin 1. Es la ejecucin paralela una necesidad? 2. Clasificacin de las arquitecturas paralelas 3. Multiprocesadores (MP) 4. Paralelizacin 5. Clasificacin de los MP 6. Ejemplos 2. MP de memoria compartida 1. Introduccin 2. Problemtica 3. Programacin 4. Modelo de coherencia de memoria 5. Coherencia de caches 6. Ejemplos 3. MP de memoria distribuida 1. Introduccin 2. Problemtica 3. Programacin 4. Ejemplos 4. Programacin paralela 1. Sincronizacin 2. Particionamiento 3. Planificacin 4. Evaluacin de programas: sistemas de visualizacin 5. Redes de interconexin 6. Sistemas Operativos para MP 1. Introduccin 2. Multiprocesamiento simtrico vs. asimtrico 3. Sincronizacin 4. Planificacin 5. Otros aspectos

Prcticas

Los alumnos debern abordar, individualmente, la paralelizacin de una sencilla aplicacin, tanto mediante el uso de OpenMP como mediante el uso de MPI. Luego deber ejecutar dichos programas en mquinas paralelas de la facultad para evaluar el resultado obtenido. Se realizar un estudio de los resultados obtenidos, tanto desde el punto de vista de la dificultad de la programacin como en su aspecto cuantitativo, analizando la mejora obtenida frente a la aplicacin secuencial original.

Bibliografa
Dada la continua "ebullicin" de la materia, con constantes nuevas aportaciones y propuestas, se utilizarn fundamentalmente artculos procedentes de congresos y publicaciones peridicas as como de la documentacin que suministran los constructores de MP. Adicionalmente, a modo de "libro de texto", se emplear la obra de Culler et al. Tambin se recomienda, aunque no sea un texto dedicado exclusivamente a los MP, el libro de Sima et al.

D.E. Culler, J.P. Singh, with A. Gupta: "Parallel Computer Architectures: a Hardware/Software Approach", Morgan Kaufmann, 1999. D. Sima, T. Fountain, P. Kacsuk. ; "Advanced Computer Architectures: a Design Space Approach", Addison Wesley, 1997.

Evaluacin
Se realizar un examen de la asignatura, que pretende ser slo una comprobacin de que el alumno ha asimilado los principales conceptos presentados (y discutidos!) en clase. La calificacin final se calcular con la siguiente ponderacin:

Examen: 50% Prcticas: 35% Asistencia y participacin en clase: 15%

Multiprocesador
Se denomina multiprocesador a un computador que cuenta con dos o ms microprocesadores (CPUs). Gracias a esto, el multiprocesador puede ejecutar simultneamente varios hilos pertenecientes a un mismo proceso o bien a procesos diferentes.

Los ordenadores multiprocesador presentan problemas de diseo que no se encuentran en ordenadores monoprocesador. Estos problemas derivan del hecho de que dos programas pueden ejecutarse simultneamente y, potencialmente, pueden interferirse entre s. Concretamente, en lo que se refiere a las lecturas y escrituras en memoria. Existen dos arquitecturas que resuelven estos problemas:

La arquitectura NUMA, donde cada procesador tiene acceso y control exclusivo a una parte de la memoria. La arquitectura SMP, donde todos los procesadores comparten toda la memoria.

Esta ltima debe lidiar con el problema de la coherencia de cach. Cada microprocesador cuenta con su propia memoria cache local. De manera que cuando un microprocesador escribe en una direccin de memoria, lo hace nicamente sobre su copia local en cach. Si otro microprocesador tiene almacenada la misma direccin de memoria en su cach, resultar que trabaja con una copia obsoleta del dato almacenado. Para que un multiprocesador opere correctamente necesita un sistema operativo especialmente diseado para ello. La mayora de los sistemas operativos actuales poseen esta capacidad.

Multiprocesadores
Ing. Informtica (optativa 2do. ciclo, 6 crditos) Objetivos Docentes
Comprensin de las arquitecturas paralelas modernas, tanto a nivel funcional como de diseo. Especficamente, se estudian en profundidad, desde el punto de vista de la arquitectura, la organizacin y la implementacin, las arquitecturas paralelas de memoria compartida, usualmente conocidas como multiprocesadores.

Temario
1. Introduccin a las Arquitecturas Paralelas o Evolucin y situacin actual de las arquitecturas o Justificacin de la computacin paralela o Arquitecturas paralelas: Hardware y software Definicin de arquitectura paralela Arquitectura/modelo de memoria compartida: Multiprocesadores Arquitectura/modelo de memoria privada: Multicomputadores o Otras clasificaciones de las arquitecturas

2. Multiprocesadores Simtricos (o de Bus Compartido) o Coherencia cache: Mecanismo snoopy o Protocolos de coherencia cache o Sincronizacin o Evaluacin y rendimiento

3. Multiprocesadores Escalables (o de Memoria Distribuida) o Coherencia cache: Directorios o Redes de interconexin o Sincronizacin escalable o Evaluacin y rendimiento

4. Consistencia de Memoria o Introduccin al problema o Consistencia secuencial o Modelos relajados de consistencia

5. Aspectos de Diseo e Implementacin o Problemas asociados a la implementacin o Jerarquas cache multinivel o Buses segmentados o Optimizacin de los protocolos de coherencia o Casos reales

6. Diseo de Aplicaciones Paralelas o El proceso de paralelizacin o Anlisis y optimizacin o Lenguajes y paralelizadores

También podría gustarte