Ministerio de Educación, Ciencia y Tecnología
Universidad Nacional de San Luis
FACULTAD DE CS. FISICO MAT. Y NAT.

ANEXO II

PROGRAMA DEL CURSO: ANALISIS COMPARATIVO DE SISTEMAS

DEPARTAMENTO DE:   INFORMATICA
AREA: Sistemas de ComputacionAÑO: 2001 (Id: 1707)
Estado: En tramite de Aprobación

 

I - OFERTA ACADÉMICA

CARRERAS PARA LAS QUE SE OFRECE EL MISMO CURSO

PLAN DE ESTUDIOS
ORD. Nº

CRÉDITO HORARIO

   

SEM.

TOTAL

LIC. EN CIENCIAS DE LA COMPUTACION5/9010140

II - EQUIPO DOCENTE

Funciones

Apellido y Nombre

Total hs en
este curso

Cargo y Dedic.

Carácter

Responsable

FLORES, SONIA EDITH20  hs.PROFESOR ADJUNTO EXC.Interino
ColaboradorGALLARD, RAUL HECTOR6  hs.PROFESOR TITULAR EXC.Efectivo
Auxiliar de 1ºAPOLLONI, RUBEN GERARDO 20  hs.AYUDANTE DE 1RA. SEMI. Temporal

III - CARACTERÍSTICAS DEL CURSO

CREDITO HORARIO SEMANAL
MODALIDAD
REGIMEN

Teórico/

Práctico

Teóricas

Prácticas de

Aula

Práct. de lab/ camp/

Resid/ PIP, etc.

2c
6 Hs.
 Hs.
 Hs.
4 Hs.
Asignatura
Otro: 
Duración: 14 semanas
Período del 8/01 al 11/01

IV.- FUNDAMENTACION

Este curso de dicta en el 5to.año de la Lic. en Ciencias de la Computación, genera en el alumno un criterio para la selección y evaluación de los sistemas en general, desde el punto de vista del hardware como así también desde el punto de vista del software. Este objetivo no se puede lograr sin el necesarioconocimiento adquirido en Sistemas Operativos, Simulación y Arquitectura del Procesador. El desarrollo de los temas se basa fundamentalemente en el estudio de las características de los sistemas y en el análisis de la performance de los mismos. Se lleva a cabo un desarrollo de software paralelo utilizando herramientas y plataformas adecuadas, corriendo sobre el Sistema Operativo LINUX.


V.- OBJETIVOS


Son Objetivos de la materia \\\\\\\"Análisis Comparativo de Sistemas\\\\\\\" los siguientes:

a) Estudio teórico de Máquinas de Alta Performance a fin de fcapacitar al alumno en la comprensión de las características a tener en cuenta de un sistema de computación bajo distintos entornos y configuraciones.
b) Desarrollar en el alumno la capaidad de implementar distintas técnicas relativas al área, con los elementos al alcance del Departamento de Informática.
c) Como resultados derivados de los puntos a) y b) se espera desarrollar en el alumno, luego de adquirida cierta experiencia en el área, las siguientes capacidades:

Participar en el diseño e implementación de computaciones paralelas. Determinar el uso de una herramienta acorde a las necesidades del problema a resolver.
Utilizar en otras áreas de aplicaciones de los conocimientos a fin de producir software de mejor calidad.
Un manejo aceptable de las plataformas de software paralelo corriendo sobre el Sistema Operativos LINUX.

Acorde con los objetivos y dentro de las restricciones del plan de estudios, el desarrollo de la materia profundizará en las áreas de Máquinas de Alta Performance y Programación Paralela.




 


VI. - CONTENIDOS

BOLILLA 1: SISTEMAS DE ALTA PERFORMANCE. INTRODUCCION

1.1-Motivación: Evolución de Sistemas de Computadoras: generaciones de sistemas de computadoras. tendencias hacia el procesamiento paralelo.
1.2-Paralelismo en Sistemas de uniprocesamiento : Multiplicidad de unidades funcionales. Pipelining dentro de la CPU. Uso de jerarquías de memorias. Operaciones de entrada/salida superpuestas. Bandwidth y su balance entre los distintos subsistemas. Multiprogramación y tiempo compartido.
1.3-Esquemas de clasificación: Clasificación de FLYNN: SISD, SIMD, MISD y MIMD. Procesamiento paralelo versus procesamiento serial.


BOLILLA 2: MÁQUINAS SISD. PRINCIPIOS DE PIPELINING. MÁQUINAS
SIMD

2.1-Pipelining: Pipelines lineales. Clasificación. Pipelines generales. Organizaciones de memoria entrelazada.
2.2-Principios de diseño de procesadores pipelines: Manipulación de bifurcaciones e interrupciones. Buffering de datos. Estructura de buses. Adelantamiento interno. Resolución y detección de Hazards. Secuenciamiento de jobs y prevención de colisiones.
2.3-Procesadores vectores: Requerimientos. Características.
2.4-Máquinas SIMD: Organización. Instrucciones de vector. Enmascaramiento para bifurcaciones condicionales.



BOLILLA 3: MÁQUINAS MIMD.

3.1-Motivación y Definición de multiprocesador: La interconexión completa Organización de multiprocesadores.
3.2-Organización del hardware: Sistemas de \\\\\\\"Time shared\\\\\\\"/ \\\\\\\"Common bus\\\\\\\". Sistemas de \\\\\\\"Crossbar switch\\\\\\\". Sistemas de \\\\\\\"Memoria de multicompuertas\\\\\\\". Topologías.
3.3-Clasificación: Tipos de computadoras. Redes. Data Flow. Multicomputadoras. Multiprocesadores.



BOLILLA 4: PROGRAMACIÓN PARALELA

4.1-Máquinas Paralelas: Motivación. Tipos de computadoras paralelas.
4.2-Medida de Performance: Tiempo de ejecución. Aceleración. Evaluación de modelos de Programación paralela.
4.3-Programación con Memoria Compartida: Multiprocesadores de Memoria Compartida. Procesos concurrentes. Compartición de datos. Programación en LINUX.
4.4-Computaciones de pasaje de mensajes: Programación. Máquina Virtual Paralela.
4.5-Algoritmos y Aplicaciones: Programación en LINUX.

BOLILLA 5: MODELIZACIÓN DE SISTEMAS
5.1-PETRI NETS, una poderosa herramienta.
5.2-Estructura de PETRI NETS: Grafos PETRI NETS.
5.3-Markings. Reglas de ejecución. Espacios de estados.
5.4-Formas alternativas de definición.
5.5-Modelización: condiciones y eventos, concurrencia y conflictos.
5.6-Modelos para el software: paralelismo, sincronización (exclusión mutua).
5.7-Problemas de análisis: seguridad y acotabilidad, conservatividad, vitalidad, Alcanzabilidad.
5.8-Generalizaciones.
5.9-Técnicas de análisis: Arbol de alacanzabilidad, Ecuaciones matriciales.




VII. - PLAN DE TRABAJOS PRÁCTICOS

PLAN DE TRABAJSO PRÁCTICOS

TRABAJOS PRÁCTICOS DE AULA:

Trabajo práctico de Arquitecturas Pipeline (prevención de colisiones).
Trabajo práctico de Memoria entrelazada (tipos de almacenamiento).
Trabajo práctico de PVM, MPI.
Informa final, tipo tesis, presentando temas teóricos involucrados en el desarrollo de la implementación de diferentes problemas a resolver con PVM y MPI para luego realizar una comparación enre ambos métodos. Detallando las conclusiones y la bibliografía.

TRABAJOS PRÁCTICOS DE MÁQUINA

Programación PVM.
Programación MPI.




VIII - RÉGIMEN DE APROBACIÓN

Para regularizar la materia los alumnos deberán cumplir con las siguientes condiciones:

a)Aprobar los prácticos de aula.

Se entiende por práctico de aula a todo práctico que la cátedra fije para cada unidad, a realizar o entregar en el aula.

b)Aprobar los prácticos de máquina.

Se entiende por práctico de máquina a todo práctico que involucre programación. Cada práctico se deberá entregar y aprobar en la fecha fijada por la cátedra o en una fecha de recuperación.
También para la aprobación de los mismos se requerirá una asistencia del 60% (aproximadamente 30 hs. Durante el primer cuatrimestre ) de los horarios establecidos para prácticos de máquina.

c)Aprobar el exámen parcial.

La cátedra establece un parcial a realizarse durante su dictado. Los alumnos deberán aprobar tal parcial para regularizar, pudiendo recuperarlo a lo sumo una vez.


EXAMEN FINAL

El examen final será escrito u oral, pudiendo incluir uno o varios temas teóricos y/o prácticos.

EXAMEN LIBRE

Los alumnos que encontrándose en condiciones de rendir libre la materia, deseen hacerlo deberán contactarse con el responsable de la cátedra quince días antes de la constitución de la mesa examinadora, a los efectos de recibir el conjunto de trabajos prácticos similares a los realizados por los alumnos regulares durante el cursado normal de la materia.

Dichos trabajos se llevarán a cabo bajo la continua supervisión de los colaboradores de la cátedra.

Si tal prueba resultara satisfactoria, los alumnos rendirán en ;a fecha establecida, un examen final con la misma modalidad que los alumnos regulares.







IX.a - BIBLIOGRAFÍA BÁSICA

* Kay Hwangs And Briggs Faye A. /
“Computer Architecture And Parallel Processing” - Mc. Graw-Hill Computer. Science Series.

* Foster, Ian T. /
“Designing and Building Parallel Programas” - Addison Wesley Publishing Company.


* Geist A., Beguelin A., Dongarra J., Jiang W., Mancheck R., Sunderam V. /
“PVM: Parallel Virtual Machine” - A Users Guide and Tutorial for Network Parallel Computing. MIT Press. 1994.

* Jaja J./
“An Introduction to Parallel Algorithms”, Addison Wesley, 1992.

* Quinn M./
“Parallel Computing. Theory And Practice”. Second Edition. Mcgraw-Hill, Inc. 1994.

*Snir, M., Otto, S. Huss-Lederman, S., Walker, D., Dongarra, J. “Mpi: The Complete Reference”. Cambridge, Ma: Mit Press, 1996.




IX b - BIBLIOGRAFÍA COMPLEMENTARIA

* Akl, S.G. /
“The Design and Analysis of Parallel Algorithms”. Prentice-Hall. 1989.

* Bach. M.J./
\\\\\\\"The desing of the UNIX Operating Systems\\\\\\\" - Prentice Hall.

* Baer Jean Loup /
\\\\\\\"Computer Systems Architecture\\\\\\\" - Comp. Science Press.

* Bal, H.E./
“Programing Distributed Systems” - Silicon Press, 25 Beverly Road- Summit, N.J. 07091, USA.

* Comer D. /
“Internetworking with TCP/IP” - Vol I y II, Prentice Hall, Englewood Cliff, N.J., 1990.

* Coulouris George, Jean Dollimore, Tim Kindberg. /
“Distributed Systems Concepts and Desing” - Addison Wesley Publishing Company (Second Edition).

* Kocham S.G. And Wood P.H. Eds /
“Unix Networking” - Sams And Company, Indianápolis.

* Prata, S. /
“Advanced Unix-A Programming\\\\\\\'s Guides” - Howard W.Sarm & Co.

* Stevens, W. Richard /
“Unix -Network Programming” - Prentice Hall. Englewood Cliffs, N.J., 1990.


* Tanenbaum, A.S. /
“Modern Operating Systems” - Prentice Hall.

* Tanembaum A.S. /
“Computer Networks” - Englewood Cliffs, N.J., Prentice Hall.

* Tinetti F., De Giusti A. /
“Procesamiento Paralelo. Conceptos De Arquitecturas Y Algoritmos”. Primera Edición. Agosto De 1998. Editorial Exacta.

* Wilkinson B., Allen M. /
“Parallel Programming: Techniques And Application Using Networked Workstations”, Prentice-Hall. 1996.





COMPLEMENTO DE DIVULGACION


OBJETIVOS DEL CURSO

Son Objetivos de la materia \\\\\\\"Análisis Comparativo de Sistemas\\\\\\\" los siguientes:

a) Estudio teórico de Máquinas de Alta Performance a fin de fcapacitar al alumno en la comprensión de las características a tener en cuenta de un sistema de computación bajo distintos entornos y configuraciones.
b) Desarrollar en el alumno la capaidad de implementar distintas técnicas relativas al área, con los elementos al alcance del Departamento de Informática.
c) Como resultados derivados de los puntos a) y b) se espera desarrollar en el alumno, luego de adquirida cierta experiencia en el área, las siguientes capacidades:

Participar en el diseño e implementación de computaciones paralelas. Determinar el uso de una herramienta acorde a las necesidades del problema a resolver.
Utilizar en otras áreas de aplicaciones de los conocimientos a fin de producir software de mejor calidad.
Un manejo aceptable de las plataformas de software paralelo corriendo sobre el Sistema Operativos LINUX.

Acorde con los objetivos y dentro de las restricciones del plan de estudios, el desarrollo de la materia profundizará en las áreas de Máquinas de Alta Performance y Programación Paralela.







 

 

PROGRAMA SINTETICO

PROGRAMA SINTÉTICO DE NÁLISIS COMPARATIVO DE SISTEMAS

SISTEMAS DE ALTA PERFORMANCE. Motivación: Evolución de Sistemas de Computadoras: generaciones de sistemas de computadoras. tendencias hacia el procesamiento paralelo.Paralelismo en Sistemas de uniprocesamiento : Multiplicidad de unidades funcionales. Pipelining dentro de la CPU. Uso de jerarquías de memorias. Operaciones de entrada/salida superpuestas. Bandwidth y su balance entre los distintos subsistemas. Multiprogramación y tiempo compartido.
Esquemas de clasificación: Clasificación de FLYNN: SISD, SIMD, MISD y MIMD. Procesamiento paralelo versus procesamiento serial.
Pipelining: Pipelines lineales. Clasificación. Pipelines generales. Organizaciones de memoria entrelazada.Principios de diseño de procesadores pipelines: Manipulación de bifurcaciones e interrupciones. Buffering de datos. Estructura de buses. Adelantamiento interno. Resolución y detección de Hazards. Secuenciamiento de jobs y prevención de colisiones. Procesadores vectores: Requerimientos. Características.Máquinas SIMD: Organización. Instrucciones de vector. Enmascaramiento para bifurcaciones condicionales.
Máquinas MIMD.Motivación y Definición de multiprocesador: La interconexión completa Organización de multiprocesadores.Organización del hardware: Sistemas de \\\\\\\"Time shared\\\\\\\"/ \\\\\\\"Common bus\\\\\\\". Sistemas de \\\\\\\"Crossbar switch\\\\\\\". Sistemas de \\\\\\\"Memoria de multicompuertas\\\\\\\". Topologías. Clasificación: Tipos de computadoras. Redes. Data Flow. Multicomputadoras. Multiprocesadores.Programación Paralela.Máquinas Paralelas. Medida de Performance: Tiempo de ejecución. Aceleración. Evaluación de modelos de Programación paralela. Programación con Memoria Compartida: Multiprocesadores de Memoria Compartida. Procesos concurrentes. Compartición de datos. Computaciones de pasaje de mensajes: Programación. Máquina Virtual Paralela.
Modelización de Sistemas PETRI NETS, Técnicas de análisis: Arbol de alacanzabilidad, Ecuaciones matriciales.




 


IMPREVISTOS