 |

Información de la asignatura
|
Curso académico: 2012/2013
|
|
Código:
|
371 |
Asignatura:
|
ARQUITECTURA Y TECNOLOGIA DE COMPUTADORES |
|
Plan de estudios:
|
|
Centro:
|
|
|
Tipo:
|
Troncal
|
Créditos totales:
|
9 |
Teóricos:
|
6 |
Prácticos:
|
3 |
|
Ciclo:
|
2º |
Curso:
|
4º |
Período:
|
ANUAL |
|
Web:
|
|
|
Profesores:
|
SUAREZ ALONSO, FRANCISCO JOSE
(Presidente del tribunal)
Horario de Tutorias, Email
DIAZ DE ARRIBA, JOSE LUIS
(Vocal del tribunal)
Horario de Tutorias, Email
ARIAS GARCIA, JOSE RAMON
(Vocal del tribunal)
Horario de Tutorias, Email
|
|
Objetivos:
|
OBJETIVO GENERAL
Formación del alumno en el campo de las arquitecturas de altas prestaciones paralelas y distribuidas, tanto a nivel teórico como práctico.
OBJETIVOS ESPECÍFICOS
Parte I:
- Conocer la orientación actual en el diseño de computadores hacia la consecución de niveles de rendimiento crecientes - Conocer las formas de medir el rendimiento de los computadores - Conocer las formas de incrementar el rendimiento en computadores monoprocesadores - Conocer las mejoras tecnológicas y su influencia sobre el rendimiento de los computadores - Conocer las mejoras basadas en la organización del hardware de los computadores y su influencia sobre el rendimiento - Conocer las mejoras basadas en el juego de instrucciones de los computadores y su influencia sobre el rendimiento - Conocer las diferentes arquitecturas de los computadores multiprocesadores y su influencia sobre el rendimiento - Ser capaz de interpretar experimentos de evaluación de rendimiento de computadores mediante programas de evaluación - Ser capaz de realizar estudios comparados de rendimiento de computadores - Ser capaz de analizar la influencia de los principales parámetros que condicionan el comportamiento de la memoria cache - Ser capaz de analizar los problemas que surgen en los procesadores segmentados
Parte II: - Conocer la arquitectura básica de los sistemas distribuidos y algunas posibles implementaciones - Conocer los problemas específicos de este tipo de sistemas. - Conocer la interfaz de sockets y ser capaz de utilizarla para desarrollar aplicaciones cliente/servidor sencillas. - Ser capaz de leer una especificación RFC y programar un cliente o servidor que se ajuste a la misma. - Comprender el problema de la heterogeneidad de la información y conocer al menos una solución al mismo - Conocer el lenguaje de datos XDR y las herramientas necesarias para utilizarlo - Comprender el concepto de "llamada a procedimiento remoto" y cómo se logra implementar gracias a los extremos de cliente y servidor - Conocer el mecanismo de llamadas a procedimientos remotos de ONC - Ser capaz de desarrollar aplicaciones que usen el mecanismo ONC RPC - Conocer el mecanismo de llamadas a procedimientos remotos de DCE - Comprender las similitudes y diferencias entre ONC RPC y DCE RPC - Conocer los tipos de datos manejados por DCE RPC y ser capaz de definir tipos propios utilizando el lenguaje IDL - Conocer el problema de la sincronización de los sistemas distribuidos y ser capaz de aplicar los algoritmos de sincronización de Lamport y de Christian. - Conocer los problemas de seguridad asociados a los sistemas distribuidos - Comprender el papel de la criptografía en aspectos de seguridad tales como el mantenimiento de la confidencialidad o la autenticación de los principales - Comprender la diferencia entre criptografía de clave secreta y de clave pública - Conocer los principios de funcionamiento del algoritmo RSA de criptografía de clave pública. - Conocer ejemplos de aplicaciones de estos algoritmos.
|
|
Contenido:
|
TEORÍA
Parte I. ARQUITECTURAS PARALELAS
Tema 1. Introducción a las Arquitecturas de Altas Prestaciones: Lección 1. Enfoque cuantitativo en el Diseño de Computadores Lección 2. Medición del Rendimiento de Computadores
Tema 2. Incremento de prestaciones en Arquitecturas Monoprocesadoras: Lección 3. Introducción. Mejoras Tecnológicas Lección 4. Mejoras basadas en la Organización del Hardware. Jerarquía de Memoria Lección 5. Procesadores Segmentados y Superescalares Lección 6. Mejoras basadas en el Juego de Instrucciones Lección 7. Mejoras en el Sistema de E/S
Tema 3. Arquitecturas Multiprocesadoras: Lección 8. Introducción a los Sistemas Multiprocesadores Lección 9. Sistemas Multiprocesadores de Memoria Compartida Lección 10. Sistemas Multiprocesadores de Memoria Distribuida
Parte II: ARQUITECTURAS DISTRIBUIDAS
Tema 1. Conceptos básicos de Sistemas Distribuidos Lección 1. Definición, características, retos.
Tema 2. Técnicas básicas de construcción de aplicaciones distribuidas Lección 2. Modelos de aplicaciones distribuídas Lección 3. La interfaz de sockets Lección 4. Concurrencia en los servidores
Tema 3. La heterogeneidad de la información Lección 5. Introducción a las representaciones externas de datos Lección 6. Codificación de caracteres: Unicode Lección 7. XDR
Tema 4. LLamadas a procedimientos remotos Lección 8. Introducción a las llamadas a procedimientos remotos Lección 9. ONC RPC (Sun) Lección 10. DCE RPC (DEC y Microsoft)
Tema 5 Otros aspectos de los sistemas distribuidos Lección 11. Sincronización y relojes Lección 12. Seguridad y criptografía
PRÁCTICAS
Parte I:
- Sesión 1. Evaluación del rendimiento de computadores utilizando benchmarks (I) (Benchmarks sintéticos) - Sesión 2. Evaluación del rendimiento de computadores utilizando benchmarks (II) (Benchmarks basados en código real) - Sesión 3. Análisis del comportamiento de la memoria cache (Estudio mediante simulación) - Sesión 4-5. Riesgos en segmentación encauzada (I) (Simulación de la arquitectura del MIPS R3000) - Sesión 6. Riesgos en segmentación encauzada (II) (Ejecución real sobre el MIPS R3000)
Parte II:
- Sesión 0. Sesión introductoria. Elementos básicos de programación en C y entorno de desarrollo. - Sesión 1. Sockets. Introducción a la programación de clientes y servidores con sockets - Sesión 2: XDR. Introducción a la programación con filtros XDR desde el lenguaje C. - Sesión 3: ONC RPC: esquema simplificado vs. rpcgen - Sesión 4: ONC RPC: autenticación, broadcast y concurrencia en el servidor. - Sesión 5: DCE-RPC. Introducción a la programación con DCE-RPC en entornos Windows y GNU/Linux. - Sesión 6: Seguridad. Herramientas (ssh, gpg, otp) y su uso diario.
|
|
Bibliografía:
|
Parte I:
1. "Arquitectura de Computadores: un enfoque cuantitativo" J.L. Hennesy y D.A. Patterson, Ed. McGraw-Hill 2. "Estructura y Diseño de Computadores: interficie circuitería/programación" D.A. Patterson y J.L. Hennesy, Ed. Reverté 3. "Organización y Arquitectura de Computadores: diseño para optimizar prestaciones" William Stallings, Ed. Prentice Hall 4. "Arquitectura de Computadores" Julio Ortega, Mancia Anguita y Alberto Prieto, Ed. Thomson
Parte II:
1. "Unix Network Programming. Networking APIs: sockets and XTI" D.L. Stevens, Ed. Prentice Hall 2. "Power Programming with RPC" John Bloomer, Ed. O’Reilly & Asociates 3. "Sistemas Distribuidos. Conceptos y Diseño" George Coulouris, Ed. Addison Wesley 4. "Sistemas Operativos Distribuidos" Andrew Tanenbaum. Ed. Prentice Hall
|
|
Metodología y Evaluación:
|
METODOLOGÍA
- Sesiones de teoría con presentación de diapositivas - Realización de ejercicios en las clases de teoría - Sesiones de prácticas con introducción por parte del profesor y trabajo individual del alumno siguiendo los correspondientes guiones de prácticas - Realización de trabajos en grupo sobre aspectos teóricos y prácticos de la asignatura
EVALUACIÓN
Convocatoria ordinaria: - Entrega periódica de informes sobre las prácticas realizadas - Seguimiento, documentación final y defensa pública en clase de los trabajos en grupo - Examen parcial teórico/práctico del primer bloque de la asignatura al final del primer cuatrimestre - Examen teórico/práctico del segundo bloque de la asignatura al final del segundo cuatrimestre - A la calificación final contribuirán los exámenes teórico/prácticos con un 50%, los trabajos en grupo con un 40% y los informes de prácticas con un 10%, siendo necesaria una calificación mínima en cada examen
Los trabajos en grupo y los informes de prácticas solo podrán ser realizados durante la convocatoria ordinaria.
Convocatoria extraordinaria: - Calificación de un examen teórico/práctico global, siendo necesaria una calificación mínima en cada bloque del examen (60%) - Calificación de los trabajos en grupo y los informes de prácticas realizados durante la convocatoria ordinaria (40%)
|
Información ECTS |
|
Código:
|
E-LSUD-4-ING-461-ARQ-371
|
Créditos ECTS:
|
7,5 |
Teóricos:
|
5 |
Prácticos:
|
2,5 |
|
Método:
|
Clases Magistrales Prácticas computador Trabajos de laboratorio Prácticas problemas |
|
Sistemas de evaluación:
|
Examen escrito Presentación de trabajos Evaluación continua |
|
 |