Créditos ECTS Créditos ECTS: 4.5
Horas ECTS Criterios/Memorias Trabajo del Alumno/a ECTS: 74.2 Horas de Tutorías: 2.25 Clase Expositiva: 18 Clase Interactiva: 18 Total: 112.45
Lenguas de uso Inglés
Tipo: Materia Ordinaria Grado RD 1393/2007 - 822/2021
Centro Escuela Técnica Superior de Ingeniería
Convocatoria: Primer semestre
Docencia: Sin docencia (En extinción)
Matrícula: No matriculable (Sólo alumnado repetidor)
Esta materia tiene como principal objetivo darles a conocer a las/los alumnas/os la arquitectura de los sistemas con procesadores que operan de forma paralela, desde grandes supercomputadores y servidores, pasando por clústers e incluyendo también los multiprocesadores en un chip. Un aspecto fundamental es dar a conocer los niveles conceptuales y tecnológicos que permitan entender la arquitectura de los sistemas actuales y a medio plazo. Otros objetivos son dar a conocer la interface con la capa software, y los fundamentos sobre rendimiento y eficiencia en este tipo de sistemas.
PROGRAMA
Para la distribución temporal de horas presenciales estimamos 9 horas de clase para teoría, 10 horas para resolución de cuestiones y problemas y 18 para prácticas.
TEORÍA
Los cuatro primeros temas describen diferentes aspectos hardware de los sistemas paralelos, por lo que todos los temas presentan una importancia semejante. El último tema trata los aspectos del rendimiento y eficiencia en sistemas paralelos, que tiene una importancia menos significativa para los objetivos de la materia.
Tema 1: Contexto Tecnológico
El tema justifica la necesidad de los sistemas paralelos y distribuidos, y muestra los diferentes niveles que es necesario estudiar en este tipo de sistemas. Ponemos en contexto los conceptos que vamos a estudiar mediante una breve revisión de la historia de los sistemas de altas prestaciones, y de los datos que se pueden obtener de la lista Top 500 (en cada momento contiene los 500 supercomputadores más rápidos del mundo). Introducimos un modelo simple para predecir la evolución de los nodos de computación en la era de los procesadores multinúcleo, y terminamos el tema presentando algunos microprocesadores populares para los sistemas de computación de altas prestaciones.
- Sistemas multiprocesador para problemas complejos: ejemplos.
- Breve historia de los sistemas de altas prestaciones: supercomputadores.
- Evolución de los sistemas paralelos: la lista Top500.
- Arquitectura de los nodos de procesamiento: evolución y perspectivas.
- Procesadores comerciales para sistemas de computación de altas prestaciones.
Dedicación en horas presenciales: 2 horas.
Tema 2: Topologías de Interconexión para Sistemas Multiprocesador
En este tema iniciamos el estudio a nivel de red para la interconexión de los nodos de computación. En concreto, estudiamos las topologías de interconexión para sistemas de altas prestaciones y sus figuras de mérito. La topología de red es un aspecto fundamental en este tipo de sistemas.
- Buses.
- Redes basadas en conmutadores.
- Ejemplos de redes basadas en conmutadores con conexiones unidireccionales.
- Ejemplos de redes basadas en computadores con conexiones bidireccionales y nodos de inyección/extracción.
- Criterios de evaluación para comparación de topologías.
- Consideraciones tecnológicas de los canales de interconexión.
Dedicación en horas presenciales: 2 horas.
Tema 3: Arquitecturas Basadas en Paso de Mensajes
En este tema completamos el estudio de la red de interconexión, con los algoritmos de encaminamiento y control de flujo, el problema de los interbloqueos y su eliminación, y la implementación de todas estas técnicas en un conmutador actual para redes de altas prestaciones. Otro aspecto importante que abordamos es la interface con la red para obtener altas prestaciones. Completamos la visión de un multiprocesador basado en paso de mensajes estudiando los fundamentos de su modelo de programación y un ejemplo de interface con el programador (MPI). Estudiaremos ejemplos de redes para clusters por medio de la realización de un proyecto.
- Modelo de programación.
- Algoritmos de encaminamiento: determinista, sin información de la red y adaptativo.
- Implementación de encaminamiento: tablas de caminos y algorítmico.
- Control de flujo: sin bufers (descarte, circuito conmutado), con bufers de paquete (almacenar-enviar, enviar inmediato), con bufers para flits (agujero de gusano, canales virtuales).
- Arquitectura de un conmutador para control de flujo con canales virtuales.
- Interbloqueos: eliminación en encaminamiento determinista y adaptativo. Teorema de Duato.
- Mensajes de latencia infinita.
Dedicación en horas presenciales: 2 horas.
Tema 4: Arquitecturas Multiprocesador con Memoria Compartida
En este tema se estudian los elementos hardware y software que se tienen que añadir a un sistema multiprocesador para hacer que el mapa de memoria sea único (memoria compartida por todos los procesadores). Profundizamos en el estudio de la implementación de los algoritmos de coherencia cache (ya introducidos en la materia Arquitectura de Computadores), y las cuestiones de sincronización. Además estudiamos el modelo de consistencia cache implementado en OpenMP.
- Repaso de algoritmos de coherencia cache: algoritmo MESI.
- Detalles de implementación de las variantes MESIF y MOESI.
- Sistemas NUMA con conexiones punto a punto.
- Ejemplos de implementaciones industriales.
- Sincronización
- Coherencia en sistemas heterogéneos y móbiles.
Dedicación en horas presenciales: 2 horas.
Tema 5: Otros Conceptos Relevantes en Arquitecturas Multiprocesador
Este tema introduce los fundamentos teóricos para el estudio del rendimiento y eficiencia de los sistemas paralelos. Estos aspectos pueden ser útiles para la toma de decisiones en la configuración de grandes sistemas.
- Ganancia en velocidad.
- Eficiencia.
- Ley de Amdahl. Ley de Gustaffson-Barsis.
- Isoeficiencia. Modelos para predecir la ganancia en velocidad.
Dedicación en horas presenciales: 1 horas.
PRÁCTICAS
PRÁCTICA 1: diseño de un conjunto de programas de prueba para medir las prestaciones de la red de un supercomputador (Supercomputador Finisterrae del CESGA) y una red de estaciones de trabajo (la de la propia aula de informática en la que se realicen las prácticas). Tomaremos como referencia el conjunto de programas de prueba para comunicaciones con MPI de Intel. Los programas estarán escritos en C utilizando la librería de MPI de uso libre MPICH.
PRÁCTICA 2: Simulación de redes de interconexión para multiprocesadores. Se simularán diferentes configuraciones utilizando un simulador de uso libre, cambiando la topología de red, algoritmos de encaminamiento y parámetros asociados al control de flujo. Se tomarán medidas de ancho de banda (tasa de extracción de la red) y latencia de los paquetes. Los/las alumnos/as deben sacar sus propias conclusiones de los experimentos realizados, intentado obtener de los datos la mayor información posible de una manera estructurada para caracterizar el comportamiento de este tipo de redes.
Dedicación en horas presenciales. Práctica 1: 12 horas. Práctica 2 : 6 horas.
PROYECTOS (equipos de dos o tres alumnas/os): diseño de un clúster para computación paralela: análisis de la capacidad computacional/coste/espacio físico/potencia y software persiguiendo el cumplimiento de algún objetivo de diseño concreto (altas prestaciones bajo cualquier coste, buena relación coste-prestaciones, buena relación coste-potencia, etc). Se utilizará internet para obtener los datos de los diferentes componentes. Una de las redes analizadas debe ser de altas prestaciones para baja latencia.
Básica:
1- E. Antelo, “Arquitectura de los Sistemas Paralelos”. 2019. Disponible electrónicamente para los alumnos de la materia.
Este libro está elaborado por el profesor expresamente para esta materia, y será la principal fuente de contenidos.
2- www.top500.org.
Sitio web con abundante información de sistemas paralelos. Mantiene la lista de los supercomputadores más rápidos del momento. Referencia básica de información sobre supercomputación y sistemas paralelos.
Complementaria:
3- J. Dally and B.P. Towles, Principles and Practices of Interconnection Networks, Morgan Kaufmann, 2004.
Este libro constituye la fuente fundamental para el estudio de redes de interconexión para redes de altas prestaciones. Complementa y amplía abundantemente los contenidos de la referencia 1 en los contenidos de los temas 2 y 3.
4- Patterson y Hennessy, "Computer Architecture. A Quantitative Approach", 6ª Edition, Morgan Kaufmann, 2017.
Referencia clásica en los cursos de arquitectura de computadores, este libro resulta útil para complementar a la referencia 1 en los contenidos de los temas 1, 4 y 5. El más interesante para esta materia es el capítulo 4 sobre multiprocesadores y paralelismo multihilo.
5- H. Él-Rewini et al. "Advanced Computer Architecture and Parallel Processing", Wiley 2005.
Este libro cubre algunos aspectos de los temas 2, 3, 4 y 5, y puede resultar de interés para complementar algunos aspectos de la referencia 1.
Contribuír a alcanzar las competencias recogidas en la memoria del título de Grado en Ingeniería Informática en la USC (CG4, CG6, CG9, CG11, TR1, TR2, TR3, FB5, RI1, RI9, RI14, TI2, TI5).
Específicamente:
CGA. Capacidad para definir, evaluar y seleccionar plataformas de software y hardware para el desarrollo e implementación de sistemas, servicios y aplicaciones informáticas , de acuerdo con los conocimientos adquiridos según lo establecido en el "Acuerdo del Consejo de Universidades del 03/03/2009 para los títulos oficiales en el ámbito de la Ingeniería Técnica Informática".
CG6. Capacidad para diseñar y desarrollar sistemas o arquitecturas informáticas centralizadas o distribuidas integrando hardware, software y redes de acuerdo con el conocimiento que figura en el apartado 5 del "Acuerdo del Consejo de Universidades del 03/03/2009 para los títulos oficiales en el ámbito de la Ingeniería Técnica Informática".
CG9. Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad. Capacidad de comunicar y transmitir conocimientos y habilidades de la profesión de Ingeniero en Informática
CG11. Capacidad para analizar y evaluar el impacto social y ambiental de las soluciones técnicos, que comprende la responsabilidad ética y profesional de la actividad del Ingeniero Informático.
TR1.Instrumental: capacidad de analizar y Sintetizar. Organización y planificación. Oral y escrita en gallego, español e Inglés. Capacidad de gestión de la información. Solución de problemas. Toma de decisiones.
TR2. Personales: Trabajo en equipo. Trabajando en un equipo multidisciplinar y multilingüe. Habilidades en las relaciones interpersonales. El pensamiento crítico. Compromiso ético.
TR3. Sistémico: El aprendizaje autónomo. La adaptación a las nuevas situaciones. Creatividad. Iniciativa y espíritu emprendedor. Motivación por la calidad. La sensibilidad a las cuestiones ambientales.
FB 5. El conocimiento de la estructura, organización, funcionamiento e interconexión de los sistemas informáticos, los fundamentos de su programación, y su aplicación a la resolución de problemas propios de la Ingeniería.
IR1. Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas, lo que garantiza la fiabilidad, seguridad y calidad, de acuerdo con los principios éticos y las leyes y reglamentos.
RI9. Capacidad de aprender, comprender y evaluar la estructura y arquitectura de los ordenadores, así como los componentes básicos que lo componen.
RI14. El conocimiento y la aplicación de los principios fundamentales y técnicas básicas de la programación paralela, concurrente, distribuida y de tiempo real.
TI2. Capacidad para seleccionar, diseñar, desplegar, integrar, evaluar, construir, administrar, operar y mantener las tecnologías de hardware, software y redes, dentro de los parámetros de costo y calidad adecuada.
TI5. Capacidad para seleccionar, desplegar, integrar y gestionar sistemas de información para satisfacer las necesidades de la organización, con criterios de coste y calidad identificados.
Competencias asociadas al módulo de Ingeniería de computadores dentro del Grado:
- Conocimiento de la arquitectura de los sistemas paralelos y distribuidos tanto desde el punto de vista hardware y de implementación como desde el punto de vista de su programación.
La metodología de enseñanza que empleamos tiene por objetivo que el/la alumno/a participe de manera activa en el desarrollo de la materia al largo del cuatrimestre, buscando la máxima interacción con el profesor y con el resto de compañeros. Para conseguir este objetivo proponemos los siguientes tipos de clases:
- Clases magistrales: estas serán clases introductorias para cada tema a cargo del profesor, en las que se hará hincapié en los aspectos más relevantes del tema, orientando al alumno en los aspectos fundamentales para la comprensión del tema. Según el tema, se dedicará una o dos horas (ver sección de contenidos). Documentación: el alumno tendrá disponible en la referencia 1 de la bibliografía el material necesario para cada tema. El alumno tendrá conocimiento del calendario de clases magistrales para que pueda realizar una lectura previa del tema.
- Clases de discusión del test: cada tema llevará asociado un test con preguntas cortas, que pretende actuar de elemento motivador para el estudio del tema. Los alumnos deberán entregar el test antes del comienzo de la clase por cualquiera de los medios disponibles (papel o electrónicamente). En esta clase se resolverán las cuestiones más relevantes del test, preferiblemente con la intervención activa de los alumnos. El test estará disponible electrónicamente en la USC virtual (incluyendo el material externo necesario, como por ejemplo algún artículo).
- Clases de problemas: cada tema lleva asociado un boletín de problemas. Los alumnos deben entregar los problemas resueltos antes del comienzo de la clase. En esta clase se resolverán los problemas más relevantes, preferiblemente por parte de los propios alumnos. Los problemas estarán disponibles electrónicamente en la USC virtual (incluyendo el material externo necesario, como como por ejemplo algún artículo).
- Clases prácticas: los alumnos llevarán a cabo las prácticas propuestas, en el número de sesiones indicado para cada práctica. El trabajo debe ser autónomo, e individual, buscando interactuar con el profesor y el resto de compañeros para la resolución de dudas y verificación de resultados. Las primeras sesiones de prácticas estarán dedicadas a una introducción a MPI, que es necesario para la realización de la práctica 1. Se combinarán breves explicaciones de las rutinas más importantes con la realización de ejercicios sencillos, tanto en el aula de informática como en el supercomputador del CESGA. El material para estas prácticas, que estará disponible electrónicamente, será una presentación con la explicación de las rutinas de MPI, y un tutorial donde se indica paso a paso los aspectos prácticos para poder hacer programas con MPI y correrlos tanto en el aula de informática como en el supercomputador. Para la práctica 1, los alumnos tendrán a su disposición, electrónicamente, el enunciado de la práctica, tiempo estimado para realizarla y criterios de evaluación. También estará disponible la documentación adicional necesaria: documento de Pallas describiendo la metodología utilizada en su conjunto de programas de prueba. Para la práctica 1, se reservarán dos horas de prácticas para la presentación y discusión breve de resultados. Para la práctica 2, estará disponible electrónicamente el enunciado de la práctica, el tiempo estimado para realizarla y los criterios de evaluación. Además estará disponible el manual del simulador de redes.
Puesto que se espera que el alumno participe de manera activa, necesitará conocer con precisión el calendario para cada uno de los diferentes tipos de clases. Es fundamental que el alumno disponga de tiempo suficiente entre el momento del estudio del tema y las clases que marcan el límite para la entrega del test y los problemas. Como referencia tendrán como mínimo dos semanas siempre entre las clases magistrales de un tema y la corrección del test, y tres semanas antes de la corrección de los problemas.
Las tutorías podrán ser presenciales (horario de acuerdo con los alumnos o fijado por el centro), a través de correo electrónico, o a través del campus virtual.
Desarrollo de competencias:
CG4 y CG6: aprenden estas compentencias plenamente en todas las actividades docentes de la materia, en la parte específica en lo que se refiere a la arquitectura hardware de los sistemas paralelos, con énfasis en las redes de interconexión de altas prestaciones.
CG9: Los alumnos trabajan esta competencia mediante la realización de problemas propuestos, posteriormente se ponen en común, compartiendo y comunicando los resultados. El proyecto también permite trabajar de forma extensa esta competencia, ya que el planteamiento es bastante abierto, con muchas soluciones posibles. La presentación del proyecto al resto de compañeros y al profesor permite trabajar la parte de comunicación y transmisión del conocimiento.
CG11: en las clases teóricas hacemos énfasis especial en el impacto de consumo/potencia de los grandes sistemas paralelos de computación. También hablamos de las aplicaciones de este tipo de grandes sistemas, que a veces derivan en el desarrollo de aplicaciones de utilidad social cuestionable, y otras en avances científicos que crean riqueza social y económica.
TR1:
Capacidad de analizar y sintetizar: la realización de problemas y cuestiones trabajan la capacidad de análisis. En el proyecto se trabaja sobre todo la capacidad de síntesis. En la primera práctica se trabajan tanto las capacidades de análisis como síntesis ya que los alumnos tienen que diseñar un conjunto de programas para realizar varios experimentos sobre una red de interconexión de altas prestaciones, y posteriormente deben interpretar y analizar los resultados. En la segunda práctica, que consiste en utilizar un simulador de redes de altas prestaciones, predomina el análisis del efecto que tienen en las prestaciones de la red, la variación de los diferentes parámetros.
Capacidad de organización y planificación: las tareas que se plantean tienen plazos estrictos de entrega, dejando que el alumno tenga que organizarse para alcanzar la planificación requerida, teniendo en cuenta que tienen muchos otros planos para otras materias.
Comunicación oral y escrita: los alumnos realizan presentaciones cortas de los últimos microprocesadores de altas prestaciones que salen al mercado, presentación de problemas y la presentación del proyecto. Para el proyecto tienen que realizar una memoria detallada, para lo cual se intercambian ideas para perfeccionar la capacidad de comunicar resultados por escrito. La materia se desarrolla en inglés, por lo que los alumnos tienen la oportunidad de ser activos en esta lengua en todas las facetas de comunicación.
Capacidad de gestión de la información: en el proyecto hay que gestionar mucha información, ya que deben obtener de Internet todas las especificaciones para el diseño de una clúster de computación de altas prestaciones, y deben de indagar en la información que dan los fabricantes, que no siempre es simple de manejar.
Resolución de problemas: los alumnos deben resolver problemas asociados a los objetivos de la materia. En el proyecto deben también aplicar esta competencia como parte del proceso de diseño.
Toma de decisiones: el proyecto es muy abierto y los alumnos deben tomar decisiones justificadas. La discusión con el profesor durante el proceso de realización permite ir trabajando positivamente esta competencia.
TR2:
Trabajo en equipo, habilidades en las relaciones interpersonales: el proyecto puede llevarse a cabo en equipo. El profesor da unas pautas para asegurar que los equipos sean eficientes en el desarrollo del trabajo.
Razonamiento crítico: en la presentación del proyecto se les pide a los alumnos que hagan una crítica de cada proyecto presentado, resaltando los aspectos fuertes y débiles y con total objetividad. El profesor moderará el proceso para que los estudiantes mejoren sus capacidades de razonamiento crítico.
Compromiso ético: se hará énfasis sobre todo en la cuestión del plagio.
TR3:
Aprendizaje autónomo: las clases teóricas sólo resaltan los aspectos más importantes de la materia, pero los alumnos están obligados a profundizar de forma autónoma para realizar los problemas y el proyecto. Las prácticas también requieren aprendizaje autónomo ya que por ejemplo para diseñar el conjunto de programas de prueba en la práctica 1, los alumnos tienen que estudiar por su cuenta la especificación de la metodología que proporciona un fabricante.
Adaptación a nuevas situaciones. En algunos ejercicios se le pide al alumno que investigue tendencias tecnológicas futuras y adapte los conocimientos adquiridos a estas situaciones hipotéticas.
Creatividad, motivación por la calidad y sensibilidad por temas medioambientales: el proyecto es la mejor herramienta para explotar esta faceta. Los alumnos deben ser creativos en las soluciones aportadas, que a su vez deben ser de calidad, lo cual está reflejado en los criterios de evaluación. Se les pide a los alumnos que tengan en cuenta aspectos medioambientales en el diseño del clúster de computación.
FB5, RI1, RI9: estas competencias se trabajan en todos los aspectos docentes de esta materia, en lo que se refiere a sistemas de computación paralelos de altas prestaciones.
RI14: la arquitectura de los sistemas paralelos tiene una incidencia fundamental en el modelo de programación paralela y distribuída. Se hace especial énfasis en las clases teóricas en las repercusiones de los diferentes aspectos de la arquitectura en la programación de dichos sistemas y su influencia en el rendimiento. En la práctica 1, los programas de prueba permiten evaluar los sobrecostes de comunicación en sistemas paralelos de altas prestaciones, y muestran como esta información es fundamental para el programador.
TI2,TI5: todas las actividades docentes trabajan estas competencias, en especial la realización del proyecto y su proceso de corrección.
ENXCOMP: “Competencias asociadas al módulo de Ingeniería de Computadores dentro del Grado:
Conocimiento de la arquitectura de los sistemas paralelos y distribuidos tanto desde el punto de vista hardware y de implementación como desde el punto de vista de su programación.”
Esta competencia se trabaja de forma intrínseca en todos los aspectos docentes de la materia.
Oportunidad ordinaria:
Contribución a la nota final y criterios de evaluación (sobre 10 puntos):
- Proyecto: en su evaluación se tendrá en cuenta el grado de elaboración del proyecto (opciones comparadas, criterios de selección), objetivos cumplidos y presentación de resultados, en proporcionalidad al número de integrantes del grupo que presenta el proyecto (máximo 3). Contribución: 4 puntos. Permite evaluar las competencias: CG4, CG6, CG9, TR1, TR2, TR3, FB5, RI1, RI9, TI2, TI5, ENXCOMP.
- Práctica 1: en su evaluación se tendrá en cuenta el número de programas de prueba realizado, el grado de elaboración de las conclusiones del experimento y presentación de resultados. Contribución: 2 puntos. Permite evaluar las competencias: CG4,CG6, TR1, TR2, TR3, FB5, RI1, RI9, RI14, TI2, TI5, ENXCOMP.
- Práctica 2: en su evaluación se tendrá en cuenta el número de simulaciones realizadas, la calidad y elaboración de las conclusiones de las diferentes simulaciones y presentación de resultados. Contribución: 2 puntos. Permite evaluar las competencias: CG4, CG6, TR1, TR2, TR3, FB5, RI1, RI9, TI2, TI5, ENXCOMP.
- Realización de trabajos cortos y problemas: se tendrá en cuenta en su evaluación el número de cuestiones correctas llevadas a cabo en cada test, y los problemas resueltos correctamente. Contribución: 2 puntos. Permite evaluar las competencias: CG4, CG6, CG9, CG11, TR1, TR2, TR3, FB5, RI1, RI9, RI14, TI2, TI5, ENXCOMP.
Para superar esta convocatoria es necesaria una nota media de 5 o superior.
Condición para calificación de no presentado: no presentar ninguna práctica y proyecto.
Los alumnos que non sean de nueva matrícula non conservan notas de cursos anteriores.
Oportunidad de recuperación:
Los mismos criterios de evaluación que en la oportunidad ordinaria.
Condición para calificación de no presentado: no presentar ninguna práctica y proyecto.
Las tutorías, la resolución de ejercicios y casos prácticos en la clase, y las clases prácticas le permitirán al profesor conocer de manera informal el grado de asimilación de la materia que van consiguiendo las alumnas/os a lo largo del cuatrimestre.
Con 4.5 créditos ECTS, el trabajo personal del alumno debe ser de unas 67.5 horas, distribuidas de la siguiente manera:
- Estudio autónomo: 22 horas, dedicadas a la asimilación de los contenidos teóricos.
- Escritura de ejercicios, conclusiones y otros trabajos: 20.5 horas, fundamentalmente dedicadas a la preparación de los problemas y ejercicios y el proyecto.
- Programación/experimentación: 10 horas, dedicadas a la resolución de las prácticas y preparación de resultados para su presentación.
- Actividades de evaluación: 15 horas, dedicadas a la realización de actividades adicionales relacionadas con la evaluación de prácticas, ejercicios y proyecto.
La programación de la materia será de tal forma que la distribución del número de horas de trabajo personal a lo largo del cuatrimestre sea el más uniforme posible. La distribución de este esfuerzo puede variar a lo largo del cuatrimestre, en especial en la etapa de elaboración y presentación de resultados de prácticas, problemas y ejercicios.
Resulta recomendable tener superadas (o por lo menos estudiadas) las materias Arquitectura de Computadores e Ingeniería de Computadores, y conocimientos de programación en lenguaje C.
La realización de los ejercicios propuestos (test y problemas) en paralelo con el desarrollo de los diferentes temas resulta decisiva para la asimilación de una manera resuelta y ordenada de los diferentes conceptos que se estudian.
Los materiales del curso y las comunicaciones electrónicas con los alumnos se llevará a cabo a través del campus virtual de la USC.
La materia “Programación de Sistemas Multinúcleo e Multiprocesadores” constituye el complemento perfecto de esta materia.
Algunos temas y notas de clase están disponibles en Inglés.
PLAN DE CONTINGENCIA
En el caso de que la situación de salud aconseje establecer un Escenario 2 (distanciamiento):
1) La ponderación de las diferentes partes de la asignatura y los requisitos para aprobar la asignatura se mantendrán sin cambios,
2) La prueba final se realizará de forma presencial.
En el caso de que la situación sanitaria aconseje establecer un Escenario 3 (cierre de instalaciones):
1) La ponderación de las diferentes partes de la asignatura y los requisitos para aprobar la asignatura se mantendrán sin cambios,
2) La prueba final se realizará de forma presencial, utilizando Microsoft Teams y las herramientas del aula virtual Moodle.