Nombre: PROCESAMIENTO PARALELO DE DATOS
Código: 525103008
Carácter: Obligatoria
ECTS: 6
Unidad Temporal: Cuatrimestral
Despliegue Temporal: Curso 3º - Segundo cuatrimestre
Menciones/Especialidades:
Lengua en la que se imparte: Castellano
Carácter: Presencial
Nombre y apellidos: GARRIGÓS GUERRERO, FRANCISCO JAVIER
Área de conocimiento: Arquitectura y Tecnología de Computadores
Departamento: Electrónica, Tecnología de Computadores y Proyectos
Teléfono: 968326461
Correo electrónico: javier.garrigos@upct.es
Horario de atención y ubicación durante las tutorias:
lunes - 11:00 / 14:00
ANTIGONES, planta 1, Despacho Despacho 9
jueves - 11:00 / 14:00
ANTIGONES, planta 1, Despacho Despacho 9
Titulaciones:
Doctor en Doctor en la Universidad Politécnica de Cartagena (ESPAÑA) - 2002
Ingeniero en Ingeniero Industrial en la Universidad de Murcia (ESPAÑA) - 1995
Categoría profesional: Profesor Titular de Universidad
Nº de quinquenios: 5
Nº de sexenios: 3 de investigación y 1 de transferencia
Curriculum Vitae: Perfil Completo
Nombre y apellidos: SANTA LOZANO, JOSÉ
Área de conocimiento: Arquitectura y Tecnología de Computadores
Departamento: Electrónica, Tecnología de Computadores y Proyectos
Teléfono: 868071063
Correo electrónico: jose.santa@upct.es
Horario de atención y ubicación durante las tutorias:
martes - 11:00 / 13:00
ANTIGONES, planta 2, Despacho nº 4
Será necesario pedir cita previa por correo electrónico a jose.santa@upct.es
Titulaciones:
Doctor en Ingeniería Informática en la Universidad de Murcia (ESPAÑA) - 2009
Máster en Tecnologías de la Información y Telemática Avanzadas en la Universidad de Murcia (ESPAÑA) - 2008
Graduado en Ingeniería Informática en la Universidad de Murcia (ESPAÑA) - 2004
Categoría profesional: Profesor Titular de Universidad
Nº de quinquenios: 3
Nº de sexenios: 3 de investigación
Curriculum Vitae: Perfil Completo
[CB2 ]. Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio
[CG2 ]. Conocer y aplicar los fundamentos de ingeniería y tecnologías informáticas actuales para diseñar e implementar nuevas aplicaciones de análisis de datos.
[CG3 ]. Capacidad para desarrollar experimentos y para implementar sistemas, infraestructuras, procesos y herramientas con el fin de soportar la manipulación de los datos durante todo el ciclo de vida de estos.
[CE7 ]. Conocer la arquitectura y el funcionamiento de los computadores, la interconexión de los componentes que los forman y su software de sistema básico.
[CE9 ]. Utilizar sistemas distribuidos, sistemas de cálculo paralelo, sistemas de procesamiento por lotes y plataformas de procesamiento de flujos de datos, incluyendo soluciones online y basadas en la nube para la provisión de servicios bajo demanda y escalables.
Conocer los modelos de programación y la capa de soporte del sistema operativo para el desarrollo de aplicaciones paralelas.
Aprender técnicas de análisis y diseño de algoritmos paralelos intensivos en datos.
Ser capaz de identificar y resolver los problemas fundamentales de las aplicaciones paralelas.
Aprender a usar herramientas e infraestructuras de soporte para la computación paralela intensiva, incluyendo soluciones online y basadas en la nube.
Introducción a la programación paralela. Soporte del sistema operativo. Modelos de programación paralela. Computación paralela intensiva en datos (paralelismo de datos, modelos y abstracciones). Software y entorno de ejecución específico para análisis avanzados.
Tema 1: Introducción
- Introducción a los Sistemas Distribuidos
- Arquitecturas para Big Data
- Introducción a los Sistemas Paralelos
Tema 2: Tecnologías de Big Data
- Procesamiento MapReduce
- Hadoop
- Apache Spark
- Framework Dask
- Infraestructura en la nube para Big Data
- Otros frameworks y herramientas
Tema 3: Paralelismo en Big Data
- Implementación general de MapReduce
- Implementación de MapReduce paralelizada con hilos C++
Práctica 1: Introducción (Relacionada con el Tema 1).
- Programas paralelos: pruebas y medición de prestaciones (speedup, escalabilidad, ...) - Servicio distribuido mediante microservicios - Despliegue de un servicio REST dockerizado. - Ejecución de llamadas y cálculo de tiempos de respuesta.
Práctica 2: Uso básico de Big Data(Relacionada con el Tema 2).
- Instalación y configuración de Apache Spark - Procesamiento de datos con Apache Spark - Instalación y configuración de Dark - Procesamiento de datos con Dask - Big Data en Amazon Web Service (AWS)
Práctica 3: Implementación paralela (Relacionada con el Tema 3).
Implementar un ejemplo de MapReduce en C++ y paralelizarlo tanto con Parallel Patterns Library (PPL) como con threads.
La Universidad Politécnica de Cartagena considera como uno de sus principios básicos y objetivos fundamentales la promoción de la mejora continua de las condiciones de trabajo y estudio de toda la Comunidad Universitaria. Este compromiso con la prevención y las responsabilidades que se derivan atañe a todos los niveles que integran la Universidad: órganos de gobierno, equipo de dirección, personal docente e investigador, personal de administración y servicios y estudiantes. El Servicio de Prevención de Riesgos Laborales de la UPCT ha elaborado un "Manual de acogida al estudiante en materia de prevención de riesgos" que puedes encontrar en el Aula Virtual, y en el que encontraras instrucciones y recomendaciones acerca de cómo actuar de forma correcta, desde el punto de vista de la prevención (seguridad, ergonomía, etc.), cuando desarrolles cualquier tipo de actividad en la Universidad. También encontrarás recomendaciones sobre cómo proceder en caso de emergencia o que se produzca algún incidente. En especial, cuando realices prácticas docentes en laboratorios, talleres o trabajo de campo, debes seguir todas las instrucciones del profesorado, que es la persona responsable de tu seguridad y salud durante su realización. Consúltale todas las dudas que te surjan y no pongas en riesgo tu seguridad ni la de tus compañeros.
Unit 1: Introduction
Introduction to Distributed Systems
Architectures for Big Data
Introduction to Parallel Systems
Unit 2: Big Data Technologies
MapReduce Processing
Hadoop
Apache Spark
Dask Framework
Cloud Infrastructure for Big Data
Other frameworks and tools
Unit 3: Parallelism in Big Data
General implementation of MapReduce
Implementation of MapReduce parallelized with C++ threads
Exposición teórica: Exposición de los contenidos teóricos de la asignatura por parte del profesor. También se contemplan las sesiones informativas sobre el desarrollo del trabajo de fin de grado o prácticas externas.
Exposición de los contenidos teóricos de la asignatura por parte del profesor.
20
100
Seminarios y actividades de aula: Exposición, análisis y debate dentro del contexto de aplicaciones específicas de contenidos teóricos, así como planteamiento y resolución de ejercicios y casos prácticos en el aula, tanto al grupo completo como en grupos reducidos. También se contemplan conferencias, debates y seminarios temáticos.
Exposición, análisis y debate dentro del contexto de aplicaciones específicas de contenidos teóricos, así como planteamiento y resolución de ejercicios y casos prácticos en el aula
5
100
Prácticas de laboratorio: Ejercicios y resolución de problemas, aprendizaje orientado a proyectos, estudio de casos, exposición y discusión de trabajos, simulaciones y/o prácticas con ordenadores, generalmente desarrolladas en grupos reducidos.
Ejercicios y resolución de problemas, aprendizaje orientado a proyectos, estudio de casos, exposición y discusión de trabajos, simulaciones y/o prácticas con ordenadores
28
100
Trabajo autónomo del alumno: Estudio y preparación de contenidos teórico-prácticos, trabajo individual consistente en lecturas, búsquedas de información, sistematización de contenidos, elaboración de informes o estudio para la elaboración de casos entre otras actividades.
Estudio y preparación de contenidos teórico-prácticos, trabajo individual consistente en lecturas, búsquedas de información, sistematización de contenidos, elaboración de informes o estudio para la elaboración de casos entre otras actividades.
90
0
Tutorías formativas y resolución de dudas: Asistencia individualizada -tutorías individuales- o en grupo -tutorías colectivas- a los estudiantes por parte del profesor.
Asistencia individualizada -tutorías individuales- o en grupo -tutorías colectivas- a los estudiantes por parte del profesor
3
100
Evaluación: Pruebas individuales, ya sean escritas, orales o con medios informáticos, donde el estudiante demostrará los conocimientos teóricos y prácticos adquiridos durante las actividades formativas asociadas a la enseñanza de la materia.
Pruebas individuales, ya sean escritas, orales o con medios informáticos, donde el estudiante demostrará los conocimientos teóricos y prácticos adquiridos durante las actividades formativas asociadas a la enseñanza de la materia
4
100
Exámenes individuales: Pruebas objetivas, de desarrollo, de respuesta corta, de ejecución de tareas o de escala de actitudes, realizadas por los estudiantes para mostrar los conocimientos teóricos y prácticos adquiridos ya sea de forma oral, escrita o utilizando un ordenador.
Pruebas objetivas, de desarrollo, de respuesta corta, de ejecución de tareas o de escala de actitudes, realizadas por los estudiantes para mostrar los conocimientos teóricos y prácticos adquiridos ya sea de forma oral, escrita o utilizando un ordenador.
50 %
Procedimientos de observación del trabajo del estudiante: Registros de participación, de realización de actividades, cumplimiento de plazos, participación en foros, informes de seguimiento del trabajo fin de grado y registros sobre el desarrollo de las prácticas externas.
0 %
Informe técnico. En este instrumento incluimos los resultados de actividades prácticas, o de laboratorio, junto con sus memorias descriptivas y posibles resúmenes del estado del arte sobre temas concretos. La opción de realizar entrevistas personales o presentaciones de los trabajos realizados también entran en esta categoría.
resultados de actividades prácticas, o de laboratorio, junto con sus memorias descriptivas y posibles resúmenes del estado del arte sobre temas concretos. La opción de realizar entrevistas personales o presentaciones de los trabajos realizados también entran en esta categoría.
50 %
Exámenes individuales: Pruebas objetivas, de desarrollo, de respuesta corta, de ejecución de tareas o de escala de actitudes, realizadas por los estudiantes para mostrar los conocimientos teóricos y prácticos adquiridos ya sea de forma oral, escrita o utilizando un ordenador.
Pruebas objetivas, de desarrollo, de respuesta corta, de ejecución de tareas o de escala de actitudes, realizadas por los estudiantes para mostrar los conocimientos teóricos y prácticos adquiridos ya sea de forma oral, escrita o utilizando un ordenador.
50 %
Informe técnico. En este instrumento incluimos los resultados de actividades prácticas, o de laboratorio, junto con sus memorias descriptivas y posibles resúmenes del estado del arte sobre temas concretos. La opción de realizar entrevistas personales o presentaciones de los trabajos realizados también entran en esta categoría.
resultados de actividades prácticas, o de laboratorio, junto con sus memorias descriptivas y posibles resúmenes del estado del arte sobre temas concretos. La opción de realizar entrevistas personales o presentaciones de los trabajos realizados también entran en esta categoría.
50 %
Autor: George Coulouris, Jean Dollmore, Tim Kindberg
Título: Sistemas distribuidos. Conceptos y diseño
Editorial: Grupo Anaya Publicaciones Generales
Fecha Publicación:
ISBN: 8478290494
Autor: Martin Kleppmann
Título: Designing Data Intensive Application
Editorial: O'Reilly Media
Fecha Publicación:
ISBN: 1449373321
Autor: Nathan Marz y otros
Título: Big Data: Principles and Best Practices of Scalable Realtime Data Systems
Editorial: Manning Publications
Fecha Publicación:
ISBN: 1617290343
Autor: Holden Karau, Mika Kimmins
Título: Scaling Python with Dask. From Data Science to Machine Learning
Editorial: O'Reilly Media
Fecha Publicación:
ISBN: 1098119878
Autor:
Título: Introducción a la programación paralela
Editorial: Paraninfo
Fecha Publicación: 2008
ISBN: 9788497326742
Autor: John L. Hennessy, David A. Patterson
Título: Computer architecture: a quantitative approach
Editorial: Morgan Kaufmann
Fecha Publicación:
ISBN: 012383872X
Autor: Tom White
Título: Hadoop: The Definitive Guide
Editorial: O'Reilly Media
Fecha Publicación:
ISBN: 0596521979
Autor: Holden Karau y otros
Título: Learning Spark: Lightning-Fast Big Data Analysis
Editorial: O'Reilly Media
Fecha Publicación:
ISBN: 1449358624
Autor: Fabian Hueske y VasilikiKalavri
Título: Stream Processing with Apache Flink: Fundamentals, Implementation, and Operation of Streaming Applications
Editorial: O'Reilly Media
Fecha Publicación:
ISBN: 149197429X
Autor: Maurice Herlihy, NirShavit, Victor Luchangco, Michael Spear
Título: The Art of Multiprocessor Programming
Editorial: Elsevier LTD
Fecha Publicación:
ISBN: 9780124159501
Autor: Fabio Nelli
Título: Parallel and High Performance Programming with Python. Unlock parallel and concurrent programming in Python using multithreading, CUDA, Pytorch and Dask
Editorial: Orange Education Pvt Ltd
Fecha Publicación:
ISBN: 9388590732