Arquitectura de Computadores de Altas Prestaciones

Usted está aquí

Créditos
6
Tipos
Obligatoria
Requisitos
Esta asignatura no tiene requisitos, pero tiene capacidades previas
Departamento
AC
La computación en la nube es un modelo de servicio para computación distribuida a gran escala basada en una infraestructura concentrada y un conjunto de servicios colaborativos sobre los cuales un conjunto de aplicaciones se pueden implementar y ejecutar a través de la red.

Este curso sobre computación en la nube tiene un enfoque principalmente práctico respecto a las tecnologías relacionadas. Si bien los conceptos explicados se aplican a cualquier aplicación, las clases prestan especial atención a la creación de aplicaciones Big Data Analytics en la nube.

En las clases teóricas del curso, los estudiantes aprenderán los principios y el estado del arte de la computación distribuida a gran escala en un modelo basado en servicios. Los estudiantes estudiarán cómo la escala afecta las propiedades del sistema, los modelos, la arquitectura y los requisitos.
En cuanto a los principios, este curso analiza cómo afecta la escala a las propiedades y problemas del sistema (como virtualización, disponibilidad, localidad, rendimiento y adaptación), modelos de sistema, modelos arquitectónicos, entorno y requisitos de aplicación (como tolerancia a errores, distribución de contenido). Este curso también explora el estado del arte en la gestión de recursos de entornos en la nube (compuestos por diferentes tipos de plataformas y organizaciones) para admitir las aplicaciones actuales y sus requisitos.
En las sesiones de laboratorio de este curso, los estudiantes obtendrán una visión práctica de lo último en tecnología de la nube para implementar un prototipo que satisfaga una idea de negocio creada por los estudiantes. Se comenzará a construir una caja de herramientas esencial para dar los primeros pasos en la nube. Luego tendrán la oportunidad de practicar con las API, las puertas en la nube. Todos estos preliminares permitirán que los estudiantes extraigan la avalancha de datos provenientes de la nube o utilicen los nuevos servicios analíticos avanzados que ofrece actualmente la nube. Finalmente, mirarán bajo el capó de estos servicios analíticos de alto nivel en la nube, ya sea en relación con el software o hardware, para comprender cómo cumplir con los requisitos de alto rendimiento.

Profesorado

Responsable

  • Angel Toribio Gonzalez ( )

Horas semanales

Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
7.11

Competencias

Competencias Técnicas de cada especialidad

Específicas

  • CTE1 - Capacidad para modelar, diseñar, definir la arquitectura, implantar, gestionar, operar, administrar y mantener aplicaciones, redes, sistemas, servicios y contenidos informáticos.
  • CTE6 - Capacidad para diseñar y evaluar sistemas operativos y servidores, y aplicaciones y sistemas basados en computación distribuida.
  • CTE7 - Capacidad para comprender y poder aplicar conocimientos avanzados de computación de altas prestaciones y métodos numéricos o computacionales a problemas de ingeniería.

Competencias Técnicas Genéricas

Genéricas

  • CG1 - Capacidad para proyectar, calcular y diseñar productos, procesos e instalaciones en todos los ámbitos de la ingeniería informática.
  • CG3 - Capacidad para dirigir, planificar y supervisar equipos multidisciplinares.
  • CG4 - Capacidad para el modelado matemático, cálculo y simulación en centros tecnológicos y de ingeniería de empresa, particularmente en tareas de investigación, desarrollo e innovación en todos los ámbitos relacionados con la Ingeniería en Informática.
  • CG6 - Capacidad para la dirección general, dirección técnica y dirección de proyectos de investigación, desarrollo e innovación, en empresas y centros tecnológicos, en el ámbito de la Ingeniería Informática.
  • CG8 - Capacidad para la aplicación de los conocimientos adquiridos y de resolver problemas en entornos nuevos o poco conocidos dentro de contextos más amplios y mulitidisciplinares, siendo capaces de integrar estos conocimientos.

Competencias Transversales

Actitud frente al trabajo

  • CTR5 - Tener motivación para la realización profesional y para afrontar nuevos retos, así como una visión amplia de las posibilidades de la carrera profesional en el ámbito de la Ingeniería en Informática. Tener motivación por la calidad y la mejora continua, y actuar con rigor en el desarrollo profesional. Capacidad de adaptación a los cambios organizativos o tecnológicos. Capacidad de trabajar en situaciones de falta de información y/o con restricciones temporales y/o de recursos.

Básicas

  • CB6 - Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.

Objetivos

  1. Present the student with new execution environments required to manage the computing resources and simplify the development and integration of the different types of applications and services at nowadays Internet-scale systems.
    Competencias relacionadas: CTE1, CTE2, CTR6, CTR1,
  2. Collaborate in the design, implementation and presentation of a cloud computing environment that is required for a class project.
    Competencias relacionadas: CTE1, CTR3, CTR5, CTR6, CB7, CG4, CG5, CTR1,
  3. Find and understand useful information to create innovative solutions.
    Competencias relacionadas: CTE2, CTE3, CB8, CG5,

Contenidos

  1. Teoría: fundamentos de computación en la nube
    Conceptos fundamentales: el efecto de la escala en las propiedades del sistema.
       ---- Problemas en sistemas a gran escala: virtualización, orientación y composición del servicio, disponibilidad, localidad, rendimiento y adaptación.
       ---- Modelos para sistemas a gran escala: modelos de sistemas para análisis, modelos arquitectónicos y modelos de servicio / implementación.
       ---- Técnicas de escala: técnicas básicas, técnicas de computación escalables para modelos arquitectónicos.
       ---- Middleware y aplicaciones: informática, almacenamiento, web, distribución de contenido, sistemas o servicios de escala de Internet.
       ---- Requisitos de entorno y aplicaciones.
  2. Sessions de laboratori: Visión práctica de Cloud Computing
    Análisis de datos masivos
    ---- API: las puertas de la nube
    ---- Capas de software requeridas actualmente en el análisis de datos masivos
    ---- Requisitos de software nuevos para análisis avanzado
    ---- Requisitos de hardware nuevos para análisis avanzado
  3. Proyecto: parte experimental
    Desarrollo de una aplicación prototipo utilizando los servicios disponibles en la nube (como AWS, Google App Engine, Open Stack, OpenNebula)
       ---- Desarrollo de una aplicación prototipo utilizando servicios analíticos avanzados ya sea en relación con API o software como servicio.

Actividades

Actividad Acto evaluativo


Presentation of the subject and Introduction to Cloud Computing and Big Data Analytics


Objetivos: 1
Teoría
4h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

Virtualization


Objetivos: 1
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

Cloud Computing Architecture


Objetivos: 1 3
Teoría
6h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

Best Practices for creating SaaS


Objetivos: 2 3
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

Cloud Security


Objetivos: 1 3
Teoría
4h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Shared Knowledge on current trending topics


Objetivos: 1 3
Teoría
4h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

Collaborative class project


Objetivos: 2
Teoría
5h
Problemas
0h
Laboratorio
11h
Aprendizaje dirigido
0h
Aprendizaje autónomo
36h

Lab 1: Basic knowledge toolbox


Objetivos: 2 3
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Lab 2: Doors in the cloud


Objetivos: 2 3
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Lab 3: Basic use of the cloud


Objetivos: 2 3
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Lab 4: Use of services programmatically through their API


Objetivos: 2 3
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Lab 5: Deploy a custom web app using additional cloud services


Objetivos: 2 3
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Lab 6: Run a custom web app in the cloud


Objetivos: 2 3
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Lab 7: Continuous Integration, Continuous Delivery, and Observability


Objetivos: 2 3
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Lab 8: Serverless applications


Objetivos: 2 3
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Metodología docente

Conferencias, lecturas y discusión de documentos técnicos y de investigación, Presentación de temas (y documentos) por parte de los estudiantes. Sesiones de laboratorio y un proyecto práctico de clase.

Se requiere que los estudiantes lleven su portátil para desarrollar las sesiones de laboratorio y el proyecto de clase práctica.

Los estudiantes deben responsabilizarse de sus cuentas de Amazon Web Services (proveedor de servicios de computación en la nube).

Método de evaluación

Los alumnos se evaluarán sobre su participación en clase, sesiones de laboratorio, asistencia a clase, lectura y presentación de informes y trabajos y trabajos sobre temas específicos.

La nota final del curso es la media ponderada de las calificaciones de los siguientes componentes obtenidos en cada parte del curso:
· Sesiones de laboratorio: 40%
· Lecturas de artículos / presentaciones y tareas: 10%
· Proyectos del curso: 30%
· Examen final: 20%

Para poder defender públicamente el proyecto del curso, los estudiantes deben haber asistido al menos al 70% de las clases y los equipos deben haber entregado a tiempo las actividades planificadas durante el curso. El proyecto del curso es el resultado del trabajo en equipo, que se reflejará en la calificación otorgada al grupo en su totalidad. Cada miembro del grupo será responsable de una parte del proyecto y podría ser calificado individualmente por su contribución.

Bibliografía

Básica:

Capacidades previas

Conocimientos generales de:
- Redes TCP/IP
- Administración básica de sistemas operativos y uso del sistema operativo desde los programas
- Desarrollo de programas

Conocimiento básico de:
- Línea de comandos de Unix.
- Lenguaje de programación Python.
- Sistema de control de versiones Git.

Advertencia. Se supone que los estudiantes deben tener los conocimientos anteriores antes de comenzar las sesiones de laboratorio. Se proporcionarán materiales complementarios antes de la clase para ayudar a los estudiantes a cumplir con los requisitos anteriores.