Arquitectura de computadores
Volver a Cursos
Arquitectura de Computadores - Código 22966
Carlos Jaime Barrios Hernández - ( c b a r r i o s @ u i s . e d u . c o )
Auxiliatura Técnica-Académica : Equipo de Ingenieria de Supercomputación y Cálculo Científico
Contents
- 1 PRESENTACION
- 2 Contenido
- 3 ASPECTOS METODOLOGICOS
- 4 MATERIAL DEL CURSO
- 5 EVALUACIONES (1 Semestre de 2020 - Todos los Grupos)
- 5.1 (10%) Blog/ Ensayo de Introducción: Fecha Propuesta de Entrega/Publicación 2 de Julio de 2020 (Individual)
- 5.2 (30%) Laboratorios y Trabajos Prácticos: Todas las entregas de prácticas y laboratorios a partir del viernes 29 de mayo de 2020
- 5.3 (60%) Proyecto de Clase
- 5.3.1 (20%) Artículo de Proyecto de Clase (Fecha Propuesta de Entrega: A partir del Martes 1 de Septiembre a las 12:00 (GMT -5/ Hora de Bogotá) hasta el Miércoles 2 de Septiembre 23:59 GMT -5/Hora de Bogotá) de 2020)
- 5.3.2 (20%) Sitio Web del Proyecto del Proyecto de Clase (Fecha propuesta de Publicación: A partir del Jueves 3 de Septiembre a las 6:00 (GMT -5/Hora de Bogotá) hasta el mismo Jueves 3 de Septiembre a las 17:59 (GMT -5/Hora de Bogotá) de 2020)
- 5.3.3 (20%) Presentación del Proyecto del Proyecto de Clase (Fechas propuestas de Presentación en las sesiones regulares del curso: Fecha 1: Jueves 3 de Septiembre, Fecha 2: Jueves 9 de Septiembre de 2020)
- 5.4 TEMÁTICAS DE PROYECTOS
- 5.5 Temáticas de Proyectos (1 Semestre de 2018)
- 6 BIBLIOGRAFÍA Y FUENTES DE INFORMACION
- 7 PRACTICAS 2020-(Curso Especial)
- 7.1 Primera Práctica (Viernes 22 de Mayo de 2019): Familiarizándose con las secciones prácticas e introducción al curso (Individual)
- 7.2 Segunda Práctica: (Viernes 29 de Mayo 2020) Algunos Aspectos Históricos (En Parejas o Trios - Pueden ser de grupos de clase diferentes (A1 o A2))
- 7.3 Tercera Práctica (Viernes 5 de Junio de 2020): Requerimientos Funcionales y Desempeño (Parejas o Trios)
- 7.4 Cuarta Práctica (Viernes 12 de Junio de 2020): Aritmética Computacional (Parejas o Trios)
- 7.5 Quinta Práctica (Viernes 19 de Junio de 2020): Ensamblador (Trios o Parejas)
- 7.6 Sexta Práctica (Viernes 26 de Junio de 2020): Multinúcleos y Multiprocesamiento (Parejas o Trios)
- 7.7 Séptima Práctica (Viernes 3 de Julio de 2020): Práctica Especial (Individual)
- 7.8 Octava Práctica (Viernes 10 de Julio de 2020): Entrega de Informe Inicial del Proyecto de Clase (De acuerdo a la asignación de Grupos)
- 7.9 Novena Práctica (Viernes 17 de Julio 2020): NVIDIA GTC 2020 Keynote in 10 minutes: Updated RTX and A100 GPU system (Parejas o trios)
- 7.10 Novena Práctica (Viernes 24 de Julio de 2020) : Arquitectura General (En trios o parejas)
- 7.11 Décima Práctica (Viernes 31 de Julio 2020) : Comparando Arquitecturas (Individual)
- 7.12 Onceava Práctica (Viernes 14 de Agosto 2020): SAN , RAID y SMART Campus
- 7.13 Doceava Práctica (Viernes 21 de Agosto 2020): Jugando con NandTetris Parte 1. (Por Parejas o Trios)
- 7.14 Treceava Práctica (Viernes 28 de Agosto 2020): Jugando con NandTetris Parte 2. (Por Parejas o Trios)
- 8 CONSULTA CON EL PROFESOR Y SESIONES ESPECIALES
PRESENTACION
El diseño, desarrollo e innovación son palabras que corresponden a la actividad de un ingeniero, cualquiera que sea su área de trabajo. Desde un punto de vista ingenieril la tecnología, es el fruto de la concepción y desarrollo del conocimiento, utilizando herramientas y proyectando una utilidad, incluyendo el diseño de nuevas herramientas. Como ingenieros de sistemas esas herramientas son las máquinas computacionales, las cuales evolucionan con la actualización del conocimiento, que involucra la explotación de nuevos materiales, nuestra capacidad de abstracción y las perspectivas de desarrollo (mas que las necesidades).
Si bien el componente técnico/tecnológico de la asignatura arquitecturas de computadores es importante, el solo hecho de utilizar la palabra “arquitectura” involucra una percepción hacia la concepción, el diseño y la organización de los elementos que integran un sistema de cómputo (no solo una máquina computadora), como es la interacción con otros sistemas y con los humanos, observando tendencias, factibilidad, requerimientos de rendimiento, limitaciones tecnológicas y físicas, impacto ambiental entre otros. Aunque la frontera con el conocimiento que involucra otras áreas como la ingeniería electrónica, la física de materiales o la matemática aplicada es frágil, el curso esta dirigido a estudiantes de ingeniería de sistemas y ciencias de la computación, buscando ofrecer fundamentos de arquitectura de sistemas computacionales desde una ubicación histórica. De ahí que se complementen con lecturas acerca del estado del arte en cada una de las secciones propuestas para este curso.
El propósito fundamental de esta asignatura durante el presente semestre es establecer un estado de conocimientos fundamentales en arquitectura de computadores, que permita manejar el lenguaje técnico asociado, ubicar temporalmente el desarrollo tecnológico, conociendo el estado del arte en esta área y fundamentar conocimientos que permitan el auto-aprendizaje y profundización en el área, además de la interacción en equipos interdisciplinarios que requieran competencias en arquitectura de sistemas computacionales.
Contenido
- Introducción y Fundamentos de Arquitectura de Sistemas de Cómputo
- Arquitectura, Organización y Diseño de Sistemas de Cómputo
- Desarrollo histórico – Ubicación histórica actual
- Clases de Computadoras
- Abstracción y Tecnología de Computación – Tendencias
- Desempeño
- Casos de Estudio
- Instrucciones y Aritmética para Computador
- Fundamentos de Instrucciones para Computador
- Operaciones y Operandos de Hardware de Computadoras
- Representación de Instrucciones
- Operaciones Lógicas
- Instrucciones para la toma de decisiones
- Soporte de Procedimientos a nivel de Hardware
- Comunicaciones
- Arquitectura MIPS
- Introducción Paralelismo I – Paralelismo de Instrucciones y el problema de la sincronización
- Algunos Aspectos Avanzados
- Aspectos Arquitecturales de Compilación
- Fundamentos de Diseño Lógico
- Mapeo de Hardware
- Casos de Estudio
- Introducción y Fundamentos de Aritmética para Computador
- Adición y substracción
- Multiplicación y División
- Introducción al Paralelismo II – Aritmética de computadores y el problema de la asociatividad.
- Casos de Estudio
- Fundamentos de Instrucciones para Computador
- Organización y Diseño Arquitectural de Sistemas de Cómputo
- Fundamentos de Organización y Diseño
- Aspectos Básicos de Procesadores
- Aspectos Lógicos de Diseño
- Pipeline y Control
- Paralelismo y Escalabilidad
- Casos de Estudio
- Fundamentos de Memoria
- Fundamentos de Organización y Diseño
- Jerarquía de Memoria
- Casos de Estudio
- Aspectos Básicos de Almacenamiento
- Aspectos Básicos de Comunicaciones y Conectividad
- Conectividad Interna
- Interconectividad y Redes (Introducción)
- Fundamentos de I/O, Gráficas e Interfaces
- Casos de Estudio
- Tendencias y Direcciones Futuras
- Arquitecturas Híbridas
- Arquitecturas Reconfigurables
- Aspectos Energéticos, Ecológicos y Ambientales
- Arquitecturas Escalables, de Gran Escala y Ecosistemas
- ARMS (Advanced RISC Architectures) y Computadores Embebidos.
- EXASCALE y otras direcciones
ASPECTOS METODOLOGICOS
- Seminarios Teóricos
- Seminarios Magistrales
- Seminarios con Invitados
- Sesiones Teórico Prácticas / Análisis de Casos
- Lecturas Sugeridas (En español y en Inglés)
- Webminars y Videoconferencias
MATERIAL DEL CURSO
El material presentado, fundamentalmente son las diapositivas presentadas durante las sesiones tanto teóricas como los talleres. Es importante resaltar que la mayoría del material se encuentra en inglés. Esto con el fin de acostumbrar la consulta en inglés, debido a que las especificaciones y la bibliografía y fuentes de información "de punta" en tecnología están estandarizadas en inglés. Es posible que existan algunos errores de escritura. Estas diapositivas son principalmente de las sesiones Teóricas (Desde el I Semestre de 2016) y los artículos presentados por los estudiantes a partir del primer semestre de 2016.
Presentación del Curso:
Del Tema 1 del Contenido:
- Abstracción
- Evolución Histórica
- Evaluación de Desempeño
- Fundamentos de Diseño Lógico Digital (Repaso)
Del Tema 2 del Contenido:
- Aritmética Computacional
- Instrucciones Computacionales
- Multinúcleos y Paralelísmo: Una introducción
- Introducción al Ensamblador
Del Tema 3 del Contenido:
- Redes y Conectividad
- Systems on Chip
- Almacenamiento e I/O s
- RISC, CISC y Variaciones
- Arquitecturas Reconfigurables y Embebidas
EVALUACIONES (1 Semestre de 2020 - Todos los Grupos)
Teniendo en cuenta la modalidad de "presencialidad remota" sugerida por la alta dirección de la universidad como estrategia para mantener la ocupación y actividades académicas de enseñanza en el pregrado para el primer semestre académico del año 2020, se proponen las siguientes evaluaciones y porcentajes :
- (10%) Blog/Ensayo de Introducción
- (30%) Laboratorios y Trabajos Prácticos
- (60%) Proyecto de Clase
- (20%) Articulo del Proyecto
- (20%) Sitio Web del Proyecto
- (20%) Presentación del Proyecto de Clase
(10%) Blog/ Ensayo de Introducción: Fecha Propuesta de Entrega/Publicación 2 de Julio de 2020 (Individual)
Este blog/ensayo tiene como objetivo desarrollar una primera entrega del curso a manera de blog, de acuerdo a una asignación especifica. El blog podrá ser publicado en cualquier medio digital de "blog" (por ejemplo: https://www.blogger.com/ o https://es.wix.com) y contará con las siguientes características:
- Se realizará en español.
- Podrá tener gráficas, videos incluidos y diseño libre.
- Mínimo 6 párrafos de cinco lineas cada uno, máximo 12 párrafos (Teniendo en cuenta tamaño de letra de 12p)
- Incluir referencias y lecturas complementarias (No estará dentro de los párrafos del contenido, sino aparte).
- Incluir caja de comentarios y lograr que mínimo 3 de sus compañeros lean y dejen comentarios en su blog.
- Se recomienda usar tags.
Ejemplos de blog pueden ser: https://sciencenode.org/feature/Attacking%20COVID-19%20from%20every%20angle.php o https://blog.desdelinux.net/veloren-videojuego-codigo-abierto-inspirado-cube-world/
Deben enviar el enlace del blog desde el 30 de Junio hasta el 2 Julio a las 10:59 P.M. al correo del profesor, con el asunto: BLOG/ENSAYO ARQUITECTURA . En el cuerpo del mensaje, su código y nombre completo así como el grupo al que pertenece.
Asignaciones para el Blog/Ensayo de Introducción
Se han definido 10 (Diez) Temáticas para construir el blog y estas, están relacionadas con la asignación del equipo de trabajo final que sigue una correspondencia de color (o Numero del Equipo del trabajo Final). No olvide tener en cuenta las recomendaciones anteriores (Ver asignación de equipos de los equipos del trabajo final en la sección respectiva). IMPORTANTE: NO PUEDEN HABER BLOGS SIMILARES (Se utilizará un software anti-plagiarism)
La manera de realizar el blog es tomar en cuenta tanto la temática principal propuesta como las preguntas guías. Estas preguntas ayudarán a definir una idea principal a desarrollar en el blog que llamará el interés de sus compañeros o del posible lector concerniente, en este caso, estudiantes de ciencias de la computación, ingeniería de sistemas y afines.
Se recomienda observar tanto las diapositivas como las fuentes de información dadas en este curso. Las respuestas de las temáticas propuestas, pueden soportarse en los anexos por ejemplo, de los libros guías de Arquitectura de Computadores principalmente pero también en capítulos de los libros y fuentes dadas, las cuales pueden consultarse fácilmente al observar el título de la temática principal. RECUERDE SIN EMBARGO QUE DEBE BUSCAR OTRAS REFERENCIAS PARA COMPLEMENTAR LO QUE PRESENTA EN SU BLOG.
Una estrategia a utilizar para darle valor a su blog es presentar y comentar un caso que ayude a clarificar la temática principal. Recuerde, usted debe ubicarse como ingeniero de sistemas y desde el punto de vista de arquitectura de computadores.
Equipo 1 | Temática Principal | Preguntas Principales |
---|---|---|
Equipo 1 | El rol del Compilador | ¿Por qué es importante el compilador?
¿Cómo se construye un compilador y qué hay que tener en cuenta? ¿Cuál es el impacto del compilador en la arquitectura computacional al momento de tomar una decisión tecnológica? |
Equipo 2 | La Importancia de los Requerimientos para Definir Arquitectura Computacional | ¿Por qué hay que tener en cuenta los requerimientos funcionales?
¿Qué características principales se pueden identificar al ver esos requerimientos? ¿Cómo esos requerimientos se asemejan y se diferencia entre ellos? ¿Los requerimientos pueden ayudar a tener en cuenta las perspectivas de uso y tendencias a futuro de la arquitectura recomendada? |
Equipo 3 | Arquitectura de Software vs Arquitectura de Hardware | ¿Por que se habla de arquitectura y organización y no simplemente de arquitectura?
¿Cuales son las similitudes y diferencias entre ellas? ¿Por qué computacionalmente no se puede hablar de una sin tener en cuenta a la otra? ¿Como representarlas separadas y en conjunto? |
Equipo 4 | La importancia del Sistema Operativo | ¿Cual es ese rol tan importante (no el evidente y bien conocido por todos) del sistema operativo en una arquitectura computacional?
¿Qué consideraciones se debe tener en cuenta al implementar un sistema operativo, por ejemplo, observando los requerimientos? ¿Qué debe tener en cuenta los sistemas operativos y sus diferentes distribuciones o sabores que se propongan a futuro? ¿Qué consecuencias tiene equivocarse de implementación del sistema operativo? |
Equipo 5 | Evaluación de Rendimiento de Sistemas Computacionales | ¿Por qué es importante evaluar el rendimiento de cualquier sistema computacional?
¿Qué conocimientos implica teóricamente? ¿Por qué es importante definir buenas métricas? ¿Por qué en la implementación de sistemas computacionales, las carácteristicas cualitativas pierden valor cuando se analiza el rendimiento computacional? |
Equipo 6 | La Jerarquía de Memoria | ¿Por qué no se puede obviar esa jerarquía de memoria y es importante para entender la arquitectura computacional?
¿Cómo afecta el rendimiento computacional? Independiente del nivel de jerarquía, ¿Por qué es importante, conocer que pasa cuando la memoria trabaja (direcciona, ubica, lee o escribe)? ¿Cómo el tiempo de acceso a la memoria afecta el rendimiento del procesador? |
Equipo 7 | Single Precision y Double Precision | ¿ Por qué es importante el punto flotante?
¿Por qué tener en cuenta los dos formatos (SP /DP)? ¿Cuándo usarlos? ¿Cómo afecta el uso del uno o del otro al rendimiento de mi sistema computacional? |
Equipo 8 | Segmentación (PIPELINED) | ¿ Qué es la segmentación (PIPELINED) y por qué es tan importante?
¿Qué consecuencias en implementación de arquitecturas computacionales (principalmente en los procesadores) ha generado? ¿Por qué es difícil implementarla? ¿Por qué a pesar de las dificultades, se implementa? |
Equipo 9 | Ensambladores (Assemblers) | ¿Qué hace y que permite hacer el ensamblador?
¿Cómo funciona el ensamblador y el proceso de ensamblaje? ¿Por qué el rendimiento del ensamblaje (y del ensamblador) es importante? ¿Qué es el backpatching y por qué es importante? |
Equipo 10 | Enalazadores (Linkers) | ¿Qué hace el enlazador?
¿Como funcional el enlazador y el proceso de ensamblaje? ¿Por qué el rendimiento del enlazador y del proceso de enlace es importante? ¿Cual es su relación con la memoria? |
Lista de Blogs
https://requearqcomp.blogspot.com/2020/06/la-arquitectura-de-computadoras-es-el.html |
https://alvaroluisriosgarz.wixsite.com/website/post/la-importancia-de-los-requerimientos-para-definir-arquitectura-computacional |
https://arquitecturaequipo2.blogspot.com/2020/06/importancia.html |
https://arquitecturaimportanciarequerimientos.blogspot.com/2020/06/hola.html |
https://cdcnadela.blogspot.com/ |
https://carlosbecerra0300arqdecomputadores.blogspot.com/2020/06/arquitectura-de-computadores.html |
https://computingarc.blogspot.com/2020/06/el-sistema-operativo-tiene-la-funcion.html#more |
https://gonzalezhenlazadores.blogspot.com/2020/07/enlazadores-linkers.html |
https://la-importancia-del-sistema-operativo.blogspot.com/ |
https://arquitecturapcuis.blogspot.com/p/la-importancia-del-sistema-operativo.html |
https://paolaescobar2805.wixsite.com/arquitectura |
https://jerarquiadelamemoria.blogspot.com/2020/06/arquitectura-de-computadores-jerarquia.html |
https://jerarquiadememoriaarquitectura.blogspot.com/ |
https://hopkeinst.blogspot.com/2020/07/idealmente-uno-desearia-una-capacidad.html |
https://spydp.blogspot.com/ |
https://puntoflotantesingleydouble.blogspot.com/ |
https://segmentacionarq.blogspot.com/ |
https://pipelinesegmentacion.blogspot.com/ |
https://ensambladoresamayauis.blogspot.com/2020/06/ensambladores-en-arquitectura-de.html |
https://enlazadores.blogspot.com/ |
http://arquitecturacompilador.blogspot.com/2020/07/la-desconocida-importancia-de-los.html |
https://fenixchaman.wixsite.com/misitio/post/el-gran-impacto-del-compilador |
https://techarch.herokuapp.com/ |
https://arquihvs.blogspot.com/2020/07/arquitectura-de-software-vs.html |
https://videosxm1.wixsite.com/website/post/arquitectura-de-software-vs-arquitectura-de-hardware |
https://isafried.wixsite.com/importancia-so |
https://arqcompilatorrole.blogspot.com/2020/07/el-rol-del-compilador.html |
https://rendimiento-sistemas-computacionales.blogspot.com/2020/07/evaluacion-de-rendimiento-de-sistemas.html |
https://jhon2170098.wixsite.com/arquitecturacomp |
https://pumarejojerarquiadelamemoria.blogspot.com/2020/07/jerarquiadelamemoria.html |
https://juanjosemartinez31.wixsite.com/arquitectura |
https://danielamedina1121.wixsite.com/ensambladores |
https://misangarita.wixsite.com/ensamblador |
https://enlazadoresblogarquitectura.blogspot.com/2020/07/los-enlazadores-son-una-parte-esencial.html |
https://notepatharq.blogspot.com/2020/07/blog-post_2.html |
https://pipelinedsegmentacionelectronica.blogspot.com/2020/07/segmentacion-electronica_1.html#comment-form |
https://bedriitobuenqhorq.wixsite.com/blogarquitectura/post/la-segmentaci%C3%B3n-pipelined |
(30%) Laboratorios y Trabajos Prácticos: Todas las entregas de prácticas y laboratorios a partir del viernes 29 de mayo de 2020
(60%) Proyecto de Clase
Este proyecto de clase tiene como objetivo, a partir de los conocimientos explorados en el curso de Arquitectura de Computadores tanto en las sesiones teóricas como en las prácticas y actividades complementarias, mostrar las competencias adquiridas al tratar una temática especializada, proponiendo la realización de un artículo y su difusión tanto a un público especializado como general.
La asignación de los integrantes de cada grupo se presenta en la siguiente sección. Sin embargo, los diferentes grupos se asignarán a partir del 6 de Julio de 2020.
(20%) Artículo de Proyecto de Clase (Fecha Propuesta de Entrega: A partir del Martes 1 de Septiembre a las 12:00 (GMT -5/ Hora de Bogotá) hasta el Miércoles 2 de Septiembre 23:59 GMT -5/Hora de Bogotá) de 2020)
El artículo del proyecto, es un artículo dirigido a un lector especializado en el área, en este caso, ingenieros de sistemas y computación que conocen de arquitectura de computadores. Este artículo, como cualquier artículo técnico-científico, contará con las partes fundamentales de un artículo (pueden guiarse con los artículos de sus compañeros de semestres pasados): desde el resumen del mismo, la introducción, contenido, conclusión, discusión si es necesaria y por supuesto las fuentes de información más allá del contenido de base dado para la realización del trabajo. En el artículo mismo se mide la calidad del trabajo realizado.
Requisitos para el artículo:
- Máximo 10 (Diez) Páginas en Español (mínimo 8 páginas), Título y Resumen (abstract) en español y en inglés (máximo 10 lineas para cada uno de los idiomas). NO OLVIDE DARLE UN TITULO QUE DEBE SER DIFERENTE AL TITULO DE LA ASIGNACIÓN PERO QUE GENERE UN INTERÉS A LA LECTURA (en Español y en inglés)
- Formato IEEE en UNA columna para series de conferencias puede guiarse con el siguiente enlace: http://www.ieee.org/conferences_events/conferences/publishing/templates.html
- El archivo se enviará al correo del profesor, sin olvidar en el texto del correo, colocar los nombres completos de los autores, código y grupo del curso al que pertenecen (A1 o A2).
- El artículo debe entregarse en un único archivo .pdf , indicando en el asunto: ENTREGA ARTICULO FINAL ARQUITECTURA 1-2020. La fecha y hora límite propuesta de entrega es el miércoles 2 de septiembre de 2020 a las once y cincuenta y nueve de la noche. Después de dicha hora límite no se recibirá artículos.
(20%) Sitio Web del Proyecto del Proyecto de Clase (Fecha propuesta de Publicación: A partir del Jueves 3 de Septiembre a las 6:00 (GMT -5/Hora de Bogotá) hasta el mismo Jueves 3 de Septiembre a las 17:59 (GMT -5/Hora de Bogotá) de 2020)
El objetivo de este sitio web es presentar en un lenguaje común dirigido a un público no especializado los aspectos importantes del trabajo final asignado. El sitio puede contener gráficos, animaciones, visualizaciones o elementos de interacción que faciliten el entendimiento del conocimiento presentado. Precisamente, esa facilidad de divulgación a personas que no son del área permitirá medir la comprensión del tema asignado por parte de cada grupo.
(20%) Presentación del Proyecto del Proyecto de Clase (Fechas propuestas de Presentación en las sesiones regulares del curso: Fecha 1: Jueves 3 de Septiembre, Fecha 2: Jueves 9 de Septiembre de 2020)
Características de la Presentación Oral:
Esta presentación oral se realiza para presentar en un formato rápido, los alcances del trabajo final así como las respuestas a las preguntas principales dadas. Tenga en cuenta tanto el manejo del tiempo como el hecho que todo lo que se diga en esa presentación (preguntas del profesor o de los estudiantes) puede entrar en la evaluación final.
- El tiempo de presentación es de 5 Minutos Estrictos, TODOS LOS INTEGRANTES DEL GRUPO DEBEN INTERVENIR. Recuerde el pasarse de ese tiempo PENALIZA AMPLIAMENTE LA CALIFICACION RECIBIDA.
- Las diapositivas respectivas deben enviarse por parte de todos los grupos, el dia miércoles 2 de septiembre en archivo .pptx o .pdf al correo del profesor y del auxiliar, antes de las 16:00 (4:00 p.m.) Asunto del Correo: Diapositivas Proyecto Final Grupo (Identificación del Grupo Asignada, por ejemplo, si su grupo es el 23, deberá ser el asunto: Diapositivas Proyecto Final Grupo 23
- El orden de presentación será dado por el profesor.
- Las presentaciones iniciarán a las 7:15 los dias propuestos para tal fin y finalizará a las 8:45.
- Las preguntas lanzadas desde el público pueden ser un bonus en la nota final de la presentación respectiva de manera individual (no para el grupo).
- El profesor será el moderador de la sesión de presentación.
TEMÁTICAS DE PROYECTOS
Los proyectos que están dados, deben tratarse como ingenieros de sistemas y especialistas en arquitectura de computadores, desde nuestro punto de vista como ingenieros COMPUTISTAS sin olvidar que en este curso hemos estado tratando la relación hardware y software. Téngalo presente para el desarrollo del mismo. No olviden ver las condiciones dadas anteriormente (no se encuentra tachado) y consultar referencias bibliograficas y fuentes de información adicionales a las dadas.. Se recomienda usar los recursos bibliográficos que puede acceder por parte de la UIS en: http://tangara.uis.edu.co/ y vea los trabajos disponibles de los semestres anteriores en este sitio.
Asignaciones y Temáticas de Proyectos (1 Semestre de 2020)
Por el momento los grupos de proyectos están dados de la siguiente manera:
Las asignaciones de los temas de proyecto final, se darán a partir del 6 de Julio.
Asignaciones y Temáticas de Proyectos (2 Semestre de 2019)
Grupo | Integrantes | Tema | Artículo |
---|---|---|---|
Uno | 2160028 - AMARIS ORTIZ JOSE NELSON
2170130 - ANGULO FLOREZ SANTIAGO 2162923 - ADARME DAVILA JAVIER ANDRES 2170081 - BASTO CUADROS JOSEPH FABIAN 2170090 - CALDERON CARRILLO CAMILO ANDRES |
SIMULADORES CUANTICOS
|
A-Uno |
Dos | 2162119 - CASTELLANOS BOHORQUEZ JUAN ANGEL LEONARDO
2170095 - CASTELLANOS PINZON LILIANA PAOLA 2101154 - CASTILLO CACERES DEIMER IVAN 2141986 - VARGAS MARTINEZ JESUS SEBASTIAN 2162144 - VARGAS GONZALEZ LAURA SOFIA |
ARM
|
A-Dos |
Tres | 2160068 - CASTRO MARTINEZ DAVID SANTIAGO
2152777 - CASTRO PALOMARES JOHAN DAVID 2170134 - CASTRO DUITAMA SANTIAGO ANDRES 2171455 - SANTAMARIA RINCON JENNY MARCELA |
COMPUTACION CUANTICA
|
A-Tres |
Cuatro | 2162126 - COBOS BECERRA MAUREN LORENA
2151484 - COLMENARES RODRIGUEZ JULIAN DAVID 2160090 - DLAIKAN CASTILLO KEVIN JOEL 2162149 - DURAN CASTRO OSMEL SHAMIR 2171763 - CACERES CARREÑO NELSON ALEXIS |
INTEL XE
|
A-Cuatro |
Cinco | 2160042 - ESTEVEZ CARVAJAL CARLOS ALFONSO
2151852 - GONZALEZ ORTIZ DIEGO FERNANDO 2132173 - LEON RODRIGUEZ JUAN SEBASTIAN 2170104 - GALVAN ALVAREZ NICOLAS 2131799 - NAVARRO HERRERA HORDAN ANDRES |
CONVERGENCIA HPC CON AI
|
A-Cinco |
Seis | 2161341 - OQUENDO RINCON MIGUEL ANGEL
2170111 - OROZCO ARDILA MATEO 2170105 - ORTIZ TRILLOS JUAN FELIPE 2162089 - GARCIA FLOREZ SEBASTIAN 2130124 - GARCIA HERNANDEZ JORGE JULIAN |
SMART CITIES (COMPUTER) ARCHITECTURE
|
A-Seis |
Siete | 2162130 - MANTILLA ROMERO LAURA MARCELA
2170116 - MENDOZA LOPEZ FREDY ALEJANDRO 2170133 - MONCADA RODRIGUEZ ORLANDO ALBERTO 2170102 - MORALES NORATO DAVID SANTIAGO 2160793 - URIBE GARCIA ANDRES FELIPE |
NVIDIA GPUS FUTURE
|
A-Siete |
Ocho | 2151129 - PEREZ ALTAMAR DANIEL ALEJANDRO
2161889 - PINTO DIAZ DUVAN FERNANDO 2163021 - PORRAS MELGAREJO EDISON CAMILO 2171452 - PORTILLA MORA JEAN CARLOS 2161062 - CARDENAS ACEVEDO SEBASTIAN |
ML APLICADO AL DISEÑO DE ARQUITECTURA DE COMPUTADORES
|
A-Ocho |
Nueve | 2170137 - RODRIGUEZ VILLAMIZAR JULIAN ORLANDO
2170136 - ROJAS CASADIEGO DAVID FELIPE 2170135 - RUEDA MARIÑO DANIEL FELIPE 2152204 - RUIZ LAGOS CHRISTIAN EDUARDO 2170107 - TOLOSA VILLAMIZAR JULIAN FELIPE |
SUSTAINABLE CLOUD COMPUTING ARCHITECTURE
|
A-Nueve |
Diez | 2160060 - RAMIREZ TRIANA NICOLAS MAURICIO
2162133 - RENGIFO MEJIA CHRISTIAN ALEJANDRO 2162887 - RODRIGUEZ GARCES EDINSON JAHIR 2162113 - SERRANO VILLANOVA LAURA DANIELA 2170127 - SERRANO ACEVEDO CRISTIAN GUILLERMO |
RISC -V
|
A-Diez |
Asignaciones y Temáticas de Proyectos (1 Semestre de 2019)
Tengan en cuenta que los grupos son definidos y los integrantes no pueden cambiarse. Todos deben trabajar y cualquier anormalidad en el desarrollo del mismo, debe informarse al profesor por lo menos con dos semanas de anticipación a la entrega. Se recomienda observar los trabajos de los semestres anteriores para conocer el formato y lo que se espera del mismo.
Grupo | Participantes | Tema | Articulo + Diapostivas
(Disponible a a partir del 16 de Agosto) |
---|---|---|---|
G1 | 2162100 - ARDILA GOMEZ DANIEL FELIPE | VHDL Y VERILOG
VHDL y Verilog son los HDL’s (Hardware Description Languages) más difundidos actualmente. Ambos son estándares en la industria de ASICs y FPGAs. Ambos poseen sus respectivos estándares IEEE. Existe aún hasta el día de hoy una discusión sobre cual es mejor. A partir de las referencia sde base dadas en wikipedia: https://en.wikipedia.org/wiki/VHDL y https://en.wikipedia.org/wiki/Verilog diga de que se trata cada uno de ellos, y por medio de un ejemplo, haga una comparación, mostrando a su criterio cuál es el más adecuado, igualmente justificando ese criterio. |
ArchiG01 |
2160044 - CHACON SUAREZ JAVIER ALEXI | PArch01 | ||
2161352 - VILLAMIZAR RUIZ ANDREA FABIANA | |||
G2 | 2160414 - SANMIGUEL ARENAS CAMILO ENRIQUE | ADVANCED PROCESSORS ARCHITECTURES (APA) AND TECHNOLOGIES (APT)
El término APA es un sistema de procesador y memoria distribuida escalable que es configurable y reconfigurable desde los dispositivos, la integración con el sistema y comunicaciones (fabric), que constituye hoy en dia futuras direcciones para la concepción de los sistemas computacionales. en el caso de las APT, involucran las tecnologías relacionadas para ese tipo de procesamiento, teniendo una especial atención en herramientas, mecanismos y usos, como el caso de inteligencia artíficial. Esto a generado la creación de empresas como http://advancedprocessorarchitectures.com/ y https://www.arm.com/ pero también otras confirmadas como Intel, AMD y NVIDIA. Teniendo en cuenta lo que se conoce como APA y APT describa cuales son las principales desarrollos implementados en los últimos cinco años y como en la escala regional/nacional afecta esos desarrollos (por ejemplo, teniendo el cuenta el uso, tendencias del mercado, decisiones políticas, etc). Tenga en cuenta que debe enmarcar teóricamente APA y APT observando las características más importantes para limitar su trabajo. Puede guiarse por ejemplo en las lineas y contribuciones realizados por el grupo en APT de la Universidad de Manchester: http://apt.cs.manchester.ac.uk/APT_Research.php |
ArchiG02 |
2161638 - CAMACHO GALVIS CHRISTIAN STIVEN | |||
2161671 - VEGA VILLABONA GABRIELA FERNANDA | PArch02 | ||
2161342 - PALENCIA POMBO CARLOS ALBERTO | |||
G3 | 2162114 - VILLALBA SANTOS ANDREA JULIANA | ARQUITECTURAS COMPUTACIONALES PARA INTELIGENCIA ARTIFICAL
La explosión cámbrica de tecnologías que proporcionan grandes capacidades de procesamiento y la implementación en paralelo de algoritmos considerados anteriormente demasiado pesados para programarse han permitido el masivo uso de la Inteligencia Artificial y el Aprendizaje Automático (Machine Learning). Precisamente, hoy en dia, se encuentra un amplio espectro de arquitecturas e integrados para inteligencia artificial (https://cacm.acm.org/magazines/2018/4/226374-chips-for-artificial-intelligence/) De acuerdo a esa realidad, describa las características arquitecturales existentes y deseadas de esas arquitecturas computacionales y por que son tan "especiales" y diferentes a las tradicionales. De acuerdo al mercado, ¿qué futuro inmediato ve en el uso de esas tecnologías en Colombia y si existe una consciencia de la existencia de ellas a nivel regional y nacional?. No olvide justificar todas sus respuestas. |
ArchiG03 |
2141846 - DIAZ HIGUERA JHOAN MANUEL | |||
2161336 - PARRA RODRIGUEZ JHON ANDRES | PArch03 | ||
G4 | 2161223 - DOMINGUEZ MURALLAS JEFERSON ALEXANDER | REALISMO CUANTICO
En los últimos años, los desarrollos en computación cuántica permitió pasar de la especulación y del trabajo teórico-práctico realizado por los físicos a plantear problemas de ingeniería y ciencias computacionales, relacionados con la implementación, la representación de los algoritmos fisico-matemáticos en lenguajes de programación existentes y nuevos, conceptos como el del sistema operativo, aspectos arquitecturales como lo que se considera "memoria" y la utilización para la solución de problemas reales. Empresas como IBM o D-Wave han colocado en el mercado costosos computadores cuánticos, pero también existen simuladores cuánticos como los propuestos por ATOS y HPE aprovechando las características de arquitecturas híbridas y tecnologías avanzadas de procesamiento. Precisamente, la IEEE en su revista COMPUTER de Junio de 2019 dedicó toda la edición a ese realismo cuántico (https://www.computer.org/csdl/magazine/co/2019/06). Teniendo en cuenta esa edición pero principalmente el artículo Really Small Shoe Boxes: On Realistic Quantum Resource Estimation , ¿cuales preguntas desde el punto de vista de ingeniería ya se están respondiendo satisfactoriamente y cuales persisten? (Por ejemplo, observe lo que se refiere a sistemas operativos y compiladores). Igualmente teniendo en cuenta la misma edición, que problema real (diferente a los de criptográfia) se pueden tratar con computación cuántica. Se recomienda igual observar el trabajo realizado por sus compañeros el año pasado acerca de Arquitecturas Computacionales para Computación Cuántica, disponible en este sitio. |
ArchiG04 |
2160039 - ALBARRACIN BARBOSA JUAN RICARDO | |||
2151853 - PEDRAZA CADENA JESSICA FERNANDA | PArch04 | ||
2160023 - CASTILLO CAÑAS IVAN RODRIGO | |||
G5 | 2162116 - TORRES CARREÑO DIANA SOFIA | SISTEMAS CIBERFISICOS (CYBER-PHYSICAL SYSTEMS)
Un sistema ciberfísico es una orquestación de computadores y sistemas físicos. Aunque el término pareciera exótico, los sistemas de control, aquellos que permiten monitoreo, captura y difusión de datos, como los que se encuentran en diferentes sistemas embarcados y que son componentes en sistemas IoT a diferentes niveles (Edge, Fog o Cloud) son sistemas ciberfísicos. Observando el pasado, presente y futuro de los mismos (por ejemplo, a partir del artículo https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4435108/) y el mapa conceptual presente en el siguiente sitio: https://ptolemy.berkeley.edu/projects/cps/ sintetice el presente y futuro de esos sistemas ciberfísicos y plantee un proyecto (no en detalle) que involucre este tipo de sistemas ciberfísicos en el campus universitario, por ejemplo, teniendo en cuenta sistemas IoT para Smart Campus. |
ArchiG05 |
2163002 - VALENCIA GOMEZ YEISON ARGEMIRO | |||
2161327 - GIL GAMEZ OSCAR ANDRES | PArch05 | ||
G6 | 2090041 - DALLOS MARTINEZ LEONARDO HERNANDO | ARQUITECTURAS PARA NUBE HIBRIDA (HYBRID CLOUD ARCHITECTURE)
Un nube híbrida puede entenderse conceptualmente combina aquellas propiedades de las nubes privadas y las nubes públicas. Algo interesante que tienen las nubes híbridas, en términos de infraestructura tecnológica es que se ha convertido en el mejor soporte para sistemas IoT, Big Data y móviles. Una manera resumida de ver los conceptos arquitecturales asociados a este tipo de nubes computacionales híbridas esta en el sitio: https://www.networkcomputing.com/cloud-infrastructure/hybrid-cloud-architecture-concepts . Teniendo en cuenta esos conceptos y los elementos y componentes de ese modelo, que soporte de infraestructura podría soportar cada uno de esos elementos y por supuesto, cual es el papel precisamente de arquitecturas computacionales híbridas y heterogéneas (por ejemplo, aquellas que tienen diferentes tipos de procesadores GPUs/CPUS/TPUS/FPGAS/ARM/X86 o de memoria). Piensen en usos para este tipo de nubes en el contexto universitario. |
ArchiG06 |
2162134 - MARTINEZ ESTRADA EMMANUEL DAVID | |||
2161325 - ROZO QUINTANA LICETH YANETH | PArch06 | ||
2141986 - VARGAS MARTINEZ JESUS SEBASTIAN | |||
G7 | 2161343 - GOMEZ AVILA ANNGY NATHALIA | COMPUTACION EDGE ORBITAL
Edge Computing es un paradigma relativamente reciente que ha permitido la implementación de diferentes soluciones en el ámbito terrestre y aun asi sigue ofreciendo posibilidades poco exploradas. Uno de los usos mas novedosos de Edge computing, es el desarrollado en órbita, que puede consultarse en: https://ieeexplore.ieee.org/document/8674608 Tomando como base este trabajo, expliquen las principales características arquitecturales, los retos enfrentados y los resultados en la evaluación obtenidos. ¿Cuales son los principales problemas que persisten? ¿Cómo se imaginan ustedes que pueden resolverse o al menos tratarse de resolver? |
ArchiG07 |
2160082 - PICON RODRIGUEZ CRISTIAN ANDRES | PArch07 | ||
2162118 - CARDENAS REYES JEISSON ALEJANDRO | |||
G8 | 2162017 - HERRERA BLANCO DIANA ALEJANDRA | SERVIDORES DE PROCESAMIENTO MASIVAMENTE PARALELO
En el mundo actual, la posibilidad de usar servicios en la nube como Netflix, video juegos en linea, servicios móviles como Instagram o Whatsapp es portado por centros de datos modernos que contienen servidores especializados que soportan procesamiento masivamente paralelo. Teniendo en cuenta los artículos https://ieeexplore.ieee.org/document/8691538 y http://www.ittoday.info/AIMS/Information_Management/3-02-45.pdf, cuales son las principales características de este tipo de servidores. Observe en el mercado técnicamente (no económicamente) que fabricante o integrador ofrece a su criterio (y justificando su decisión) la mejor alternativa y por qué este tipo de servidores igualmente se usan en aplicaciones y frameworks para Deep Learning e Inteligencia Artificial. Muestre un ejemplo real. (No olvide explorar mas referencias bibliográficas y contribuciones tanto de la industria como de la academia). |
ArchiG08 |
2161906 - RODRIGUEZ MARTINEZ KAREN DANIELA | |||
2152499 - VIVIESCAS ROMERO JUAN PABLO | PArch08 | ||
2151846 - MANTILLA VILLAMIZAR VICTOR ALFONSO | |||
G9 | 2151830 - DULCEY LIZARAZO SERGIO ANDRES | IMPLICACIONES ARQUITECTURALES DE MICROSERVICIOS EN LA NUBE
Los ingenieros de sistemas saben que la implementación de microservicios aseguran la optimización de la calidad de servicio (QoS) en infraestructuras que soportan aplicaciones finales en la nube, pero igualmente plantean retos excepcionales, principalmente cuando se diseñan centros de datos y los servicios asociados. A partir de la contribución que puede consultarse en https://arxiv.org/abs/1805.10351 explique cuales son las principales implicaciones y retos enfocándose en las aplicaciones y mostrando un ejemplo. ¿Cómo es la relación con las microarquitecturas? |
ArchiG09 |
2163022 - PINZON URIBE HAZEL DAVID | |||
2152480 - MORALES OSMA ANDREA JIMENA | PArch09 | ||
G10 | 2150403 - VALLEJO HUERTAS MARIO HERNAN | COSTO ELECTRICO Y CENTROS DE DATOS SOSTENIBLES
El problema del costo energético relacionado con las capacidades computaciones que nos dicen que tan eficiente computacionalmente es un sistema es un gran reto abierto que se ha tratado con muchas estrategias, no solo a nivel de infrastructura sino también con algoritmos y diferentes mecanismos de implementación de esos algoritmos. El consumo eléctrico por supuesto, es un factor importante al contratar y ofrecer servicios computacionales en la nube, pero también es una responsabilidad ambiental muy alta. Diferentes autores han presentado contribuciones al respecto, por ejemplo, un reciente trabajo que puede verse en: https://ieeexplore.ieee.org/document/7938380 presenta una buena alternativa para reducir el consumo y el costo asociado. Teniendo como base esa contribución, explique de que se trata la computación sostenible y por que es importante, igualmente, ¿por qué este tipo de estrategias son interesantes e implementadas por los diferentes prestadores de servicios y diseñadores de centros de datos?. A manera de información importante, consulte y estime el consumo eléctrico de los centros de datos de la Universidad Industrial de Santander (DSI, SC3UIS en Guatiguará) y si se han observado estrategias para reducir el consumo de energía (por ejemplo, desde el diseño de la solución de infraestructura). |
ArchiG10 |
2150376 - PUERTAS ZULUAGA ALFREDO RAFAEL | |||
2142608 - NIÑO MENDEZ ESTEBAN ANDRES | PArch10 | ||
2152476 - SEQUEDA CASTILLO KARINA | |||
G11 | 2162135 - RIVEROS GOMEZ MARIA PAULA | ALMACENAMIENTO LIQUIDO EN LA NUBE
El almacenamiento de datos siempre será un reto que desde diferentes perspectivas se ha venido tratando, no solo teniendo en cuenta tecnología, sino estratégias y protocolos de colección, transferencia y guardado de la información. Recientemente, surgió el término Liquid Cloud Storage (las versiones del principal artículo están relacionadas y disponibles por el mismo grupo de autores (y pre-prints) en https://www.researchgate.net/publication/317087859_Liquid_Cloud_Storage , https://arxiv.org/abs/1705.07983 , https://dl.acm.org/citation.cfm?id=3281276 ) Explique de que se trata, teniendo en cuenta las principales características arquitecturales (tanto en infraestructura como en sistema). ¿Por qué es importante la tolerancia a fallos y la reparación?. Den un ejemplo. |
ArchiG11 |
2142665 - DUARTE DELGADO MIGUEL ANGEL | PArch11 | ||
2151856 - FERNANDEZ CELIS ELKIN DARIO | |||
G12 | 2162146 - NIÑO PANQUEBA JAIR EDUARDO | ARQUITECTURAS PARA AUTOMOVILES AUTONOMOS
Sin duda alguna, uno de los logros mas interesantes en el desarrollo de los sistemas computacionales es la implementación de sistemas inteligentes para la conducción autónoma en vehículos. Mucho se dice de los aspectos arquitecturales en la prensa, pero es importante entender sin duda los parámetros de diseño necesarios y por supuesto los principales retos durante su implementación que derivan en su uso tanto exitoso, como sobre situaciones inesperadas (que pueden ser fatales https://en.wikipedia.org/wiki/List_of_self-driving_car_fatalities ). Teniendo en cuenta el artículo presente en https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8340798, ¿cuales serian las principales características y patrones de diseño arquitectural e implementación para esos vehículos autónomos.? Imagine que se hará el auto de #LaUISQueQueremos para transportar a las personas a través del campus central hacia le parqueadero del estadio. Observando lo anterior, a manera de ejemplo, cómo seria ese macro-diseño (un diseño amplio sin especificaciones detalladas) y qué habría que tener en cuenta para implementarlo? |
ArchiG12 |
2161326 - VERA NEGRON MARIA FERNANDA | |||
2163024 - BUITRAGO MEDINA JONATHAN EDUARDO | PArch12 |
Temáticas de Proyectos (2 Semestre de 2018)
Se publicarán y asignarán la primera semana de septiembre. Se publicarán al regreso después del cese de actividades en el 2019.
Grupo | Participantes | Tema | Artículo Presentado (Disponibles a partir del 16 de Febrero) |
---|---|---|---|
1 | 2130056 - ACEROS BLANCO CARLOS JAVIER
2151257 - ALVAREZ CASTILLO BRYAN DANIEL 2161907 - APARICIO NOVA MARIA CAMILA 2161069 - ARANGO SERRANO JUAN JOSE |
Arquitecturas computacionales para Inteligencia Artificial:
Uno de los artículos más citados en computación ha sido el publicado por Gordon Bell y Peter Freeman en 1987 acerca de los requerimientos computacionales para que la inteligencia artificial fuera útil ( DOI: 10.1145/1480083.1480099 Conference: Fall Joint Computer Conferenc, At Anaheim, CA, Volume: 41 : http://dl.acm.org/ft_gateway.cfm?id=1480099 ) Más de 30 años después, sin el desarrollo y las prestaciones actuales de las arquitecturas computacionales, ningún algoritmo de Inteligencia Artificial podría ser implementado y menos aún todos sus usos, tanto así que se dice que estamos en una nueva era dorada de la computación, como la que se tuvo hace 40 años. Observando el artículo reciente propuesto por Jeff Dean, David Paterson y Cliff Young ( https://ieeexplore.ieee.org/document/8259424 ) y comparándolo con el de Gordon Bell, responda en su artículo principalmente si esos requerimientos de hace 30 años se han cumplido hoy en dia y cuales son las principales diferencias y similitudes con lo propuesto en esos años. Igualmente, cuales son las implicaciones sociales en el contexto colombiano y discuta si de alguna manera, se es consciente de esa realidad en torno a la relación Arquitectura de Computadores : Alto Desempeño Computacional : Inteligencia Artíficial. |
TF1 |
2 | 2151824 - CASTELLANOS CONGUTA YANN KARLO
2142611 - CASTELLANOS VERGAÑO LUIS GERARDO 2162042 - ARENAS MARQUEZ MARTHA ELIANA 2162061 - BARRERA MANRIQUE CARLOS DANIEL |
Arquitecturas computacionales para Blockchain:
Mucho se habla de blockchain pero desde el punto de vista de tecnología es necesario tener en cuenta tendencias, requerimientos e implicaciones. La bilbliografía especializada trata el tema teniendo en cuenta por supuesto, que uso se le da la tecnología, como es el caso del articulo presentado por Zibin Zheng ; Shaoan Xie ; Hongning Dai ; Xiangping Chen ;y Huaimin Wang ( https://ieeexplore.ieee.org/abstract/document/8029379 ) Teniendo como base este artículo (pero por supuesto buscando en otras fuentes de información), ¿ tecnológicamente que se debería tener en cuenta para implementar blockchain en algún tipo de aplicación en Colombia? Describa un par de ejemplos, haciéndo enfásis en la arquitectura computacional (hardware/software) y por supuesto, como ingenieros de sistemas que son, discuta acerca de las implicaciones que tiene el uso de blockchain críticamente, más allá de las bondades. (Recomiendo buscar Block Chain Alianza y Block Chain Colombia igualmente). |
TF2 |
3 | 2152500 - CORDOBA CARRERO JUNIOR ALEJANDRO
2110228 - DIAZ GUERRERO SARA INES 2134305 - CERA BUSTAMANTE ANDRES FELIPE 2160041 - CORZO GOMEZ OSCAR ANDRES |
Arquitecturas computacionales Fog y Edge
Desde el desarrollo de Internet, diferentes paradigmas computacionales se han propuesto, los cuales sin duda alguna han tenido un importante impacto en el desarrollo tecnológico y social de nuestra civilización. El Internet de las Cosas y su relación con la computación en la nube, desde hace varios años plantea dos nuevos paradigmas que no pueden verse de manera aislada: Fog and Edge Computing. Teniendo en cuenta el artículo de referencia que se da de base para el desarrollo de este trabajo, ¿cuales son las diferencias entre Fog and Edge Computing? ¿En que se relacionan y por que no pueden separarse los dos paradigmas? Con un ejemplo en la Universidad Industrial de Santander, muestre este paradigma. (https://arxiv.org/pdf/1808.05283.pdf) |
TF3 |
4 | 2161073 - GOMEZ ORTIZ ANDRES FELIPE
2152497 - GOMEZ ALBIADEZ NATALIA ANDREA 2130535 - GOMEZ ESTUPIÑAN ANGEL FABIAN 2122910 - VILLABONA ARDILA DAVID |
Arquitecturas Computacionales para Computación Cuántica:
La Computación Cuántica, más allá que especulativa es una realidad y hoy en dia es un apasionante tema de estudio y un intenso dominio que si bien, inicialmente ha sido explorada por físicos y matemáticos, los problemas fundamentales que existen se tratan desde el punto de vista computacional y arquitectural. Una interesante comparación entre dos arquitecturas existentes puede ser vista en: https://www.pnas.org/content/114/13/3305/ así como un artículo explicativo sobre una arquitectura determinada en: https://dl.acm.org/citation.cfm?id=3177152 . Teniendo en cuenta estas dos fuentes de información como base, explique computacionalmente (desde el punto de vista como ingeniero de sistemas y como arquitecto computacional) como es precisamente esa arquitectura (procesamiento, tipos de procesadores, soporte hacia lenguaje de máquina, etc.) |
TF4 |
5 | 2162094 - GARAVITO CHTEFAN MAXIMILIANO
2143601 - FRANCO CASADIEGO JOAN SEBASTIAN 2160052 - GOYENECHE CALDERON VALENTINA 2161698 - VILLAMIZAR CORREA DIEGO ARMANDO |
Los Supercomputadores como SuperMáquinas para Inteligencia Artíficial y Análitica de Datos:
Recientemente fue publicado por la ACM (https://cacm.acm.org/magazines/2018/11/232217-will-supercomputers-be-super-data-and-super-ai-machines/fulltext) un artículo de como las grandes infrastructuras de HPC en China, hoy en día son lideres para tratar problemas realmente grandes en inteligencia artíficial y análitica de datos. Tomándo como base ese artículo, y por supuesto, como ingenieros de sistemas y especialistas en arquitectura de computadores, exponga porque esas supermáquinas pueden tratar esos superproblemas. Haga una breve discusión sobre que se requeriría en el caso colombiano y de manera crítica, mencioné si se esta al nivel o no para asumir esos retos y que se debe hacer (o si se esta haciendo) para asumirlos de manera competitiva a nivel global. |
TF5 |
6 | 2150340 - INFANTE MONSALVE NESTOR IVAN
2151482 - LANDAZABAL LANDAZABAL JAVIER DAVID 2152477 - GUTIERREZ CARREÑO NICOLAS GERARDO 2122274 - HERNANDEZ TORRES ANDRES RICARDO |
Arquitecturas Computacionales para Apoyo a la Conducción:
Desde hace una decada, gracias a la explosión de las capacidades de hardware, se ha presentado diferentes alternativas para el apoyo a la conducción, desde algoritmos bien conocidos en Inteligencia Artíficial. Recientemente, NVIDIA, presentó Drive 8.0 Software, un framework para desarrollar aplicaciones para ese soporte de conducción (https://blogs.nvidia.com/blog/2019/01/07/drive-software-8-0-automated-driving/?_lrsc=02711740-73bc-44cf-aa67-304ec9076b28&ncid=so-lin-lt-798). Teniendo como base el enlace anteriormente dado, que hardware y soporte tecnológico es necesario para soportar Drive 8.0. Como ingeniero de sistemas, describa dicho framework sin olvidar enlazarlo con el hardware necesario. Discuta como sería una prueba de concepto en Bucaramanga, de manera crítica, teniendo en cuenta todos las variables existentes. |
TF6 |
7 | 2160075 - MOGOTOCORO FAJARDO JORGE ANDRES
2160063 - MORENO RIOS JUAN PABLO 2160076 - JAIMES ESTEBAN JHEYSON ARLEY 2161329 - JIMENEZ ARCINIEGAS LUIS CARLOS |
Rendimiento de las Unidades de Procesamiento Tensor:
Las Unidades de Procesamiento Tensor (TPUs), fueron propuestas desde el 2006 como una evolución de las Unidades de Procesamiento Gráfico (GPUs9 dirigidas principalmente a tratar eficientemente la matemática existente en algoritmos bien conocidos de Inteligencia Artificial. Su rendimiento real ha sido ampliamente estudiando, como puede verse en el artículo de base dado (https://dl.acm.org/citation.cfm?id=3080246) y hoy en dia los grandes centros tanto de investigación como centros de datos de producción las tienen implantadas en sus sistemas. Explique de que se trata teniendo en cuenta cuales son las principales diferencias arquitecturales con las GPUs y las CPUs. Discuta cuales son las implicaciones para los ingenieros de sistemas y desarrolladores, al existir las TPUs. |
TF7 |
8 | 2142669 - RANGEL FLOREZ DEISY KATHERINE
2160062 - NAVAS BURGOS MARIA FERNANDA 2151857 - ROJAS PRADA WILDER STEVEN |
El regreso grandioso de los computadores vectoriales:
En el 2018, NEC anunció su motor de procesamiento NEC SX Aurora TSUBASA, que ya se encuentra implantado en diferentes soluciones en el mercado (https://www.nec.com/en/global/solutions/hpc/sx/index.html y https://dl.acm.org/citation.cfm?id=3291728 ) , mostrándose como el gran regreso de los costosos pero excelentes procesadores vectoriales. Teniendo en cuenta las referencias dadas, exponga porque es interesante la computación vectorial hoy en dia y que ha hecho tan atractiva e implantable la solución propuesta por NEC. No olvide comparar si existen otras opciones por otros fabricantes a nivel mundial. En el contexto colombiano, ¿En que usaría este tipo de procesadores vectoriales y que implicaría?. |
TF8 |
9 | 2160055 - LIZARAZO SANDOVAL MARIA DANIELA
2140182 - MARTINEZ CIFUENTES JOHN SEBASTIAN 2151252 - REY OLARTE LIZETH KATHERINE 2120372 - SANTOS SARMIENTO CARLOS ARLEY |
Controladores de Memoria:
La memoria siempre ha sido un problema y un reto interesante computacionalmente y más hoy, cuando las capacidades de procesamiento y el gran volumen de datos plantean requeirimientos realmente altos que involucran pensar de una manera diferente la memoria. Uno de los retos tiene que ver con los controladores de memoria. Teniendo en cuenta el siguiente articulo como base ( https://dl.acm.org/citation.cfm?id=2039374 ) describa de que se tratan los controladores de memoria, porque es importante ese control de la misma, y como es "visible" desde las aplicaciones. |
TF9 |
10 | 2160065 - NIÑO RODRIGUEZ JUAN DAVID
2161635 - QUINTERO LEON DANIELA 2161636 - SANCHEZ ARCINIEGAS OMAR 2150628 - VINAZCO BUITRAGO JHOAN SEBASTIAN |
Arquitectura en Cloud Computing
Aunque se ha escrito y el concepto de cloud computing es ampliamente usado en nuestro contexto, es necesario conocer las implicaciones que se tiene desde el punto de vista arquitectural (computacional) y los retos asociados. Precisamente, observando los microservicios es necesario tener en cuenta esas implicaciones que influyen en el diseño de infraestructuras y centros de recursos que soporten servicios en la nube. Teniendo en cuenta el artículo de base y contextualizando como ingenieros de sistemas (https://www.computer.org/csdl/letters/ca/2018/02/08362750.pdf ) exponga esas implicaciones desde los microservicios y discuta acerca de lo necesario para construir un centro de recursos de servicios en la nube. |
TF10 |
11 | 2142612 - VARGAS CAMACHO JONATTAN STIVENT
2152890 - VARGAS TRIANA JAVIER ALFONSO 2160072 - SINUCO TIRADO OSCAR ESNEYDER 2160066 - VEGA ARRIETA JOSE SAUL |
Siguientes Direcciones en Almacenamiento de Datos
Dia a dia se produce mucha información y aunque existen grandes capacidades de procesamiento, esta no logra procesarse completamente y la información para futuros usos debe almacenarse. Igual pasa con la información ya procesada, genera nuevos datos, lo cual implica que se piense en nuevas maneras de almacenar información, tanto desde el punto de vista físico como lógico. Recientemente, los físicos han propuesto nuevas alternativas de almacenamiento explorando propiedades de los materiales (https://phys.org/news/2018-06-next-generation-storage.html y https://www.osapublishing.org/oe/abstract.cfm?uri=oe-26-9-12266 ) el cual para los ingenieros de sistemas y los arquitectos computacionales plantea nuevos y dificiles retos. Teniendo en cuenta la información de base y como ingeniero de sistemas, explique de se tratan esas direcciones planetadas y que retos plantean (por ejemplo, sistema de archivos, coherencia, programabilidad, técnicas de tratamiento de datos, etc.) |
TF11 |
Temáticas de Proyectos (1 Semestre de 2018)
No olvide ver los temas asignados en la lista posterior denominada Temas para Trabajos 2018-1. Se recomienda observa tanto los artículos como las diapositivas de los semestres anteriores realizados por sus compañeros y disponibles en este sitio.
Asignación de Grupos 2018-1
Grupo | Participantes | Tema para Trabajos 2018-1 | Orden de Presentación Propuesto | Pregunta Examen | ||||||
---|---|---|---|---|---|---|---|---|---|---|
A |
|
T1 | 6:00am-6:05am | Tomando del Grupo T10: Si vemos la pregunta hecha de: ¿Cuál ha sido el papel de los video juegos en torno al desarrollo de la arquitectura de hardware?, Según lo visto en el artículo y en la exposición, responda, ¿que criterios de arquitectura de computadores debo tener en cuenta a la hora de desarrollar videojuegos? Justifique su respuesta. | ||||||
B |
|
T2 | 6:07am - 6:12:00am | Tomando del Grupo T9: Si vemos la pregunta hecha de: la competitividad en Colombia, ¿Desde el punto de vista de arquitectura de computadores que deberá tener en cuenta la UIS para mantener la supremacía en Colombia? Justifique su respuesta. | ||||||
C |
|
T3 | 6:14am - 6:19am | Tomando del Grupo T1: Si vemos la pregunta hecha de: ¿Desde el punto de vista de arquitectura de computadores, cuales son los retos tecnológicos que representan?, responda ¿Cuales son los retos como desarrolladores? Justifique su respuesta. | ||||||
D |
|
T4 | 6:21am - 6:26am | Tomando del Grupo T8: Si vemos la pregunta hecha de: ¿Cuales han sido los principales retos y preguntas abiertas que aún quedan, desde el punto de vista computacional?, responda ¿cuales serian esos retos desde el desarrollo de software? Justifique su respuesta. | ||||||
E |
|
T5 | 6:28am - 6:35am | Tomando del Grupo T7: Del artículo de sus compañeros, se plantea la pregunta : ¿Por qué es importante el exascale y los problemas energéticos tratados desde la computación?, responda ¿por qué es importante igualmente verlo partícularmente desde sistemas no exascale? Justifique su respuesta. | ||||||
F |
|
T6 | 6:37am - 6:42am | Tomado del Grupo T2: De la pregunta: ¿Por qué se hace tanto énfasis en la crisis de identidad del HPC?, responda desde el punto de vista del desarrollador, ¿como lo afecta, dentro de la identidad como ingenieros de sistemas? Justifique su respuesta. | ||||||
G |
|
T7 | 6:45am - 6:50am | Del grupo T6: De la pregunta planteada a sus compañeros, ¿Cuales son los retos técnicos?, responda, ¿cuales son los retos del componente software? Justifique su respuesta. | ||||||
H |
|
T8 | 6:52am - 6:57am | Del Grupo T4, se plantea la pregunta: ¿Que consecuencias tecnológicas, sociales y económicas en el corto plazo ha visto cada vez que las capacidades de cómputo y almacenamiento se incrementan?, responda, ¿es relevante su formación como ingenieros hoy en dia ante una nueva realidad en la carrera o carreras relacioanadas con computación? Justifique su respuesta. | ||||||
I |
|
T9 | 6:59am - 7:04am | Del Grupo T5, se habló de la tercera revolución industrial, ¿a que me refiero con la cuarta revolución industrial? Detalle su respuesta | ||||||
J |
|
T10 | 7:06am - 7:11am | Del Grupo T3, se preguntó ¿Que retos trae a los ingenieros y científicos de computadoras este tipo de cómputo orgánico?, responda, ¿cuales son los retos a nivel de programación? Justifique su respuesta. |
Temáticas de Proyectos
Para este semestre se realizó una asignación por grupos de dos (2) y tres (3) estudiantes, de acuerdo a la tabla anterior. Cada uno de los grupos deberá realizar el trabajo asignado y seguir lo que se muestra en el numeral 4 de la sección de evaluaciones. Cada uno de los grupos partirá de al menos un articulo o enlace informativo de base dado, pero deben buscar otras fuentes para responder a las preguntas asociadas al mismo (no necesariamente en el orden dado, el orden ustedes lo dan para darle un cuerpo y un argumento a su artículo y trabajo). Recuerden que a partir del artículo de base, deben buscar nuevas fuentes de información (otros artículos, otros enlaces, etc).
Tenga en cuenta que la asignación es definitiva, todo el equipo debe trabajar y en la clase práctica del 21 de febrero de 2018, se deberá hacer un informe previo sobre como resolverán la tarea asignada. La tabla de asignación involucra igualmente el orden de presentación.
Temas para Trabajos 2018-1
- T1: Tendencias en IA para el 2018 Cray Inc. en su grupo de discusión de expertos ha trabajado sobre la idea de como la IA transforma la tecnología. Para el 2018, ellos han predicho ciertas tendencias interesantes, que pueden verse en: https://www.cray.com/blog/artificial-intelligence-five-trends-2018/ Exponiendo cada una de estas tendencias, responda las siguientes preguntas:
- ¿Cual, según su criterio representa la más clara para nosotros en Colombia? Justifique su respuesta
- ¿Desde el punto de vista de arquitectura de computadores, cuales son los retos tecnológicos que representan?
- ¿Estamos preparados como ingenieros de sistemas y como país a asumir esas tendencias? Justifique su respuesta.
- T2: Predicciones en HPC para el 2018: HPC Wire es un sitio especializado en Computación de Alto Rendimiento que diariamente publica información acerca de cómputo avanzado y sistemas de datos, tanto a nivel académico como industrial. En la publicación: https://www.hpcwire.com/2017/12/21/five-surefire-maybe-hpc-predictions-2018/ , HPC Wire realizó unas predicciones para el 2018 en la industria y tecnología para este año. Exponiendo cada una de estas predicciones, responda las siguientes preguntas:
- ¿ Cual de estas predicciones es la que a su criterio genera mas impacto en Colombia? Justifique su respuesta.
- ¿Por qué se hace tanto énfasis en la crisis de identidad del HPC?
- No ha pasado sino meses de estas predicciones. Al realizar su articulo, ¿Cual es el estado de estas predicciones?
- T3: Electrónica Orgánica: Tras las limitaciones físicas y los requerimientos cada vez mayores en consumo de energía, rapidez, capacidad y permanencia, los científicos han venido buscando nuevas maneras de proponer cómputo. Recientemente, un nuevo paso se ha dado para generar electrónica orgánica (https://liu.se/en/news-item/jattekliv-inom-den-organiska-elektroniken) con revolucionarios resultados (http://onlinelibrary.wiley.com/doi/10.1002/adma.201704916/full) De acuerdo a este tipo de contribuciones expuestas, responda las siguientes preguntas:
- ¿Por qué se buscan componentes orgánicos para dispositivos electrónicos?.
- ¿La abstracción lógica cambia? Justifique su respuesta.
- ¿Que retos trae a los ingenieros y científicos de computadoras este tipo de cómputo orgánico?
- T4: Nuevo descubrimiento aumentaría las capacidades de memoria y procesamiento: Recientemente el Colegio de Ciencia e Ingeniería de la Universidad de Minnesota anunció un descubrimiento que afectaría las capacidades de memoria y procesamiento en sistemas computacionales (https://cse.umn.edu/news-release/new-discovery-improve-brain-like-memory-computing/) El descubrimiento, publicado en nature (https://www.nature.com/articles/s41467-017-02491-3) sin duda es revolucionario y podría genera en el corto plazo nuevamente una potencialización de las capacidades tecnológicas. De acuerdo a esto y exponiendo de que se trata este logro, responda las siguientes preguntas:
- ¿Que hace tan importante y relevante este descubrimiento? Explique el detalle.
- ¿Por qué se hace referencia a que las capacidades de memoria y procesamiento se acercan a las capacidades del cerebro, como principal preocupación de los investigadores en el área?. Justifique su respuesta.
- ¿Que consecuencias tecnológicas, sociales y económicas en el corto plazo ha visto cada vez que las capacidades de cómputo y almacenamiento se incrementan?. De ejemplos.
- T5: La Siguiente Fase en la Revolución Digital: Sin duda alguna, en los últimos cinco (5) años se ha presentado una revolución que ha replanteado no sólo el valor de la información sino también la manera como se garantiza su uso, desde las plataformas hasta los modelos de programación, más aún en lo que denominamos nube computacional (https://cacm.acm.org/magazines/2018/2/224635-the-next-phase-in-the-digital-revolution/fulltext) Observando aquellas características expuestas por expertos, acerca de la siguiente fase en esa revolución, responda las siguientes pregunta:
- ¿A qué se debe el debate dato acerca de la productividad y como la sociedad se transforma dramáticamente? Justifique desde el punto de vista tecnológico e ingenieril su respuesta.
- ¿Por qué lo que se considera plataforma es importante en toda esta revolución?
- ¿Cómo es la perspectiva regional colombiana para ser actores en esa nueva fase de revolución digital? Justifique su respuesta de manera crítica.
- T6: Perspectiva de los Sistemas Operativos Ubiquos: Los sistemas que denominamos tradicionales de cómputo van desde sistemas en la nube, dispositivos que interactuan entre ellos, entre lo que denominados Internet de las Cosas (IoT) y nuevas tecnologías emergentes que se preocupan de nuevas capacidades pero tambien de limitaciones como el consumo energético. En ese sentido, se lleva una continua y completa discusión como puede verse en: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8268011 y el papel de los sistemas operativos. Teniendo en cuenta los aspectos tratados y expuestos relacionados en el artículo de base, responda las siguientes preguntas:
- ¿Por qué la perpsectiva definida en software (software-defined) es importante?
- ¿Cuales son los retos técnicos?
- Con el rápido desarrollo y despliegue de sistemas ubicuos en el mundo, ¿que retos debemos afrontar como futuros ingenieros de sistemas? De un ejemplo de una posible aplicación en algún sector productivo en Colombia (agro-industria, energía, salud)
- T7: HPC for Energy: Exascale plantea retos tecnológicos que tradicionalmente se ven desde las arquitecturas hardware y software, pues no solo se trata de tener una electrónica mejor para poder procesar exa-datos a un costo energético eficiente, sino también que las aplicaciones se ejecuten. En ese sentido sus compañeros del semestre 2017-2 del G2, realizaron un trabajo en torno a la modernización de las aplicaciones. Precisamente, en dias pasados, un consorcio europeo en torno al interés en exascale para problemas asociados a la energía se reunió (https://www.hpcwire.com/2018/01/25/eu-brazil-energy-interests-position-exascale/) en el cual obtuvieron interesantes conclusiones en torno a los avances del proyecto (https://hpc4e.eu/). Ese consorcio esta conformado por la Unión Europea y Brazil. Observando de que se trata tanto el exascale como el proyecto HPC4E responda las siguientes preguntas:
- ¿Cuales han sido los logros más relevantes del proyecto?
- ¿Por qué es importante el exascale y los problemas energéticos tratados desde la computación?
- Santander es una región de industrias energéticas, a su criterio ¿es relevante que se participe y genere proyectos similares en los cuales la computación juegue un papel interesante? Justifique su respuesta.
- T8: AI para suplir miembros amputados: Recientemente, se ha anunciado un logro que desde el 2012 no se realizaba y era la posibilidad de realizar tareas avanzadas en miembros robotizados en personas amputadas (https://goo.gl/abMz1U) El anunció de los resultados hechos por un grupo de investigación de Georgia Tech (http://www.news.gatech.edu/2017/12/11/force-strong-amputee-controls-individual-prosthetic-fingers) abre nuevas posibilidades para que la tecnología aporte al bienestar de los seres humanos. Teniendo en cuenta lo expuesto anteriormente, responda las siguientes preguntas:
- ¿Qué arquitectura computacional ha permitido desarrollar este tipo de logros?
- ¿Cuales han sido los principales retos y preguntas abiertas que aún quedan, desde el punto de vista computacional?
- ¿Como podríamos como ingenieros en Colombia, aportar a estos desarrollos, por ejemplo, para personas que han perdido sus miembros en la guerra reciente en Colombia o en accidentes de trabajo? Justifique su respuesta.
- T9: Europa lanza proyecto de 1 billón de Euros para construir supercomputador en el 2023: La supercomputación es uno de los pilares modernos para la competitividad científica de las naciones y conglomerados económicos. En se sentido, la unión europea lanzó su proyecto de supercomputación para el 2023(https://sciencebusiness.net/news/eu-launches-eu1b-project-build-fastest-supercomputer-world-2023), en el cual le apuesta no sólo ha construir un supercomputador sino el más poderoso del mundo y cambiar el panorama observado hoy en el Top500 (https://www.top500.org/) De acuerdo a la información que recopila al respecto, responda críticamente las siguientes preguntas:
- ¿Cuales son las principales motivaciones para Europa?
- ¿Cómo ve a América Latina como bloque respecto a Europa, Asía, Estados Unidos de América y Canada? Justifiqué su respuesta.
- ¿Y Colombia, es altamente competitiva o no? Justifique su respuesta.
- T10: La investigación en Hardware en su sistema de video juegos: Recientemente, la prestigiosa revista nature publicó una interesante contribución en torno a la investigación y la ruptura que se ha generado en los sistemas de video juegos (https://www.nature.com/articles/d41586-017-08968-x) De acuerdo a las ideas expuestas allí, responda las siguientes preguntas:
- ¿Por qué los sensores han sido fundamentales? Justifique su respuesta.
- ¿Cuál ha sido el papel de los video juegos en torno al desarrollo de la arquitectura de hardware?
- No como jugadores, sino como desarrolladores tanto de video juegos como de sistemas completos, ¿como ve al país? (Recuerde, debe documentarse muy bien y buscar información al respecto).
Trabajos 2017-2
- G1: El Problema de la Memoria en Arquitecturas computacionales en la Era PostMoore (Artículo , Diapositivas): Actualmente nos encontramos ante una disrupción tecnológica en computación, en la cual, por las limitaciones físicas, económicas y energéticas, la ley de Moore no se aplica más en computación y los fabricantes e investigadores están desarrollando lo que es las arquitecturas computacionales en la era post-moore. Existen muchos retos que se plantean, entre ellos el uso de arquitecturas heterogeneas para acelerar procesamiento a un bajo consumo energético relativo, pero cada reto que se busca tratar genera otros tantos, como los problemas relacionados con la memoria. En el artículo Heterogeneous Computing Meets Near-Memory Acceleration and High-Level Synthesis in the Post-Moore Era muestra como se trata el reto para acelerar la memoria mas cercana al procesamiento en arquitecturas heterogéneas.
- ¿Dé que se trata efectivamente la Era Post-Moore en arquitectura computacional?
- Describa de que se trata el reto que estan solucionado los autores del mismo, y cuales son sus principales logros.
- ¿Otras personas o grupos de investigación han tratado el problema o no? Si es asi, cual es el aporte que dan los autores.
- ¿Cuales nuevas preguntas y retos surgen de la propuesta de los autores del articulo dado?
- Como ingenieros de sistemas, ¿como los afecta este tipo de problemáticas?. Sea concreto y puede dar ejemplos.
- G2: Modernización de las Aplicaciones en la Era Exascale (Artículo , Diapositivas):'Exascale plantea retos tecnológicos que tradicionalmente se ven desde las arquitecturas hardware y software, pues no solo se trata de tener una electrónica mejor para poder procesar exa-datos a un costo energético eficiente, sino también que las aplicaciones se ejecuten. En ese sentido, se han desarrollado grupos y centros especializados para tratar problemáticas asociadas, como los Centros de Excelencia (o COE de sus siglas en inglés). En el artículo http://ieeexplore.ieee.org/document/8024142/ Application Modernization for the Exascale Era introduce otros tres siguientes, en los cuales se trata precisamente de como un COE generado trata ese problema de la modernización de las aplicaciones, teniendo en cuenta aspectos importantes del co-diseño hasta aplicaciones. Uno de los tres articulos siguientes denominado: Application Modernization at LLNL and the Sierra Center of Excellence trata mas en detalle la acción de un COE.
- ¿Por qué y como el exascale afecta las aplicaciones?
- ¿Por qué es importante tratar la modernización de las aplicaciones? ¿Cuales son los principales retos que se encuentran?. Recuerden desde el Exascale.
- ¿Por qué es importante los COE?
- Una de las aplicaciones visibles y de alto impacto desarrollado por el COE en mención puede verse en Toward Exascale Earthquake Ground Motion Simulations for Near-Fault Engineering Analysis de que se trata y como desde la ingenierí de sistemas e informática y la computación se trata este tipo de problemas? Recuerde, desde el punto de vista de arquitectura de computadores (hardware/software)
- ¿Como se atacarían desde la EISI problemas como el anteriormente expuesto? ¿Es importante hacerlo para Santander y el país?
- G3: Computación Cuántica (Artículo, Diapositivas):'Desde la ciencia ficción hasta en conversaciones de cafetería se habla de la computación cuántica, el cual, a pesar de ser muy experimental aun, es un hecho que algunos grupos de investigación y empresas le apuestan a un desarrollo a futuro, generan igualmente nuevos retos y resolviendo otros. En el articulo The Quantum Future of Computation los autores tratan de que se trata ese "futuro cuántico de la computación" (Igualmente puede ver en youtube en la charla de Matthias Troyer con el mismo nombre).
- ¿Dé qué se trata la computación cuántica? Recuerde, desde el punto de vista de arquitectura (hardware/software).
- ¿De que se trata la física cuántica?¿Porqué entonces de computadores cuánticos?
- ¿Qué pasa con las aplicaciones y la arquitectura de ellas (arquitectura software)? ¿Como se compilan, ejecutan y trazan (ver su desempeño)?
- Si la computación cuántica se desplegara inmediatamente, ¿Cuales serian las implicaciones sociales, económicas e industriales?
- ¿Como futuro ingeniero, se cree listo para asumir en rol en un mundo con computación cuántica? Justifique su respuesta.
- G4: Computación Molecular (Artículo , Diapositivas): Los científicos en computación, andan trabajando desde hace años en resolver los diferentes retos (bajo consumo de energía, aumentar capacidades, programabilidad, etc.) proponiendo nuevos paradigmas y arquitecturas computacionales, cada vez menos convencionales. Precisamente, como se observa en Embodied Molecular Computation: Potential and Challenges se plantea un nuevo reto, para nada convencional, desde las posibilidades moleculares de la materia para hacer computación.
- ¿De qué se trata la computación molecular? ¿Por qué aparece el término embodied (incorporada)?
- ¿Esta de acuerdo que los procesos biológicos pueden entenderse como programas? Justifiqué su respuesta.
- ¿Que retos, cambios de paradigma (a nivel de arquitectura, representación, programación, etc) y cambios trae consigo la computación molecular y en este caso molecular incorporada (o embebida)?
- Si la computación molecular see desplegara inmediatamente, ¿Cuales serian las implicaciones sociales, económicas e industriales?
- Como futuro ingeniero, ¿cree que con los conocimientos actuales que tiene como estudiante, esta listo para afrontar un mundo con computación molecular (y molecular embebida?. Justifique su respuesta.
- G5: Nuevos Paradigmas de Interacción Hombre -Máquina (Artículo , Diapositivas): El desarrollo de arquitecturas computacionales que permitan la interacción hombre-máquina desde sinergias corticales para permitir un control cerebral de dichas arquitecturas es un reto que genera cada vez mas preguntas, ante nuevos avances logrados. En el artículo Cortically Coupled Computing: A New Paradigm for Synergistic Human-Machine Interaction se presenta un nuevo paradigma pensando en el acoplamiento precisamente en el acoplamiento cortical.
- ¿De qué se trata la interacción cerebro-computador y porque involucra cada vez mas nuevos retos?
- Arquitecturalmente (computacionalmente), ¿como podría explicarse un sistema cerebro-computador?
- ¿Cual es el rol que juega la inteligencia artificial en todo esto?
- En términos de aplicaciones, ¿cuales son los retos tanto en el desarrollo como en la concepción de aplicaciones del "mundo real"?
- Dé que se trata IEEE Brain Initiative y ¿Como se podría participar desde la UIS?
- G6: Computación en Tiempo Real sobre Procesadores Multi-núcleos(Artículo , Diapositivas): El uso de múltiples núcleos en procesadores han permitido sobre diferentes arquitecturas computacionales, garantizar alto rendimiento y nuevos usos, pero también generan nuevos retos como la misma gestión de la memoria. En el artículo Real-Time Computing on Multicore Processors presenta una propuesta para el uso de procesadores multi-núcleos para computación en tiempo real, usada en aviónica.
- ¿Cuales son los principales retos y problemas a los que se enfrenta el uso de procesadores de multiples núcleos para sistemas de computación de tiempo real?
- ¿Por qué se hace tanto énfasis en la interferencia entre núcleos?
- A nivel de aplicaciones, ¿Cuales son los retos?
- ¿Por qué es importante estimar los peores casos en el rendimiento de estos sistemas (y de cualquier sistema)?
- ¿Que campos de aplicación sociales, industriales y académicos podría tener el uso de sistemas de procesamiento multinúcleo para tiempo real en el entorno cercano? (Universidad, Bucaramanga, Santander, Colombia). De ejemplos.
- G7: ¿La Ley de Moore ha muerto? (Artículo , Diapositivas): La Ley de Moore, propuesta en 1965 se ha cumplido de una manera extraordinaria hasta hace un par de décadas cuando las limitaciones físicas y el advenimiento de nuevas tecnologías generaron una disrupción tecnológica que hace que se comience a visualizar una era post-Moore. Sin embargo, algunos investigadores dicen que el anuncio de la muerte de la Ley de Moore es exagerado. En el artículo Exponential Laws of Computing Growth y en el video trata precisamente acerca de ese crecimiento computacional exponencial y las implicaciones que tiene no solo en como entendemos y usamos la tecnología sino también como la vemos a futuro.
- ¿Como podría entender la ley de Moore no solo a nivel de los transistores (chips) sino también a nivel de procesos, hilos y aplicaciones?.
- ¿De que se trata la ley de Rock y por qué es importante?
- ¿Qué rol tiene el paralelismo en todo esto?
- ¿Qué ha pasado con el desarrollo de aplicaciones en la era Moore?
- El crecimiento exponencial computacional plantea retos complejos. ¿Cuales son esos retos como ingeniero de sistemas y como se ubica la Escuela de Ingenieria de Sistemas e Informática de la Universidad Industrial de Santander, para atacar esos retos?
- G8: Computación Heterogénea (Artículo , Diapositivas): Para garantizar máximo desempeño aprovechando las características y propiedades de tecnologías especificas, se han propuesto arquitecturas computacionales completamente híbridas y heterogéneas, creando configuraciones cada vez mas novedosas, complejas y con un costo económico menor, pero que plantean nuevos retos. En el video y en el artículo Heterogeneous computing: here to stay se presenta lo que es hoy la computación heterogénea y como debe entenderse, desde un punto de vista computacional, haciendo enfásis en los retos que plantea.
- ¿Qué es la computación heterogénea?
- ¿Cuales son los retos en hardware y en software? De ejemplos.
- La UIS, desde Supercomputación y Cálculo Científico (SC3UIS) comenzó a innovar hace cinco (5) años con computación heterogénea, inicialmente con el codiseño y cointegración de GUANE-1 (GpUAdvanced eNvironmEnt - 1) que es un computador heterogéneo. ¿Qué lo hace tan especial y heterogéneo/híbrido?
- ¿Qué es lo bueno y lo malo de esa computación heterogénea?
- Como la UIS desde la Escuela de Ingenieria de Sistemas e Informática ha respondido a la computación heterogénea? (cursos, proyectos, grupos de investigación, interés de los profesores, estudiantes... etc.)
Artículos de los Grupos del Curso del Semestre 1-2016
- Artículo del Grupo 1, Arquitecturas Heterogéneas
- Artículo del Grupo 1 - Versión B, Arquitecturas Heterogéneas
- Artículo del Grupo 2, Programación de Arquitecturas Híbridas
- Artículo del Grupo 3, Arquitecturas Reconfigurables
- Artículo del Grupo 4, Codiseño
- Artículo del Grupo 5, Eficiencia Energética
- Artículo del Grupo 6, Tecnologías Verdes
- Artículo del Grupo 7, Arquitecturas Escalables
- Artículo del Grupo 8, Sistemas de Gran Escala
- Artículo del Grupo 9, ARM
- Artículo del Grupo 10, Supercomputación basada en ARM
- Artículo del Grupo 11, Computación Exascale
- Artículo del Grupo 12, Supercomputación Exascale
- Artículo del Grupo 13, Hardware Libre
- Artículo del Grupo 14, Supercomputación en el bolsillo
- Artículo del Grupo 15, Interfaz Cerebro Computador
- Artículo del Grupo 16, Codiseño de Sistemas Embebidos
Nota importante: Para efectos de la evaluación, al grupo que le correspondió el artículo del Grupo 1, como estos trabajaron finalmente separadamente, escojan alguna de las dos versiones, indicando en la evaluación, que versión escogieron.
Artículos de los Grupos del Curso del Semestre 2-2016
- Artículo del Grupo 1, Connecting Processing...
- Artículo del Grupo 2, Sistema Confiable de Almacenamiento
- Artículo del Grupo 3, Modelos de Programación y Cargas de Trabajo en Computadoras Escalables
- Artículo del Grupo 4, WSC
- Artículo del Grupo 5, Exascale
- Artículo del Grupo 6, Top500.org
- Artículo del Grupo 7,Hardware Libre y Sistemas Embebidos
- Artículo del Grupo 8, Sistemas de Gran Escala
- Artículo del Grupo 9, Arquítecturas Híbridas
- Artículo del Grupo 10, HiPEAC
- Artículo del Grupo 11, ARM
- Artículo del Grupo 12, NVIDIA Jetson TK1 y TX1
- Artículo del Grupo 13, GUANE-1
BIBLIOGRAFÍA Y FUENTES DE INFORMACION
1.Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface)]
- Historial Perspective and Further Reading
- Glossary of Terms in Architecture
- A Survey of RISC Architectures for Desktop, Server and Embedded Computers
2. Patterson and Hennesy, Computer Architecture; A Quantitative Approach
3. Commer, Douglas, Essentials of Computer Architecture
4. TED Talks
- The Birth of Computers by George Dyson
- Shimon Schocken: The self-organizing computer course
- [http://www.ted.com/talks/john_graham_cumming_the_greatest_machine_that_never_was.html John Graham-Cumming: The greatest machine that never was
- Kwabena Boahen: A computer that works like the brain
5. Algunos enlaces interesantes
- Computer Arithmetic Algorithm Simulator: http://www.ecs.umass.edu/ece/koren/arith/simulator/
- Enlace de programa en C para sumar dos números binarios (https://www.sanfoundry.com/c-program-sum-binary-numbers/)
PRACTICAS 2020-(Curso Especial)
Todas las prácticas se desarrollan en el dia de la clase teórica-práctica* en la modalidad de Tele-trabajo y deberán enviarse al correo del profesor hasta las 16:00 (4:00 p.m.) del día *viernes, para el primer semestre académico del 2020:
- Los informes deben enviarse por correo electrónico al correo del profesor. En el asunto del mismo deberá colocarse "PractArqComp No. XX" Por ejemplo, si la práctica es la práctica 37, el asunto del correo deberá ser: Practica Arquitectura Comp-37.
- El informe de las mismas, se enviará adjunto en el correo ÚNICAMENTE en un solo archivo .pdf de máximo (3) tres páginas tamaño carta, tipo de letra 12 puntos, espaciado sencillo, que incluya las gráficas necesarias, cuyo archivo debe nombrase con los apellidos (o apellido si es individual), las iniciales de los nombres (o inicial del nombre si es individual) y el numero de práctica respectivo. Por ejemplo, si los integrantes del trabajo son Pedro Pérez y Maria Márquez, que realizan la práctica 37, el archivo de informe .pdf deberá nombrarse como : MarquezPerezMP37.pdf El archivo debe incluir en la cabecera el número y fecha de la práctica, asi como los nombres completos de los participantes junto con el código respectivo y el curso al que pertenecen.
- Recuerden en su informe de prácticas adjuntar la bibliografía y fuentes de información adicionales utilizadas.
- En algunas prácticas es necesario que se incluyan algunos archivos de código fuente. En ese caso, dentro del informe mismo, deberán indicarse cuales son esos archivos adjuntos y deben enviarse junto con el archivo de informe (con nombres libres) pero dando las indicaciones de compilación y ejecución.
- En el cuerpo del mensaje, deberán colocarse los nombres completos y códigos de los autores del informe ( o autor si es el caso de un laboratorio individual), así como el código del curso al que pertenecen.
- Lea cuidadosamente lo que se les pregunta y respondan únicamente lo que se les esta preguntando precisamente, de manera clara y concisa. Siga las indicaciones de respuesta, que en algunos casos están limitadas en números de líneas a responder, gráficas, comparaciones, justificaciones, ejemplos, contra ejemplos, entre otros.
- ADVERTENCIA: Salvo que se indique lo contrario, todas las prácticas deben realizarse de manera individual por lo que se espera que las prácticas sean diferentes. Al encontrar prácticas idénticas en redacción por ejemplo, la calificación se dividirá.
- En el dia* de la sesiones prácticas desde las 9:00 a.m. hasta las 11:00 la auxiliatura del curso y el profesor estarán pendientes de responder preguntas (*viernes) relacionadas con el desarrollo de la práctica específicamente. SIN EMBARGO, ESTO NO IMPLICA QUE PUEDA CONSULTARSE PREVIAMENTE.
Primera Práctica (Viernes 22 de Mayo de 2019): Familiarizándose con las secciones prácticas e introducción al curso (Individual)
Esta primera práctica tiene como objetivo, introducir la asignatura de arquitectura de computadores y se realizará de manera individual. Antes de entrar a desarrollar las secciones de las prácticas, visite completamente esta página del curso y familiarícese con el contenido de la misma. Tengan en cuenta las indicaciones anteriores dadas.
Observe la charla de TED dada por George Dyson, The Birth of Computers y responda las siguientes preguntas, de manera concreta, si es necesario complementando con otras fuentes de información que busque al momento de hacer el informe (Recuerde que en la plataforma de TED puede colocar subtitulos en español:
- ¿Qué es lo más trascendental para usted en esta charla? (Responda en menos de 10 lineas)
- ¿Qué situaciones "cotidianas" encuentra hoy en día en las máquinas de cómputo que prevalecen desde los primeros días de esas primeras máquinas de computación?
- Compare las principales características de su teléfono celular o del PC que tiene junto a usted al momento de hacer este informe (capacidad de memoria, almacenamiento, consumo energético, capacidad de procesamiento e incluso complejidad), con las de esas máquinas pioneras. ¿Cuales han sido los cambios más dramáticos?.
- Hoy en día se habla mucho de la cuarta revolución industrial y la transformación digital. ¿Qué es cada una de ellas? . Suponiendo que se gradúa mañana ¿Tiene claro (o no) como hacer parte de esas transformaciones? . Justifique su respuesta.
Observe las dos caricaturas que se han colocado en el wiki:
y
5. Para usted ¿Qué es cada una de ellas y como se relacionan con el texto adjunto y el conocimiento compartido que se espera tratar en el curso? ¿Cuales son sus impresiones como estudiante de ingeniería de sistemas al respecto ? Tenga en cuenta el contexto del curso de Arquitectura de Computadores.
Segunda Práctica: (Viernes 29 de Mayo 2020) Algunos Aspectos Históricos (En Parejas o Trios - Pueden ser de grupos de clase diferentes (A1 o A2))
De acuerdo con la Ley 1221 de 2008, el Teletrabajo se define como una forma de organización laboral, que consiste en el desempeño de actividades remuneradas o prestación de servicios a terceros utilizando como soporte las tecnologías de la información y la comunicación - TIC para el contacto entre el trabajador y la empresa, sin requerirse la presencia física del trabajador en un sitio específico de trabajo. En el mundo, este tipo de trabajo se esta expandiendo por diferentes motivos: económicos, medioambientales y de calidad de vida. Sin embargo, involucra un cambio de mentalidad en el trabajador y del empleador, basándose sobre todo en valores y confianza, aunque también se requieren plataformas tecnológicas que soporten el teletrabajo. Diferentes plataformas en Colombia como http://www.teletrabajo.gov.co han promovido este tipo de práctica laboral y en la Universidad Industrial de Santander, se han desarrollado charlas para entenderlo, junto con el MinTIC.
Para desarrollar el taller, tenga en cuenta que la arquitectura de computadores es ante todo un desarrollo continuo, de hardware y software, que involucra cambios radicales que tienen una afectación importante en el individuo y la sociedad.
- En el contexto del #COVID19, ¿Cuál cree que ha sido el comportamiento del teletrabajo por parte de los patronos o de los empleadores? Describa su respuesta en no más de 12 lineas.
- Revise las diapositivas: File:CompHist1-16.pdf acerca de la evolución histórica de la computación y bibliografía relacionada (Por ejemplo, Historial Perspective and Further Reading).
- Según su criterio personal, ¿Cual ha sido el mas extraño de los desarrollos en esa evolución histórica? Justifique su respuesta en no mas de (Diez) 10 líneas.
- Teniendo en cuenta esa evolución histórica y tendencias, ¿Como ve a Colombia dentro de ese desarrollo? ¿Se ha mantenido al margen? ¿Ha producido tecnología? ¿Es un buen consumidor de la misma?. Responda en no mas de diez líneas.
- El premio ACM Turing, es el equivalente al Nobel en Informática y Computación (https://amturing.acm.org/) Escoja dos ganadores del Turing (o conjunto de ganadores) de dos años diferentes:
- Antes del ACM Turing, ¿Que otros premios y reconocimientos han recibido?
- ¿Qué es lo mas interesante de la hoja de vida y el recorrido personal de cada uno de ellos?
- ¿Creen que el aporte que ellos han hecho para ganarse el ACM Turing tiene realmente una incidencia en la sociedad y en la computación? Justifique su repuesta (en no mas de veinte lineas).
- Escoja una mujer ganadora del ACM Turing y responda las mismas preguntas anteriores. Si entre los que escogió anteriormente hay mujeres, escoja algun otro de una minoría étnica o de una universidad fuera de los Estados Unidos de América.
- Teniendo en cuenta lo visto en el ACM Turing, ¿Que necesitaría alguien para ganarse ese reconocimiento desde la Universidad Industrial de Santander?
- En la sesión anterior teórica del jueves 28 de mayo se dará una pregunta adicional al final del curso para realizar en este taller. Respondala siguiendo los lineamientos de las preguntas anteriores.
Tercera Práctica (Viernes 5 de Junio de 2020): Requerimientos Funcionales y Desempeño (Parejas o Trios)
Observando las diapositivas de la clase anterior (principalmente la diapositiva No. 35) y lo que se puede consultar en la bibliografía dada (ver principalmente fuente bibliográfica No. 2, sección 1.3 recomendando observar la tabla presente en la figura 1.7), la práctica de hoy busca hacer un ejercicio en el cual, teniendo en cuenta requerimientos funcionales, se va a sugerir una tecnología a tomadores de decisiones.
Esta práctica se realizará por parejas de la siguiente manera: Tomé la última cifra de su código de estudiante y súmela con la de su compañero, si el resultado es un numero par o cero siga las indicaciones dadas en a), si es impar siga las dadas en b).
a) Una empresa local en el segmento de salud, quiere adquirir tecnología computacional para colocarla en las autopistas para pruebas inmediatas de #COVID19 en los que no hay una distribución energética constante sino dadas por energía solar, ademas que estos dispositivos son para colocar en diferentes lugares que se comunican por wifi. Las aplicaciones dadas están realizadas por una comunidad de universidades e instituciones públicas (códigos propios o in-house), realizados en C/C++ y Python, en un ambiente que solo funciona bien sobre un linux embebido. Por política de la compañía sólo usan software abierto y propone el uso de hardware abierto principalmente (pero no necesariamente), pero la seguridad de la información es importante y debe tratarse en tiempo real y como se mencionó anteriormente, implica una comunicación constante entre los dispositivos en cada punto (a través de una relación EDGE/FOG/Cloud. Estos dispositivos se comunicarán al final con un servidor de réplica que envía los datos a un datacenter.
La compañía se comunica con ustedes para recibir sugerencias arquitecturales basadas en los requerimientos funcionales dados UNICAMENTE, las cuales ustedes deben presentar. Busqué en internet cuanto costaría en el mercado un dispositivo que ustedes están recomendado (no olviden dar las referencias del casos, como enlace de internet para buscar más información). En la recomendación, justificada, en un documento de no mas de tres (3) páginas, presente cual seria la opción mas cercana y no olviden mencionar las limitaciones que en una primera revisión ustedes encuentran.
b) Un productor de juegos local muy conocido, quiere adquirir tecnología computacional en un servidor que le permita ofrecer juegos en linea y en vivo, asi como interoperabilidad con diferentes plataformas (Android, MaOS, Linux, Windows) para que los juegos tengan facilmente interacción. Es importante tener en cuenta que el dispositivo computacional debe tener la posibilidad de integrar principalmente tarjetas gráficas NVIDIA GRID (o referencias posteriores de NVIDIA) para las necesidades de contenerización o de máquinas virtuales para los juegos colocados allí, con un mínimo de 100 clientes conectados simultaneamente.
El productor se comunica con ustedes para recibir una asesoría en cuanto características arquitecturales basadas en lo que les dijo UNICAMENTE. Proponga la arquitectura, detallando los aspectos de tecnología mas importantes (procesador (marca del mismo), memoria RAM, capacidad de disco, entre otras características importantes). Presente, justificando, su recomendación observando en el mercado por internet, posibles soluciones comerciales, teniendo en cuenta la mas costosa y la menos costosa, justificando ventajas y desventajas de cada una de ellas. Eso no debe hacerse en mas de tres (3) páginas.
c) En la sesión anterior teórica del jueves 4 de junio se dará una pregunta adicional al final del curso para realizar en este taller. Respóndala siguiendo los lineamientos de las preguntas anteriores.
No olviden seguir las recomendaciones de informes. NO SE ACEPTAN INFORMES EN SOLITARIO y envíenlo una sola vez por todo el grupo desde una de las cuentas de correos de alguno de los estudiantes del grupo.
Cuarta Práctica (Viernes 12 de Junio de 2020): Aritmética Computacional (Parejas o Trios)
El objetivo de esta práctica es observar ciertos aspectos de aritmética computacional, teniendo en cuenta lo visto en clase. En el documento solo debe colocar las respuestas, explicaciones y no el código siguiente. Recuerden, sean concretos en las respuestas.
- Observe el siguiente código:
#include <stdio.h>
int main()
{
long binary1, binary2;
int i = 0, remainder = 0, sum[20];
printf("Enter the first binary number: ");
scanf("%ld", &binary1);
printf("Enter the second binary number: ");
scanf("%ld", &binary2);
while (binary1 != 0 || binary2 != 0)
{
sum[i++] =(binary1 % 10 + binary2 % 10 + remainder) % 2;
remainder =(binary1 % 10 + binary2 % 10 + remainder) / 2;
binary1 = binary1 / 10;
binary2 = binary2 / 10;
}
if (remainder != 0)
sum[i++] = remainder;
--i;
printf("Sum of two binary numbers: ");
while (i >= 0)
printf("%d", sum[i--]);
return 0;
}
1.1. ¿Qué hace el código? Explíquelo en un diagrama de flujo y un pseudocódigo.
1.2. Teniendo en cuenta que el lenguaje de programación sobre el que esta escrito es evidente, transcríbalo, guárdelo con la extensión correspondiente, compílelo y ejecútelo. ¿Qué salida le da?
1.3. Modifíquelo previendo un overflow "posible", en el informe agregue únicamente las lineas de esa modificación y expliqué cómo funciona, teniendo en cuenta la salida que les da.
2. Observe el Simulador de suma y resta de punto flotante que se encuentra en el sitio de internet: http://www.ecs.umass.edu/ece/koren/arith/simulator/FPAdd/
2.1. Use los años que tiene usted y su compañero y realice una operación de suma y luego de resta usando números decimales. Explique la salida que les da tanto en single como en double. ¿Qué ven de diferente? Expliquen su respuesta.
2.2. Repita la misma operación anterior pero en hexadecimal. ¿Qué observan que es relevante en la salida ? Igual realizarlo para double y expliquen la diferencia.
3. ¿Cuál es la utilidad de la representación hexadecimal respecto a la decimal desde el punto de vista de arquitectura de computadores? No olviden que tienen Internet.
4. En la sesión anterior teórica del jueves se dará una pregunta adicional al final del curso para realizar en este taller. Responderla siguiendo los lineamientos de las preguntas anteriores.
Quinta Práctica (Viernes 19 de Junio de 2020): Ensamblador (Trios o Parejas)
Ensamblador, traduce el lenguaje de alto nivel a un lenguaje que pueda ser posteriormente enlazado hacia un lenguaje que será entendido por la máquina. Cuando ya ha sido ensamblado por el compilador, las instrucciones fundamentales para la operación quedan visibles. Normalmente, las instrucciones ensamblador son estandarizadas. En el siguiente enlace: http://reliant.colab.duke.edu/c2mips/ se tiene en linea un convertidor de C hacia ensamblador para MIPS. El objetivo de esta práctica es observar y distinguir que pasa cuando un programa escrito en un lenguaje una vez compilado es traducido hacia ensamblador. Esta práctica se realizará igualmente en parejas.
- Utilice el código de "Hola Mundo" en C y usando únicamente la opción de optimización por defecto, indique pasa, explicando que hace cada linea de instrucción importante, cuando se traduce hacia ensamblador.
- Haga lo mismo con un programa para sumar dos números enteros menores que 100.
- Ahora con un programa en C para calcular los números primos hasta 1000 y mire que pasa. Juegue con las opciones de optimización del compilador. Inclusive si salen warnings o errores, explique por que pasa eso y en que modo de optimización.
- Responda las siguientes preguntas:
- ¿Qué es compilar?
- ¿Cual es la función del compilador?
- ¿Todos los compiladores son iguales?
- ¿Que hace o a que se refiere las opciones de compilación? ¿Cual es la diferencia entre ellas?
- En la sesión anterior teórica del jueves se dará una pregunta adicional al final del curso para realizar en este taller. Respondala siguiendo los lineamientos de las preguntas anteriores.
Recuerden las reglas para la entrega de informes.
Sexta Práctica (Viernes 26 de Junio de 2020): Multinúcleos y Multiprocesamiento (Parejas o Trios)
(Recuerden que a partir de esta práctica, para las prácticas que NO SON INDIVIDUALES, la configuración de las parejas o trios debe realizarse con los miembros de cada uno de los grupos del trabajo final. Si es un grupo de tres personas, se hacen los tres, si es de cuatro, se dividen en parejas).
Los sistemas computacionales desde hace décadas, explota las posibilidades de concurrencia y paralelismo en procesamiento aprovechándose de la posibilidad de aglomerar múltiples núcleos de procesamiento y múltiples procesadores. Esto permite tener grandes capacidades computacionales que soportan diversos tipos de aplicaciones, algunas como las de Inteligencia Artificial que sin esta explosión cámbrica de procesamiento, sería imposible hoy implementar algoritmos para tales fines. Profesor Satoshi Matsuoka en el 2017 durante una presentación en Zurich (https://www.cse-lab.ethz.ch/wp-content/uploads/2017/12/171208_Talk-1_Satoshi-Matsuoka.pdf) utilizó el término "cambrian explotion" (en inglés) por primera vez y en el 2018 se formalizó el término durante la Conferencia HPDC ( https://dl.acm.org/citation.cfm?id=3225055 )
Observe detenidamente las diapositivas de la presentación del profesor Satoshi Matsouka, consulte fuentes y citaciones por internet y responda las siguientes preguntas:
- ¿A qué se refiere cuando usa el término Cambrian Explotion of Computing...? ¿Por qué la relación de similitud con la explosión cámbrica desde el punto de vista geológico?
- ¿Qué son las aplicaciones exascale y por qué son importantes?
- ¿Qué son las arquitecturas computacionales neuromórficas?
- ¿A qué se refiere la computación centrada en datos (data-centric computing)?
- ¿Por qué la memoria es importante en esta explosión cámbrica? ¿Qué se ha propuesto hasta el momento?
- ¿Qué se plantea en términos de interconexión de acuerdo a la presentación? ¿Por qué es importante?.
- ¿Qué características comunes tienen las aplicaciones de Inteligencia Artificial y de Big Data que hacen que requieran arquitecturas de computación de alto rendimiento?
- Teniendo en cuenta la presentación y las consultas asociadas ¿Qué se imagina que pasará en los siguientes 20 años de computación para las nuevas generaciones de procesadores?
- No olvide la pregunta dada en clase. El lugar para responderla es el sitio www.top500.org .
Puede observar igualmente el video de la charla sobre Post K architecture en: https://www.youtube.com/watch?v=vQjy0t9FtQI
Séptima Práctica (Viernes 3 de Julio de 2020): Práctica Especial (Individual)
Los valores éticos y morales en las diferentes profesiones son un motivo de discusión, ya que si bien, en algunos casos podrían considerarse principios, en otros de acuerdo al mismo desarrollo tecnológico y social. Precisamente, es por eso que los grupos sociales son los que generan esos códigos de ética, llaménse asociaciones o grupos e interés o de presión. La ACM (www.acm.org) es una asociación fundada en 1947, que reúne precisamente a la comunidad en computación e informática a nivel mundial, en la cual nosotros nos vemos implicados. En el 2018, se propuso un código de ética teniendo en cuenta tanto conducta profesional como principios éticos generales, teniendo en cuenta varios aspectos importantes como son el hecho de la responsabilidad social y humana en el cual los profesionales en computación tienen ante un mundo cambiante, cuyas transformaciones se han dado precisamente por nosotros como computistas. El código de Ética puede consultarse en: https://www.acm.org/code-of-ethics
De manera individual, siguiendo las indicaciones que se han manejado para la entrega de informes, responda lo siguiente:
- ¿Que opina de los principios éticos generales de la profesión? Argumente de manera concreta su respuesta.
- ¿Cree que hay puntos éticos que no se han tratado en estos principios? Justifique su respuesta.
- Los puntos 1.5 y 1.6., son muy discutidos hoy en dia, sobre todo por la proliferación de motores y robots que pueden tratar los datos personales e información sensible (Por ejemplo, "la piratería" de software y algoritmos o hay que ver el caso de Cambridge Analytica con Facebook) ¿Cree que estos puntos se han tratado adecuadamente en nuestro medio colombiano? Justifique su respuesta.
- La responsabilidad profesional en computación (que puede observarse en la sección dos) genera hoy en dia posiciones encontradas en muchos aspectos (por ejemplo, cuando se aspira a contratar "toderos" o a creerse igualmente "que puede hacer de todo", ignorando las competencias y por supuesto subvalorando el conocimiento y niveles de formación (Cómo el conocido caso del ingeniero recién graduado que sepa de todo, varios idiomas y haya tenido años de experiencia , pero con una asignación salarial ridícula). De la misma manera, existen versiones beta, o fraccionarias consecutivas, que muestran desarrollos parciales, no robustos y que requieren constantes actualizaciones por supuesto, respondiendo a oportunidades de mercado (por el ejemplo el caso de los productos obsoletos o que se vuelven de poco desempeño cuando salé la versión nueva al público) ¿Por qué cree que en el medio colombiano y regional la responsabilidad y las competencias sean subvaloradas? Analice un caso conocido y expongalo para complementar su respuesta.
- Los líderes, debido a su responsabilidad al influenciar e impactar, tiene ciertas características que incluso en el contexto no profesional, buscamos justificar, ignorando implicaciones. ¿Creen que los aspectos relacionados con el liderazgo están tratados integralmente en el código propuesto? Justifique su respuesta.
- No sólo el futuro de la computación, sino de la misma humanidad depende tanto de excelencias éticas y técnicas que permiten desarrollo tecnológico y social. ¿Porque es importante observar los principios éticos además del conocimiento científico y tecnológico? Justifique su respuesta.
- ¿Pensando en comunidad, piensa que los ingenieros de sistemas UIS sienten identificados o no con el código propuesto por la ACM? Justifique su respuesta.
- En la sesión anterior teórica del jueves se dará una pregunta adicional al final del curso para realizar en este taller. Respondala siguiendo los lineamientos de las preguntas anteriores.
Octava Práctica (Viernes 10 de Julio de 2020): Entrega de Informe Inicial del Proyecto de Clase (De acuerdo a la asignación de Grupos)
De acuerdo a la asignación del trabajo final de la asignatura, deberá entregar un informe en un archivo .pdf con el nombre InfIni-TemaX en el cual TemaX es el tema respectivo al grupo asignado. Si, por ejemplo, su grupo corresponde al Tema 17, el archivo deberá llamarse como InfIni-Tema17.pdf. Obviamente la entrega se realizará por grupos y en el texto del mensaje enviado al correo del profesor debe estar el nombre completo de cada uno de los integrantes, su código y grupo al que corresponden. Esta información debe estar igualmente en el archivo mismo enviado. El asunto del mensaje, debe ser : Informe Inicial Tema X. El archivo no debe contener más de (3) páginas y debe enviarse antes de las 5:00 p.m. del dia viernes 21 de Febrero.
En dicho informe debe contener:
- Título (tentativo) del trabajo inicial (Recuerde, debe ser diferente al título de la asignación y debe llamar al interés
- Resumen en español, de máximo (10) diez lineas
- Conceptos clave necesarios (máximo una página) necesarios tanto para entender cómo para la realización del trabajo. (a manera de glosario). Se recomienda no pasar de dos líneas de descripción por concepto.
- Bibliografía (inicial) asociada y fuentes de información diferentes a las dadas por el profesor. Se recomienda no listar más de diez referencias siguiendo las normas de citación de bibliografía en artículos científicos.
Nota importante: teniendo en cuenta que las asignaciones son de grupos de cursos diferentes, no se tendrá en cuenta la entrega en el aula de clase sino posteriormente, como se indica antes, para que los integrantes puedan consolidar la información.
Novena Práctica (Viernes 17 de Julio 2020): NVIDIA GTC 2020 Keynote in 10 minutes: Updated RTX and A100 GPU system (Parejas o trios)
El pasado 14 de mayo, en el desarrollo del GPU Tech Tecnology Conference de NVIDIA (que se realizó de manera virtual), el CEO de NVIDIA, Jensen Huang presentó los últimos desarrollos propuestos por NVIDIA para el 2020. Esta charla puede verse en nueve partes en el canal oficial de NVIDIA en Youtube: https://www.youtube.com/user/nvidia (O seguir la secuencia propuesta de las nueve partes en: https://www.youtube.com/watch?v=bOf2S7OzFEg&list=PLZHnYvH1qtOZ2BSwG4CHmKSVHxC2lyIPL)
De acuerdo a la presentación responda las siguientes preguntas
- ¿Qué es lo mas importante de cada una de las partes y por qué? (No mas de tres lineas por cada una de las partes
- ¿De todos los avances de NVIDIA presentados en ese keynote, cual cree, desde su futuro inmediato como ingeniero de sistemas, tiene más impacto?. Justifique su respuesta.
- ¿Cómo ha apoyado NVIDIA a la investigación en torno al COVID19?
- ¿Cual ha sido el Rol de NVIDIA en esa explosión cámbrica de recursos hardware y software para la Inteligencia Artificial, Machine Learning y Deep Learning?
- ¿Qué es un sistema de recomendación?
- ¿Por qué la inferencia es tan importante y como NVIDIA ha respondido a esto?
- ¿Por qué es tan importante NVIDIA Ampere y se le hizó tanto énfasis en la presentación?
- En la sesión anterior teórica del jueves se dará una pregunta adicional al final del curso para realizar en este taller. Respóndala siguiendo los lineamientos de las preguntas anteriores.
Novena Práctica (Viernes 24 de Julio de 2020) : Arquitectura General (En trios o parejas)
El objetivo de esta práctica es comprobar las capacidades para identificar planos de arquitectura de algunos sistemas y entenderlos.
- La siguiente imagen, corresponde a una organización del sistema propuesta para un sistema Nehalem-EP 8-way cc-NUMA SMP, basado en CPUs (http://sc.tamu.edu/systems/eos/). Como profesional en ingenieria de sistemas le preguntan lo siguiente, de acuerdo a la gráfica (10 puntos):
- ¿Cuantos procesadores tengo?
- ¿Cuántos tipo de procesadores tengo y de que tipo? Explique cada uno
- ¿Cuántos nucléos de procesamiento (cores) tengo?
- ¿Cuántos niveles de caché tengo? Explique a que me refiero con el caché.
- ¿Qué dice la información acerca de la latencia al compararla de procesador a procesador y de procesador a memoria?
(Este tipo de gráficas pueden aparecer en las evaluaciones)
2. CISC VS RISC
En la clase anterior se habló sobre aspectos importantes y diferenciadores de cada una de las dos tecnologías RISC y CISC. Observando la siguiente gráfica, responda las preguntas dadas (Tenga en cuenta la conclusión final dicha en clase).
- ¿Cuáles son las principales diferencias arquitecturales?
- Abstraiga la implantación sobre el sistema (recuerde desde el programa en lenguaje de alto nivel hasta la circuiteria), con un ejemplo de cada uno, muestre las diferencias de la abstracción (si existe) y como la explicaría con un ejemplo.
- Muestre en el mercado dos ejemplos de cada uno de las tecnologías y una tecnología que combine las dos.
- ¿Consulte que lenguajes de programación, compiladores y sistemas operativos existen para RISC que igualmente están con soporte para CISC? Enumére tres ejemplos de cada uno
- De acuerdo a lo dicho en clase (y consultando por Internet), ¿Que retos y problemas plantea RISC?
3. Responda la pregunta dada en el tablero.
Décima Práctica (Viernes 31 de Julio 2020) : Comparando Arquitecturas (Individual)
El objetivo de esta práctica es realizar un simulacro de algunas de las preguntas tipo que se realizan normalmente en evaluaciones escritas. Sea claro y conciso en sus respuestas. Observé lo que se le pregunta y responda ÚNICAMENTE lo que se le pregunta y las indicaciones dadas en el sitio . ESTA PRACTICA ES INDIVIDUAL.
1. Para realizar una evaluación de rendimiento, le solicitan la lista de al menos tres métricas para comparar:
- · Dos computadores personales
- · Dos Sistemas de bases de datos
- · Dos Aplicaciones que funcionan en red
- · Dos Componentes que se dirán en el tablero
2. En un proceso en el cual usted esta explicando a una junta directiva de una gran empresa sus decisiones en tecnología, le pregunta: ¿Por qué el caché es importante? (Use solo 5 líneas)
3. Usted esta en el consejo de escuela de la EISI en el cual se discute acerca de la velocidad de la red inalámbrica del sistema. En el consejo se insiste en que se cuenta con un canal de red de una capacidad de 1GB (Ancho de banda) cableada que puede suplir a los 780 estudiantes y 18 profesores de la EISI, pero la red sigue siendo lenta. ¿Qué no se ha tenido en cuenta al evaluar el rendimiento? (Máximo en cinco líneas)
4. Un compañero de derecho tiene un equipo con un procesador de 2.6 GHz, una memoria RAM de 1.GB y un disco duro de 2TB, le pregunta por qué si ha actualizado su disco duro a un disco duro de 4TB, su equipo sigue lento. De la solución mas simple para que su equipo sea mas rápido. (Máximo 5 lineas).
5. En la sesión anterior teórica del jueves se dará una pregunta adicional al final del curso para realizar en este taller. Respondala siguiendo los lineamientos de las preguntas anteriores.
Onceava Práctica (Viernes 14 de Agosto 2020): SAN , RAID y SMART Campus
1. Una multinacional cuyo sector de negocio es la energía lo ha contratado para hacer parte de un equipo de decisión tecnológica como ingeniero. En la mesa de discusión, se esta evaluando la implementación de una SAN para el data-center. Teniendo en cuenta que esta multinacional requiere un sistema de almacenamiento de alta disponibilidad, que permita igualmente almacenar en discos de altísima velocidad bases de datos muy grandes, con un uso de fibra óptica, proporcionar un acceso directo y dirigido hacia servidores de aplicaciones (no hacia puntos o equipos de usuarios finales) donde la seguridad es muy importante, ¿Cómo le explicaría usted al gerente que no es ingeniero de sistemas o computista sino abogado, que es una SAN y que es RAID? Justifique su respuesta en no mas de cinco líneas, por cada uno de los conceptos y de un ejemplo igualmente en no más de tres líneas por cada uno de ellos.
2. Observando el proyecto de Smart Campus siguiendo las características de smart cities / IoT que presentaron sus compañeros del grupo seis el dia de ayer. ¿Como sería un proyecto de SMART-EISI? Detalle el proyecto teniendo en cuenta necesidades arquitecturales y al menos tres (3) objetivos de aplicaciones o servicios, en no mas de dos páginas.
3. Con una gráfica, tomando como base por ejemplo, la abstracción de la ISA o una máquina de Von Newman, ¿Cual es la diferencia entre RISC y CISC? Explique la gráfica.
Doceava Práctica (Viernes 21 de Agosto 2020): Jugando con NandTetris Parte 1. (Por Parejas o Trios)
Las indicaciones de esta práctica se darán posteriormente.
Treceava Práctica (Viernes 28 de Agosto 2020): Jugando con NandTetris Parte 2. (Por Parejas o Trios)
Las indicaciones de esta práctica se darán posteriormente.
CONSULTA CON EL PROFESOR Y SESIONES ESPECIALES
Normalmente, si requieren alguna consulta pueden enviarme un email al correo cbarrios(-@-)uis.edu.co o cbarrios (-@-) saber.uis.edu.co. De tal manera se podrá planificar una cita de interacción de consulta previamente.
Algunas sesiones especiales serán programadas en el transcurso del semestre, entre las cuales podrían estar:
- Sesión Especial Sobre Arquitecturas Pot-Moore y Cuánticas
- Sesión Especial con Fabricante/Vendedor de Tecnología
- Sesión Especial con Científico Invitado
- Visita al Parque Tecnológico de Guatiguará y a Supercomputación y Cálculo Científico (Planificada previamente)