Difference between revisions of "Arquitectura de computadores"
(35 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
[https://sites.google.com/site/carlosjaimebh/ Carlos Jaime Barrios Hernández] - ( c b a r r i o s @ u i s . e d u . c o ) | [https://sites.google.com/site/carlosjaimebh/ Carlos Jaime Barrios Hernández] - ( c b a r r i o s @ u i s . e d u . c o ) | ||
− | + | Luis Alejandro Torres Niño - | |
Auxiliatura Técnica-Académica : Equipo de Ingenieria de Supercomputación y Cálculo Científico | Auxiliatura Técnica-Académica : Equipo de Ingenieria de Supercomputación y Cálculo Científico | ||
Line 92: | Line 92: | ||
===='''Presentación del Curso''':==== | ===='''Presentación del Curso''':==== | ||
− | *'''[http://wiki.sc3.uis.edu.co/index.php/File:PresArq- | + | *'''[http://wiki.sc3.uis.edu.co/index.php/File:PresArq-2-2024Beta.pdf General Presentation of the Computer Architecture]''' |
===='''Del Tema 1 del Contenido:'''==== | ===='''Del Tema 1 del Contenido:'''==== | ||
Line 106: | Line 106: | ||
*[http://wiki.sc3.uis.edu.co/index.php/File:InstrucArchi.pdf '''Instrucciones Computacionales'''] | *[http://wiki.sc3.uis.edu.co/index.php/File:InstrucArchi.pdf '''Instrucciones Computacionales'''] | ||
*[[:File:MemoryH.pdf|Memory Hierarchy]] | *[[:File:MemoryH.pdf|Memory Hierarchy]] | ||
− | *[http://wiki.sc3.uis.edu.co/index.php/File:ClusterMultiCores.pdf ''' | + | *'''Multinúcleos y Paralelísmo:''' |
+ | **[http://wiki.sc3.uis.edu.co/index.php/File:ClusterMultiCores.pdf '''Una introducción'''] | ||
+ | **[[:File:ArchiParSca2024.pdf|Arquitecturas Escalables y Paralelas]] | ||
*'''Introducción al Ensamblador''' | *'''Introducción al Ensamblador''' | ||
**[[:File:Ensambla20.pdf|'''Presentación General y Fundamentos''']] | **[[:File:Ensambla20.pdf|'''Presentación General y Fundamentos''']] | ||
Line 126: | Line 128: | ||
Es importante que el curso, es un curso presencial, el cual se evaluará de la siguiente manera: | Es importante que el curso, es un curso presencial, el cual se evaluará de la siguiente manera: | ||
− | #'''Taller Individual (15%)''' | + | #'''Taller Individual (15%)''' |
− | #'''Entrega de Prácticas (30%)''' | + | #'''Entrega de Prácticas (30%)''' |
#'''Proyecto de Clase''' (En Grupos) '''(40%)''' | #'''Proyecto de Clase''' (En Grupos) '''(40%)''' | ||
− | #*Taller de Informe de Avance (Bonus +2 | + | #*Taller de Informe de Avance (Bonus +2) |
− | #*White Paper (20%) ( | + | #*White Paper (20%) (Por definir) |
− | #*Poster Digital (20%) ( | + | #*Poster Digital (20%) (Por definir) |
− | #'''Evaluación Individual Final (15%)''' | + | #'''Evaluación Individual Final (15%)''' |
#'''BONUS (+0,3 máximo para cada entrega)''' (Quices, Rendimiento en el grupo de trabajo, asistencia a clase) | #'''BONUS (+0,3 máximo para cada entrega)''' (Quices, Rendimiento en el grupo de trabajo, asistencia a clase) | ||
− | ===='''(15%) Taller Individual 1 - | + | ===='''(15%) Taller Individual 1 - Primera Nota -'''==== |
− | '''( | + | '''(Realización : Semana del 26 al 30 de agosto)''' |
− | + | '''Fecha y Hora Limite de Entrega: 30 de agosto de 2024 a las 9:30 (GMT - 5 Bogota/Lima Time)''' | |
− | + | Este taller individual, se realizará de manera escrita-remota, siguiendo las características de una evaluación tradicional y deberá entregarse el viernes 30 de agosto de 2024, via correo electrónico al correo electrónico del profesor, como un documento adjunto en *.pdf nombrado con la inicial de su primer nombre y código, por ejemplo, si su código es 941108 y su nombre es Cecilia, sería '''''C_941108.pdf''''' el archivo en el que están las respuestas. El asunto del correo, deberá ser: Entrega Taller Individual 1 - (su código de estudiante) y en el texto del correo por favor colocar, su nombre completo, código de estudiante y curso al que pertenece (si es A1, A2 o E2). Este documento debe enviarse en tamaño carta y no tener más de 6 páginas (recomendación: llegue a máximo una página por respuesta). | |
− | + | El objetivo de este taller, más allá de cumplir con la obligación de la primera nota, es observar, dentro del estado del arte actual en computación como la arquitectura de computadores esta implicada (y mas desde nuestro rol como ingenieros) y como cada uno de ustedes se posiciona ante el impacto y trascendencia de este estado del arte y perspectivas. Esta dividido en dos partes y siga la instrucciones de entrega de las preguntas dadas para cada una de las partes. Recuerde que debe buscar otras referencias | |
− | + | '''Parte 1: Computación Analógica''' | |
− | ''' | + | Para llegar a la computación digital (y en si a la tecnología computacional que hoy conocemos), la humanidad ha pasado por caminos que no son lineales. Si bien, lo que conocemos (y en lo que esta particularmente basado este curso) en computación digital nos ha servido durante decadas, el auge de la inteligencia artificial y la necesidad de tratar problemas en ciencia y tecnología así como implementaciones actuales (desde lo neuromorfico hasta lo cuántico) exige un tipo de computador totalmente nuevo: el analógico. El siguiente video de divulgación (en español), denominado '''''El Futuro de las Computadoras Será Radicalmente Diferente,''''' del sitio Veritasium creado por Derek Muller https://youtu.be/qNtxODk_Lmk?si=cL3LbhzMAbjFpQgA trata en un poco mas de 20 minutos sobre computación análogica. |
− | ''' | + | '''Parte 2: Inteligencia Artificial''' |
− | + | La siguiente intervención en la Cumbre Mundial de Gobierno, realizada en Dubai el 12 de febrero 2024, se realizó una conversación entre [[wikipedia:Jensen_Huang|Jensen Huang]], presidente de NVIDIA, con [[wikipedia:Omar_Al_Olama|Omar Al Olama]], ministro de Inteligencia Artificial de los Emiratos Árabes Unidos, para discutir la coexistencia armoniosa del presente con el futuro a través de tecnología de punta. Este diálogo tiene como objetivo brindar información sobre los logros de los hitos tecnológicos que cierran la brecha entre las capacidades actuales y las visiones futuristas, creando un mundo donde la tecnología sea un facilitador para todos, reduciendo la brecha digital y allanando el camino para un futuro inclusivo. Esta intervención puede verse en: https://youtu.be/iUOrH2FJKfo?si=3EYbyZRQm4OprL_G denominada '''''Who Will Shape the Future of AI?''''' dura 24 minutos. | |
− | |||
− | |||
− | |||
− | |||
− | + | Teniendo en cuenta ambos videos , que pueden ver desde ya en su casa (la entrevista es un un único video en Youtube que esta en inglés, pero puede usar las opciones de traducción de la plataforma, disponibles), responda las cinco (5) preguntas planteadas siguientes: | |
+ | <u>Si su código de estudiante termina en cero o dígito par</u>: | ||
+ | |||
+ | '''De la parte 1:''' | ||
+ | |||
+ | #¿Que tan diferente es la computación analógica respecto a la digital y cuales son las desventajas de cada una de ellas? | ||
+ | #Teniendo en cuenta las materias vista en la carrera de ingeniería de sistemas e informática de la Universidad Industrial de Santander, ¿cree que se tienen los conocimientos de base para entrar en el mundo de cualquier computación? (Independiente de que su respuesta sea positiva o negativa, argumente y justifique su respuesta). | ||
+ | |||
+ | '''De la parte 2:''' | ||
+ | |||
+ | #¿Por qué Jensen Huang dice que los avances tecnológicos mantendrán bajo control los costos de la IA? ¿Es cierto eso? Justifique su respuesta. | ||
+ | #Jensen Huang, afirma que nuestro trabajo (como ingenieros y científicos de computación) es crear tecnología computacional para que cualquiera pueda programar y sacarle provecho a esa tecnología... al desarrollar la idea en el panel, se plantean aspectos importantes en cuanto al foco de la educación tanto en los niños, como en los adolescentes y adultos, opuesto a lo que se esperaría que planteara el CEO de una de las compañías mas importantes de tecnología. Resuma con sus palabras este foco y ¿esta de acuerdo con ello? Justifique su respuesta y de ser necesario, agregue nuevos elementos. | ||
+ | #En la conversación, Jensen afirma que lo primero que todo país debería hacer es construir infraestructura y no trabajar en una aplicación específica. Si se quieres desarrolla energía, debes construir generadores, si quiere alimentos, debes construir granjas y si se quiere inteligencia artificial, debes construir infraestructura. No es caro, pero hay empresas que quieren asustar a todo el mundo, cuando en realidad son capacidades que se pueden comprar, y cada país es capaz de hacerlo. ¿Esta de acuerdo con esta afirmación? Justifique su respuesta y de elementos nuevos si es necesario para argumentar su respuesta. | ||
+ | |||
+ | <u>Si su código de estudiante termina en dígito impar:</u> | ||
+ | |||
+ | '''De la parte 1:''' | ||
+ | |||
+ | #¿Como se enlaza la computación analógica con los nuevos sistemas computaciones y usos que han estallado como el caso de la Inteligencia artificial? Argumente y Justifique su respuesta. | ||
+ | #Si usted hará parte de un equipo de implementara computación analógica. ¿Que conocimientos de base deberá tener? ¿Cree que los adquiere durante la carrera de pregrado que esta cursando? (Argumente y justifique su respuesta). | ||
+ | |||
+ | '''De la parte 2:''' | ||
+ | |||
+ | #¿Qué opina del consejo que da Jensen Huang que los países deben ser dueños de su inteligencia nacional y no permitir que nadie más lo haga”? ¿Por qué el afirma eso? | ||
+ | #En la conversación, se plantea la siguiente era de la IA y como tanto el desarrollo Open Source tanto en hardware como en software es importante para democratizar el conocimiento, en este caso IA. Buscando esa democratización, ¿la arquitectura de computadores esta siendo flexible, disponible y robusta, para garantizar esa siguiente era de la IA? | ||
+ | #Desde el punto de vista computacional, Jensen afirma que NVIDIA quiere democratizar la tecnología para lograr seguridad y compatibilidad. Como futuro ingeniero, ¿como usted garantizaría esa democratización? Justifique su respuesta y de ser necesario agregue nuevos elementos. | ||
+ | |||
+ | '''Recomendaciones:''' | ||
+ | |||
+ | *Vea los dos videos antes de responder cada parte de las preguntas. | ||
*Lea todas las preguntas antes de responderlas. | *Lea todas las preguntas antes de responderlas. | ||
*Responda únicamente lo que se le pregunta (no de vueltas). | *Responda únicamente lo que se le pregunta (no de vueltas). | ||
+ | *Justifique y argumente sus respuestas. | ||
+ | *No se están pidiendo opiniones, sino argumentos. Recuerde que la diferencia entre la las opiniones es que son consideraciones, juicios o '''''impresiones personales o subjetivas,''''' de lo que alguien expresa sobre un hecho. En otras palabras, una opinión es una expresión subjetiva de creencias, sentimientos o juicios personales, que varía de una persona hacia otra o incluso, puede darse por la misma persona en tiempos diferentes y ser contradictoria. En cuanto a los argumentos son razonamientos que sirven para expresarse a favor o en contra de una idea o punto de vista, '''''están basados en hechos probados y evidencia'''''. En síntesis, un argumento es una presentación lógica de hechos o razones expuestos de forma ordenada para respaldar una afirmación y soportada por evidencia. | ||
*Tenga presente tanto la ortografía como los signos de puntuación. | *Tenga presente tanto la ortografía como los signos de puntuación. | ||
− | *Escriba claramente. | + | *Escriba claramente y cada respuesta en no más de (12) doce líneas. |
− | *Recuerde que es de carácter individual, no puede haber dos respuestas iguales, cualquier intento de fraude simplemente se anulara el taller y se hará la respectiva anotación disciplinaria. Si durante el taller, no se detectó el fraude, pero al revisar las respuestas están tienen similitud comprobable en la manera de responderse, la nota se dividirá por la cantidad de personas que hicieron la copia, sin indagar cual fue la original. | + | *Recuerde que es de carácter individual, no puede haber dos respuestas iguales con sus compańeros, cualquier intento de fraude simplemente se anulara el taller y se hará la respectiva anotación disciplinaria. Si durante el taller, no se detectó el fraude, pero al revisar las respuestas están tienen similitud comprobable en la manera de responderse, la nota se dividirá por la cantidad de personas que hicieron la copia, sin indagar cual fue la original. |
− | + | *No use Copilot, You, ChatGPT o similares ya que están dando respuestas erróneas pues en el entrenamiento previo, lo que responde del video de computación cuántica esta fuera del contexto del video. En el caso de la parte 2, toma ''opiniones'' pasadas de Jensen Huang y no lo que se dice en la entrevista y en algunos casos fuera de contexto. En este taller buscamos su posición crítica como futuros ingenieros de sistemas. Recuerden, ustedes crean tecnología, programan, optimizan y desarrollan inteligencias artificiales, no simplemente le creen a la tecnología. | |
− | + | *Puede (y seguramente debe) usar otras referencias. Agregue las referencias de consulta adicionales al videos (bibliografía, otros enlaces, blogs o sitios que pueden ser fuentes de información.) | |
===='''(30%) Laboratorios y Trabajos Prácticos'''==== | ===='''(30%) Laboratorios y Trabajos Prácticos'''==== | ||
Line 171: | Line 200: | ||
Es importante que esa entrega o muestra se colocará en línea, siguiendo las indicaciones que se mostrarán en la respectiva sección. | Es importante que esa entrega o muestra se colocará en línea, siguiendo las indicaciones que se mostrarán en la respectiva sección. | ||
− | ===='''( | + | ===='''(40%) 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. El proyecto de clase tiene tres componentes: artículo especializado, | + | 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. El proyecto de clase tiene tres componentes: artículo especializado, un poster digital del proyecto final y exposición oral. Los grupos asignados estarán conformados por los mismos estudiantes de los grupos para las prácticas. |
− | ====='''( | + | ====='''(20%) Artículo de Proyecto de Clase'''===== |
− | ''' | + | '''<u>Fecha de Entrega: Por definir (23:59 GMT -5 Horario de Bogotá, Colombia)</u>''' |
El artículo del proyecto, es una contribución dirigida a '''un lector especializado en el área''', en este caso, ingenieros de sistemas y computación que conocen de arquitectura de computadores, que será en un formato de [[wikipedia:White_paper|whitepaper]] o articulo técnico dirigido a personal técnico de ingeniería para tomar de decisiones. 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 científicos o técnicos de sus compañeros de semestres pasados u otras fuentes): 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. | El artículo del proyecto, es una contribución dirigida a '''un lector especializado en el área''', en este caso, ingenieros de sistemas y computación que conocen de arquitectura de computadores, que será en un formato de [[wikipedia:White_paper|whitepaper]] o articulo técnico dirigido a personal técnico de ingeniería para tomar de decisiones. 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 científicos o técnicos de sus compañeros de semestres pasados u otras fuentes): 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. | ||
Line 181: | Line 210: | ||
'''<u>Requisitos para el artículo:</u>''' | '''<u>Requisitos para el artículo:</u>''' | ||
− | *'''Mínimo (8) ocho y máximo (10) diez páginas en Español. El 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). Incluye gráficas, referencias, tablas y figuras.''' | + | *'''Mínimo (8) ocho y máximo (10) diez páginas en Español. El 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). El mínimo y el máximo de páginas Incluye gráficas, referencias, tablas y figuras.''' |
− | *'''Formato IEEE en <u>UNA columna</u> para series de conferencias puede guiarse con el siguiente enlace: http://www.ieee.org/conferences_events/conferences/publishing/templates.html''' | + | *'''Formato IEEE en <u>UNA columna</u> para series de conferencias puede guiarse con el siguiente enlace, teniendo en cuenta dentro de ese template tanto el tipo de fuente utilizada como el tamaño de página, espacio, etc.: http://www.ieee.org/conferences_events/conferences/publishing/templates.html''' |
− | *El archivo se enviará al correo del profesor | + | *El archivo se enviará al correo principal 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, A2, B1...). Debe enviarse solo desde el correo de uno de los autores. |
− | *El artículo debe entregarse en '''un único archivo .pdf''' , indicando en el asunto: '''ENTREGA ARTICULO FINAL ARQUITECTURA 1- | + | *El artículo debe entregarse en '''un único archivo .pdf''' , indicando en el correo de entrega el asunto: '''ENTREGA ARTICULO FINAL ARQUITECTURA 1-2024'''. Observe la fecha y hora desde cuando se van a recibir los artículos y hasta cuando se recibirán. Después de dicha fecha y hora límite no se aceptarán artículos. |
*Un software anti plagio o plagiarismo se utilizará para el artículo, recuerde tener cuidado con el plagio. | *Un software anti plagio o plagiarismo se utilizará para el artículo, recuerde tener cuidado con el plagio. | ||
+ | *<u>Recuerde es un artículo técnico, no un artículo científico.</u> | ||
− | ====='''( | + | ====='''(20%) Presentación del Proyecto del Proyecto de Clase'''===== |
− | ''' | + | '''<u>Presentación: Por definir,</u>''' |
La presentación del proyecto de clase será en vivo, durante la sesión de los jueves, iniciando mas temprano para que todos los grupos se presenten, usando un poster digital. | La presentación del proyecto de clase será en vivo, durante la sesión de los jueves, iniciando mas temprano para que todos los grupos se presenten, usando un poster digital. | ||
Line 200: | Line 230: | ||
*Recomendación: Puede hacerlo en powerpoint y guarde su archivo como: Alta resolución PDF listo para imprimir a TAMAÑO COMPLETO 300 ppp. | *Recomendación: Puede hacerlo en powerpoint y guarde su archivo como: Alta resolución PDF listo para imprimir a TAMAÑO COMPLETO 300 ppp. | ||
*Ejemplos: Visite el sitio: https://www.nvidia.com/gtc/posters/ | *Ejemplos: Visite el sitio: https://www.nvidia.com/gtc/posters/ | ||
+ | *'''Bonus: Su poster Digital, al ser digital, puede contener animaciones.''' | ||
− | '''<u>Características de la Presentación Oral: ( | + | '''<u>Características de la Presentación Oral: (Por definir. (GMT -5 Bogota Time)</u>''' |
Esta presentación oral se realiza para presentar en un formato rápido, los puntos mas importantes y conclusiones del trabajo final. 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. | Esta presentación oral se realiza para presentar en un formato rápido, los puntos mas importantes y conclusiones del trabajo final. 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. | ||
*'''<u>El tiempo de presentación es de cinco (5) Minutos Estrictos</u>''', TODOS LOS INTEGRANTES DEL GRUPO DEBEN INTERVENIR. Recuerde el pasarse de ese tiempo '''<u>PENALIZA AMPLIAMENTE LA CALIFICACION RECIBIDA</u>'''. <u>LA PRESENTACION SE INTERRUMPIRA POR EL PROFESOR, PASADOS SIETE MINUTOS (DOS MINUTOS ADICIONALES)</u> | *'''<u>El tiempo de presentación es de cinco (5) Minutos Estrictos</u>''', TODOS LOS INTEGRANTES DEL GRUPO DEBEN INTERVENIR. Recuerde el pasarse de ese tiempo '''<u>PENALIZA AMPLIAMENTE LA CALIFICACION RECIBIDA</u>'''. <u>LA PRESENTACION SE INTERRUMPIRA POR EL PROFESOR, PASADOS SIETE MINUTOS (DOS MINUTOS ADICIONALES)</u> | ||
− | *El poster digital deberá enviarse al profesor, desde el dia viernes | + | *El poster digital deberá enviarse al profesor, desde el dia viernes anterior a la presentación, a las 16:00 (4:00 p.m.) hasta el dia martes a las 12:00 <u>Asunto del Correo: Poster Digital Proyecto Final Grupo (Identificación del Grupo Asignada, por ejemplo, si su grupo es el 23, deberá ser el asunto: Poster Digital Proyecto Final Grupo 23</u> ). Recuerden en el texto del correo, colocar el nombre de los integrantes. |
*'''''<u>El orden de presentación será dado por el profesor y comunicado al inicio de la sesión.</u>''''' | *'''''<u>El orden de presentación será dado por el profesor y comunicado al inicio de la sesión.</u>''''' | ||
*Las presentaciones iniciarán a las 6:00 a.m. debido a la cantidad de grupos y finalizará a las 9:00 a.m.. | *Las presentaciones iniciarán a las 6:00 a.m. debido a la cantidad de grupos y finalizará a las 9:00 a.m.. | ||
Line 214: | Line 245: | ||
===='''(15%) Taller Individual Final'''==== | ===='''(15%) Taller Individual Final'''==== | ||
− | Esta evaluación se realizará de manera oral y podrá presentarse a partir del | + | Esta evaluación se realizará de manera oral e individual y podrá presentarse a partir del Jueves 2 de Mayo, Limite de Realización Jueves 30 de Mayo de 2024, en el cual responderá en una entrevista de duración de un máximo de 15 minutos una única pregunta hecha por el profesor, en el tablero, sobre alguno de los temas dados del curso (o de las prácticas) del curso. El estudiante deberá solicitar la cita al profesor, a partir del Jueves 2 de mayo, y de acuerdo a disponibilidad esta se asignará. |
− | |||
− | |||
− | |||
− | |||
==='''TEMÁTICAS DE PROYECTOS'''=== | ==='''TEMÁTICAS DE PROYECTOS'''=== | ||
Line 225: | Line 252: | ||
'''Aspectos que se tendrán en cuenta en el proyecto:''' | '''Aspectos que se tendrán en cuenta en el proyecto:''' | ||
− | 1. Soporte hacia los requerimientos funcionales (ver la diapositiva sobre requerimientos funcionales a tener en cuenta) | + | 1. Soporte hacia los requerimientos funcionales y comprensión de las preguntas dadas (ver la diapositiva sobre requerimientos funcionales a tener en cuenta) |
2. Original y novedad de la solución propuesta. | 2. Original y novedad de la solución propuesta. | ||
− | 3. | + | 3. Organización y presentación de los resultados. |
+ | |||
+ | 4. Métricas adecuadas usadas y estandáres. | ||
+ | |||
+ | 5. Aspectos ambientales y éticos. | ||
+ | |||
+ | ===='''PROYECTOS FINALES ARQUITECTURA DE COMPUTADORES 1-2024'''==== | ||
+ | Los proyectos finales planteados para este semestre, corresponden a ejercicios basados en los con casos de uso, presentes en varias fuentes, como en el libro guía Patterson and Hennesy, Computer Architecture; A Quantitative Approach, o el libro Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface), disponibles en diferentes sitios, en la biblioteca, pero también en el sitio del curso, en la sección de bibliografía y fuentes de información. Igualmente, se ha usado información del sitio recomendado en el curso para hacer comparaciones: https://www.cpubenchmark.net/ y de las diapositivas utilizadas. Sin embargo, recuerde que debe buscar nuevas fuentes de información necesarias, como la documentación dada por los fabricantes. Tenga en cuenta que debe observar las características técnicas arquitecturales de los elementos dados y si es necesario, resaltar características especiales que tengan esos elementos y la integración de los mismos en un sistema. | ||
+ | |||
+ | Si asistió a las sesiones teóricas y participó activamente en el desarrollo de los talleres prácticos tiene el conocimiento de base para atacar el proyecto asignado. La asignación es por orden ascendente, es asi que para el proyecto 1 se asigna para el equipo. | ||
+ | |||
+ | '''Proyecto 1 : Equipo 1.''' (Basado en los Casos de Estudio y Ejercicios por Diana Franklin en el libro Patterson and Hennesy, Computer Architecture; A Quantitative Approach,). Caso de Estudio 2. Consumo de Energía en Sistemas de Cómputo (Página 63 de la Quinta Edición). | ||
+ | |||
+ | La tabla siguiente muestra el consumo de energía de varios componentes del sistema informático. En este ejercicio, se mira cómo el disco duro afecta el consumo de energía del sistema. | ||
+ | {| class="wikitable" | ||
+ | |'''Componente''' | ||
+ | |'''Producto''' | ||
+ | |'''Rendimiento''' | ||
+ | |'''Consumo de Energía''' | ||
+ | |- | ||
+ | |Procesador | ||
+ | |AMD Ryzen Threadripper PRO 7995WX | ||
+ | |Clockspeed: 2.5 GHz | ||
+ | |||
+ | Turbo Speed: 5.1 GHz | ||
+ | |350 W (Media de Uso) | ||
+ | |- | ||
+ | |Memoria DRAM | ||
+ | |Kingston KF548C38-32 | ||
+ | |Latencia: 51 ns | ||
+ | |1.1 V | ||
+ | |- | ||
+ | |Disco Duro | ||
+ | |Corsair MP700 PRO | ||
+ | |Capacidad: 931.5 GB | ||
+ | |||
+ | Random Seek Read Write (IOPS 32KQD20): 3,805 Mbytes/Sec | ||
+ | |11. 5 W | ||
+ | |- | ||
+ | | | ||
+ | |Corsair MP700 | ||
+ | |Capacidad 1.8 TB | ||
+ | |||
+ | Random Seek Read Write (IOPS 32KQD20): 3,821 Mbytes/Sec | ||
+ | |10.5 W | ||
+ | |} | ||
+ | '''Tabla de Especificaciones de Elementos''' | ||
+ | |||
+ | a. Tenemos un sistema en desktop para uso especializado, y suponiendo la carga máxima para cada componente y una eficiencia de la fuente de alimentación del 80%, ¿qué potencia debe entregar la fuente de alimentación del servidor a un sistema con un chip AMD Ryzen Threadripper PRO 7995WX, de 2.5 Ghz, 94 Nucléos que soporta 128 hilos, y que se encuentra con una memoria RAM Kingston KF548C38-32 DDR4 y, un disco duro Corsair MP700 PRO ? | ||
+ | |||
+ | b. ¿Cuánta energía consumirá la unidad de disco duro Corsair MP700 PRO de si está inactiva aproximadamente el 60% del tiempo? | ||
+ | |||
+ | c. Dado que el tiempo para leer datos de una unidad de disco de duro Corsair MP700 PRO será aproximadamente el 75% del de un disco Corsair MP700, ¿en qué tiempo de inactividad del disco de Corsair MP700 PRO será igual el consumo de energía, en promedio, para los dos discos? ¿Cambiaría el disco? | ||
+ | |||
+ | Un factor crítico en el consumo de energía y su respectiva alimentación en cualquier tipo de sistema es la refrigeración. Como se sabe, si el calor no se elimina de la computadora de manera eficiente, los ventiladores devolverán aire caliente a la computadora, no aire frio. Entonces, las diferentes decisiones de diseño afectan la refrigeración necesaria y por tanto los costos del sistema. | ||
+ | |||
+ | d. El sistema en cuestión se organiza en un servidor con un chasis determinado y un rack que disipa 14KW y vale US $7000 dólares. ¿Para la solución dada, de cuantas U debe ser el tamaño del servidor? ¿Cuánto seria la mínima capacidad de la fuente de poder principal por servidor para energizar lo mínimo del sistema dado? | ||
+ | |||
+ | e. Teniendo en cuenta la información dada ¿Cuántos servidores cabrían en un chasis estándar (recuerde que la medida es la disipación en KW)? | ||
+ | |||
+ | f. Describa un plantee una solución completa (sin uso de aceleradores, pero si una tarjeta de red y los elementos que hagan falta), mostrando un costo estimado, teniendo en cuenta los componentes mostrados en la tabla (por supuesto debe escoger un único disco duro especifico de los dos dados). | ||
+ | |||
+ | '''Proyecto 2. Equipo 2.''' (Basado en los Casos de Estudio y Ejercicios por Norma P. Jouppi, Naveen Muralimanohar, y Sheng LI en el libro Patterson and Hennesy, Computer Architecture; A Quantitative Approach). Caso de Estudio 2. Poniendo todo junto: sistemas de memoria altamente paralelos (Página 133 de la Quinta Edición)'''.''' | ||
+ | |||
+ | El programa siguiente puede ser usado para evaluar el comportamiento de un sistema de memoria. Esta realizado en C y en MS Visual Studio. Principalmente busca tener una sincronización precisa y luego hacer que el programa recorra la memoria para invocar diferentes niveles de jerarquía. Viendo la documentación es posible identificar que la primera parte es un procedimiento que utiliza una utilidad estándar para obtener una medida precisa de tiempo de CPU usuario. La segunda parte es un bucle anidado que se usa para leer y escribir en la memoria en diferentes pasos y para diferentes tamaños de caché. La tercera parte calcula los tiempos de la sobrecarga de un bucle anidado, únicamente restando los tieppos totales medidos para ver cuánto tiempo duran los accesos. Los resultados se generan en un formato de achivo .cvs para importar los resultados en hojas de cálculo. Este código se encuentra en una versión alternativa en: https://github.com/gaomy3832/mem_sys_probe/blob/master/src/aca_ch2_cs2.c y los detalles de los autores y demás se pueden observar en la página del libro guía anteriormente mencionada.<syntaxhighlight lang="c"> | ||
+ | #include "stdafx.h" | ||
+ | |||
+ | #include <stdio.h> | ||
+ | |||
+ | #include <time.h> | ||
+ | |||
+ | #define ARRAY_MIN (1024) /* 1/4 smallest cache */ | ||
+ | |||
+ | #define ARRAY_MAX (4096*4096) /* 1/4 largest cache */ | ||
+ | |||
+ | int x[ARRAY_MAX]; /* array going to stride through */ | ||
+ | |||
+ | double get_seconds() { /* routine to read time in seconds */ __time64_t ltime; | ||
+ | |||
+ | _time64( <ime ); | ||
+ | |||
+ | return (double) ltime; | ||
+ | |||
+ | } | ||
+ | |||
+ | int label(int i) {/* generate text labels */ if (i<1e3) printf("%1dB,",i); | ||
+ | |||
+ | else if (i<1e6) printf("%1dK,",i/1024); | ||
+ | |||
+ | else if (i<1e9) printf("%1dM,",i/1048576); | ||
+ | |||
+ | else printf("%1dG,",i/1073741824); | ||
+ | |||
+ | return 0; | ||
+ | |||
+ | } | ||
+ | |||
+ | int _tmain(int argc, _TCHAR* argv[]) { | ||
+ | |||
+ | int register nextstep, i, index, stride; | ||
+ | |||
+ | int csize; | ||
+ | |||
+ | double steps, tsteps; | ||
+ | |||
+ | double loadtime, lastsec, sec0, sec1, sec; /* timing variables */ | ||
+ | |||
+ | /* Initialize output */ | ||
+ | |||
+ | printf(" ,"); | ||
+ | |||
+ | for (stride=1; stride <= ARRAY_MAX/2; stride=stride*2) label(stride*sizeof(int)); | ||
+ | |||
+ | printf("\n"); | ||
+ | |||
+ | /* Main loop for each configuration */ | ||
+ | |||
+ | for (csize=ARRAY_MIN; csize <= ARRAY_MAX; csize=csize*2) { label(csize*sizeof(int)); /* print cache size this loop */ | ||
+ | |||
+ | for (stride=1; stride <= csize/2; stride=stride*2) { | ||
+ | |||
+ | /* Lay out path of memory references in array */ | ||
+ | |||
+ | for (index=0; index < csize; index=index+stride) | ||
+ | |||
+ | x[index] = index + stride; /* pointer to next */ x[index-stride] = 0; /* loop back to beginning */ | ||
+ | |||
+ | /* Wait for timer to roll over */ | ||
+ | |||
+ | lastsec = get_seconds(); | ||
+ | |||
+ | sec0 = get_seconds(); while (sec0 == lastsec); | ||
+ | |||
+ | /* Walk through path in array for twenty seconds */ | ||
+ | |||
+ | /* This gives 5% accuracy with second resolution */ | ||
+ | |||
+ | steps = 0.0; /* number of steps taken */ | ||
+ | |||
+ | nextstep = 0; /* start at beginning of path */ | ||
+ | |||
+ | sec0 = get_seconds(); /* start timer */ { /* repeat until collect 20 seconds */ (i=stride;i!=0;i=i-1) { /* keep samples same */ | ||
+ | |||
+ | nextstep = 0; | ||
+ | |||
+ | do nextstep = x[nextstep]; /* dependency */ | ||
+ | |||
+ | while (nextstep != 0); } | ||
+ | |||
+ | steps = steps + 1.0; /* count loop iterations */ | ||
+ | |||
+ | sec1 = get_seconds(); /* end timer */ } while ((sec1 - sec0) < 20.0); /* collect 20 seconds */ | ||
+ | |||
+ | sec = sec1 - sec0; | ||
+ | |||
+ | /* Repeat empty loop to loop subtract overhead */ | ||
+ | |||
+ | tsteps = 0.0; /* used to match no. while iterations */ | ||
+ | |||
+ | sec0 = get_seconds(); /* start timer */ { /* repeat until same no. iterations as above */ (i=stride;i!=0;i=i-1) { /* keep samples same */ | ||
+ | |||
+ | index = 0; | ||
+ | |||
+ | do index = index + stride; | ||
+ | |||
+ | while (index < csize); | ||
+ | |||
+ | } | ||
+ | |||
+ | tsteps = tsteps + 1.0; | ||
+ | |||
+ | sec1 = get_seconds(); /* - overhead */ } while (tsteps<steps); /* until = no. iterations */ | ||
+ | |||
+ | sec = sec - (sec1 - sec0); | ||
+ | |||
+ | loadtime = (sec*1e9)/(steps*csize); | ||
+ | |||
+ | /* write out results in .csv format for Excel */ | ||
+ | |||
+ | printf("%4.1f,", (loadtime<0.1) ? 0.1 : loadtime); }; /* end of inner for loop */ | ||
− | + | printf("\n"); | |
− | + | }; /* end of outer for loop */ | |
− | + | return 0; | |
− | + | } | |
+ | </syntaxhighlight>'''Programa en C para Evaluar el Sistema de Memoria''' | ||
+ | [[File:FiguraUNO.png|center|thumb|700x700px]] | ||
+ | '''Figura 2.30 : Ejemplo de Resultados para el programa en C para Evaluar el Sistema de Memoria''' | ||
− | + | a. Observe y use el programa (cualquiera de los dos). Compílelo y ejecútelo, describa el programa (librerías usadas, rutinas clave, funciones y valores, cuáles son las salidas y que es lo que hace detalladamente. Ejecútelo sobre dos sistemas diferentes con configuración diferente (de procesador y memoria) y compare las salidas. Puede usar Microsoft Visual Studio pero preferiblemente use gcc en Linux. | |
− | + | b. Reproduzca la gráfica de ejemplo de la Figura 2.30 (página 135 del libro guía) para cada una de las configuraciones con sus resultados y explíquela. | |
− | + | Usando los resultados reproducidos, con su propia gráfica: | |
− | + | c. ¿Cuáles son el tamaño total, el tamaño del bloque de caché de segundo nivel? ¿Qué significa esto? | |
+ | |||
+ | d. ¿Cuál es el tamaño de la memoria principal? | ||
+ | |||
+ | e. ¿Como modificaría el código o si es necesario realizar otro para probar algunas otras características de una caché de instrucciones? ¿Por qué cree que es importante conocer estas características? | ||
+ | |||
+ | '''Proyecto 3. Equipo 3.''' (Basado en los Ejercicios del Capítulo 1. del libro Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface). Ejercicio 1.10 (Página 67). | ||
− | == | + | Supongamos que se tiene un procesador Intel Xeon E3-1285 v6 de 4.10GHz cuyo consumo de energía por núcleo esta dado por la ecuación: |
− | + | Consumo de Poder Eléctrico= 146,3mA/GHz de voltaje<sup>2</sup> | |
+ | Y cuya operación de voltaje para todo el procesador esta descrito por la ecuación: | ||
+ | Voltaje = (1/5) de Frecuencia +0.6 | ||
+ | Teniendo en cuenta que se parte de un TDP de 79 W y teniendo en cuenta que la frecuencia es de 4.1 GHz, el voltaje sería de 1.42 V. | ||
− | + | Igualmente, al correr un benchmarking, si observamos las instrucciones por núcleo usadas y el CPI promedio, se puede realizar la siguiente tabla. | |
{| class="wikitable" | {| class="wikitable" | ||
− | | | + | |'''Núcleos por Procesador''' |
− | | | + | |'''Instrucciones por Núcleo''' |
− | + | |'''CPI''' | |
|- | |- | ||
− | | | + | |1 |
+ | |1.00E+10 | ||
+ | |1.0 | ||
|- | |- | ||
− | | | + | |2 |
+ | |5.00E+09 | ||
+ | |1.2 | ||
|- | |- | ||
− | | | + | |4 |
+ | |2.50E+09 | ||
+ | |1.7 | ||
+ | |} | ||
+ | '''Tabla de Instrucciones por Núcleo y CPI''' | ||
+ | |||
+ | |||
+ | a. Encuentre el consumo de poder medio de un programa que se ejecuta en 1, 2 y 4 núcleos asumiendo que cada núcleo opera a 3.7 GHz de Frecuencia. | ||
+ | |||
+ | b. Teniendo en cuenta la tabla anterior (Tabla de Instrucciones por Núcleo y CPI) ¿cuál sería el tiempo de ejecución de un programa para 1, 2 y 4 núcleos? Explique la tabla dada. | ||
+ | |||
+ | c. Teniendo en cuenta las especificaciones que puede encontrar en el sitio del fabricante, para ese procesador, cual sería la configuración mínima ideal para usar ese procesador en un servidor (DRAM, Disco Duro, Interfaz de Red, Tamaño del chasis del servidor, fuente de poder). ¿Cuál sería su costo aproximado en dólares? | ||
+ | |||
+ | d. Teniendo en cuenta la configuración y organización sugerida en el punto C. ¿hacia que aplicaciones dirigiría la solución? ¿Qué limitaciones arquitecturales tendría? | ||
+ | |||
+ | e. ¿Por cual procesador de otro fabricante podría remplazarse, suponiendo que la configuración de su servidor sea compatible? Justifique su respuesta. | ||
+ | |||
+ | '''Proyecto 4. Equipo 4.''' (Basado en los Ejercicios del Capítulo 2. del libro Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface). Ejercicio 2.20 | ||
+ | |||
+ | El siguiente código (que se encuentra igual disponible en: [https://gist.github.com/kenreisan/2477303b79bc326af945b0623b54a8a2) <nowiki>https://gist.github.com/kenreisan/2477303b79bc326af945b0623b54a8a2</nowiki>)] calcula la serie de Fibonnaci usando el método iterativo.<syntaxhighlight lang="c"> | ||
+ | /* | ||
+ | |||
+ | * Autor: Eduardo Romero | ||
+ | |||
+ | * Version: 1.0 | ||
+ | |||
+ | * | ||
+ | |||
+ | * Programa para calcular los numeros de la serie de | ||
+ | |||
+ | * Fibonacci. Se usa el metodo iterativo. | ||
+ | |||
+ | * | ||
+ | |||
+ | * Por las limitantes del rango de numeros que puede | ||
+ | |||
+ | * contener un "unsigned long long" el numero de Fibonacci | ||
+ | |||
+ | * que puede mostrar el programa es fibo93. | ||
+ | |||
+ | */ | ||
+ | |||
+ | |||
+ | #include <stdio.h> | ||
+ | |||
+ | #include <stdlib.h> | ||
+ | |||
+ | |||
+ | unsigned long long fibonacci(int num){ | ||
+ | |||
+ | /* | ||
+ | |||
+ | * Recibe: Numero de la serie de Fibonacci. | ||
+ | |||
+ | * | ||
+ | |||
+ | * Regresa: El valor correspondiente alo numero | ||
+ | |||
+ | * de la serie de Fibonacci. | ||
+ | |||
+ | * | ||
+ | |||
+ | * Los casos bases son 0 y 1, despues solo es una suma | ||
+ | |||
+ | * numero fibo-1 y fibo-2. | ||
+ | |||
+ | */ | ||
+ | |||
+ | unsigned long long fibo1, fibo2, fibor; | ||
+ | |||
+ | |||
+ | if (num <= 0) | ||
+ | |||
+ | return 0; | ||
+ | |||
+ | if (num == 1) | ||
+ | |||
+ | return 1; | ||
+ | |||
+ | |||
+ | fibo1 = 0; | ||
+ | |||
+ | fibo2 = 1; | ||
+ | |||
+ | |||
+ | for (int i=2; i <= num; i++){ | ||
+ | |||
+ | fibor = fibo1 + fibo2; | ||
+ | |||
+ | fibo1 = fibo2; | ||
+ | |||
+ | fibo2 = fibor; | ||
+ | |||
+ | } | ||
+ | |||
+ | |||
+ | return fibor; | ||
+ | |||
+ | } | ||
+ | |||
+ | |||
+ | int main(int argc, char *argv[]){ | ||
+ | |||
+ | /* | ||
+ | |||
+ | * Recibe: El numero de la serie de Fibonacci desde la | ||
+ | |||
+ | * linea de comandos. | ||
+ | |||
+ | * | ||
+ | |||
+ | * Imprime en pantalla el numero deseado de la serie. | ||
+ | |||
+ | */ | ||
+ | |||
+ | unsigned long long resultado; | ||
+ | |||
+ | |||
+ | resultado = fibonacci(atoi(argv[1])); | ||
+ | |||
+ | |||
+ | printf("fibo[%s] = %llu\n",argv[1],resultado); | ||
+ | |||
+ | |||
+ | return 0; | ||
+ | |||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | a. Compilelo usando usando gcc y ejecútelo (recuerde que de acuerdo al código debe colocar el número máximo para encontrar la serie), en un computador personal de su preferencia diciendo la configuración principal arquitectural (Procesador y Memoria, compilador utilizado (gcc-4, icc, clang, etc), sistema operativo (distribución). Use las opciones -01w, -02 y -03 al compilar generando un ejecutable, por ejemplo de cada manera: suejecutable01.exe, suejecutableO2.exe y asi sucesivamente ¿Que observa en el comportamiento del código tanto al compilarlo como al ejecutar? ¿Que pasa si usa las opciones -O, -O0, -Ofast -Og y Oz? | ||
+ | |||
+ | b. Tomando el código .c paselo al ensamblador de base usando: | ||
+ | |||
+ | <code>gcc -S -masm=intel FiboFuente.c -o miarchivo.</code>asm | ||
+ | |||
+ | y describa que observa en el archivo .asm | ||
+ | |||
+ | c. Para cada uno de los ejecutables anteriores, y describa que observa, identificando la cantidad de instrucciones. | ||
+ | objdump --disassemble=main -Mintel64 sucodigoejecutable o | ||
+ | |||
+ | objdumb -D sucodigoejecutable | ||
+ | d. Observando el .asm del punto b y la salida del objdumb del punto .c, y sabiendo que una optimización es el proceso de transformación de un fragmento de código en otro trozo de código funcionalmente equivalente para mejorar una o varias de sus características. Las dos características más importantes son la velocidad y el tamaño del código, ¿Observa variación en ellas (mejora, desmejora)? Recomendación: use las opciones de sistema operativo para saber cuánto se demora en ejecutar un programa. | ||
+ | |||
+ | Opción: Puede usar otro código de Fibonacci en c o c++ pero debe realizar los anteriores puntos. | ||
+ | |||
+ | '''Proyecto 5. Equipo 5.''' (Basado en los Ejercicios del Capítulo 3. del libro Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface). Ejercicio 3.12 | ||
+ | |||
+ | Como se vió en el curso, la multiplicación en coma flotante es incluso más complicada y desafiante que la suma en coma flotante, y ambas palidecen en comparación con la división en coma flotante, siendo un reto incluso para operaciones con tecnología nueva y para uso nuevo, como pasa con la inteligencia artificial. En ese orden de ideas, NVIDIA propuso en el mes pasado la cuarta generación de sus chips Grace Hooper y Backwell, para arquitecturas computacionales que soporten inteligencia artificial (https://www.nvidia.com/en-us/data-center/tensor-cores/) Teiendo en cuenta esas especificaciones dadas, hay dos precisiones posibles y estandarizadas que pueden observarse en la siguiente tabla:<br /> | ||
+ | {| class="wikitable" | ||
+ | |'''Tecnología:''' | ||
+ | |'''Blackwell''' | ||
+ | |'''Hopper''' | ||
|- | |- | ||
− | + | |'''Supported Tensor Core precisions''' | |
− | + | |FP64, TF32, BF16, FP16, FP8, INT8, FP6, FP4 | |
+ | |FP64, TF32, BF16, FP16, FP8, INT8 | ||
|- | |- | ||
− | | | + | |'''Supported CUDA<sup>®</sup> Core precisions''' |
+ | |FP64, FP32, FP16, BF16 | ||
+ | |FP64, FP32, FP16, BF16, INT8 | ||
+ | |} | ||
+ | '''Tabla de Especificaciones preliminaries''' | ||
+ | |||
+ | a. Observando la table anterior, ¿Porque es relevante esta información y cuál es la diferencia entre estos dos tipos de tecnología? Haga una descripción de los aspectos más relevantes en términos de operaciones aritméticas para sistemas computacionales. | ||
+ | |||
+ | b. Calcule el producto de A y B manualmente, suponiendo que A y B están almacenados en el formato NVIDIA modificado de 16 bits para Tensor Cores, redondeando el resultado y mostrando como ejemplo, como serian esos pasos, como se presenta en la tabla siguiente:<br /> | ||
+ | {| class="wikitable" | ||
+ | | | ||
+ | |A | ||
+ | |B | ||
|- | |- | ||
− | | | + | |a. |
+ | |–8.0546875 × 10<sup>0</sup> | ||
+ | |–1.79931640625 × 10–<sup>1</sup> | ||
|- | |- | ||
− | | | + | |b. |
+ | |8.59375 × 10<sup>–2</sup> | ||
+ | |8.125 × 10<sup>–1</sup> | ||
+ | |} | ||
+ | |||
+ | c. Teniendo en cuenta el cálculo a mano indique si hay desbordamiento (sea Overflow o Underflow). Analice que pasaría con un patrón de 24 bits y también como un número decimal. ¿Qué tan preciso es su resultado? ¿Cómo se compara con el número que si haces la multiplicación usando 32Bits? | ||
+ | |||
+ | d. Esta tecnología es compatible con IEEE 754. ¿A que se refiere cuando se dice que se asume 1 guard, 1 round bit y 1? Sticky bit? | ||
+ | |||
+ | e. En términos arquitecturales (computacionales), ¿Cuál es la diferencia entre entrenamiento e inferencia? ¿Por qué es importante el punto flotante y la manera de manejarlo en las operaciones aritméticas entonces de acuerdo a estas dos tareas? | ||
+ | |||
+ | '''Proyecto 6. Equipo 6.''' (Basado en los Ejercicios del Capítulo 4. del libro Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface). Ejercicio 4.1 | ||
+ | |||
+ | La siguiente figura, es la implementación básica del subconjunto MIPS, incluidos los multiplexores y líneas de control necesarios. El multiplexor superior (“Mux”) controla qué valor reemplaza a la PC (PC + 4 o la dirección de destino de la sucursal); El multiplexor está controlado por la puerta que conecta en “Y” la salida cero de la ALU y una señal de control que indica que la instrucción es una rama. El multiplexor intermedio, cuya salida regresa al archivo de registro, se utiliza para dirigir la salida de la ALU (en el caso de una instrucción aritmético-lógica) o la salida de la memoria de datos (en el caso de una carga) para escribir en el archivo de registro. Finalmente, el multiplexor inferior se usa para determinar si la segunda entrada de ALU proviene de los registros (para una instrucción aritmético-lógica O una rama) o del campo de compensación de la instrucción (para una carga o almacenamiento). Las líneas de control agregadas son sencillas y determinan la operación realizada en la ALU, si la memoria de datos debe leer o escribir y si los registros deben realizar una operación de escritura. Las líneas de control se muestran en color para que sean más fáciles de ver. | ||
+ | [[File:FiguraDOS.png|center|thumb|600x600px]] | ||
+ | '''FIGURA 4.2 La implementación básica del subconjunto MIPS.''' | ||
+ | |||
+ | Igualmente, teniendo en cuenta que diferentes instrucciones utilizan diferentes bloques de hardware en la implementación básica de un solo ciclo y observando la siguiente instrucción: | ||
+ | |||
+ | {| class="wikitable" | ||
+ | | | ||
+ | |'''Instrucción''' | ||
+ | |'''Interpretación''' | ||
|- | |- | ||
− | | | + | |'''a.''' |
+ | |AND Rd,Rs,Rt Reg[Rd] | ||
+ | |ND Rd,Rs,Rt Reg[Rd] | ||
|- | |- | ||
− | | | + | |'''b.''' |
− | | | + | |SW Rt,Offs(Rs) Mem[Reg[Rs] |
− | + | |SW Rt,Offs(Rs) Mem[Reg[Rs] | |
− | + | |} | |
− | | | + | |
− | | | + | a. Explique que hace la instrucción dada. |
− | | | + | |
− | | | + | b. Observando la figura, explique detalladamente las señales de control generadas para la instrucción descrita y responda ¿cuáles son ellas?. |
+ | |||
+ | c. Identifique los bloques o recursos útiles para la instrucción dada. Explique la instrucción precisamente en la figura. | ||
+ | |||
+ | d. Claramente hay recursos que producen salidas y otros que no. ¿Identifíquelos y diga por qué? | ||
+ | |||
+ | e. En qué caso real de aplicación implementaría el conjunto MIPS mostrado en la figura. | ||
+ | |||
+ | '''Proyecto 7. Equipo 7.''' (Basado en los Ejercicios del Capítulo 5. del libro Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface). Ejercicio 5.17 | ||
+ | |||
+ | Teniendo en cuenta los procesadores AMD Ryzen 7 PRO 7730U como AMD Ryzen 7 7735HS son multiprocesadores de chips (CMP), que tienen múltiples núcleos y sus cachés son L1: 512KB, L2: 4.0MB, L3: 16MB y pueden llegar hasta 144 MB de memoria en chip, usados para equipos de escrito, se va a hacer énfasis en la memoría caché principalmente. El diseño de esas caché en chip CMP tiene ventajas y desventajas interesantes. Las siguiente tablas muestran las tasas de errores y las latencias de aciertos para dos pruebas comparativas con diseños de caché L2 privada y compartida. Supongamos que la caché L1 falla una vez cada 32 instrucciones, obviando la L3 para este benchmarking. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | | | ||
+ | |Privada | ||
+ | |Compartida | ||
|- | |- | ||
− | | | + | |Benchmark AMD Ryzen 7 PRO 7730U misses-per-instruction |
− | | | + | |0,25 |
+ | |0,10 | ||
|- | |- | ||
− | | | + | |Benchmark AMD Ryzen 7 7735HS misses-per instruction |
− | + | |0,06 | |
− | + | |0,03 | |
− | |||
− | | | ||
− | |||
− | | | ||
|} | |} | ||
+ | '''Tabla de resultados de Benchmarking''' | ||
{| class="wikitable" | {| class="wikitable" | ||
− | | | + | | |
− | | | + | |Private Caché |
− | | | + | |Shared Caché |
− | + | |Memory | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | | ||
|- | |- | ||
− | | | + | |a. |
− | | | + | |10 |
+ | |30 | ||
+ | |260 | ||
|- | |- | ||
− | | | + | |b. |
− | | | + | |20 |
− | | | + | |60 |
− | | | + | |240 |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
− | '''''<nowiki/>'''''<nowiki/>''<nowiki/>''<nowiki/>''<nowiki/>'' | + | '''Tabla de de Latencias de Acierto''' |
− | =='''PRACTICAS 2- | + | |
+ | a. Realice una comparación técnica entre los dos procesadores, exponiendo las principales diferencias arquitecturales (y lo que implica, como ventajas y desventajas) así como las similitudes. Recuerde haga énfasis en la memoria y caché. | ||
+ | |||
+ | b. La latencia de la caché compartida aumenta con el tamaño del CMP. Que hay que tener en cuenta para elegir un mejor diseño si la latencia de la caché compartida se duplica, teniendo en cuenta que el ancho de banda fuera del chip se convierte en un cuello de botella a medida que aumenta la cantidad de núcleos CMP. Elija el mejor diseño si la latencia de la memoria fuera del chip se duplica. | ||
+ | |||
+ | c. Siguiendo la ley de Moore, supongamos que las nuevas generaciones de procesadores duplican el número de núcleos cada 18 meses. Para mantener el mismo nivel de rendimiento por núcleo, ¿cuánto más ancho de banda de memoria fuera del chip se necesita para un procesador de 64 Núcleos? | ||
+ | |||
+ | d. Teniendo en cuenta ahora si, todos los niveles de caché y la jerarquía de memoria: ¿Que clases de optimizaciones pueden mejorar la cantidad de errores simultáneos? | ||
+ | |||
+ | e. En los dos procesadores dados, ¿para que serviría la Caché L3? ¿Afectaría los resultados de las tablas anteriores? Justifique su respuesta, por ejemplo, explicando como y por qué en caso de afectar y si no, por qué no. | ||
+ | |||
+ | '''Proyecto 8 . Equipo 8.''' (Basado en los Ejercicios del Capítulo 6. del libro Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface). Ejercicio 6.20 | ||
+ | |||
+ | La evaluación y el mantenimiento diarios de sistemas computacionales operativos involucran muchos de los conceptos discutidos en todo el curso. Teniendo en cuenta las complejidades de la evaluación de sistemas, se plantea un análisis para un uso especifico, en este caso para inteligencia artificial. | ||
+ | |||
+ | a. Configure una solución con una NVIDIA GH200 Grace-Hopper para proporcionar 50 terabytes de almacenamiento que ejecutan diversas aplicaciones de inteligencia artificial. Su configuración debe minimizar el consumo de energía y al mismo tiempo abordar los problemas de rendimiento y disponibilidad de la matriz de discos. Asegúrese de considerar las propiedades de ejecuciones grandes al realizar su configuración (No olvide identificar tanto la cantidad de total y como tipo de procesadores involucrados en la NVIDIA GH200) | ||
+ | |||
+ | b. Recomendar un sistema de copia de seguridad y archivado de datos para la matriz de discos para la solución propuesta, describiendo en detalle su recomendación, incluyendo el sistema de archivos a usar, sugiriendo la capacidad mínima y la capacidad idónea. | ||
+ | |||
+ | c. Evalúe el costo y la idoneidad para la aplicación principal de este sistema. Seleccione los parámetros para comparar utilizando las propiedades de la aplicación, así como los requisitos especificados. | ||
+ | |||
+ | d. De acuerdo con su recomendación, seleccione dos posibles integradores/fabricantes (HPE, Lenovo, SuperMicro, DELL) y compárelos. | ||
+ | |||
+ | e. El sistema puede ser enfriado tanto por aire como por agua, teniendo en cuenta lo disponible en el mercado, realice una comparación técnica y en costos de la solución propuesta. | ||
+ | |||
+ | '''Proyecto 9 . Equipo 9.''' (Basado en los Ejercicios del Capítulo 7. del libro Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface). Ejercicio 7. 20 | ||
+ | |||
+ | El Benchmarking es una evaluación comparativa y es considerado un campo de estudio que implica identificar cargas de trabajo representativas para ejecutar en plataformas informáticas específicas con el fin de poder comparar objetivamente el rendimiento de un sistema con otro. En este ejercicio compararemos dos clases de puntos de referencia, usando LINPACK. Este benchmarking se utiliza para resolver un sistema denso de ecuaciones lineales, que sirve como punto de referencia que permite al usuario escalar el tamaño del problema y optimizar el software para lograr el mejor rendimiento para una máquina determinada. El resultado se da en número de FLOP por segundo. | ||
+ | |||
+ | a. Usando una versión de LINPACK para PC (hay decenas en internet que igualmente puede buscarse como [https://www.netlib.org/benchmark/hpl/ HPL]), seleccione una y explique su funcionamiento. Ejecútela en dos sistemas multinúcleo con configuraciones tanto de memoria como de procesador diferentes. Compare los resultados mostrando cual seria el equipo con mas capacidades y mas velocidad de acuerdo a ese benchmark. | ||
+ | |||
+ | b. Observe los últimos resultados del Top500 [[(https://www.top500.org/)|(<nowiki>https://www.top500.org/</nowiki>)]] que usa el mismo LINPACK pero para grandes plataformas. Tomando los tres primeros sistemas en la lista, explique los resultados y haga las comparaciones pertinentes en esos tres sistemas. | ||
+ | |||
+ | c. En la misma página se presenta tanto el HPCG como el Green500. Explique estos dos benchmarking en detalle. | ||
+ | |||
+ | d. Observe los últimos resultados tanto para el HPCG como el Green500 y compárelos con los del Top500. ¿Qué discusión se plantearía sobre los resultados, por ejemplo, la diferencia entre ellos? | ||
+ | |||
+ | e. Calcule o determine (a través de un análisis intuitivo) como serían los resultados que obtendría en HPCG como en Green500 en los dos sistemas usados para el punto a. | ||
+ | ===='''Equipos de Trabajo (2-2024)'''==== | ||
+ | Estos equipos estan dados tanto para las prácticas como para el desarrollo del proyecto final. | ||
+ | |||
+ | '''Grupo A1''' | ||
+ | [[File:G2024-A1.png|center|thumb|600x600px]] | ||
+ | |||
+ | |||
+ | '''Grupo A2''' | ||
+ | [[File:G2024-A2.png|center|thumb|600x600px]] | ||
+ | |||
+ | '''Grupo E2''' | ||
+ | [[File:G2024-E2.png|center|thumb|693x693px]] | ||
+ | '''''<nowiki/>'''''<nowiki/>''<nowiki/>''<nowiki/>''<nowiki/>''<br /> | ||
+ | =='''PRACTICAS 2-2024'''== | ||
*'''Condiciones Generales''' | *'''Condiciones Generales''' | ||
**Cada grupo de asignado para el trabajo final es el mismo para la entrega de las prácticas, compuesta por un número determinado de estudiantes matriculados en el curso. Las asignaciones de los grupos están dados en el item del proyecto final para este semestre. | **Cada grupo de asignado para el trabajo final es el mismo para la entrega de las prácticas, compuesta por un número determinado de estudiantes matriculados en el curso. Las asignaciones de los grupos están dados en el item del proyecto final para este semestre. | ||
− | **Cada grupo debe crear un espacio GitHub/GitLab compartido, como proyecto y en el que los integrantes esten enlazados. En este espacio se subirán los archivos .md .hdl y un readme en el que expliquen que hicieron en cada taller de Nand2Tetris. | + | **'''<u>Cada grupo debe crear un espacio GitHub/GitLab compartido, abierto y de acceso libre</u>''', como proyecto y en el que los integrantes esten enlazados. En este espacio se subirán los archivos .md .hdl y un readme en el que expliquen que hicieron en cada taller de Nand2Tetris. |
− | **Las entregas de las prácticas deben publicarse estrictamente en la <u>fecha máxima indicada</u> para cada una de ellas, la cual se encuentra subrayada. Desde el momento del curso hasta las ''' | + | **Las entregas de las prácticas deben publicarse estrictamente en la <u>fecha máxima indicada</u> para cada una de ellas, <u>la cual se encuentra subrayada</u>. Desde el momento del curso hasta las '''23:00 (11:00 p.m.).''' Después de la fecha y hora de entrega dada, la calificación se penalizará disminuyendo el valor de la misma. |
**Las prácticas tienen fecha sugerida de realización, sin embargo, pueden entregarse antes. Recuerde L<u>a fecha de entrega esta subrayada en el encabezado de cada práctica.</u> | **Las prácticas tienen fecha sugerida de realización, sin embargo, pueden entregarse antes. Recuerde L<u>a fecha de entrega esta subrayada en el encabezado de cada práctica.</u> | ||
**Cada entrega de práctica deberá indexarse e identificarse correctamente, por ejemplo un título podría ser: <u>Práctica 1: Familiarizándose con las sesiones prácticas e introducción al curso.</u> | **Cada entrega de práctica deberá indexarse e identificarse correctamente, por ejemplo un título podría ser: <u>Práctica 1: Familiarizándose con las sesiones prácticas e introducción al curso.</u> | ||
− | *'''Un único miembro del grupo''' debe enviar el correo respectivo informando sobre la publicación de la entrega en el sitio tanto al profesor como al soporte del curso. Por ejemplo colocando en el asunto del correo: Entrega Práctica 1 - Equipo 1 del Curso de Arquitectura de Computadores 2- | + | *'''Un único miembro del grupo''' debe enviar el correo respectivo informando sobre la publicación de la entrega en el sitio tanto al profesor como al soporte del curso. Por ejemplo colocando en el asunto del correo: Entrega Práctica 1 - Equipo 1 del Curso de Arquitectura de Computadores 2-2024. Se recomienda en el cuerpo del correo colocar los nombres de los integrantes del grupo con su respectivo código de estudiante, que participaron en esa práctica. |
*Recuerden que en el readme, '''deben colocar por escrito una descripción o introducción a la práctica misma''', agregando la explicación de los códigos y la bibliografía utilizada. | *Recuerden que en el readme, '''deben colocar por escrito una descripción o introducción a la práctica misma''', agregando la explicación de los códigos y la bibliografía utilizada. | ||
− | *Es posible que para una práctica específica existan condiciones particulares o bonus propuestos. | + | *Es posible que para una práctica específica existan preguntas adicionales, condiciones particulares o bonus propuestos. |
*'''ADVERTENCIAS''' | *'''ADVERTENCIAS''' | ||
**'''<u>ADVERTENCIA UNO: T</u>odas las prácticas deben realizarse de manera propia por cada grupo, por lo que se espera que las entregas relacionadas con las prácticas sean diferentes, incluyendo las de los semestres anteriores. Al encontrar prácticas idénticas en redacción o códigos, la calificación se dividirá entre los grupos implicados.''' | **'''<u>ADVERTENCIA UNO: T</u>odas las prácticas deben realizarse de manera propia por cada grupo, por lo que se espera que las entregas relacionadas con las prácticas sean diferentes, incluyendo las de los semestres anteriores. Al encontrar prácticas idénticas en redacción o códigos, la calificación se dividirá entre los grupos implicados.''' | ||
Line 364: | Line 809: | ||
<nowiki/>'''''<nowiki/>'''''<nowiki/>'''''<nowiki/>'''''<nowiki/>'''''<nowiki/>''''' | <nowiki/>'''''<nowiki/>'''''<nowiki/>'''''<nowiki/>'''''<nowiki/>'''''<nowiki/>''''' | ||
− | ===='''Primera Práctica ( | + | ===='''Primera Práctica (Realización 15 y <u>22 de Agosto de 2024)</u>'''==== |
− | Esta práctica se realiza ya por los grupos de trabajo designados y | + | Esta práctica se realiza ya por los grupos de trabajo designados y en dos partes. |
'''''Primera Parte:''''' | '''''Primera Parte:''''' | ||
Line 375: | Line 820: | ||
Cree el sitio web dentro del espacio en GitHub/GitLab-proyecto que sera para la entrega de prácticas, teniendo en cuenta los tres items principales: Integrantes, Prácticas y Trabajo Final. | Cree el sitio web dentro del espacio en GitHub/GitLab-proyecto que sera para la entrega de prácticas, teniendo en cuenta los tres items principales: Integrantes, Prácticas y Trabajo Final. | ||
− | En el sitio web creado, en la sección integrantes, coloque los nombres de ustedes, una pequeña descripción bibliográfica de cada uno de los integrantes del grupo, información importante (enlaces donde se puede encontrar más información académica o profesional, redes sociales ( | + | En el sitio web creado, en la sección integrantes, coloque los nombres de ustedes, una pequeña descripción bibliográfica de cada uno de los integrantes del grupo, información importante (enlaces donde se puede encontrar más información académica o profesional, redes sociales (X, instagram, facebook, '''linkedin'''), nivel en el que se encuentra, un hobbie), una frase que describa su gusto profesional de no mas de 280 cáracteres (por ejemplo, " Entusiasta de la Inteligencia Artificial y la Tecnología") y una fotografía reciente (ver por ejemplo: https://www.sc3.uis.edu.co/staff/) en no mas de 20 renglones por integrante y mínimo 12. Tamaño de la letra de base 12px. |
− | Al crear y publicar el sitio, difunda su creación y existencia en las redes sociales (por ejemplo, con un | + | Al crear y publicar el sitio, difunda su creación y existencia en las redes sociales (por ejemplo, con un X por la cuenta de alguno de sus compañeros o por facebook). |
− | Una recomendación, si desea una guía para principiantes de Git/GitHub-GitLab en español es la guia oficial de Git: https://docs.github.com/es o https://www.freecodecamp.org/espanol/news/guia-para-principiantes-de-git-y-github/ | + | Una recomendación, si desea una guía para principiantes de Git/GitHub-GitLab en español es la guia oficial de Git: https://docs.github.com/es o https://www.freecodecamp.org/espanol/news/guia-para-principiantes-de-git-y-github/ |
'''''Segunda Parte:''''' | '''''Segunda Parte:''''' | ||
Line 390: | Line 835: | ||
Para poder realizar el proyecto, en términos técnicos, deben utilizar el respectivo software disponible en el sitio de Nand2Tetris. Puede descargarlo o trabajarlo en linea. | Para poder realizar el proyecto, en términos técnicos, deben utilizar el respectivo software disponible en el sitio de Nand2Tetris. Puede descargarlo o trabajarlo en linea. | ||
+ | |||
+ | '''Preguntas adicionales:''' | ||
+ | |||
+ | #¿Que consideraciones importantes debe tener en cuenta para trabajar con Nand2Tetris? | ||
+ | #¿Qué otras herramientas similares a Nand2Tetris existen? (De mínimo dos ejemplos) | ||
'''Recomendación importante:''' Si bien los grupos pueden COLABORAR entre ellos (NO COPIARSE O PLAGIARSE) para la realización de los proyectos, recuerden que deben ser diferentes. La colaboración les permitirá facilitar el uso de la plataforma, confrontar resultados y realizar discusiones entre los diferentes grupos. | '''Recomendación importante:''' Si bien los grupos pueden COLABORAR entre ellos (NO COPIARSE O PLAGIARSE) para la realización de los proyectos, recuerden que deben ser diferentes. La colaboración les permitirá facilitar el uso de la plataforma, confrontar resultados y realizar discusiones entre los diferentes grupos. | ||
− | ===='''Segunda Práctica: ( | + | ===='''Segunda Práctica: (5 y <u>12 de Septiembre</u>):'''==== |
A partir de esta práctica, la dificultad comienza a aumentar un poco. Se debe realizar el proyecto 2 denominado Lógica Aritmética y, que puede encontrar en: https://www.nand2tetris.org/project02 y el proyecto 3, denominado Lógica secuencial, donde se trataran aspectos importantes relacionados con la memoria y se puede encontrar en: https://www.nand2tetris.org/project03 | A partir de esta práctica, la dificultad comienza a aumentar un poco. Se debe realizar el proyecto 2 denominado Lógica Aritmética y, que puede encontrar en: https://www.nand2tetris.org/project02 y el proyecto 3, denominado Lógica secuencial, donde se trataran aspectos importantes relacionados con la memoria y se puede encontrar en: https://www.nand2tetris.org/project03 | ||
Line 401: | Line 851: | ||
'''Recomendación Importante:''' como se mencionó anteriormente en el sitio web creado por ustedes y en el cual van a colocar esta práctica (no olvide identificarlo correctamente), mencione los principales elementos de entrega de la práctica: códigos realizados (bien explicados), resultados relevantes obtenidos y descripción de los mismos. | '''Recomendación Importante:''' como se mencionó anteriormente en el sitio web creado por ustedes y en el cual van a colocar esta práctica (no olvide identificarlo correctamente), mencione los principales elementos de entrega de la práctica: códigos realizados (bien explicados), resultados relevantes obtenidos y descripción de los mismos. | ||
− | ===='''Tercera Práctica ( | + | '''Bonus:''' ¿Qué tipo de unidades aritmético lógicas existen? |
+ | |||
+ | ===='''Tercera Práctica (19 y <u>26 de Septiembre</u>):'''==== | ||
Este laboratorio trata el proyecto 4, relacionado con lenguaje de máquina puede encontrarse en: https://www.nand2tetris.org/project04 y busca atacar posteriormente el proyecto 5: arquitectura computacional, que puede consultarse en: https://www.nand2tetris.org/project05 | Este laboratorio trata el proyecto 4, relacionado con lenguaje de máquina puede encontrarse en: https://www.nand2tetris.org/project04 y busca atacar posteriormente el proyecto 5: arquitectura computacional, que puede consultarse en: https://www.nand2tetris.org/project05 | ||
#¿Por qué el lenguaje de máquina es importante para definir la arquitectura computacional? | #¿Por qué el lenguaje de máquina es importante para definir la arquitectura computacional? | ||
+ | #¿Qué diferencia ven entre arquitectura computacional, arquitectura de software y arquitectura del sistema? Justifique su respuesta. | ||
'''Recomendación Importante:''' Recuerden las reglas para la publicación en su sitio de informes relacionados con las entregas. | '''Recomendación Importante:''' Recuerden las reglas para la publicación en su sitio de informes relacionados con las entregas. | ||
− | ''' | + | '''Bonus:''' Como informático o computista: ¿La arquitectura computacional o la arquitectura del sistema no tiene en cuenta igualmente la arquitectura de software? Justifique su respuesta. |
− | ===='''Cuarta Práctica ( | + | ===='''Cuarta Práctica (3 de Octubre)'''==== |
− | Este proyecto 6, relacionado con ensamblador encontrarse en: https://www.nand2tetris.org/project06 | + | Este proyecto 6, relacionado con ensamblador encontrarse en: https://www.nand2tetris.org/project06 |
#Teniendo en cuenta las características del ensamblador, ¿Cuál es la principal limitante que observan? Justifique su respuesta. | #Teniendo en cuenta las características del ensamblador, ¿Cuál es la principal limitante que observan? Justifique su respuesta. | ||
− | ===='''Quinta Práctica ( | + | '''Bonus:''' ¿Por qué es tan importante el ensamblador? |
+ | |||
+ | ===='''Quinta Práctica (10 y <u>17 de Octubre)</u>'''==== | ||
Este laboratorio trata el proyecto 7, relacionado con máquina virtuales y el stack aritmético puede encontrarse en: https://www.nand2tetris.org/project07 y busca atacar el proyecto 8: el control computacional, que puede consultarse en: https://www.nand2tetris.org/project08 | Este laboratorio trata el proyecto 7, relacionado con máquina virtuales y el stack aritmético puede encontrarse en: https://www.nand2tetris.org/project07 y busca atacar el proyecto 8: el control computacional, que puede consultarse en: https://www.nand2tetris.org/project08 | ||
#Teniendo en cuenta el marco de estas dos prácticas que son las máquinas virtuales. ¿Cuál cree que es el futuro de las máquinas virtuales? | #Teniendo en cuenta el marco de estas dos prácticas que son las máquinas virtuales. ¿Cuál cree que es el futuro de las máquinas virtuales? | ||
+ | #¿Cual es la principal similitud entre un contenedor y una máquina virtual? | ||
En el sitio web respectivo para esta práctica (no olvide identificarlo correctamente), mencione los principales elementos de entrega de la práctica: códigos realizados (bien explicados), resultados relevantes obtenidos y descripción de los mismos. | En el sitio web respectivo para esta práctica (no olvide identificarlo correctamente), mencione los principales elementos de entrega de la práctica: códigos realizados (bien explicados), resultados relevantes obtenidos y descripción de los mismos. | ||
− | ===='''Sexta Práctica ( | + | '''Bonus:''' ¿Cual es la ventaja del contenedor respecto a la máquina virtual? |
+ | |||
+ | ===='''Sexta Práctica (<u>24 de Octubre</u>)'''==== | ||
Este laboratorio trata el proyecto 9, relacionado con lenguaje de alto nivel puede encontrarse en: https://www.nand2tetris.org/project09 | Este laboratorio trata el proyecto 9, relacionado con lenguaje de alto nivel puede encontrarse en: https://www.nand2tetris.org/project09 | ||
#Desarrolle más el concepto de lenguaje de alto nivel, teniendo en cuenta la diferencia entre lenguajes de programación propiamente dichos e interpretadores. | #Desarrolle más el concepto de lenguaje de alto nivel, teniendo en cuenta la diferencia entre lenguajes de programación propiamente dichos e interpretadores. | ||
+ | #¿Qué lenguajes interpretadores ademas del Python existen? | ||
'''Bonus:''' ¿Qué se debe considerar para proponer un nuevo y buen lenguaje de programación, teniendo en cuenta la arquitectura de computador completa? Justifique su respuesta. | '''Bonus:''' ¿Qué se debe considerar para proponer un nuevo y buen lenguaje de programación, teniendo en cuenta la arquitectura de computador completa? Justifique su respuesta. | ||
− | ===='''Séptima Práctica | + | ===='''Séptima Práctica (<u>31 de octubre</u>)'''==== |
+ | Este laboratorio trata el proyectos 10 y 11 , relacionados con la compilación: https://www.nand2tetris.org/project10 y https://www.nand2tetris.org/project11 | ||
+ | #Desarrolle más el concepto de compilación y explique por es tan importante. | ||
+ | #De una lista de compiladores que existen y para que lenguajes, organizándolos de mayor uso a menor (tenga en cuenta sin son open source o no y en este ultimo caso, no olvide mencionar el precio del mercado). | ||
− | Para esta práctica recuerde que debe enviarla de la misma manera que las anteriores. Cada uno de los miembros del equipo, deben subir su respectivo video al sitio web del grupo, en la página respectiva para esta | + | '''Bonus:''' ¿Como se construye un compilador? Justifique su respuesta. |
+ | |||
+ | ===='''Octava Práctica (7 <u>de Noviembre</u>)'''==== | ||
+ | Este laboratorio trata el proyectos 12 , relacionado el sistema operativo: https://www.nand2tetris.org/project12 | ||
+ | |||
+ | #Desarrolle más el concepto de compilación y explique por es tan importante. | ||
+ | #¿Que elementos de la arquitectura computacional debe considerarse para proponer la implementación de un sistema operativo? | ||
+ | |||
+ | '''Bonus:''' ¿En que lenguaje (o lenguajes) de programación se escriben los sistemas operativos? De ejemplos de su respuesta. | ||
+ | |||
+ | ===='''Novena Práctica - INDIVIDUAL ( <u>14 de Noviembre</u>)'''==== | ||
+ | |||
+ | |||
+ | Para esta práctica recuerde que debe enviarla de la misma manera que las anteriores. Cada uno de los miembros del equipo, deben subir su respectivo video al sitio web del grupo (github), en la página respectiva para esta práctica. | ||
Esta práctica de regreso tiene como objetivo responder algunas preguntas claves relacionadas con la ética profesional como ingenieros de sistemas y computistas, de acuerdo al código de ética propuesto por la ACM. | Esta práctica de regreso tiene como objetivo responder algunas preguntas claves relacionadas con la ética profesional como ingenieros de sistemas y computistas, de acuerdo al código de ética propuesto por la ACM. | ||
Line 444: | Line 919: | ||
#El punto 2.6, igualmente es algo que genera debate debido a la realidad laboral, ambiciones y necesidades. 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 o inclusive cuando son contratados en países "en desarrollo", porque salen mas baratos). 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? Bonus: Analice un caso conocido y expóngalo para complementar su respuesta. | #El punto 2.6, igualmente es algo que genera debate debido a la realidad laboral, ambiciones y necesidades. 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 o inclusive cuando son contratados en países "en desarrollo", porque salen mas baratos). 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? Bonus: Analice un caso conocido y expóngalo para complementar su respuesta. | ||
#¿Pensando en comunidad, piensa que los ingenieros de sistemas UIS se sienten identificados o no con el código propuesto por la ACM? Justifique su respuesta. | #¿Pensando en comunidad, piensa que los ingenieros de sistemas UIS se sienten identificados o no con el código propuesto por la ACM? Justifique su respuesta. | ||
+ | #¿Como creen que ustedes pueden trascender e influir en su profesión dentro de cinco (5) años? | ||
'''Condiciones especiales de entrega:''' | '''Condiciones especiales de entrega:''' | ||
− | *Para la entrega de esta práctica el video debe contener entre ( | + | *Para la entrega de esta práctica el video debe contener entre (5) siete y (7) minutos. |
− | *Debe promocionar igualmente su video por las redes sociales (por ejemplo, via | + | *'''Bonus''': Debe promocionar igualmente su video por las redes sociales (por ejemplo, via X o facebook) y lograr por lo menos (5) cinco visitas, con el hashtag ''#EticaComputacionalACM2024 .'' |
<br /><nowiki/>'''''<nowiki/>''''' | <br /><nowiki/>'''''<nowiki/>''''' | ||
Line 491: | Line 967: | ||
=='''HISTORICO DE PROYECTOS PASADOS'''== | =='''HISTORICO DE PROYECTOS PASADOS'''== | ||
+ | En esta sección, hay algunos de los materiales y enlaces de los proyectos de semestres pasados.<br /> | ||
+ | ===='''PROYECTO FINAL DE CLASE PARA EL SEGUNDO SEMESTRE DEL 2023'''==== | ||
+ | Ademas de las consideraciones anteriores, el trabajo final planteado para este semestre es fundamentalmente la evaluación de una solución basada en un sistema computacional, planteada para unos requerimientos funcionales específicos. En todos los casos se les presentará (en real) a cada equipo una arquitectura implementada, los requerimientos que están supliendo, los costos y una documentación de base. Todas las propuestas son ficticias (asi como las empresas que en algunos proyectos se menciona). | ||
+ | |||
+ | '''<u>Consideraciones Generales:</u>''' | ||
+ | |||
+ | Estas condiciones generales, son las mínimas a observar, no están en orden y en cada uno de los equipos, debe presentarse en una prioridad de acuerdo al criterio propio. | ||
+ | |||
+ | *Debe presentar las especificaciones técnicas relevantes que ustedes observen, indicando, por ejemplo, tipo de arquitectura computacional usada que resalte, tipo de computación (si es de propósito general o no), tipo y características de los procesadores, memoria, red, etc. | ||
+ | *Debe mostrarse las medidas de rendimiento conocidas y relevantes, generalmente dadas por los fabricantes (Bonus: confrontación con datos de medidas de rendimiento dadas por comunidades, universidades, entidades, independientes, etc.) | ||
+ | *Debe presentarse el precio en el mercado (estimado, no exacto) de la solución presentada (incluyendo fabricante o fabricantes que ofrecen la solución, así como canales de venta). | ||
+ | *Debe considerarse y presentarse las limitaciones y posibles problemas que presente la solución analizada. | ||
+ | *Debe evidenciarse las necesidades de Infraestructura y Energía (por ejemplo, espacio, enfriamiento, consumo energético) y personal de administración (conocimientos técnicos). | ||
+ | *Debe analizarse el ciclo de vida: Extracción, Fabricación, Transporte, Utilización, Fin de Vida) (Norma ISO 1404) | ||
+ | *Debe considerarse y mencionarse la solución alternativa no detallada (in situ o en la nube). | ||
+ | *Deberá mostrarse la Evaluación presentada por ustedes de acuerdo con la siguiente clasificación: | ||
+ | **Excelente | ||
+ | **Buena | ||
+ | **Aceptable | ||
+ | **Deficiente | ||
+ | **Mala | ||
+ | |||
+ | Justificando su respuesta. | ||
+ | <br /> | ||
+ | {| class="wikitable" | ||
+ | |'''Proyecto 1''' | ||
+ | |'''Vehículo Autónomo con NVIDIA Jetson Nano''' | ||
+ | |- | ||
+ | | colspan="2" |NVIDIA® Jetson Nano™ Developer Kit es una computadora pequeña y poderosa que le permite ejecutar múltiples redes neuronales en paralelo para aplicaciones como clasificación de imágenes, detección de objetos, segmentación y procesamiento de voz. Todo en una plataforma fácil de usar que funciona con tan solo 5 vatios. El sistema usa una tarjeta microSD con la imagen del sistema, inicia el kit de desarrollador y usa el mismo SDK NVIDIA JetPack que se utiliza en toda la familia de productos NVIDIA Jetson™. JetPack es compatible con la plataforma de NVIDIA para entrenar e implementar software de IA, lo que reduce la complejidad y el esfuerzo de los desarrolladores.( <nowiki>https://developer.nvidia.com/embedded/jetson-nano-developer-kit</nowiki>). | ||
+ | |||
+ | Localmente, unos estudiantes de ingeniería de sistemas de la UIS han implementado un vehículo autónomo basado en NVIDIA Jetson Nano (<nowiki>https://developer.nvidia.com/blog/nvidia-jetson-project-of-the-month-an-ai-powered-autonomous-miniature-race-car-gets-on-track/</nowiki>) inspirados en el proyecto Donkey Jetson Car (<nowiki>https://developer.nvidia.com/embedded/community/jetson-projects/donkey_car</nowiki> ) y en el race-car (<nowiki>https://jetsonhacks.com/racecar-j/</nowiki>) | ||
+ | |||
+ | Con esta implementación han propuesto una start-up para entretenimiento y enseñanza usando estos vehículos, para que los estudiantes de últimos cursos de bachillerato en Colombia principalmente y de carreras diferentes a computación, participen en concursos (<nowiki>https://developer.nvidia.com/embedded/diy-ai-race</nowiki>) y aprenda de manera práctica conceptos de IA, programación y vehículos autónomos. | ||
+ | |||
+ | Un grupo inversor los contrata para evaluar la viabilidad de este tipo de vehículos basada en NVIDIA Jetson Nano. | ||
+ | |||
+ | Recomendación principal: Debe planificar una cita con SC3UIS para ver los carros autónomos y entrevistarse con el responsable de las NVIDIA Jetson Nano Pablo Rojas. | ||
+ | |- | ||
+ | |'''[https://github.com/jorge1b3/G_Poject/wiki Proyecto 2]''' | ||
+ | |'''Servidor Para Cómputo Científico Pre-Exascale Basado en Super Micro y AMD''' | ||
+ | |- | ||
+ | | colspan="2" |SuperMicro ha iniciado un proyecto para soportar necesidades de cómputo pre-Exascale con la Universidad Industrial de Santander, via Supercomputación y Cálculo Científico (SC3UIS) en un proyecto denominado SMExa. Para ello ha puesto un servidor AS-2025HS-TNR, que contiene fundamentalmente (2) dos CPUs x AMD EPYC Genoa 9554 64C/128T 3.1G 256M, 384GB RAM, (1) una GPU AMD Instinct MI210 64GB, 300 TB de Disco Duro y una red 100Gb. Infiniband. Teniendo en cuenta que los procesadores son AMD (tanto CPUs como GPUs) deben programarse de manera diferente para optimizar su uso, con la utilización ROCm (<nowiki>https://www.amd.com/es/graphics/servers-solutions-rocm</nowiki> ) (<nowiki>https://github.com/RadeonOpenCompute/ROCm</nowiki>) (<nowiki>https://github.com/ROCmSoftwarePlatform</nowiki>) tanto en aplicaciones de HPC tradicionales como simulaciones hasta necesidades de analítica de datos e Inteligencia Artificial. | ||
+ | |||
+ | SC3UIS, los contrata a ustedes de manera independiente para que realicen una evaluación de la plataforma teniendo en cuenta principalmente, que la experticia del equipo de desarrollo es usando procesadores Intel y GPUs provistas por NVIDIA a través del supercomputador GUANE-1 principalmente. | ||
+ | |||
+ | Recomendaciones: Planificar una cita con los responsables de operaciones via [<s>sc3.operaciones@uis.edu.co</s>] (que puede ser virtual), que no debe pasar de una hora. Igualmente si se desea, pueden visitar el sitio, para ello deben planificar una cita con el profesor Carlos Jaime Barrios Hernández. | ||
+ | |- | ||
+ | |'''Proyecto 3''' | ||
+ | |'''Servidor Para Cómputo Científico Pre-Exascale Basado en DELL y AMD''' | ||
+ | |- | ||
+ | | colspan="2" |DELL ha iniciado un proyecto para soportar necesidades de cómputo pre-Exascale con la Universidad Industrial de Santander, via Supercomputación y Cálculo Científico (SC3UIS) en un proyecto denominado ExaDELL. Para ello ha puesto un servidor PowerEdge R7650, con la siguiente información:[[File:DELLEXA.jpg|border|center|thumb|400x400px]] | ||
+ | |||
+ | |||
+ | Además de (1) una GPU AMD Instinct MI210 64GB, 200 TB de Disco Duro y una red 100Gb. Infiniband. Teniendo en cuenta que los procesadores son AMD (tanto CPUs como GPUs) deben programarse de manera diferente para optimizar su uso, con la utilización ROCm (<nowiki>https://www.amd.com/es/graphics/servers-solutions-rocm</nowiki> ) (<nowiki>https://github.com/RadeonOpenCompute/ROCm</nowiki>) (<nowiki>https://github.com/ROCmSoftwarePlatform</nowiki>) tanto en aplicaciones de HPC tradicionales como simulaciones hasta necesidades de analítica de datos e Inteligencia Artificial. Sin embargo existe un particular interés para poder soportar WRF con esta infraestructura (<nowiki>https://www.mmm.ucar.edu/models/wrf</nowiki>) | ||
+ | |||
+ | SC3UIS, los contrata a ustedes de manera independiente para que realicen una evaluación de la plataforma teniendo en cuenta principalmente, que la experticia del equipo de desarrollo es usando procesadores Intel y GPUs provistas por NVIDIA a través del supercomputador GUANE-1 principalmente. Sin embargo, el modelo WRF que se ha ejecutado solo usa CPUs. | ||
+ | |||
+ | Recomendaciones: Planificar una cita con los responsables de operaciones via [<s>sc3.operaciones@uis.edu.co</s>] (que puede ser virtual), que no debe pasar de una hora. Igualmente, si se desea, pueden visitar el sitio, para ello deben planificar una cita con el profesor Carlos Jaime Barrios Hernández. | ||
+ | |- | ||
+ | |'''[https://github.com/JuanSepu18/Grupo-Aval Proyecto 4]''' | ||
+ | |'''Millicluster para Arquitectura IoT Basada en RasberriPi''' | ||
+ | |- | ||
+ | | colspan="2" |Unos estudiantes de ingeniería de sistemas de la UIS, han propuesto un Millicluster basado en Rasberri PI, inspirados en <nowiki>https://www.raspberrypi.com/tutorials/cluster-raspberry-pi-tutorial/</nowiki> y en <nowiki>https://blog.bricogeek.com/noticias/raspberry-pi/como-hacer-un-cluster-con-raspberry-pi-y-docker/</nowiki> para necesidades en un sector rural, que quiere integrar esta solución para el manejo de datos de sensores para sus cultivos de mora. | ||
+ | |||
+ | Para su cluster propuesto usan el siguiente hardware: | ||
+ | |||
+ | *4x Raspberry Pi 3 Model B — para nodos de cómputo | ||
+ | *1x Raspberry Pi 3 Model B — para el nodo master | ||
+ | *5x MicroSD Cards | ||
+ | *5x micro-USB Cables de Poder | ||
+ | *1x 8-port 10/100/1000 network switch | ||
+ | *1x 6-port USB power-supply | ||
+ | *1x 64GB USB Drive | ||
+ | |||
+ | Según los estudiantes este clúster tiene un costo total de $150 dólares (sin incluir lo que se conoce como humanware). | ||
+ | |||
+ | Una entidad asociada al equipo del ministerio de agricultura quiere invertir en la propuesta y los contrata para evaluar la viabilidad de este tipo de soluciones, es importante confrontar el precio dado y si es realista. | ||
+ | |||
+ | Recomendación principal: Se puede planificar (o no) una cita con SC3UIS para ver un ejemplo en vivo de este tipo de arquitecturas Pablo Rojas. | ||
+ | |- | ||
+ | |'''[https://nelson09210921.github.io/Los_indestructibles.github.io/ Proyecto 5]''' | ||
+ | |'''Supercomputador GUANE-1 (Implementado en 2012 y Actualizado en 2016)''' | ||
+ | |- | ||
+ | | colspan="2" |GUANE-1 <nowiki>https://es.wikipedia.org/wiki/Guane-1_(supercomputador)</nowiki> ) (<nowiki>https://www.sc3.uis.edu.co/recursoshpc/</nowiki>) (GpUs Advanced computiNg Environment) que traducido del inglés significa Ambiente de Computo Avanzado de GPUs.) es la infraestructura de referencia de Supercomputación y Cálculo Científico UIS (SC3UIS). Basado principalmente en procesadores NVIDIA FERMI GPUs y procesadores Intel, es una infraestructura que hoy en dia se considera obsoleta a pesar que su vida útil fue extendida de manera asombrosa por el equipo de SC3UIS, soportando aun las necesidades de cómputo de altas prestaciones de los investigadores. | ||
+ | |||
+ | La Universidad Industrial de Santander, plantea renovar la infraestructura de referencia, pero requiere una consultoría independiente para saber que tan obsoleta es la tecnología y por qué debería ser remplazada. Para ello, los contrata a ustedes para recibir su opinión. | ||
+ | |||
+ | Recomendaciones: Planificar una cita con los responsables de operaciones via [[<s>sc3.operaciones@uis.edu.co</s>] ] (que puede ser virtual), que no debe pasar de una hora. Igualmente, si se desea, pueden visitar el sitio, para ello deben planificar una cita con el profesor Carlos Jaime Barrios Hernández. | ||
+ | |- | ||
+ | |'''[https://arquitecturacomputadores-grupo6.github.io/CodeCraft/proyecto.html Proyecto 6]''' | ||
+ | |'''Servidor para Visualización Avanzada Yajé''' | ||
+ | |- | ||
+ | | colspan="2" |Yajé es un proyecto que permite ofrecer una plataforma para explotar Visualización como Servicio (Viz as a Service) para usuarios científicos remotos. Este es un proyecto común, desarrollado con el apoyo de NVIDIA. Actualmente, YAJÉ 2.0, realizado en colaboración igual con NVIDIA, utiliza contenedores y arquitecturalmente se integra con GUANE1R y se usa tecnología NVIDIA GeForce GTX Titan. En general, YAJÉ permite explotar el modelo de Viz as a Service, integrándose con plataformas HPC, dirigido a necesidades de interacción y visualización remota, aprovechándose de la flexibilidad del uso de contenedores, involucrando componentes hardware y software. ((<nowiki>https://www.sc3.uis.edu.co/recursoshpc/</nowiki>) Los componentes principales son: | ||
+ | · Manufacturadorr: HPE | ||
+ | |||
+ | · Nombre del Producto: ProLiant ML350 Gen9 | ||
+ | |||
+ | · Procesador: 1 Intel(R) Xeon(R) CPU E5-2609 v3 @ 1.90GHz – 6 Cores | ||
+ | |||
+ | · Memoria Total: 49031292 kB – 48GB | ||
+ | |||
+ | · GPU: 1 NVIDIA GeForce GTX Titan X 12 GB | ||
+ | |||
+ | La Escuela de Trabajo Social, dentro de su área de Humanidades Digitales, analiza el uso de Yajé para los proyectos del Colaboratorio de Visualización en Inmersión Avanzada. Para ellos los contrata a ustedes para analizar si Yajé puede soportar las necesidades básicas de las actividades de visualización como servicio (remoto) y que debería tenerse en cuenta si se quiere actualizar. | ||
+ | |||
+ | Recomendaciones: Planificar una cita con los responsables de operaciones via [[<s>sc3.operaciones@uis.edu.co</s>] ] (que puede ser virtual), que no debe pasar de una hora. Igualmente, si se desea, pueden visitar el sitio, para ello deben planificar una cita con el profesor Carlos Jaime Barrios Hernández. | ||
+ | |- | ||
+ | |'''[https://github.com/AndresFelipeMunozAguilar/Group_S13T3_Repository Proyecto 7]''' | ||
+ | |'''Servidor para Cómputo Avanzado FELIX''' | ||
+ | |- | ||
+ | | colspan="2" |FELIX es una plataforma propuesta por el equipo de SC3UIS, para soportar el alto rendimiento en aplicaciones de Inteligencia Artificial, principalmente aquellas que requieran ambientes de ejecución híbridos o basados en TPUs. | ||
+ | |||
+ | Técnicamente, tiene el siguiente hardware: | ||
+ | |||
+ | *Manufacturer: HP | ||
+ | *Product Name: ProLiant DL580 G7 | ||
+ | *Processor: 4 Intel(R) Xeon(R) CPU X7560 @ 2.27GHz – 64 Cores | ||
+ | *MemTotal: 131844368 kB – 128GB | ||
+ | *Devices: 2 NVIDIA GeForce GTX Titan X 12 GB | ||
+ | |||
+ | La Escuela de Historía, plantea usar FELIX para correr ciertas herramientas basadas en TensorFlow, pero requiere una consultoría independiente para saber que tan buena es la tecnología. Para ello, los contrata a ustedes para recibir su opinión. | ||
+ | |||
+ | Recomendaciones: Planificar una cita con los responsables de operaciones via [[<s>sc3.operaciones@uis.edu.co</s>] ] (que puede ser virtual), que no debe pasar de una hora. Igualmente, si se desea, pueden visitar el sitio, para ello deben planificar una cita con el profesor Carlos Jaime Barrios Hernández. | ||
+ | |- | ||
+ | |'''[https://github.com/Mirr1s/tech.github.io/tree/main Proyecto 8]''' | ||
+ | |'''Computador Cuántico UIS''' | ||
+ | |- | ||
+ | | colspan="2" |Un profesor de la Escuela de Física, afirma que debe comprarse un computador cuántico en la Universidad Industrial de Santander, como aquellos que vende la compañía D-WAVE (<nowiki>https://www.dwavesys.com/</nowiki>) . Y pone como ejemplo el Computador cuántico que se encuentra en el centro de supercomputación de Julich en Alemania (<nowiki>https://juelich-quantum.de/en/</nowiki>) o de la Universidad de Waterloo en Canada (<nowiki>https://uwaterloo.ca/institute-for-quantum-computing/events/quantum-computing-d-wave-processor</nowiki>) | ||
+ | |||
+ | El profesor afirma que el costo del equipo es de solo USD 2.000.000 (Dos millones de doláres) teniendo en cuenta las adecuaciones, por lo que la Universidad Industrial de Santander los contrata como consultores independientes, para analizar la propuesta con la información dada, teniendo en cuenta el mínimo computador cuántico comprable a D-WAVE y sobre todo, si la información del costo dado por el profesor es realista. | ||
+ | |||
+ | Recomendaciones: Además de consultar referencias, los sitios web de la compañía y los institutos dados, planificar una cita (que puede ser virtual) con el profesor Gilberto Diaz ([<s>gjdiazt@uis.edu.co</s>]) con copia visible con el profesor de la asignatura. | ||
+ | |- | ||
+ | |'''[https://diegotoscano04.github.io/ Proyecto 9]''' | ||
+ | |'''Cluster para Apoyo Académico EISI''' | ||
+ | |- | ||
+ | | colspan="2" |La Escuela de ingeniería de Sistemas e Informática (EISI) ha implementado un cluster para soporte académico para todos los cursos que requieran dicha plataforma. | ||
+ | |||
+ | El Centro de Estudios de Ingeniería de Sistemas les solicita a ustedes conocer y divulgar tanto las características técnicas como ventajas tecnológicas y funcionamiento de dicha plataforma adquirida. | ||
+ | |||
+ | Recomendaciones: Planificar una cita con los responsables de técnicos vía [<s>jrpernam@uis.edu.co]</s> (con copia visible al profesor del curso), que no debe pasar de una hora. Y pueden realizar una visitar el sitio, con presencia del profesor Carlos Jaime Barrios Hernández, de ser necesario. | ||
+ | |} | ||
+ | <br /> | ||
====='''Sitios web seleccionados de los equipos pasados'''===== | ====='''Sitios web seleccionados de los equipos pasados'''===== | ||
Latest revision as of 09:04, 26 August 2024
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 )
Luis Alejandro Torres Niñ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 DIAPOSITIVAS Y MATERIAL DEL CURSO
- 5 EVALUACIONES ( Todos los Grupos )
- 6 PRACTICAS 2-2024
- 6.1 Primera Práctica (Realización 15 y 22 de Agosto de 2024)
- 6.2 Segunda Práctica: (5 y 12 de Septiembre):
- 6.3 Tercera Práctica (19 y 26 de Septiembre):
- 6.4 Cuarta Práctica (3 de Octubre)
- 6.5 Quinta Práctica (10 y 17 de Octubre)
- 6.6 Sexta Práctica (24 de Octubre)
- 6.7 Séptima Práctica (31 de octubre)
- 6.8 Octava Práctica (7 de Noviembre)
- 6.9 Novena Práctica - INDIVIDUAL ( 14 de Noviembre)
- 7 BIBLIOGRAFÍA Y FUENTES DE INFORMACION
- 8 HISTORICO DE PROYECTOS PASADOS
- 8.1 PROYECTO FINAL DE CLASE PARA EL SEGUNDO SEMESTRE DEL 2023
- 8.2 Asignaciones y Temáticas de Proyectos (2 Semestre 2021)
- 8.3 Asignaciones y Temáticas de Proyectos de Semestres Pasados
- 8.3.1 Asignaciones y Temáticas de Proyectos (2 Semestre de 2020)
- 8.3.2 Asignaciones de Blogs de Estudiantes de Semestres pasados
- 8.3.3 Asignaciones para el Blog/Ensayo de Introducción
- 8.3.4 Lista de Blogs 1-2020
- 8.3.5 Asignaciones y Temáticas de Proyectos (2 Semestre de 2019)
- 8.3.6 Temáticas de Proyectos (2 Semestre de 2018)
- 8.3.7 Temáticas de Proyectos (1 Semestre de 2018)
- 8.3.8 Temáticas de Proyectos 2018-1
- 8.3.9 Trabajos 2017-2
- 8.3.10 Artículos de los Grupos del Curso del Semestre 1-2016
- 8.3.11 Artículos de los Grupos del Curso del Semestre 2-2016
- 8.4 Asignaciones y Temáticas de Proyectos (2 Semestre 2022)
- 8.5 Asignaciones y Temáticas de Proyectos (1 Semestre 2022)
- 9 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
DIAPOSITIVAS Y 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, pero actualizadas cada semestre). Los artículos presentados por los estudiantes a partir del primer semestre de 2016, se encuentran en la parte denominada: HISTORICO DE PROYECTOS PASADOS.
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
- Memory Hierarchy
- Multinúcleos y Paralelísmo:
- 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
- WSC, Ultrascale y Arquitecturas de Gran Escala Centrada en Datos
- The New PU's
EVALUACIONES ( Todos los Grupos )
Es importante que el curso, es un curso presencial, el cual se evaluará de la siguiente manera:
- Taller Individual (15%)
- Entrega de Prácticas (30%)
- Proyecto de Clase (En Grupos) (40%)
- Taller de Informe de Avance (Bonus +2)
- White Paper (20%) (Por definir)
- Poster Digital (20%) (Por definir)
- Evaluación Individual Final (15%)
- BONUS (+0,3 máximo para cada entrega) (Quices, Rendimiento en el grupo de trabajo, asistencia a clase)
(15%) Taller Individual 1 - Primera Nota -
(Realización : Semana del 26 al 30 de agosto)
Fecha y Hora Limite de Entrega: 30 de agosto de 2024 a las 9:30 (GMT - 5 Bogota/Lima Time)
Este taller individual, se realizará de manera escrita-remota, siguiendo las características de una evaluación tradicional y deberá entregarse el viernes 30 de agosto de 2024, via correo electrónico al correo electrónico del profesor, como un documento adjunto en *.pdf nombrado con la inicial de su primer nombre y código, por ejemplo, si su código es 941108 y su nombre es Cecilia, sería C_941108.pdf el archivo en el que están las respuestas. El asunto del correo, deberá ser: Entrega Taller Individual 1 - (su código de estudiante) y en el texto del correo por favor colocar, su nombre completo, código de estudiante y curso al que pertenece (si es A1, A2 o E2). Este documento debe enviarse en tamaño carta y no tener más de 6 páginas (recomendación: llegue a máximo una página por respuesta).
El objetivo de este taller, más allá de cumplir con la obligación de la primera nota, es observar, dentro del estado del arte actual en computación como la arquitectura de computadores esta implicada (y mas desde nuestro rol como ingenieros) y como cada uno de ustedes se posiciona ante el impacto y trascendencia de este estado del arte y perspectivas. Esta dividido en dos partes y siga la instrucciones de entrega de las preguntas dadas para cada una de las partes. Recuerde que debe buscar otras referencias
Parte 1: Computación Analógica
Para llegar a la computación digital (y en si a la tecnología computacional que hoy conocemos), la humanidad ha pasado por caminos que no son lineales. Si bien, lo que conocemos (y en lo que esta particularmente basado este curso) en computación digital nos ha servido durante decadas, el auge de la inteligencia artificial y la necesidad de tratar problemas en ciencia y tecnología así como implementaciones actuales (desde lo neuromorfico hasta lo cuántico) exige un tipo de computador totalmente nuevo: el analógico. El siguiente video de divulgación (en español), denominado El Futuro de las Computadoras Será Radicalmente Diferente, del sitio Veritasium creado por Derek Muller https://youtu.be/qNtxODk_Lmk?si=cL3LbhzMAbjFpQgA trata en un poco mas de 20 minutos sobre computación análogica.
Parte 2: Inteligencia Artificial
La siguiente intervención en la Cumbre Mundial de Gobierno, realizada en Dubai el 12 de febrero 2024, se realizó una conversación entre Jensen Huang, presidente de NVIDIA, con Omar Al Olama, ministro de Inteligencia Artificial de los Emiratos Árabes Unidos, para discutir la coexistencia armoniosa del presente con el futuro a través de tecnología de punta. Este diálogo tiene como objetivo brindar información sobre los logros de los hitos tecnológicos que cierran la brecha entre las capacidades actuales y las visiones futuristas, creando un mundo donde la tecnología sea un facilitador para todos, reduciendo la brecha digital y allanando el camino para un futuro inclusivo. Esta intervención puede verse en: https://youtu.be/iUOrH2FJKfo?si=3EYbyZRQm4OprL_G denominada Who Will Shape the Future of AI? dura 24 minutos.
Teniendo en cuenta ambos videos , que pueden ver desde ya en su casa (la entrevista es un un único video en Youtube que esta en inglés, pero puede usar las opciones de traducción de la plataforma, disponibles), responda las cinco (5) preguntas planteadas siguientes:
Si su código de estudiante termina en cero o dígito par:
De la parte 1:
- ¿Que tan diferente es la computación analógica respecto a la digital y cuales son las desventajas de cada una de ellas?
- Teniendo en cuenta las materias vista en la carrera de ingeniería de sistemas e informática de la Universidad Industrial de Santander, ¿cree que se tienen los conocimientos de base para entrar en el mundo de cualquier computación? (Independiente de que su respuesta sea positiva o negativa, argumente y justifique su respuesta).
De la parte 2:
- ¿Por qué Jensen Huang dice que los avances tecnológicos mantendrán bajo control los costos de la IA? ¿Es cierto eso? Justifique su respuesta.
- Jensen Huang, afirma que nuestro trabajo (como ingenieros y científicos de computación) es crear tecnología computacional para que cualquiera pueda programar y sacarle provecho a esa tecnología... al desarrollar la idea en el panel, se plantean aspectos importantes en cuanto al foco de la educación tanto en los niños, como en los adolescentes y adultos, opuesto a lo que se esperaría que planteara el CEO de una de las compañías mas importantes de tecnología. Resuma con sus palabras este foco y ¿esta de acuerdo con ello? Justifique su respuesta y de ser necesario, agregue nuevos elementos.
- En la conversación, Jensen afirma que lo primero que todo país debería hacer es construir infraestructura y no trabajar en una aplicación específica. Si se quieres desarrolla energía, debes construir generadores, si quiere alimentos, debes construir granjas y si se quiere inteligencia artificial, debes construir infraestructura. No es caro, pero hay empresas que quieren asustar a todo el mundo, cuando en realidad son capacidades que se pueden comprar, y cada país es capaz de hacerlo. ¿Esta de acuerdo con esta afirmación? Justifique su respuesta y de elementos nuevos si es necesario para argumentar su respuesta.
Si su código de estudiante termina en dígito impar:
De la parte 1:
- ¿Como se enlaza la computación analógica con los nuevos sistemas computaciones y usos que han estallado como el caso de la Inteligencia artificial? Argumente y Justifique su respuesta.
- Si usted hará parte de un equipo de implementara computación analógica. ¿Que conocimientos de base deberá tener? ¿Cree que los adquiere durante la carrera de pregrado que esta cursando? (Argumente y justifique su respuesta).
De la parte 2:
- ¿Qué opina del consejo que da Jensen Huang que los países deben ser dueños de su inteligencia nacional y no permitir que nadie más lo haga”? ¿Por qué el afirma eso?
- En la conversación, se plantea la siguiente era de la IA y como tanto el desarrollo Open Source tanto en hardware como en software es importante para democratizar el conocimiento, en este caso IA. Buscando esa democratización, ¿la arquitectura de computadores esta siendo flexible, disponible y robusta, para garantizar esa siguiente era de la IA?
- Desde el punto de vista computacional, Jensen afirma que NVIDIA quiere democratizar la tecnología para lograr seguridad y compatibilidad. Como futuro ingeniero, ¿como usted garantizaría esa democratización? Justifique su respuesta y de ser necesario agregue nuevos elementos.
Recomendaciones:
- Vea los dos videos antes de responder cada parte de las preguntas.
- Lea todas las preguntas antes de responderlas.
- Responda únicamente lo que se le pregunta (no de vueltas).
- Justifique y argumente sus respuestas.
- No se están pidiendo opiniones, sino argumentos. Recuerde que la diferencia entre la las opiniones es que son consideraciones, juicios o impresiones personales o subjetivas, de lo que alguien expresa sobre un hecho. En otras palabras, una opinión es una expresión subjetiva de creencias, sentimientos o juicios personales, que varía de una persona hacia otra o incluso, puede darse por la misma persona en tiempos diferentes y ser contradictoria. En cuanto a los argumentos son razonamientos que sirven para expresarse a favor o en contra de una idea o punto de vista, están basados en hechos probados y evidencia. En síntesis, un argumento es una presentación lógica de hechos o razones expuestos de forma ordenada para respaldar una afirmación y soportada por evidencia.
- Tenga presente tanto la ortografía como los signos de puntuación.
- Escriba claramente y cada respuesta en no más de (12) doce líneas.
- Recuerde que es de carácter individual, no puede haber dos respuestas iguales con sus compańeros, cualquier intento de fraude simplemente se anulara el taller y se hará la respectiva anotación disciplinaria. Si durante el taller, no se detectó el fraude, pero al revisar las respuestas están tienen similitud comprobable en la manera de responderse, la nota se dividirá por la cantidad de personas que hicieron la copia, sin indagar cual fue la original.
- No use Copilot, You, ChatGPT o similares ya que están dando respuestas erróneas pues en el entrenamiento previo, lo que responde del video de computación cuántica esta fuera del contexto del video. En el caso de la parte 2, toma opiniones pasadas de Jensen Huang y no lo que se dice en la entrevista y en algunos casos fuera de contexto. En este taller buscamos su posición crítica como futuros ingenieros de sistemas. Recuerden, ustedes crean tecnología, programan, optimizan y desarrollan inteligencias artificiales, no simplemente le creen a la tecnología.
- Puede (y seguramente debe) usar otras referencias. Agregue las referencias de consulta adicionales al videos (bibliografía, otros enlaces, blogs o sitios que pueden ser fuentes de información.)
(30%) Laboratorios y Trabajos Prácticos
Este semestre, todas las prácticas de acuerdo a la planificación dada, se realizará por grupos al igual que las entregas. La conformación de los mismos, se hará por parte del profesor y las entregas de los laboratorios y trabajos prácticos se explicará en la sección respectiva.
Es importante que esa entrega o muestra se colocará en línea, siguiendo las indicaciones que se mostrarán en la respectiva sección.
(40%) 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. El proyecto de clase tiene tres componentes: artículo especializado, un poster digital del proyecto final y exposición oral. Los grupos asignados estarán conformados por los mismos estudiantes de los grupos para las prácticas.
(20%) Artículo de Proyecto de Clase
Fecha de Entrega: Por definir (23:59 GMT -5 Horario de Bogotá, Colombia)
El artículo del proyecto, es una contribución dirigida a un lector especializado en el área, en este caso, ingenieros de sistemas y computación que conocen de arquitectura de computadores, que será en un formato de whitepaper o articulo técnico dirigido a personal técnico de ingeniería para tomar de decisiones. 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 científicos o técnicos de sus compañeros de semestres pasados u otras fuentes): 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ínimo (8) ocho y máximo (10) diez páginas en Español. El 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). El mínimo y el máximo de páginas Incluye gráficas, referencias, tablas y figuras.
- Formato IEEE en UNA columna para series de conferencias puede guiarse con el siguiente enlace, teniendo en cuenta dentro de ese template tanto el tipo de fuente utilizada como el tamaño de página, espacio, etc.: http://www.ieee.org/conferences_events/conferences/publishing/templates.html
- El archivo se enviará al correo principal 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, A2, B1...). Debe enviarse solo desde el correo de uno de los autores.
- El artículo debe entregarse en un único archivo .pdf , indicando en el correo de entrega el asunto: ENTREGA ARTICULO FINAL ARQUITECTURA 1-2024. Observe la fecha y hora desde cuando se van a recibir los artículos y hasta cuando se recibirán. Después de dicha fecha y hora límite no se aceptarán artículos.
- Un software anti plagio o plagiarismo se utilizará para el artículo, recuerde tener cuidado con el plagio.
- Recuerde es un artículo técnico, no un artículo científico.
(20%) Presentación del Proyecto del Proyecto de Clase
Presentación: Por definir,
La presentación del proyecto de clase será en vivo, durante la sesión de los jueves, iniciando mas temprano para que todos los grupos se presenten, usando un poster digital.
Características Generales del Poster Digital
- El tamaño de su documento debe ser de 48 "de ancho x 27" de alto (solo modo horizontal debido a la visualización amigable de la presentación virtual).
- Deje un margen de 1” alrededor del borde. Esto le dejará un área de 46” de ancho x 25” de alto para su póster.
- No sobrepase la imagen o escriba en esta área.
- Recomendación: Puede hacerlo en powerpoint y guarde su archivo como: Alta resolución PDF listo para imprimir a TAMAÑO COMPLETO 300 ppp.
- Ejemplos: Visite el sitio: https://www.nvidia.com/gtc/posters/
- Bonus: Su poster Digital, al ser digital, puede contener animaciones.
Características de la Presentación Oral: (Por definir. (GMT -5 Bogota Time)
Esta presentación oral se realiza para presentar en un formato rápido, los puntos mas importantes y conclusiones del trabajo final. 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 cinco (5) Minutos Estrictos, TODOS LOS INTEGRANTES DEL GRUPO DEBEN INTERVENIR. Recuerde el pasarse de ese tiempo PENALIZA AMPLIAMENTE LA CALIFICACION RECIBIDA. LA PRESENTACION SE INTERRUMPIRA POR EL PROFESOR, PASADOS SIETE MINUTOS (DOS MINUTOS ADICIONALES)
- El poster digital deberá enviarse al profesor, desde el dia viernes anterior a la presentación, a las 16:00 (4:00 p.m.) hasta el dia martes a las 12:00 Asunto del Correo: Poster Digital Proyecto Final Grupo (Identificación del Grupo Asignada, por ejemplo, si su grupo es el 23, deberá ser el asunto: Poster Digital Proyecto Final Grupo 23 ). Recuerden en el texto del correo, colocar el nombre de los integrantes.
- El orden de presentación será dado por el profesor y comunicado al inicio de la sesión.
- Las presentaciones iniciarán a las 6:00 a.m. debido a la cantidad de grupos y finalizará a las 9:00 a.m..
- Las preguntas lanzadas desde el público pueden ser un bonus en la nota final de la presentación respectiva de manera individual (no solo para el grupo).
- El profesor será el moderador de la sesión de presentación y habrá un invitado.
- Aspectos importantes a tener en cuenta: calidad de la presentación, manejo de tiempo y respuesta a preguntas.
(15%) Taller Individual Final
Esta evaluación se realizará de manera oral e individual y podrá presentarse a partir del Jueves 2 de Mayo, Limite de Realización Jueves 30 de Mayo de 2024, en el cual responderá en una entrevista de duración de un máximo de 15 minutos una única pregunta hecha por el profesor, en el tablero, sobre alguno de los temas dados del curso (o de las prácticas) del curso. El estudiante deberá solicitar la cita al profesor, a partir del Jueves 2 de mayo, y de acuerdo a disponibilidad esta se asignará.
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 bibliográficas 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 el sitio del curso.
Aspectos que se tendrán en cuenta en el proyecto:
1. Soporte hacia los requerimientos funcionales y comprensión de las preguntas dadas (ver la diapositiva sobre requerimientos funcionales a tener en cuenta)
2. Original y novedad de la solución propuesta.
3. Organización y presentación de los resultados.
4. Métricas adecuadas usadas y estandáres.
5. Aspectos ambientales y éticos.
PROYECTOS FINALES ARQUITECTURA DE COMPUTADORES 1-2024
Los proyectos finales planteados para este semestre, corresponden a ejercicios basados en los con casos de uso, presentes en varias fuentes, como en el libro guía Patterson and Hennesy, Computer Architecture; A Quantitative Approach, o el libro Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface), disponibles en diferentes sitios, en la biblioteca, pero también en el sitio del curso, en la sección de bibliografía y fuentes de información. Igualmente, se ha usado información del sitio recomendado en el curso para hacer comparaciones: https://www.cpubenchmark.net/ y de las diapositivas utilizadas. Sin embargo, recuerde que debe buscar nuevas fuentes de información necesarias, como la documentación dada por los fabricantes. Tenga en cuenta que debe observar las características técnicas arquitecturales de los elementos dados y si es necesario, resaltar características especiales que tengan esos elementos y la integración de los mismos en un sistema.
Si asistió a las sesiones teóricas y participó activamente en el desarrollo de los talleres prácticos tiene el conocimiento de base para atacar el proyecto asignado. La asignación es por orden ascendente, es asi que para el proyecto 1 se asigna para el equipo.
Proyecto 1 : Equipo 1. (Basado en los Casos de Estudio y Ejercicios por Diana Franklin en el libro Patterson and Hennesy, Computer Architecture; A Quantitative Approach,). Caso de Estudio 2. Consumo de Energía en Sistemas de Cómputo (Página 63 de la Quinta Edición).
La tabla siguiente muestra el consumo de energía de varios componentes del sistema informático. En este ejercicio, se mira cómo el disco duro afecta el consumo de energía del sistema.
Componente | Producto | Rendimiento | Consumo de Energía |
Procesador | AMD Ryzen Threadripper PRO 7995WX | Clockspeed: 2.5 GHz
Turbo Speed: 5.1 GHz |
350 W (Media de Uso) |
Memoria DRAM | Kingston KF548C38-32 | Latencia: 51 ns | 1.1 V |
Disco Duro | Corsair MP700 PRO | Capacidad: 931.5 GB
Random Seek Read Write (IOPS 32KQD20): 3,805 Mbytes/Sec |
11. 5 W |
Corsair MP700 | Capacidad 1.8 TB
Random Seek Read Write (IOPS 32KQD20): 3,821 Mbytes/Sec |
10.5 W |
Tabla de Especificaciones de Elementos
a. Tenemos un sistema en desktop para uso especializado, y suponiendo la carga máxima para cada componente y una eficiencia de la fuente de alimentación del 80%, ¿qué potencia debe entregar la fuente de alimentación del servidor a un sistema con un chip AMD Ryzen Threadripper PRO 7995WX, de 2.5 Ghz, 94 Nucléos que soporta 128 hilos, y que se encuentra con una memoria RAM Kingston KF548C38-32 DDR4 y, un disco duro Corsair MP700 PRO ?
b. ¿Cuánta energía consumirá la unidad de disco duro Corsair MP700 PRO de si está inactiva aproximadamente el 60% del tiempo?
c. Dado que el tiempo para leer datos de una unidad de disco de duro Corsair MP700 PRO será aproximadamente el 75% del de un disco Corsair MP700, ¿en qué tiempo de inactividad del disco de Corsair MP700 PRO será igual el consumo de energía, en promedio, para los dos discos? ¿Cambiaría el disco?
Un factor crítico en el consumo de energía y su respectiva alimentación en cualquier tipo de sistema es la refrigeración. Como se sabe, si el calor no se elimina de la computadora de manera eficiente, los ventiladores devolverán aire caliente a la computadora, no aire frio. Entonces, las diferentes decisiones de diseño afectan la refrigeración necesaria y por tanto los costos del sistema.
d. El sistema en cuestión se organiza en un servidor con un chasis determinado y un rack que disipa 14KW y vale US $7000 dólares. ¿Para la solución dada, de cuantas U debe ser el tamaño del servidor? ¿Cuánto seria la mínima capacidad de la fuente de poder principal por servidor para energizar lo mínimo del sistema dado?
e. Teniendo en cuenta la información dada ¿Cuántos servidores cabrían en un chasis estándar (recuerde que la medida es la disipación en KW)?
f. Describa un plantee una solución completa (sin uso de aceleradores, pero si una tarjeta de red y los elementos que hagan falta), mostrando un costo estimado, teniendo en cuenta los componentes mostrados en la tabla (por supuesto debe escoger un único disco duro especifico de los dos dados).
Proyecto 2. Equipo 2. (Basado en los Casos de Estudio y Ejercicios por Norma P. Jouppi, Naveen Muralimanohar, y Sheng LI en el libro Patterson and Hennesy, Computer Architecture; A Quantitative Approach). Caso de Estudio 2. Poniendo todo junto: sistemas de memoria altamente paralelos (Página 133 de la Quinta Edición).
El programa siguiente puede ser usado para evaluar el comportamiento de un sistema de memoria. Esta realizado en C y en MS Visual Studio. Principalmente busca tener una sincronización precisa y luego hacer que el programa recorra la memoria para invocar diferentes niveles de jerarquía. Viendo la documentación es posible identificar que la primera parte es un procedimiento que utiliza una utilidad estándar para obtener una medida precisa de tiempo de CPU usuario. La segunda parte es un bucle anidado que se usa para leer y escribir en la memoria en diferentes pasos y para diferentes tamaños de caché. La tercera parte calcula los tiempos de la sobrecarga de un bucle anidado, únicamente restando los tieppos totales medidos para ver cuánto tiempo duran los accesos. Los resultados se generan en un formato de achivo .cvs para importar los resultados en hojas de cálculo. Este código se encuentra en una versión alternativa en: https://github.com/gaomy3832/mem_sys_probe/blob/master/src/aca_ch2_cs2.c y los detalles de los autores y demás se pueden observar en la página del libro guía anteriormente mencionada.
#include "stdafx.h"
#include <stdio.h>
#include <time.h>
#define ARRAY_MIN (1024) /* 1/4 smallest cache */
#define ARRAY_MAX (4096*4096) /* 1/4 largest cache */
int x[ARRAY_MAX]; /* array going to stride through */
double get_seconds() { /* routine to read time in seconds */ __time64_t ltime;
_time64( <ime );
return (double) ltime;
}
int label(int i) {/* generate text labels */ if (i<1e3) printf("%1dB,",i);
else if (i<1e6) printf("%1dK,",i/1024);
else if (i<1e9) printf("%1dM,",i/1048576);
else printf("%1dG,",i/1073741824);
return 0;
}
int _tmain(int argc, _TCHAR* argv[]) {
int register nextstep, i, index, stride;
int csize;
double steps, tsteps;
double loadtime, lastsec, sec0, sec1, sec; /* timing variables */
/* Initialize output */
printf(" ,");
for (stride=1; stride <= ARRAY_MAX/2; stride=stride*2) label(stride*sizeof(int));
printf("\n");
/* Main loop for each configuration */
for (csize=ARRAY_MIN; csize <= ARRAY_MAX; csize=csize*2) { label(csize*sizeof(int)); /* print cache size this loop */
for (stride=1; stride <= csize/2; stride=stride*2) {
/* Lay out path of memory references in array */
for (index=0; index < csize; index=index+stride)
x[index] = index + stride; /* pointer to next */ x[index-stride] = 0; /* loop back to beginning */
/* Wait for timer to roll over */
lastsec = get_seconds();
sec0 = get_seconds(); while (sec0 == lastsec);
/* Walk through path in array for twenty seconds */
/* This gives 5% accuracy with second resolution */
steps = 0.0; /* number of steps taken */
nextstep = 0; /* start at beginning of path */
sec0 = get_seconds(); /* start timer */ { /* repeat until collect 20 seconds */ (i=stride;i!=0;i=i-1) { /* keep samples same */
nextstep = 0;
do nextstep = x[nextstep]; /* dependency */
while (nextstep != 0); }
steps = steps + 1.0; /* count loop iterations */
sec1 = get_seconds(); /* end timer */ } while ((sec1 - sec0) < 20.0); /* collect 20 seconds */
sec = sec1 - sec0;
/* Repeat empty loop to loop subtract overhead */
tsteps = 0.0; /* used to match no. while iterations */
sec0 = get_seconds(); /* start timer */ { /* repeat until same no. iterations as above */ (i=stride;i!=0;i=i-1) { /* keep samples same */
index = 0;
do index = index + stride;
while (index < csize);
}
tsteps = tsteps + 1.0;
sec1 = get_seconds(); /* - overhead */ } while (tsteps<steps); /* until = no. iterations */
sec = sec - (sec1 - sec0);
loadtime = (sec*1e9)/(steps*csize);
/* write out results in .csv format for Excel */
printf("%4.1f,", (loadtime<0.1) ? 0.1 : loadtime); }; /* end of inner for loop */
printf("\n");
}; /* end of outer for loop */
return 0;
}
Programa en C para Evaluar el Sistema de Memoria
Figura 2.30 : Ejemplo de Resultados para el programa en C para Evaluar el Sistema de Memoria
a. Observe y use el programa (cualquiera de los dos). Compílelo y ejecútelo, describa el programa (librerías usadas, rutinas clave, funciones y valores, cuáles son las salidas y que es lo que hace detalladamente. Ejecútelo sobre dos sistemas diferentes con configuración diferente (de procesador y memoria) y compare las salidas. Puede usar Microsoft Visual Studio pero preferiblemente use gcc en Linux.
b. Reproduzca la gráfica de ejemplo de la Figura 2.30 (página 135 del libro guía) para cada una de las configuraciones con sus resultados y explíquela.
Usando los resultados reproducidos, con su propia gráfica:
c. ¿Cuáles son el tamaño total, el tamaño del bloque de caché de segundo nivel? ¿Qué significa esto?
d. ¿Cuál es el tamaño de la memoria principal?
e. ¿Como modificaría el código o si es necesario realizar otro para probar algunas otras características de una caché de instrucciones? ¿Por qué cree que es importante conocer estas características?
Proyecto 3. Equipo 3. (Basado en los Ejercicios del Capítulo 1. del libro Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface). Ejercicio 1.10 (Página 67).
Supongamos que se tiene un procesador Intel Xeon E3-1285 v6 de 4.10GHz cuyo consumo de energía por núcleo esta dado por la ecuación:
Consumo de Poder Eléctrico= 146,3mA/GHz de voltaje2
Y cuya operación de voltaje para todo el procesador esta descrito por la ecuación:
Voltaje = (1/5) de Frecuencia +0.6
Teniendo en cuenta que se parte de un TDP de 79 W y teniendo en cuenta que la frecuencia es de 4.1 GHz, el voltaje sería de 1.42 V.
Igualmente, al correr un benchmarking, si observamos las instrucciones por núcleo usadas y el CPI promedio, se puede realizar la siguiente tabla.
Núcleos por Procesador | Instrucciones por Núcleo | CPI |
1 | 1.00E+10 | 1.0 |
2 | 5.00E+09 | 1.2 |
4 | 2.50E+09 | 1.7 |
Tabla de Instrucciones por Núcleo y CPI
a. Encuentre el consumo de poder medio de un programa que se ejecuta en 1, 2 y 4 núcleos asumiendo que cada núcleo opera a 3.7 GHz de Frecuencia.
b. Teniendo en cuenta la tabla anterior (Tabla de Instrucciones por Núcleo y CPI) ¿cuál sería el tiempo de ejecución de un programa para 1, 2 y 4 núcleos? Explique la tabla dada.
c. Teniendo en cuenta las especificaciones que puede encontrar en el sitio del fabricante, para ese procesador, cual sería la configuración mínima ideal para usar ese procesador en un servidor (DRAM, Disco Duro, Interfaz de Red, Tamaño del chasis del servidor, fuente de poder). ¿Cuál sería su costo aproximado en dólares?
d. Teniendo en cuenta la configuración y organización sugerida en el punto C. ¿hacia que aplicaciones dirigiría la solución? ¿Qué limitaciones arquitecturales tendría?
e. ¿Por cual procesador de otro fabricante podría remplazarse, suponiendo que la configuración de su servidor sea compatible? Justifique su respuesta.
Proyecto 4. Equipo 4. (Basado en los Ejercicios del Capítulo 2. del libro Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface). Ejercicio 2.20
El siguiente código (que se encuentra igual disponible en: https://gist.github.com/kenreisan/2477303b79bc326af945b0623b54a8a2) calcula la serie de Fibonnaci usando el método iterativo.
/*
* Autor: Eduardo Romero
* Version: 1.0
*
* Programa para calcular los numeros de la serie de
* Fibonacci. Se usa el metodo iterativo.
*
* Por las limitantes del rango de numeros que puede
* contener un "unsigned long long" el numero de Fibonacci
* que puede mostrar el programa es fibo93.
*/
#include <stdio.h>
#include <stdlib.h>
unsigned long long fibonacci(int num){
/*
* Recibe: Numero de la serie de Fibonacci.
*
* Regresa: El valor correspondiente alo numero
* de la serie de Fibonacci.
*
* Los casos bases son 0 y 1, despues solo es una suma
* numero fibo-1 y fibo-2.
*/
unsigned long long fibo1, fibo2, fibor;
if (num <= 0)
return 0;
if (num == 1)
return 1;
fibo1 = 0;
fibo2 = 1;
for (int i=2; i <= num; i++){
fibor = fibo1 + fibo2;
fibo1 = fibo2;
fibo2 = fibor;
}
return fibor;
}
int main(int argc, char *argv[]){
/*
* Recibe: El numero de la serie de Fibonacci desde la
* linea de comandos.
*
* Imprime en pantalla el numero deseado de la serie.
*/
unsigned long long resultado;
resultado = fibonacci(atoi(argv[1]));
printf("fibo[%s] = %llu\n",argv[1],resultado);
return 0;
}
a. Compilelo usando usando gcc y ejecútelo (recuerde que de acuerdo al código debe colocar el número máximo para encontrar la serie), en un computador personal de su preferencia diciendo la configuración principal arquitectural (Procesador y Memoria, compilador utilizado (gcc-4, icc, clang, etc), sistema operativo (distribución). Use las opciones -01w, -02 y -03 al compilar generando un ejecutable, por ejemplo de cada manera: suejecutable01.exe, suejecutableO2.exe y asi sucesivamente ¿Que observa en el comportamiento del código tanto al compilarlo como al ejecutar? ¿Que pasa si usa las opciones -O, -O0, -Ofast -Og y Oz?
b. Tomando el código .c paselo al ensamblador de base usando:
gcc -S -masm=intel FiboFuente.c -o miarchivo.
asm
y describa que observa en el archivo .asm
c. Para cada uno de los ejecutables anteriores, y describa que observa, identificando la cantidad de instrucciones.
objdump --disassemble=main -Mintel64 sucodigoejecutable o
objdumb -D sucodigoejecutable
d. Observando el .asm del punto b y la salida del objdumb del punto .c, y sabiendo que una optimización es el proceso de transformación de un fragmento de código en otro trozo de código funcionalmente equivalente para mejorar una o varias de sus características. Las dos características más importantes son la velocidad y el tamaño del código, ¿Observa variación en ellas (mejora, desmejora)? Recomendación: use las opciones de sistema operativo para saber cuánto se demora en ejecutar un programa.
Opción: Puede usar otro código de Fibonacci en c o c++ pero debe realizar los anteriores puntos.
Proyecto 5. Equipo 5. (Basado en los Ejercicios del Capítulo 3. del libro Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface). Ejercicio 3.12
Como se vió en el curso, la multiplicación en coma flotante es incluso más complicada y desafiante que la suma en coma flotante, y ambas palidecen en comparación con la división en coma flotante, siendo un reto incluso para operaciones con tecnología nueva y para uso nuevo, como pasa con la inteligencia artificial. En ese orden de ideas, NVIDIA propuso en el mes pasado la cuarta generación de sus chips Grace Hooper y Backwell, para arquitecturas computacionales que soporten inteligencia artificial (https://www.nvidia.com/en-us/data-center/tensor-cores/) Teiendo en cuenta esas especificaciones dadas, hay dos precisiones posibles y estandarizadas que pueden observarse en la siguiente tabla:
Tecnología: | Blackwell | Hopper |
Supported Tensor Core precisions | FP64, TF32, BF16, FP16, FP8, INT8, FP6, FP4 | FP64, TF32, BF16, FP16, FP8, INT8 |
Supported CUDA® Core precisions | FP64, FP32, FP16, BF16 | FP64, FP32, FP16, BF16, INT8 |
Tabla de Especificaciones preliminaries
a. Observando la table anterior, ¿Porque es relevante esta información y cuál es la diferencia entre estos dos tipos de tecnología? Haga una descripción de los aspectos más relevantes en términos de operaciones aritméticas para sistemas computacionales.
b. Calcule el producto de A y B manualmente, suponiendo que A y B están almacenados en el formato NVIDIA modificado de 16 bits para Tensor Cores, redondeando el resultado y mostrando como ejemplo, como serian esos pasos, como se presenta en la tabla siguiente:
A | B | |
a. | –8.0546875 × 100 | –1.79931640625 × 10–1 |
b. | 8.59375 × 10–2 | 8.125 × 10–1 |
c. Teniendo en cuenta el cálculo a mano indique si hay desbordamiento (sea Overflow o Underflow). Analice que pasaría con un patrón de 24 bits y también como un número decimal. ¿Qué tan preciso es su resultado? ¿Cómo se compara con el número que si haces la multiplicación usando 32Bits?
d. Esta tecnología es compatible con IEEE 754. ¿A que se refiere cuando se dice que se asume 1 guard, 1 round bit y 1? Sticky bit?
e. En términos arquitecturales (computacionales), ¿Cuál es la diferencia entre entrenamiento e inferencia? ¿Por qué es importante el punto flotante y la manera de manejarlo en las operaciones aritméticas entonces de acuerdo a estas dos tareas?
Proyecto 6. Equipo 6. (Basado en los Ejercicios del Capítulo 4. del libro Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface). Ejercicio 4.1
La siguiente figura, es la implementación básica del subconjunto MIPS, incluidos los multiplexores y líneas de control necesarios. El multiplexor superior (“Mux”) controla qué valor reemplaza a la PC (PC + 4 o la dirección de destino de la sucursal); El multiplexor está controlado por la puerta que conecta en “Y” la salida cero de la ALU y una señal de control que indica que la instrucción es una rama. El multiplexor intermedio, cuya salida regresa al archivo de registro, se utiliza para dirigir la salida de la ALU (en el caso de una instrucción aritmético-lógica) o la salida de la memoria de datos (en el caso de una carga) para escribir en el archivo de registro. Finalmente, el multiplexor inferior se usa para determinar si la segunda entrada de ALU proviene de los registros (para una instrucción aritmético-lógica O una rama) o del campo de compensación de la instrucción (para una carga o almacenamiento). Las líneas de control agregadas son sencillas y determinan la operación realizada en la ALU, si la memoria de datos debe leer o escribir y si los registros deben realizar una operación de escritura. Las líneas de control se muestran en color para que sean más fáciles de ver.
FIGURA 4.2 La implementación básica del subconjunto MIPS.
Igualmente, teniendo en cuenta que diferentes instrucciones utilizan diferentes bloques de hardware en la implementación básica de un solo ciclo y observando la siguiente instrucción:
Instrucción | Interpretación | |
a. | AND Rd,Rs,Rt Reg[Rd] | ND Rd,Rs,Rt Reg[Rd] |
b. | SW Rt,Offs(Rs) Mem[Reg[Rs] | SW Rt,Offs(Rs) Mem[Reg[Rs] |
a. Explique que hace la instrucción dada.
b. Observando la figura, explique detalladamente las señales de control generadas para la instrucción descrita y responda ¿cuáles son ellas?.
c. Identifique los bloques o recursos útiles para la instrucción dada. Explique la instrucción precisamente en la figura.
d. Claramente hay recursos que producen salidas y otros que no. ¿Identifíquelos y diga por qué?
e. En qué caso real de aplicación implementaría el conjunto MIPS mostrado en la figura.
Proyecto 7. Equipo 7. (Basado en los Ejercicios del Capítulo 5. del libro Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface). Ejercicio 5.17
Teniendo en cuenta los procesadores AMD Ryzen 7 PRO 7730U como AMD Ryzen 7 7735HS son multiprocesadores de chips (CMP), que tienen múltiples núcleos y sus cachés son L1: 512KB, L2: 4.0MB, L3: 16MB y pueden llegar hasta 144 MB de memoria en chip, usados para equipos de escrito, se va a hacer énfasis en la memoría caché principalmente. El diseño de esas caché en chip CMP tiene ventajas y desventajas interesantes. Las siguiente tablas muestran las tasas de errores y las latencias de aciertos para dos pruebas comparativas con diseños de caché L2 privada y compartida. Supongamos que la caché L1 falla una vez cada 32 instrucciones, obviando la L3 para este benchmarking.
Privada | Compartida | |
Benchmark AMD Ryzen 7 PRO 7730U misses-per-instruction | 0,25 | 0,10 |
Benchmark AMD Ryzen 7 7735HS misses-per instruction | 0,06 | 0,03 |
Tabla de resultados de Benchmarking
Private Caché | Shared Caché | Memory | |
a. | 10 | 30 | 260 |
b. | 20 | 60 | 240 |
Tabla de de Latencias de Acierto
a. Realice una comparación técnica entre los dos procesadores, exponiendo las principales diferencias arquitecturales (y lo que implica, como ventajas y desventajas) así como las similitudes. Recuerde haga énfasis en la memoria y caché.
b. La latencia de la caché compartida aumenta con el tamaño del CMP. Que hay que tener en cuenta para elegir un mejor diseño si la latencia de la caché compartida se duplica, teniendo en cuenta que el ancho de banda fuera del chip se convierte en un cuello de botella a medida que aumenta la cantidad de núcleos CMP. Elija el mejor diseño si la latencia de la memoria fuera del chip se duplica.
c. Siguiendo la ley de Moore, supongamos que las nuevas generaciones de procesadores duplican el número de núcleos cada 18 meses. Para mantener el mismo nivel de rendimiento por núcleo, ¿cuánto más ancho de banda de memoria fuera del chip se necesita para un procesador de 64 Núcleos?
d. Teniendo en cuenta ahora si, todos los niveles de caché y la jerarquía de memoria: ¿Que clases de optimizaciones pueden mejorar la cantidad de errores simultáneos?
e. En los dos procesadores dados, ¿para que serviría la Caché L3? ¿Afectaría los resultados de las tablas anteriores? Justifique su respuesta, por ejemplo, explicando como y por qué en caso de afectar y si no, por qué no.
Proyecto 8 . Equipo 8. (Basado en los Ejercicios del Capítulo 6. del libro Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface). Ejercicio 6.20
La evaluación y el mantenimiento diarios de sistemas computacionales operativos involucran muchos de los conceptos discutidos en todo el curso. Teniendo en cuenta las complejidades de la evaluación de sistemas, se plantea un análisis para un uso especifico, en este caso para inteligencia artificial.
a. Configure una solución con una NVIDIA GH200 Grace-Hopper para proporcionar 50 terabytes de almacenamiento que ejecutan diversas aplicaciones de inteligencia artificial. Su configuración debe minimizar el consumo de energía y al mismo tiempo abordar los problemas de rendimiento y disponibilidad de la matriz de discos. Asegúrese de considerar las propiedades de ejecuciones grandes al realizar su configuración (No olvide identificar tanto la cantidad de total y como tipo de procesadores involucrados en la NVIDIA GH200)
b. Recomendar un sistema de copia de seguridad y archivado de datos para la matriz de discos para la solución propuesta, describiendo en detalle su recomendación, incluyendo el sistema de archivos a usar, sugiriendo la capacidad mínima y la capacidad idónea.
c. Evalúe el costo y la idoneidad para la aplicación principal de este sistema. Seleccione los parámetros para comparar utilizando las propiedades de la aplicación, así como los requisitos especificados.
d. De acuerdo con su recomendación, seleccione dos posibles integradores/fabricantes (HPE, Lenovo, SuperMicro, DELL) y compárelos.
e. El sistema puede ser enfriado tanto por aire como por agua, teniendo en cuenta lo disponible en el mercado, realice una comparación técnica y en costos de la solución propuesta.
Proyecto 9 . Equipo 9. (Basado en los Ejercicios del Capítulo 7. del libro Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface). Ejercicio 7. 20
El Benchmarking es una evaluación comparativa y es considerado un campo de estudio que implica identificar cargas de trabajo representativas para ejecutar en plataformas informáticas específicas con el fin de poder comparar objetivamente el rendimiento de un sistema con otro. En este ejercicio compararemos dos clases de puntos de referencia, usando LINPACK. Este benchmarking se utiliza para resolver un sistema denso de ecuaciones lineales, que sirve como punto de referencia que permite al usuario escalar el tamaño del problema y optimizar el software para lograr el mejor rendimiento para una máquina determinada. El resultado se da en número de FLOP por segundo.
a. Usando una versión de LINPACK para PC (hay decenas en internet que igualmente puede buscarse como HPL), seleccione una y explique su funcionamiento. Ejecútela en dos sistemas multinúcleo con configuraciones tanto de memoria como de procesador diferentes. Compare los resultados mostrando cual seria el equipo con mas capacidades y mas velocidad de acuerdo a ese benchmark.
b. Observe los últimos resultados del Top500 (https://www.top500.org/) que usa el mismo LINPACK pero para grandes plataformas. Tomando los tres primeros sistemas en la lista, explique los resultados y haga las comparaciones pertinentes en esos tres sistemas.
c. En la misma página se presenta tanto el HPCG como el Green500. Explique estos dos benchmarking en detalle.
d. Observe los últimos resultados tanto para el HPCG como el Green500 y compárelos con los del Top500. ¿Qué discusión se plantearía sobre los resultados, por ejemplo, la diferencia entre ellos?
e. Calcule o determine (a través de un análisis intuitivo) como serían los resultados que obtendría en HPCG como en Green500 en los dos sistemas usados para el punto a.
Equipos de Trabajo (2-2024)
Estos equipos estan dados tanto para las prácticas como para el desarrollo del proyecto final.
Grupo A1
Grupo A2
Grupo E2
PRACTICAS 2-2024
- Condiciones Generales
- Cada grupo de asignado para el trabajo final es el mismo para la entrega de las prácticas, compuesta por un número determinado de estudiantes matriculados en el curso. Las asignaciones de los grupos están dados en el item del proyecto final para este semestre.
- Cada grupo debe crear un espacio GitHub/GitLab compartido, abierto y de acceso libre, como proyecto y en el que los integrantes esten enlazados. En este espacio se subirán los archivos .md .hdl y un readme en el que expliquen que hicieron en cada taller de Nand2Tetris.
- Las entregas de las prácticas deben publicarse estrictamente en la fecha máxima indicada para cada una de ellas, la cual se encuentra subrayada. Desde el momento del curso hasta las 23:00 (11:00 p.m.). Después de la fecha y hora de entrega dada, la calificación se penalizará disminuyendo el valor de la misma.
- Las prácticas tienen fecha sugerida de realización, sin embargo, pueden entregarse antes. Recuerde La fecha de entrega esta subrayada en el encabezado de cada práctica.
- Cada entrega de práctica deberá indexarse e identificarse correctamente, por ejemplo un título podría ser: Práctica 1: Familiarizándose con las sesiones prácticas e introducción al curso.
- Un único miembro del grupo debe enviar el correo respectivo informando sobre la publicación de la entrega en el sitio tanto al profesor como al soporte del curso. Por ejemplo colocando en el asunto del correo: Entrega Práctica 1 - Equipo 1 del Curso de Arquitectura de Computadores 2-2024. Se recomienda en el cuerpo del correo colocar los nombres de los integrantes del grupo con su respectivo código de estudiante, que participaron en esa práctica.
- Recuerden que en el readme, deben colocar por escrito una descripción o introducción a la práctica misma, agregando la explicación de los códigos y la bibliografía utilizada.
- Es posible que para una práctica específica existan preguntas adicionales, condiciones particulares o bonus propuestos.
- ADVERTENCIAS
- ADVERTENCIA UNO: Todas las prácticas deben realizarse de manera propia por cada grupo, por lo que se espera que las entregas relacionadas con las prácticas sean diferentes, incluyendo las de los semestres anteriores. Al encontrar prácticas idénticas en redacción o códigos, la calificación se dividirá entre los grupos implicados.
- ADVERTENCIA DOS: Si se descubre que la práctica fue mandada a realizar o hubo plagio (por ejemplo de los trabajos del semestre pasado, que pueden ser consultados pero no copiados, se aplicará (adjuntando las evidencias que sustenten la penalización y el debido proceso respectivo) el reglamento de estudiante de pregrado (que puede terminar en suspensión, cancelación de la asignatura o de la matricula o acciones legales).
- ADVERTENCIA TRES: Normalmente, de manera aleatoria en los cursos teóricos se preguntará a alguno de los integrantes del grupo, una breve explicación de lo que hizo en la práctica. Esto aplica para todas las entregas.
- RECOMENDACIONES
- RECOMENDACION UNO: Si alguno de los integrantes del grupo no esta trabajando, pueden informar tanto al soporte del curso como al profesor via correo electrónico, OPORTUNAMENTE, no lo dejé hasta el final. Sin embargo se espera que las diferencias sean tratadas por cada grupo independientemente al interior de cada uno.
- RECOMENDACION DOS: Lea detenidamente las recomendaciones tanto de realización como para entrega de la práctica.
- Por la dificultad de las prácticas de este semestre, algunas de ellas están pensadas para que se realicen en dos semanas (correspondiente a dos sesiones prácticas consecutivas).
- La publicación de la práctica correspondiente debe hacerse en estricto orden y no antes de la fecha de entrega (ver las recomendaciones anteriores respecto a la fecha y hora de entrega) . TODAS LAS PRACTICAS ESTAN DISEÑADAS PARA ENTREGARSE DE ESA MANERA. En la siguiente lista de prácticas la fecha de entrega aparece como subrayada.
- Nota importante: NO OLVIDE AGREGAR LAS REFERENCIAS BIBLIOGRAFICAS O FUENTES DE INFORMACION USADAS PARA DESARROLLAR EL LABORATORIO AL FINAL DE EN UNA SECCION DE LA PRACTICA CORRESPONDIENTE. LA FALTA DE REFERENCIAS BIBLIOGRAFICAS Y FUENTES DE INFORMACION PENALIZA LA EVALUACION DE LA PRACTICA (Tenga en cuenta esto para todas las entregas).
Primera Práctica (Realización 15 y 22 de Agosto de 2024)
Esta práctica se realiza ya por los grupos de trabajo designados y en dos partes.
Primera Parte:
Conózcanse con sus compañeros de grupo de trabajo.
Seleccionen entre sus compañeros un nombre para el grupo de trabajo de únicamente una frase en cualquier idioma: por ejemplo: Grupo Vital, Grupo Tesla (este no es tan original), Grupo Bucaro, etc. Este nombre de grupo, se usa como nombre de proyecto en su espacio GitHub/GitLab.
Cree el sitio web dentro del espacio en GitHub/GitLab-proyecto que sera para la entrega de prácticas, teniendo en cuenta los tres items principales: Integrantes, Prácticas y Trabajo Final.
En el sitio web creado, en la sección integrantes, coloque los nombres de ustedes, una pequeña descripción bibliográfica de cada uno de los integrantes del grupo, información importante (enlaces donde se puede encontrar más información académica o profesional, redes sociales (X, instagram, facebook, linkedin), nivel en el que se encuentra, un hobbie), una frase que describa su gusto profesional de no mas de 280 cáracteres (por ejemplo, " Entusiasta de la Inteligencia Artificial y la Tecnología") y una fotografía reciente (ver por ejemplo: https://www.sc3.uis.edu.co/staff/) en no mas de 20 renglones por integrante y mínimo 12. Tamaño de la letra de base 12px.
Al crear y publicar el sitio, difunda su creación y existencia en las redes sociales (por ejemplo, con un X por la cuenta de alguno de sus compañeros o por facebook).
Una recomendación, si desea una guía para principiantes de Git/GitHub-GitLab en español es la guia oficial de Git: https://docs.github.com/es o https://www.freecodecamp.org/espanol/news/guia-para-principiantes-de-git-y-github/
Segunda Parte:
Los profesores Noam Nisan y Simon Schocken, autores del libro The Elements of Computing Systems, Building a Modern Computer from First Principles, disponible aquí, crearon Nand2Tetris un conjunto de herramientas software para entender ciertos elementos de arquitectura de computadores que precisamente son tratados en el libro y en el curso que ellos dirigen en sus universidades y que nosotros tomamos como uno de las referencias de base. Esta segunda parte de la práctica dos (2), se puede considerar como instalando y reconociendo las principales características de Nand2Tetris, por lo que se busca que responda realizando el proyecto 1: Lógica Booleana: https://www.nand2tetris.org/project01 las preguntas generales dadas en la descripción general, teniendo en cuenta las condiciones generales de entrega de las prácticas explicadas anteriormente.
Para realizar esta práctica debe tener claro y repasar conceptos de lógica booleana previos al curso actual, visto en los cursos anteriores que son requisito para ver esta materia. Es posible que encuentre la respuesta a este proyecto por medios en internet, de ser así, debe mencionar la fuente original, hacer sus propias modificaciones, entender y explicarlo correctamente.
En cada uno de los proyectos que se usan en todas las prácticas relacionadas con Nand2Tetris, encontrarán símbolos que representan, la descripción del proyecto, las diapositivas del curso de los profesores Nisan y Shocken y la fuente bibliográfica de base del libro donde pueden encontrar mas información. Sin embargo, no en todos los casos esta habilitado esa opción porque corresponde a fuentes fundamentales de información que pueden consultarse en otros libros.
Para poder realizar el proyecto, en términos técnicos, deben utilizar el respectivo software disponible en el sitio de Nand2Tetris. Puede descargarlo o trabajarlo en linea.
Preguntas adicionales:
- ¿Que consideraciones importantes debe tener en cuenta para trabajar con Nand2Tetris?
- ¿Qué otras herramientas similares a Nand2Tetris existen? (De mínimo dos ejemplos)
Recomendación importante: Si bien los grupos pueden COLABORAR entre ellos (NO COPIARSE O PLAGIARSE) para la realización de los proyectos, recuerden que deben ser diferentes. La colaboración les permitirá facilitar el uso de la plataforma, confrontar resultados y realizar discusiones entre los diferentes grupos.
Segunda Práctica: (5 y 12 de Septiembre):
A partir de esta práctica, la dificultad comienza a aumentar un poco. Se debe realizar el proyecto 2 denominado Lógica Aritmética y, que puede encontrar en: https://www.nand2tetris.org/project02 y el proyecto 3, denominado Lógica secuencial, donde se trataran aspectos importantes relacionados con la memoria y se puede encontrar en: https://www.nand2tetris.org/project03
- ¿Cuál es el objetivo de cada uno de esos proyectos con sus palabras y describa que debe hacer para desarrollarlo?
- Explique las principales diferencias entre la lógica aritmética y la lógica secuencial.
Recomendación Importante: como se mencionó anteriormente en el sitio web creado por ustedes y en el cual van a colocar esta práctica (no olvide identificarlo correctamente), mencione los principales elementos de entrega de la práctica: códigos realizados (bien explicados), resultados relevantes obtenidos y descripción de los mismos.
Bonus: ¿Qué tipo de unidades aritmético lógicas existen?
Tercera Práctica (19 y 26 de Septiembre):
Este laboratorio trata el proyecto 4, relacionado con lenguaje de máquina puede encontrarse en: https://www.nand2tetris.org/project04 y busca atacar posteriormente el proyecto 5: arquitectura computacional, que puede consultarse en: https://www.nand2tetris.org/project05
- ¿Por qué el lenguaje de máquina es importante para definir la arquitectura computacional?
- ¿Qué diferencia ven entre arquitectura computacional, arquitectura de software y arquitectura del sistema? Justifique su respuesta.
Recomendación Importante: Recuerden las reglas para la publicación en su sitio de informes relacionados con las entregas.
Bonus: Como informático o computista: ¿La arquitectura computacional o la arquitectura del sistema no tiene en cuenta igualmente la arquitectura de software? Justifique su respuesta.
Cuarta Práctica (3 de Octubre)
Este proyecto 6, relacionado con ensamblador encontrarse en: https://www.nand2tetris.org/project06
- Teniendo en cuenta las características del ensamblador, ¿Cuál es la principal limitante que observan? Justifique su respuesta.
Bonus: ¿Por qué es tan importante el ensamblador?
Quinta Práctica (10 y 17 de Octubre)
Este laboratorio trata el proyecto 7, relacionado con máquina virtuales y el stack aritmético puede encontrarse en: https://www.nand2tetris.org/project07 y busca atacar el proyecto 8: el control computacional, que puede consultarse en: https://www.nand2tetris.org/project08
- Teniendo en cuenta el marco de estas dos prácticas que son las máquinas virtuales. ¿Cuál cree que es el futuro de las máquinas virtuales?
- ¿Cual es la principal similitud entre un contenedor y una máquina virtual?
En el sitio web respectivo para esta práctica (no olvide identificarlo correctamente), mencione los principales elementos de entrega de la práctica: códigos realizados (bien explicados), resultados relevantes obtenidos y descripción de los mismos.
Bonus: ¿Cual es la ventaja del contenedor respecto a la máquina virtual?
Sexta Práctica (24 de Octubre)
Este laboratorio trata el proyecto 9, relacionado con lenguaje de alto nivel puede encontrarse en: https://www.nand2tetris.org/project09
- Desarrolle más el concepto de lenguaje de alto nivel, teniendo en cuenta la diferencia entre lenguajes de programación propiamente dichos e interpretadores.
- ¿Qué lenguajes interpretadores ademas del Python existen?
Bonus: ¿Qué se debe considerar para proponer un nuevo y buen lenguaje de programación, teniendo en cuenta la arquitectura de computador completa? Justifique su respuesta.
Séptima Práctica (31 de octubre)
Este laboratorio trata el proyectos 10 y 11 , relacionados con la compilación: https://www.nand2tetris.org/project10 y https://www.nand2tetris.org/project11
- Desarrolle más el concepto de compilación y explique por es tan importante.
- De una lista de compiladores que existen y para que lenguajes, organizándolos de mayor uso a menor (tenga en cuenta sin son open source o no y en este ultimo caso, no olvide mencionar el precio del mercado).
Bonus: ¿Como se construye un compilador? Justifique su respuesta.
Octava Práctica (7 de Noviembre)
Este laboratorio trata el proyectos 12 , relacionado el sistema operativo: https://www.nand2tetris.org/project12
- Desarrolle más el concepto de compilación y explique por es tan importante.
- ¿Que elementos de la arquitectura computacional debe considerarse para proponer la implementación de un sistema operativo?
Bonus: ¿En que lenguaje (o lenguajes) de programación se escriben los sistemas operativos? De ejemplos de su respuesta.
Novena Práctica - INDIVIDUAL ( 14 de Noviembre)
Para esta práctica recuerde que debe enviarla de la misma manera que las anteriores. Cada uno de los miembros del equipo, deben subir su respectivo video al sitio web del grupo (github), en la página respectiva para esta práctica.
Esta práctica de regreso tiene como objetivo responder algunas preguntas claves relacionadas con la ética profesional como ingenieros de sistemas y computistas, de acuerdo al código de ética propuesto por la ACM.
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 trate y responda cada una de las preguntas. Llegue a conclusiones especificas para cada una de las preguntas siguiendo las indicaciones que se han manejado para la entrega de las prácticas.
- ¿Qué opina de los principios éticos generales de la profesión? Argumente de manera concreta su respuesta.
- ¿Por que cree que es importante estos principios éticos, hoy en dia, en un contexto en el que la Inteligencia Artificial relativiza la acción humana? Justifique su respuesta.
- El punto 2.6, igualmente es algo que genera debate debido a la realidad laboral, ambiciones y necesidades. 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 o inclusive cuando son contratados en países "en desarrollo", porque salen mas baratos). 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? Bonus: Analice un caso conocido y expóngalo para complementar su respuesta.
- ¿Pensando en comunidad, piensa que los ingenieros de sistemas UIS se sienten identificados o no con el código propuesto por la ACM? Justifique su respuesta.
- ¿Como creen que ustedes pueden trascender e influir en su profesión dentro de cinco (5) años?
Condiciones especiales de entrega:
- Para la entrega de esta práctica el video debe contener entre (5) siete y (7) minutos.
- Bonus: Debe promocionar igualmente su video por las redes sociales (por ejemplo, via X o facebook) y lograr por lo menos (5) cinco visitas, con el hashtag #EticaComputacionalACM2024 .
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. Noam Nisan and Shimon Schocken. The Elements of Computing Systems, Building a Modern Computer from First Principles
5. 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
6. 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/)
- Video acerca de la exactitud y la precisión (Accuracy vs Precision): https://www.youtube.com/watch?v=d7syvtouiOg
HISTORICO DE PROYECTOS PASADOS
En esta sección, hay algunos de los materiales y enlaces de los proyectos de semestres pasados.
PROYECTO FINAL DE CLASE PARA EL SEGUNDO SEMESTRE DEL 2023
Ademas de las consideraciones anteriores, el trabajo final planteado para este semestre es fundamentalmente la evaluación de una solución basada en un sistema computacional, planteada para unos requerimientos funcionales específicos. En todos los casos se les presentará (en real) a cada equipo una arquitectura implementada, los requerimientos que están supliendo, los costos y una documentación de base. Todas las propuestas son ficticias (asi como las empresas que en algunos proyectos se menciona).
Consideraciones Generales:
Estas condiciones generales, son las mínimas a observar, no están en orden y en cada uno de los equipos, debe presentarse en una prioridad de acuerdo al criterio propio.
- Debe presentar las especificaciones técnicas relevantes que ustedes observen, indicando, por ejemplo, tipo de arquitectura computacional usada que resalte, tipo de computación (si es de propósito general o no), tipo y características de los procesadores, memoria, red, etc.
- Debe mostrarse las medidas de rendimiento conocidas y relevantes, generalmente dadas por los fabricantes (Bonus: confrontación con datos de medidas de rendimiento dadas por comunidades, universidades, entidades, independientes, etc.)
- Debe presentarse el precio en el mercado (estimado, no exacto) de la solución presentada (incluyendo fabricante o fabricantes que ofrecen la solución, así como canales de venta).
- Debe considerarse y presentarse las limitaciones y posibles problemas que presente la solución analizada.
- Debe evidenciarse las necesidades de Infraestructura y Energía (por ejemplo, espacio, enfriamiento, consumo energético) y personal de administración (conocimientos técnicos).
- Debe analizarse el ciclo de vida: Extracción, Fabricación, Transporte, Utilización, Fin de Vida) (Norma ISO 1404)
- Debe considerarse y mencionarse la solución alternativa no detallada (in situ o en la nube).
- Deberá mostrarse la Evaluación presentada por ustedes de acuerdo con la siguiente clasificación:
- Excelente
- Buena
- Aceptable
- Deficiente
- Mala
Justificando su respuesta.
Proyecto 1 | Vehículo Autónomo con NVIDIA Jetson Nano |
NVIDIA® Jetson Nano™ Developer Kit es una computadora pequeña y poderosa que le permite ejecutar múltiples redes neuronales en paralelo para aplicaciones como clasificación de imágenes, detección de objetos, segmentación y procesamiento de voz. Todo en una plataforma fácil de usar que funciona con tan solo 5 vatios. El sistema usa una tarjeta microSD con la imagen del sistema, inicia el kit de desarrollador y usa el mismo SDK NVIDIA JetPack que se utiliza en toda la familia de productos NVIDIA Jetson™. JetPack es compatible con la plataforma de NVIDIA para entrenar e implementar software de IA, lo que reduce la complejidad y el esfuerzo de los desarrolladores.( https://developer.nvidia.com/embedded/jetson-nano-developer-kit).
Localmente, unos estudiantes de ingeniería de sistemas de la UIS han implementado un vehículo autónomo basado en NVIDIA Jetson Nano (https://developer.nvidia.com/blog/nvidia-jetson-project-of-the-month-an-ai-powered-autonomous-miniature-race-car-gets-on-track/) inspirados en el proyecto Donkey Jetson Car (https://developer.nvidia.com/embedded/community/jetson-projects/donkey_car ) y en el race-car (https://jetsonhacks.com/racecar-j/) Con esta implementación han propuesto una start-up para entretenimiento y enseñanza usando estos vehículos, para que los estudiantes de últimos cursos de bachillerato en Colombia principalmente y de carreras diferentes a computación, participen en concursos (https://developer.nvidia.com/embedded/diy-ai-race) y aprenda de manera práctica conceptos de IA, programación y vehículos autónomos. Un grupo inversor los contrata para evaluar la viabilidad de este tipo de vehículos basada en NVIDIA Jetson Nano. Recomendación principal: Debe planificar una cita con SC3UIS para ver los carros autónomos y entrevistarse con el responsable de las NVIDIA Jetson Nano Pablo Rojas. | |
Proyecto 2 | Servidor Para Cómputo Científico Pre-Exascale Basado en Super Micro y AMD |
SuperMicro ha iniciado un proyecto para soportar necesidades de cómputo pre-Exascale con la Universidad Industrial de Santander, via Supercomputación y Cálculo Científico (SC3UIS) en un proyecto denominado SMExa. Para ello ha puesto un servidor AS-2025HS-TNR, que contiene fundamentalmente (2) dos CPUs x AMD EPYC Genoa 9554 64C/128T 3.1G 256M, 384GB RAM, (1) una GPU AMD Instinct MI210 64GB, 300 TB de Disco Duro y una red 100Gb. Infiniband. Teniendo en cuenta que los procesadores son AMD (tanto CPUs como GPUs) deben programarse de manera diferente para optimizar su uso, con la utilización ROCm (https://www.amd.com/es/graphics/servers-solutions-rocm ) (https://github.com/RadeonOpenCompute/ROCm) (https://github.com/ROCmSoftwarePlatform) tanto en aplicaciones de HPC tradicionales como simulaciones hasta necesidades de analítica de datos e Inteligencia Artificial.
SC3UIS, los contrata a ustedes de manera independiente para que realicen una evaluación de la plataforma teniendo en cuenta principalmente, que la experticia del equipo de desarrollo es usando procesadores Intel y GPUs provistas por NVIDIA a través del supercomputador GUANE-1 principalmente. Recomendaciones: Planificar una cita con los responsables de operaciones via [ | |
Proyecto 3 | Servidor Para Cómputo Científico Pre-Exascale Basado en DELL y AMD |
DELL ha iniciado un proyecto para soportar necesidades de cómputo pre-Exascale con la Universidad Industrial de Santander, via Supercomputación y Cálculo Científico (SC3UIS) en un proyecto denominado ExaDELL. Para ello ha puesto un servidor PowerEdge R7650, con la siguiente información:
SC3UIS, los contrata a ustedes de manera independiente para que realicen una evaluación de la plataforma teniendo en cuenta principalmente, que la experticia del equipo de desarrollo es usando procesadores Intel y GPUs provistas por NVIDIA a través del supercomputador GUANE-1 principalmente. Sin embargo, el modelo WRF que se ha ejecutado solo usa CPUs. Recomendaciones: Planificar una cita con los responsables de operaciones via [ | |
Proyecto 4 | Millicluster para Arquitectura IoT Basada en RasberriPi |
Unos estudiantes de ingeniería de sistemas de la UIS, han propuesto un Millicluster basado en Rasberri PI, inspirados en https://www.raspberrypi.com/tutorials/cluster-raspberry-pi-tutorial/ y en https://blog.bricogeek.com/noticias/raspberry-pi/como-hacer-un-cluster-con-raspberry-pi-y-docker/ para necesidades en un sector rural, que quiere integrar esta solución para el manejo de datos de sensores para sus cultivos de mora.
Para su cluster propuesto usan el siguiente hardware:
Según los estudiantes este clúster tiene un costo total de $150 dólares (sin incluir lo que se conoce como humanware). Una entidad asociada al equipo del ministerio de agricultura quiere invertir en la propuesta y los contrata para evaluar la viabilidad de este tipo de soluciones, es importante confrontar el precio dado y si es realista. Recomendación principal: Se puede planificar (o no) una cita con SC3UIS para ver un ejemplo en vivo de este tipo de arquitecturas Pablo Rojas. | |
Proyecto 5 | Supercomputador GUANE-1 (Implementado en 2012 y Actualizado en 2016) |
GUANE-1 https://es.wikipedia.org/wiki/Guane-1_(supercomputador) ) (https://www.sc3.uis.edu.co/recursoshpc/) (GpUs Advanced computiNg Environment) que traducido del inglés significa Ambiente de Computo Avanzado de GPUs.) es la infraestructura de referencia de Supercomputación y Cálculo Científico UIS (SC3UIS). Basado principalmente en procesadores NVIDIA FERMI GPUs y procesadores Intel, es una infraestructura que hoy en dia se considera obsoleta a pesar que su vida útil fue extendida de manera asombrosa por el equipo de SC3UIS, soportando aun las necesidades de cómputo de altas prestaciones de los investigadores.
La Universidad Industrial de Santander, plantea renovar la infraestructura de referencia, pero requiere una consultoría independiente para saber que tan obsoleta es la tecnología y por qué debería ser remplazada. Para ello, los contrata a ustedes para recibir su opinión. Recomendaciones: Planificar una cita con los responsables de operaciones via [[ | |
Proyecto 6 | Servidor para Visualización Avanzada Yajé |
Yajé es un proyecto que permite ofrecer una plataforma para explotar Visualización como Servicio (Viz as a Service) para usuarios científicos remotos. Este es un proyecto común, desarrollado con el apoyo de NVIDIA. Actualmente, YAJÉ 2.0, realizado en colaboración igual con NVIDIA, utiliza contenedores y arquitecturalmente se integra con GUANE1R y se usa tecnología NVIDIA GeForce GTX Titan. En general, YAJÉ permite explotar el modelo de Viz as a Service, integrándose con plataformas HPC, dirigido a necesidades de interacción y visualización remota, aprovechándose de la flexibilidad del uso de contenedores, involucrando componentes hardware y software. ((https://www.sc3.uis.edu.co/recursoshpc/) Los componentes principales son:
· Manufacturadorr: HPE · Nombre del Producto: ProLiant ML350 Gen9 · Procesador: 1 Intel(R) Xeon(R) CPU E5-2609 v3 @ 1.90GHz – 6 Cores · Memoria Total: 49031292 kB – 48GB · GPU: 1 NVIDIA GeForce GTX Titan X 12 GB La Escuela de Trabajo Social, dentro de su área de Humanidades Digitales, analiza el uso de Yajé para los proyectos del Colaboratorio de Visualización en Inmersión Avanzada. Para ellos los contrata a ustedes para analizar si Yajé puede soportar las necesidades básicas de las actividades de visualización como servicio (remoto) y que debería tenerse en cuenta si se quiere actualizar. Recomendaciones: Planificar una cita con los responsables de operaciones via [[ | |
Proyecto 7 | Servidor para Cómputo Avanzado FELIX |
FELIX es una plataforma propuesta por el equipo de SC3UIS, para soportar el alto rendimiento en aplicaciones de Inteligencia Artificial, principalmente aquellas que requieran ambientes de ejecución híbridos o basados en TPUs.
Técnicamente, tiene el siguiente hardware:
La Escuela de Historía, plantea usar FELIX para correr ciertas herramientas basadas en TensorFlow, pero requiere una consultoría independiente para saber que tan buena es la tecnología. Para ello, los contrata a ustedes para recibir su opinión. Recomendaciones: Planificar una cita con los responsables de operaciones via [[ | |
Proyecto 8 | Computador Cuántico UIS |
Un profesor de la Escuela de Física, afirma que debe comprarse un computador cuántico en la Universidad Industrial de Santander, como aquellos que vende la compañía D-WAVE (https://www.dwavesys.com/) . Y pone como ejemplo el Computador cuántico que se encuentra en el centro de supercomputación de Julich en Alemania (https://juelich-quantum.de/en/) o de la Universidad de Waterloo en Canada (https://uwaterloo.ca/institute-for-quantum-computing/events/quantum-computing-d-wave-processor)
El profesor afirma que el costo del equipo es de solo USD 2.000.000 (Dos millones de doláres) teniendo en cuenta las adecuaciones, por lo que la Universidad Industrial de Santander los contrata como consultores independientes, para analizar la propuesta con la información dada, teniendo en cuenta el mínimo computador cuántico comprable a D-WAVE y sobre todo, si la información del costo dado por el profesor es realista. Recomendaciones: Además de consultar referencias, los sitios web de la compañía y los institutos dados, planificar una cita (que puede ser virtual) con el profesor Gilberto Diaz ([ | |
Proyecto 9 | Cluster para Apoyo Académico EISI |
La Escuela de ingeniería de Sistemas e Informática (EISI) ha implementado un cluster para soporte académico para todos los cursos que requieran dicha plataforma.
El Centro de Estudios de Ingeniería de Sistemas les solicita a ustedes conocer y divulgar tanto las características técnicas como ventajas tecnológicas y funcionamiento de dicha plataforma adquirida. Recomendaciones: Planificar una cita con los responsables de técnicos vía [ |
Sitios web seleccionados de los equipos pasados
- https://sites.google.com/view/binary-beasts/
- https://sites.google.com/view/athena-command/
- https://sites.google.com/view/arquitecturagrupo3/
- https://sites.google.com/view/xor-fusion
- https://sites.google.com/view/alphateamarquitectura/
- https://ekismet1.wixsite.com/2022-1a2
- https://sites.google.com/view/grupo-arkham/
- https://jmario1604026.wixsite.com/arquitectura
- https://juanfelipevn.wixsite.com/grupo-arquitectura
Asignaciones y Temáticas de Proyectos (2 Semestre 2021)
Estas asignaciones corresponden a los mismos grupos generados para las prácticas.
El proyecto es planteado en las mismas condiciones que el proyecto del semestre pasado teniendo en cuenta el alcance del curso, llevándolo mas hacia una actividad de recomendación tecnológica y conocimientos como ingenieros, que hacia una actividad científica/académica. Cada uno de los grupos tendrá un reto a realizar en el cual siguiendo las consideraciones generales que se darán a continuación deberán apoyar la toma de decisiones de acuerdo a lo solicitado.
Consideraciones Generales:
- Debe presentar las especificaciones técnicas relevantes, indicando por ejemplo, tipo de arquitectura computacional usada que resalte, tipo de computación (si es de propósito general o no), tipo y características de los procesadores, memoria, red, etc.
- Medidas de rendimiento conocidas y relevantes, generalmente dadas por los fabricantes (Bonus: confrontación con datos de medidas de rendimiento dadas por comunidades, universidades, entidades, independientes, etc.)
- Precio en el mercado (estimado, no exacto) de la solución presentada (incluyendo fabricante o fabricantes que ofrecen la solución asi como canales de venta).
- Limitaciones y posibles problemas que presente la solución recomendada.
- Necesidades de Infraestructura y Energía (por ejemplo, espacio, enfriamiento, consumo energético) y personal de administración (conocimientos técnicos).
- Solución alternativa no detallada (in situ o en la nube).
- JUSTIFICAR MUY BIEN SU ELECCION.
Equipo 1
Una empresa pequeña, tipo Spin Off universitaria busca tratar problemas diversos en Inteligencia Artificial para salud, para lo cual los contrata a ustedes como equipo de consultores, para adquirir una solución tecnológica in-situ que permita probar diversos tipos de algoritmos usando ambientes de desarrollo y ejecución conocidos (Pytorch, TensorFlow, etc.), normalmente sobre el sistema operativo linux y compiladores Open Source. Dicha plataforma debe poder ser accesada por red via Internet y redes privadas específicas (como la Red Académica RENATA), para un número de 10 usuarios simultáneos posibles. Se espera que los algoritmos , desarrollados asi como las aplicaciones manejen una escala mediana de datos y procesos. No es una plataforma de producción, sino de prueba, entrenamiento y despliegue, como se mencionó, de mediana escala. La plataforma deberá enlazarse con una plataforma de almacenamiento dedicado que ya contiene la empresa tipo SAN de 250 TB con puertos de interconexión estándar que se encuentran en el mercado (fibra óptica, Infiniband) y el switch respectivo, que igual la empresa ya tiene. El presupuesto esta limitado a USD 150.000.oo (Ciento cincuenta mil dólares) que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.).
ARCHILA ANAYA BRANDON ARLEY |
CARDENAS PARADA JORGE ANDRES |
CARVAJAL SANABRIA JAVIER FERNANDO |
CASTELLANOS GELVEZ DANIEL FELIPE |
Equipo 2
Una empresa mediana, tipo Spin Off universitaria busca desarrollar video juegos tipo VR, para lo cual los contrata como equipo de consultores, para adquirir una solución tecnológica in-situ que permita probar diversos tipos de juegos usando que han sido programados en diferentes ambientes de desarrollo y ejecución conocidos (MyArmy, Unity, etc), normalmente sobre diferentes sistemas operativos y compiladores tanto Open Source como propietario. Estos juegos posteriormente serán ofertados para jugar en linea en la nube. Dicha plataforma debe poder ser accesada por red via Internet, para 100 usuarios probadores (Game Testers) en promedio, pero igual se espera que ustedes sugieran al menos dos máscaras o cascos de soporte VR. El switch respectivo para acceder asi como el servidor frontend ya lo tiene la empresa con puertos de alta capacidad y baja latencia. Se espera que los juegos desarrollados, como se mencionó anteriormente son juegos que se ofrecerán en la nube, de alta gama (tanto gráfica como de sonido, no gama media o baja). La plataforma deberá enlazarse con una plataforma de almacenamiento dedicado que ya contiene la empresa tipo SAN de 150 TB con puertos de interconexión estándar que se encuentran en el mercado (fibra óptica, Infiniband) y el switch respectivo, que igual la empresa ya tiene. El presupuesto esta limitado a USD 350.000.oo (trescientos cincuenta mil dólares) que incluiría igual un par de cascos/máscaras de soporte VR, tanto impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.).
DUARTE RUEDA JUAN ESTEBAN |
FLOREZ ACOSTA TATIANA MARCELA |
GALLO FRANCO DAVID MAURICIO |
GALVIS BERGSNEIDER VALENTINA |
GUALDRON HURTADO YESID ROMARIO |
Equipo 3
Una empresa mediana, tipo Spin Off universitaria busca desarrollar aplicaciones para ciberseguridad, para lo cual los contrata como equipo de consultores, para adquirir una solución tecnológica in-situ que permita probar diversos tipos de aplicaciones que son enfocadas a reuniones en línea. Estas han sido construidas usando diferentes lenguajes de programación, ambientes de desarrollo y ejecución conocidos, normalmente sobre diferentes sistemas operativos y compiladores tanto Open Source como propietario. Dicha plataforma debe poder ser accesada por red via Internet, para un máximo de 100 usuarios, normalmente emulados por otra plataforma con relativa intervención humana. El switch respectivo para acceder, asi como el servidor frontend y otros dispositivos necesarios de seguridad no lo tiene la empresa, por lo que igual debe sugerirse y listarse cuales deben ser esos equipos y sus principales características. La plataforma deberá enlazarse con una plataforma de almacenamiento dedicado que ya esta en la empresa tipo SAN de 250 TB con puertos de interconexión estándar que se encuentran en el mercado (fibra óptica, Infiniband) y el switch respectivo, que igual la ya se tiene. El presupuesto esta limitado a USD 250.000.oo (Doscientos cincuenta mil dólares) que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.). Muy importante considerar el costo de acceso a internet comercial (para uso efectivamente empresarial, no en el hogar).
IBARRA RUEDA YERSON STEWELL |
LEON ORTIZ DANIEL ALEJANDRO |
LOPEZ SANTANA YAIRE CATALINA |
PEREIRA MILLAN CAMILO JOSE |
QUINTERO PINTO BRAYAN ANDRES |
Equipo 4
Una empresa mediana, tipo Spin Off universitaria busca desarrollar aplicaciones para simulación en la industria energética y medioambiental, para lo cual los contrata como equipo de consultores, para adquirir una solución tecnológica in-situ que permita desarrollar sus aplicaciones. La solución puede ser un sistema centralizado o sistemas de trabajo individuales, en los cuales desarrollarían 3 personas y accederían a través de pc's personales o tabletas que ya se tienen. Las aplicaciones han sido construídas usando diferentes lenguajes de programación, compiladores, ambientes de desarrollo y ejecución conocidos, dirigido al sistema operativo linux y todo bajo una política de Open Source. Las aplicaciones son colaborativas y normalmente estas aplicaciones se ejecutarán en sistemas de computación de alto rendimiento (HPC) que contienen diferentes tipos de procesadores (CPUs, TPUs, GPUs, XPUs). Dicha solución deberá poder conectarse via una red privada, a un servidor de acceso donde se almacenan las aplicaciones y desarrollos que ya tiene la empresa y por supuesto a Internet a través de una red pública. El switch respectivo para acceder a ese servidor ya lo tiene la empresa así como el sistema de almacenamiento. Las características de ese servidor, como del switch y el sistema de almacenamiento son desconocidas. El presupuesto esta limitado a USD 200.000.oo (Doscientos mil dólares) que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.).
RAMIREZ VELA JUAN PABLO |
VALENZUELA PARDO ANDRES FELIPE |
VASQUEZ VIVAS DAVID ALEXANDER |
VILLAMIZAR PEÑARANDA JHORDANTH FABIAN |
Equipo 5
Una empresa mediana colombiana, desarrolla aplicaciones para ciberseguridad, para lo cual los contrata como equipo de consultores, para adquirir una solución tecnológica in-situ que permita ejecutar diversos tipos de aplicaciones que son enfocadas a transacciones comerciales en linea y servicios financieros, incluyendo bitcoin. Estas han sido construidas usando diferentes lenguajes de programación, ambientes de desarrollo y ejecución conocidos, normalmente sobre diferentes sistemas operativos y compiladores tanto Open Source como propietario. Dicha plataforma debe poder ser accesada por red via Internet, para un promedio de 5000 usuarios simultáneos. El switch respectivo para acceder, asi como el servidor frontend y otros dispositivos necesarios de seguridad no lo tiene la empresa, por lo que igual debe sugerirse y listarse cuales deben ser esos equipos y sus principales características. La plataforma deberá enlazarse con una plataforma de almacenamiento dedicado que ya esta en la empresa tipo SAN de 1.3 PB con puertos de interconexión estándar que se encuentran en el mercado (fibra óptica, Infiniband) y el switch respectivo, que igual ya se tiene. El presupuesto esta limitado a USD 950.000.oo (Novecientos cincuenta mil dólares) que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.). Notas importantes: 1. Se busca que garantice un consumo de potencia eléctrica bajo. 2. Los ingenieros de planta han analizado las DPUs, por lo que se solicita ver soluciones con dicho tipo de componentes. 3. Tener en cuenta una plataforma de resiliencia en caso de ataque.
ARIZA BRICEÑO SANTIAGO |
ATEHORTUA DUQUE JUAN DIEGO |
BAYONA QUESADA JUAN CAMILO |
CARDENAS VELASQUEZ IVAN DARIO |
Equipo 6
El organismo encargado de la predicción climática, busca ubicar en Colombia una empresa que desarrolle aplicaciones que le permita pronosticar el clima en los aeropuertos, usando principalmente WRF. Buscando solventar sus necesidades, los contrata a ustedes como equipo de consultores, para adquirir una solución tecnológica in-situ que permita ejecutar diversos tipos de códigos basados en WRF. Estos han sido construidos usando principalmente C/C++ y. Fortran, bajo ambientes de desarrollo y ejecución conocidos, normalmente sobre Linux y compiladores tanto Open Source como propietario. Dicha plataforma debe poder ser accesada por red via Internet, para un promedio de 5 usuarios simultáneos, pero lo mas importante es que permita escalar lo máximo posible los procesos, de tal manera que pueda tener los diferentes resultados de sus códigos en máximo dos horas. El switch respectivo para acceder, asi como el servidor frontend y otros dispositivos necesarios de seguridad los tiene ya el organismo. La plataforma deberá enlazarse con una plataforma de almacenamiento dedicado tipo SAN de 0.5 PB con puertos de interconexión estándar que se encuentran en el mercado (fibra óptica, Infiniband) y el switch respectivo, que igual ya se tiene. El presupuesto esta limitado a USD 350.000.oo (Doscientos cincuenta mil dólares) que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.). Notas importantes: 1. Se busca que garantice un consumo de potencia eléctrica bajo. 2. Los códigos de WRF que se tienen, están principalmente dirigidos al uso de CPUs. 3. Igualmente se espera una recomendación de compiladores a usar. 4. No olvide ver soluciones similares en otros paises vecinos, principalmente en Ecuador y Brasil.
CARRILLO TELLEZ JOSE ALEJANDRO |
CETINA BERDUGO JUAN CAMILO |
ESTEVEZ RUIZ GIANFRANCO |
JAIMES BENITEZ ESNEYDITH PATRICIA |
Equipo 7
Una empresa pequeña, tipo Spin Off universitaria desarrolla aplicaciones para servicios satélites aerospaciales que se utilizarán principalmente para identificación en imagenes satélitales. Para ello quiere adquirir una serie de plataformas de prueba embebidas, tanto con sistemas CPUs ARM o GPUs que garantice bajo consumo energético principalmente, administración remota via internet y buenas capacidades de procesamiento. Las aplicaciones han sido construidas usando diferentes lenguajes de programación (C/C++, CUDA, JAVA), directivas(OpenACC, Matlab) e interpretadores (como Python, R), compiladores, ambientes de desarrollo y ejecución conocidos, dirigido al sistema operativo linux y todo bajo una política de Open Source. El presupuesto esta limitado a USD 15.000.oo (quince mil dólares) que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.). Notas importantes: 1. Cantidad de posibles elementos de la solución (número de dispositivos embebidos). 2. Soporte de alto rendimiento (HPC) embebido (o HPC@Pocket). 3. Se pesera al menos poder adquirir dos plataformas de tecnologías y fabricantes diferentes.
LEAL MANOSALVA JOSE ISAAC |
MEDINA ORTEGA DIEGO ARMANDO |
MOSQUERA NIÑO NEYDER FABIAN |
RODRIGUEZ SANCHEZ JEAN CARLO |
TORRES QUINTERO JAVIER ANDRES |
Equipo 8
Una empresa pequeña, tipo Spin Off universitaria desarrolla aplicaciones para servicios IoT a nivel Edge en campos agricolas en montaña, como cúltivos de café o cacao. Se espera que principalmente estas plataformas involucren captura de datos por sensores que ya tiene la empresa. Para ello quiere adquirir una serie de plataformas de prueba embebidas, tanto con sistemas CPUs ARM como GPUs que garantice bajo consumo energético principalmente, administración remota via internet y buenas capacidades de procesamiento. Las aplicaciones han sido construidas usando diferentes lenguajes de programación (C/C++, CUDA, JAVA), directivas(OpenACC, Matlab) e interpretadores (como Python, R), compiladores, ambientes de desarrollo y ejecución conocidos, dirigido al sistema operativo linux y todo bajo una política de Open Source. El presupuesto esta limitado a USD 25.000.oo (Veinicinco mil dólares) que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.). Notas importantes: 1. Cantidad (mayor) de posibles elementos de la solución (número de dispositivos embebidos). 2. Soporte de alto rendimiento (HPC) embebido (o HPC@Pocket). 3. Se busca que sean de una sola tecnología y fabricante.
TRUJILLO TIERRADENTRO JUAN SEBASTIAN |
UTIMA ECHEVERRY RUBI TATIANA |
VARGAS MARTINEZ DUVAN FERNEY |
VILLAMIZAR VERA ADRIANA |
ZAMBRANO PINILLA YOUSSEF SAID |
Equipo 9
Una empresa pequeña, tipo Spin Off universitaria desarrolla aplicaciones para servicios de visualización científica, que principalmente involucran simulaciones para las empresas de construcción en un muro de visualización. Para ello, la empresa quiere adquirir una solución que permita visualizar en un sistema de visualización inmersiva (tipo CAVE) y un muro de visualización que ya tienen la empresa. Las aplicaciones han sido construidas usando diferentes lenguajes de programación (C/C++, CUDA, JAVA), directivas(OpenACC, OpenCL, Matlab), librerias (OpenGL, OpenCV) e interpretadores (como Python, R), compiladores, ambientes de desarrollo y ejecución conocidos, dirigido al sistema operativo linux y todo bajo una política de Open Source. El presupuesto esta limitado a USD 200.000.oo (Doscientos mil dólares) que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.). Notas importantes: 1. La solución estará conectada igualmente a una red privada ya la Red Académica. 2. Soporte de alto rendimiento (HPC) y paralelismo. 3. Altísima calidad en gráficos pero debe soportar la ejecución de aplicaciones en CUDA.
BARBOSA VARGAS AMIN ESTEBAN |
BONILLA GONZALEZ FABIAN ANDRES |
CIRO OROZCO CAMILO |
DIAZ MARTINEZ LEIDER EDUARDO |
PRENSS CASTRO JUAN JOSE |
Equipo 10
La Escuela de Ingeniería de Sistemas e Informática, desea desarrollar un laboratorio que permita la prueba de aplicaciones dirigidas a vehículos autónomos a diferentes escalas (desde vehículos tipo JetBots hasta carros autónomos o aviones). Para ello quiere adquirir una serie de plataformas de prueba embebidas, tanto con sistemas CPUs ARM como GPUs que garantice bajo consumo energético principalmente, administración remota via internet (WiFi) y buenas capacidades de procesamiento. Las aplicaciones han sido construidas usando diferentes lenguajes de programación (C/C++, OpenCL, CUDA, JAVA), directivas(OpenACC, Ompss, Matlab) e interpretadores (como Python, R), compiladores, ambientes de desarrollo y ejecución conocidos, dirigido al sistema operativo linux y todo bajo una política de Open Source. El presupuesto esta limitado a USD 50.000.oo (Cincuenta mil dólares) que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, alimentación, etc.). Notas importantes: 1. Cantidad de posibles elementos de la solución (número de dispositivos embebidos). 2. Soporte de alto rendimiento (HPC) embebido (o HPC@Pocket). 3. Diversidad. 4. Obsolescencia prevista (o más bien permanencia)
ESTEBAN PARRA JUAN DIEGO |
FUENTES DUARTE CRISTIAN DAVID |
JAIMES BLANCO DANIEL FELIPE |
MEDINA REATIGA IVETH ADRIANA |
NAVARRO MOTTA JOSE FREDY |
Equipo 11
La Escuela de Ingeniería de Sistemas e Informática, decide fortalecer sus competencias en ciberseguridad, para lo cual los contrata como equipo de consultores, para adquirir una solución tecnológica in-situ que permita simular y emular tanto ataques, como problemas y situaciones relacionados con seguridad. La solución deberá permitir evaluar y desplegar diferentes tipos de soluciones y estrategias, que por ejemplo han sido construidas usando diferentes lenguajes de programación, ambientes de desarrollo y ejecución conocidos, normalmente sobre diferentes sistemas operativos y compiladores tanto Open Source como propietario. Dicha plataforma debe poder ser accesada por red via Internet, para un promedio de 30 usuarios simultáneos. El switch respectivo para acceder, asi como el servidor frontend (y otros necesarios, como firewalls, UDPs) y otros dispositivos necesarios de seguridad no los tiene la escuela, por lo que igual debe sugerirse y listarse cuales deben ser esos equipos y sus principales características. La plataforma deberá enlazarse con una plataforma de almacenamiento dedicado que no lo tiene la escuela y que igual debe sugerirse para dicho laboratorio de cibereguridad. Ese almacenamiento debe ser tipo SAN de mínimo 200 TB, que soporte diversos sistemas de archivos (constantemente se configurara y formateara) con puertos de interconexión estándar que se encuentran en el mercado (fibra óptica, Infiniband) y el switch respectivo, no se tien tampoco e igual debe recomendarse. El presupuesto esta limitado a USD 250.000.oo (Doscientos cincuenta mil dólares) para TODA la solución, que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.). Notas importantes: 1. Se busca un uso académico y de laboratorio. 2. Debe contemplarse la diversidad de procesadores y soluciones posibles (CPUs, GPUs, DPUs, FPGAs, XPUs). 3. Si el presupuesto es insuficiente, explicar por qué (pero no olvidar que debe darse una propuesta con el presupuesto dado).
RAMIREZ DIAZ CARLOS IVAN |
RIVERO CANTILLO DAVID RICARDO |
ROA PRADA MANUEL VICENZY |
Equipo 12
La Escuela de Ingeniería de Sistemas e Informática, decide fortalecer sus competencias en sistemas de gran escala y big data, para lo cual los contrata como equipo de consultores, para adquirir una solución tecnológica in-situ que permita experimentar con soluciones que posteriormente podrían colocarse en la nube. La solución deberá permitir evaluar y desplegar diferentes tipos de soluciones y estrategias, que por ejemplo han sido construidas usando diferentes lenguajes de programación, ambientes de desarrollo y ejecución conocidos, normalmente sobre diferentes sistemas operativos y compiladores tanto Open Source como propietario. Dicha plataforma debe poder ser accesada por red via Internet, para un promedio de 20 usuarios simultáneos. El switch respectivo para acceder, asi como el servidor frontend y otros dispositivos necesarios de seguridad no los tiene la escuela, por lo que igual debe sugerirse y listarse cuales deben ser esos equipos y sus principales características. La plataforma deberá enlazarse con una plataforma de almacenamiento dedicado que no lo tiene la escuela y que igual debe sugerirse para dicho laboratorio de Big Data. Ese almacenamiento debe ser tipo SAN de mínimo 150 TB, que soporte diversos sistemas de archivos (constantemente se configurara y formateara), principalmente Lustre con puertos de interconexión estándar que se encuentran en el mercado (fibra óptica, Infiniband) y el switch respectivo, no se tiene e igual debe recomendarse. El presupuesto esta limitado a USD 150.000.oo (Ciento cincuenta mil dólares) para TODA la solución, que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.). Notas importantes: 1. Se busca un uso académico y de laboratorio. 2. Debe contemplarse la diversidad de procesadores y soluciones posibles (CPUs, GPUs, DPUs, FPGAs, XPUs). 3. Si el presupuesto es insuficiente, explicar por qué (pero no olvidar que debe darse una propuesta con el presupuesto dado).
SOLER MALDONADO YURIETH NAJHERY |
TARAZONA MONCADA NICOLAS |
URREGO PAREDES ANDREA JULIANA |
VILLAMIZAR SANCHEZ ALVARO JAVIER |
Asignaciones y Temáticas de Proyectos de Semestres Pasados
Asignaciones y Temáticas de Proyectos (2 Semestre de 2020)
Las temáticas de los proyectos finales se darán en la segunda semana de noviembre de 2020. Las asignaciones de los grupos (que son los mismos para las prácticas son:
Grupo 1: Evaluación de Rendimiento: HPL
ANAYA MERCHAN MARIO ANDRES |
ARIAS GOMEZ ANGIE NATALIA |
CADENA PINILLA SAMUEL YESID |
CLARO PEREZ JUAN PABLO |
DIAZ GUTIERREZ JUAN SEBASTIAN |
El listado de las 500 máquinas computacionales denominado Top500 se presenta cada seis meses, convirtiéndose en la competencia mas importante y prestigiosa para todos los fabricantes e integrados a nivel mundial. Uno de los benchmark utilizados es el HPL diseñado para conocer precisamente las velocidades y capacidades de una infraestructura computacional. Para realizar el trabajo debe responder fundamentalmente estas preguntas:
- ¿De que se trata el HPL?
- ¿Cuales son sus limitaciones?
- Descargue y ejecute el HPL en una máquina personal (preferiblemente sobre linux) y solicite apoyo para que pueda ser ejecutado en uno o dos nodos de cómputo de GUANE-1 de SC3UIS (Esto si es exclusivamente linux). Nota: ademas del enlace dado para el HPL: https://www.netlib.org/benchmark/hpl/ existe otros posibles para PCs tanto con linux como con MacOs o Windows. Si decide hacerlo con Mac Os o Windows, explique el impacto en los resultados posibles.
- Muestre y explique los resultados en cada una de las máquinas (No olvide describir las especificaciones de sistema. (Hardware, Software de Sistema)).
- Compare los resultados del HPL obtenidos con la máquina número uno del listado de noviembre de 2020 del Top500 y discuta al respecto.
- Si Colombia quisiera colocar una máquina dentro de las 10 primeras del Top500 de Junio de 2021, teniendo en cuenta únicamente el HPL, que ¿características arquitecturales y especificaciones de sistema debería tener y que resultados mínimos obtener? Nota: Observe la evolución histórica Noviembre 2019, Junio 2020, Noviembre 2020.
Grupo 2: Evaluación de Rendimiento: HPCG
ESCOBAR BUENO VALENTINA |
ESTUPIÑAN COBOS JUAN SEBASTIAN |
FLOREZ BACCA MATEO |
GARCIA DUARTE JULIAN ESTEBAN |
JIMENEZ GOMEZ JUAN PABLO |
El listado de las 500 máquinas computacionales denominado Top500 se presenta cada seis meses, convirtiéndose en la competencia mas importante y prestigiosa para todos los fabricantes e integrados a nivel mundial. Uno de los benchmark utilizados es el HPCG diseñado para conocer precisamente las velocidades y capacidades de una infraestructura computacionales teniendo en cuenta otros aspectos que no tenia en cuenta el HPL. Para realizar el trabajo debe responder fundamentalmente estas preguntas:
- ¿De que se trata el HPCG y en que se diferencia del HPL?
- ¿Cuales son sus limitaciones?
- Descargue y ejecute el HCG en una máquina personal (preferiblemente sobre linux) y solicite apoyo para que pueda ser ejecutado en uno o dos nodos de cómputo de GUANE-1 de SC3UIS (Esto si es exclusivamente linux). Nota: ademas del enlace dado para el https://www.hpcg-benchmark.org/ existe otros posibles para PCs tanto con linux como con MacOs o Windows. Si decide hacerlo con Mac Os o Windows, explique el impacto en los resultados posibles.
- Muestre y explique los resultados en cada una de las máquinas (No olvide describir las especificaciones de sistema. (Hardware, Software de Sistema)).
- Compare los resultados del HPCG obtenidos con la máquina número uno del listado de noviembre de 2020 del Top500 en el HPCG y discuta al respecto.
- Si Colombia quisiera colocar una máquina dentro de las 10 primeras del Top500 de Junio de 2021, teniendo en cuenta únicamente el HPCG, que ¿características arquitecturales y especificaciones de sistema debería tener y qué resultados mínimos obtener? Nota: Observe la evolución histórica Noviembre 2019, Junio 2020, Noviembre 2020.
Grupo 3: Evaluación de Rendimiento: Green500
LIZCANO CASTRO JESUS DANIEL |
MARIN GARCIA JUAN CAMILO |
MONROY CHAPARRO BRAYAN ESNEIDER |
NUÑEZ CASTELLANOS JHON STEWAR |
PERTUZ MANOSALVA JUAN CAMILO |
El listado de las 500 máquinas computacionales denominado Top500 se presenta cada seis meses, convirtiéndose en la competencia mas importante y prestigiosa para todos los fabricantes e integrados a nivel mundial. Uno de los comportamientos mas importantes hoy en dia tiene que ver con la eficiencia energética, lo cual derivo precisamente en una metodología con un listado asociado que se denomina Green500 . Para realizar el trabajo debe responder fundamentalmente estas preguntas:
- ¿De que se trata el Green5000 y en que se diferencia del HPL?
- ¿Cuales son sus limitaciones?
- Descargue y ejecute en una máquina personal (preferiblemente sobre linux) cualquier benchmark libre (no pago) para conocer precisamente la eficiencia energética (por ejemplo, el SPEC_power, DVFS u otro y solicite apoyo para que pueda ser ejecutado en uno o dos nodos de cómputo de GUANE-1 de SC3UIS (Esto si es exclusivamente linux). Nota: Para PC's existen varias apps como las que puede ver en: https://asapguide.com/best-temperature-monitor-app/ otros posibles para PCs tanto con linux como con MacOs o Windows. Si decide hacerlo con Mac Os o Windows, explique el impacto en los resultados posibles. Igualmente puede observar aplicaciones como en: https://www.maeep.org/doetools
- Muestre y explique los resultados en cada una de las máquinas (No olvide describir las especificaciones de sistema. (Hardware, Software de Sistema)).
- Compare los resultados de obtenidos con la máquina número uno del listado de noviembre de 2020 del Green500 y discuta al respecto.
- Si Colombia quisiera colocar una máquina dentro de las 10 primeras del Top500 de Junio de 2021, teniendo en cuenta únicamente el Green500, que ¿características arquitecturales y especificaciones de sistema debería tener y qué resultados mínimos obtener? Nota: Observe la evolución histórica Noviembre 2019, Junio 2020, Noviembre 2020.
Grupo 4: Evaluación de Rendimiento: UNIGINE
QUEZADA SANCHEZ EFRAIN CAMILO |
RAMIREZ CONTRERAS JHON ANDERSON |
RIVERA GONZALEZ BRAJHAN JAVIER |
RIVERA LEON SEBASTIAN |
ROJAS CASTRO HERNANDO JOSE |
La comunidad de "GAMERS" han desarrollado evaluaciones de rendimiento para las GPUs, buscando hacer comparaciones importantes sobre el rendimiento y características de las mismas, en términos de capacidades y aceleración. Una de las mas conocidas es UNIGINE Para realizar el trabajo debe responder fundamentalmente estas preguntas:
- ¿De que se trata el conjunto de Benchmarks?
- ¿Cuales son sus limitaciones?
- Descargue y ejecute en una máquina personal el benchmark https://benchmark.unigine.com/ para conocer precisamente ese rendimiento. Solicite apoyo para ser ejecutado sobre YAJE de SC3UIS que soporta el benchmark. Nota: Para PC's existen varias otras aplicaciones de comparación otros posibles para PCs tanto con linux como con MacOs o Windows. Si decide hacerlo con Mac Os o Windows o linux, explique el impacto en los resultados posibles.
- Muestre y explique los resultados en cada una de las máquinas (No olvide describir las especificaciones de sistema. (Hardware, Software de Sistema)).
- Compare los resultados de obtenidos con las dos primeras arquitecturas mostradas en el sitio y discuta al respecto.
- Si usted quisiera colocar una máquina dentro de las 10 primeras de ese listado, explique que características debería tener.
Grupo 5: Evaluación de Rendimiento: HPL - Beta
SERRANO LOZADA CAMILO ERNESTO |
VALLEJO VALLEJO DAIRON ALEXIS |
BLANCO RODRIGUEZ GEISON ALFREDO |
CAMACHO HOLGUIN HORACIO ANTONIO |
CAMACHO TORRES JULIAN CAMILO |
El listado de las 500 máquinas computacionales denominado Top500 se presenta cada seis meses, convirtiéndose en la competencia mas importante y prestigiosa para todos los fabricantes e integrados a nivel mundial. Uno de los benchmark utilizados es el HPL diseñado para conocer precisamente las velocidades y capacidades de una infraestructura computacional. Para realizar el trabajo debe responder fundamentalmente estas preguntas:
- ¿De que se trata el HPL?
- ¿Cuales son sus limitaciones?
- Descargue y ejecute el HPL en una máquina personal (preferiblemente sobre linux) y solicite apoyo para que pueda ser ejecutado en FELIX de SC3UIS (Esto si es exclusivamente linux). Nota: ademas del enlace dado para el HPL: https://www.netlib.org/benchmark/hpl/ existe otros posibles para PCs tanto con linux como con MacOs o Windows. Si decide hacerlo con Mac Os o Windows, explique el impacto en los resultados posibles.
- Muestre y explique los resultados en cada una de las máquinas (No olvide describir las especificaciones de sistema. (Hardware, Software de Sistema)).
- Compare los resultados del HPL obtenidos con la máquina número uno del listado de noviembre de 2020 del Top500 y discuta al respecto.
- Si Colombia quisiera colocar una máquina dentro de las 10 primeras del Top500 de Junio de 2021, teniendo en cuenta únicamente el HPL, que ¿características arquitecturales y especificaciones de sistema debería tener y que resultados mínimos obtener? Nota: Observe la evolución histórica Noviembre 2019, Junio 2020, Noviembre 2020.
Grupo 6: Evaluación de Rendimiento: HPCG - Beta
CERA BUSTAMANTE ANDRES FELIPE |
GONZALEZ SALVADOR JUAN SEBASTIAN |
JAIMES ALQUICHIRE ANDREA SOFIA |
JAIMES ANTOLINEZ LAURA NATALIA |
JAIMES MANTILLA EINER STEVEN |
El listado de las 500 máquinas computacionales denominado Top500 se presenta cada seis meses, convirtiéndose en la competencia mas importante y prestigiosa para todos los fabricantes e integrados a nivel mundial. Uno de los benchmark utilizados es el HPCG diseñado para conocer precisamente las velocidades y capacidades de una infraestructura computacionales teniendo en cuenta otros aspectos que no tenia en cuenta el HPL. Para realizar el trabajo debe responder fundamentalmente estas preguntas:
- ¿De que se trata el HPCG y en que se diferencia del HPL?
- ¿Cuales son sus limitaciones?
- Descargue y ejecute el HCG en una máquina personal (preferiblemente sobre linux) y solicite apoyo para que pueda ser ejecutado en FELIX de SC3UIS (Esto si es exclusivamente linux). Nota: ademas del enlace dado para el https://www.hpcg-benchmark.org/ existe otros posibles para PCs tanto con linux como con MacOs o Windows. Si decide hacerlo con Mac Os o Windows, explique el impacto en los resultados posibles.
- Muestre y explique los resultados en cada una de las máquinas (No olvide describir las especificaciones de sistema. (Hardware, Software de Sistema)).
- Compare los resultados del HPCG obtenidos con la máquina número uno del listado de noviembre de 2020 del Top500 en el HPCG y discuta al respecto.
- Si Colombia quisiera colocar una máquina dentro de las 10 primeras del Top500 de Junio de 2021, teniendo en cuenta únicamente el HPCG, que ¿características arquitecturales y especificaciones de sistema debería tener y qué resultados mínimos obtener? Nota: Observe la evolución histórica Noviembre 2019, Junio 2020, Noviembre 2020.
Grupo 7: Evaluación de Rendimiento : Green500 - Beta
LEON TARAZONA DANIEL ALEJANDRO |
MANTILLA CASTRO JULIAN RICARDO |
MENDEZ ORTIZ LEWING ANDRES |
ORTEGA GELVEZ DIEGO ANDRES |
ORTIZ CELIS DANIEL EDUARDO |
El listado de las 500 máquinas computacionales denominado Top500 se presenta cada seis meses, convirtiéndose en la competencia mas importante y prestigiosa para todos los fabricantes e integrados a nivel mundial. Uno de los comportamientos mas importantes hoy en dia tiene que ver con la eficiencia energética, lo cual derivo precisamente en una metodología con un listado asociado que se denomina Green500 . Para realizar el trabajo debe responder fundamentalmente estas preguntas:
- ¿De que se trata el Green5000 y en que se diferencia del HPL?
- ¿Cuales son sus limitaciones?
- Descargue y ejecute en una máquina personal (preferiblemente sobre linux) cualquier benchmark libre (no pago) para conocer precisamente la eficiencia energética (por ejemplo, el SPEC_power, DVFS u otro y solicite apoyo para que pueda ser ejecutado en FELIX de SC3UIS (Esto si es exclusivamente linux). Nota: Para PC's existen varias apps como las que puede ver en: https://asapguide.com/best-temperature-monitor-app/ otros posibles para PCs tanto con linux como con MacOs o Windows. Si decide hacerlo con Mac Os o Windows, explique el impacto en los resultados posibles. Igualmente puede observar aplicaciones como en: https://www.maeep.org/doetools
- Muestre y explique los resultados en cada una de las máquinas (No olvide especificar las especificaciones de sistema. (Hardware, Software de Sistema)).
- Compare los resultados de obtenidos con la máquina número uno del listado de noviembre de 2020 del Green500 y discuta al respecto.
- Si Colombia quisiera colocar una máquina dentro de las 10 primeras del Top500 de Junio de 2021, teniendo en cuenta únicamente el Green500, que ¿características arquitecturales y especificaciones de sistema debería tener y qué resultados mínimos obtener? Nota: Observe la evolución histórica Noviembre 2019, Junio 2020, Noviembre 2020.
Grupo 8: Evaluación de Rendimiento: ML-Perf
PEREZ LEAL JUAN PABLO |
PORRAS GOMEZ JUAN DAVID |
ROMERO SERRANO WILLIAM DAVID |
SANCHEZ NIÑO SERGIO ANDRES |
SANDOVAL PINEDA EDWARD ANDRES |
El conjunto de pruebas comparativas de entrenamiento MLPerf mide qué tan rápido un sistema puede entrenar modelos de Machine Learning, lo cuales bien importante en las arquitecturas que soportan la implementación de técnicas de inteligencia artificial. Para realizar el trabajo debe responder fundamentalmente estas preguntas:
- ¿De que se trata el ML-Perf?
- ¿Cuales son sus limitaciones?
- Descargue y ejecute en una máquina personal y escoja de toda la suite de https://mlperf.org/ un par de benchmarks (principalmente aquellos relacionados con entrenamiento e inferencia) e igual solicite apoyo para ejecutarla sobre FELIX de SC3UIS. Nota: Existen otras suites complementarias que igualmente si desea puede utilizar, basadas. en MLPERF como https://github.com/mlcommons/training
- Muestre y explique los resultados en cada una de las máquinas (No olvide describir las especificaciones de sistema. (Hardware, Software de Sistema) y condiciones de los datos.
- Compare los resultados de obtenidos con los resultados más recientes publicados en el sitio https://mlperf.org y teniendo en cuenta los resultados obtenidos por usted, que ¿características arquitecturales y especificaciones de sistema debería tener y qué resultados mínimos obtener para ser una arquitectura computacional competitiva?
Grupo 9: Evaluación de Rendimiento: HPL - JetBot
SERRANO RINCON PABLO EDUARDO |
ATUESTA SOLANO ANA GABRIELA |
CAMPOS SEPULVEDA OSCAR MAURICIO |
CONTRERAS CEBALLOS SEBASTIAN |
DIAZ CIFUENTES RAYSA KARINA |
El listado de las 500 máquinas computacionales denominado Top500 se presenta cada seis meses, convirtiéndose en la competencia mas importante y prestigiosa para todos los fabricantes e integrados a nivel mundial. Uno de los benchmark utilizados es el HPL diseñado para conocer precisamente las velocidades y capacidades de una infraestructura computacional. Para realizar el trabajo debe responder fundamentalmente estas preguntas:
- ¿De que se trata el HPL?
- ¿Cuales son sus limitaciones?
- Descargue y ejecute el HPL en una máquina personal (preferiblemente sobre linux) y solicite apoyo para que pueda ser ejecutado en cualquier JetBot de SC3UIS (Esto si es exclusivamente linux). Nota: ademas del enlace dado para el HPL: https://www.netlib.org/benchmark/hpl/ existe otros posibles para PCs tanto con linux como con MacOs o Windows. Si decide hacerlo con Mac Os o Windows, explique el impacto en los resultados posibles.
- Muestre y explique los resultados en cada una de las máquinas (No olvide describir las especificaciones de sistema. (Hardware, Software de Sistema)).
- Compare los resultados del HPL obtenidos con la máquina número uno del listado de noviembre de 2020 del Top500 y discuta al respecto.
- Si se hace una comparación en escala de las 10 primeras del Top500 de Noviembre 2020, en términos de velocidad (no tanto de capacidad) ¿qué puede decir de una JetBot?. (Nota: Puede hacer una relación lineal o una extrapolación).
Grupo 10: Evaluación de Rendimiento: Discos Duros
FLOREZ ROJAS SEBASTIAN |
MALDONADO SUAREZ MARLY YULIETH |
OJEDA VILLAMIZAR FABIO ANDREY |
PARRA GOMEZ CARLOS DANIEL |
La Evaluación de Rendimiento por benchmarking de los discos duros implantados en un sistema en funcionamiento es muy importante, sobre todo para confrontar los valores dados por los fabricantes y por supuesto, tomar decisiones en cuanto actualización o remplazo. Escoja tres de los benchmarks que se encuentran en: https://linuxhint.com/benchmark_hard_disks_linux/ y para realizar este trabajo debe responder las siguientes preguntas.
- ¿ De qué se trata cada uno de ellos?
- ¿ Cuales son sus limitaciones y principales diferencias?
- Los benchmarks seleccionados (3) descárguelos y ejecútelos en una máquina personal (todos son sobre linux).
- Muestre y explique los resultados de cada uno de ellos (no olvide describir las especificaciones del sistema. (Hardware, software del sistema)).
- Compare los resultados de cada uno de ellos y discuta al respecto.
- Teniendo en cuenta esos resultados obtenidos, ¿Qué tanto se diferencia con los que da oficialmente el fabricante del disco?.
Grupo 11: Evaluación de Rendimiento: Red - UPerf
PEREZ LOPEZ SEBASTIAN |
RIBERO ARCINIEGAS JOSE DAVID |
ROA ORTIZ SERGIO RAUL |
RODRIGUEZ LOPEZ LUIS MIGUEL |
El rendimiento de la red y como arquitecturalmente responde cualquier sistema es muy importante para garantizar una calidad de servicio. Una de las herramientas mas conocidas para evaluar el rendimiento en ese sentido es Uperf. Para realizar esta asignación debe responder las siguientes preguntas:
- ¿ De qué se trata?
- ¿ Cuales son sus limitaciones y principales diferencias con otras herramientas populares, como netperf?
- Descargue el Uperf sobre (2) dos máquinas diferentes (una puede ser un dispositivo móvil basado en Android o IOS) y realice lo siguiente:
- Muestre y explique los resultados de cada uno de los tests sobre las plataformas (no olvide describir las especificaciones del sistema. (Hardware, software del sistema)).
- Compare los resultados de cada uno y discuta al respecto.
- Teniendo en cuenta esos resultados obtenidos, ¿Qué tanto se diferencia en rendimiento un dispositivo del otro?. Discuta al respecto
Grupo 12: Evaluación de Rendimiento: Red - NetPerf
TABOADA RIVERA FRANS GUILLERMO |
TOLOZA ORTEGA DEYCI GISELA |
VELASCO BASTO ARLEY DAVID |
HERNANDEZ RAMIREZ PAULA CATALINA |
El rendimiento de la red y como arquitecturalmente responde cualquier sistema es muy importante para garantizar una calidad de servicio. Una de las herramientas mas conocidas para evaluar el rendimiento en ese sentido es Netperf Para realizar esta asignación debe responder las siguientes preguntas:
- ¿ De qué se trata?
- ¿ Cuales son sus limitaciones y principales diferencias con otras herramientas populares, como UPerf?
- Descargue el Netperf sobre (2) dos máquinas personales diferentes y realice lo siguiente (Nota, el sitio oficial de NetPerf es: https://hewlettpackard.github.io/netperf/):
- Muestre y explique los resultados de cada uno de los tests sobre las plataformas (no olvide describir las especificaciones del sistema. (Hardware, software del sistema)).
- Compare los resultados de cada uno y discuta al respecto.
- Teniendo en cuenta esos resultados obtenidos, ¿Qué tanto afectan aspectos externos a su arquitectura de cada una de las máquinas en estos resultados?. Discuta al respecto.
Asignaciones de Blogs de Estudiantes de Semestres pasados
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 10 (diez) párrafos de 5(cinco) lineas cada uno, tamaño de letra 12px, cualquier estilo, máximo 12 (Doce) párrafos.
- Incluir referencias, fuentes de información y lecturas complementarias (No estará dentro de los párrafos del contenido, sino aparte).
- Incluir caja de comentarios y lograr que mínimo 5 (cinco) de sus compañeros lean y dejen comentarios en su blog, de manera visible. NO FELICITACIONES SINO COMENTARIOS CONCRETOS O PREGUNTAS SOBRE LA TEMATICA DESARROLLADA. SI HAY UNA PREGUNTA SE TIENE EN CUENTA COMO BONUS LA RESPUESTA DADA. (3 Comentarios para la revisión que se hará el 3 de diciembre mínimo y el resto (2) son bonus que se podrán sumar antes del 1 de febrero del 2021)
- Se recomienda usar tags.
- Debe verse la fecha de publicación del post (publicación) generada por el sistema.
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/ o ver los blogs de sus compañeros del semestre 1-2020
Deben enviar el enlace del blog desde el 29 de noviembre hasta el 1 de diciembre a las 10:59 P.M. al correo del profesor y del auxiliar del curso, 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 (cinco) temáticas para construir el blog. No olvide tener en cuenta las recomendaciones anteriores. IMPORTANTE: NO PUEDEN HABER BLOGS SIMILARES (Se utilizará un software anti-plagiarismo y anti-copia, a pesar que las temáticas son compartidas)
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, otros blogs o artículos, 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.
Las asignaciones son dadas de las siguiente manera, si el último dígito de su código de estudiante es 0 o 1, le corresponde el tema A; si el último dígito de su código de estudiante es 2 o 3, le corresponde el tema B; si el último dígito de su código de estudiante es 4 o 5, le corresponde el tema C; si el último dígito de su código de estudiante es 6 o 7, le corresponde el tema D y si el último dígito de su código de estudiante es 8 o 9, le corresponde el tema E. Esas asignaciones están en la siguiente tabla:
TEMAS | Temática Principal | Preguntas Guía |
---|---|---|
A | Lenguajes de Programación e Infraestructura | ¿Por qué es importante tener en cuenta la infraestructura computacional al observar un lenguaje de programación ?
¿Cómo se construye un lenguaje de programación y por qué? ¿Cuál es el futuro de los lenguajes de programación de acuerdo a la evolución en infraestructura computacional? |
B | La Importancia de la Definición de Requerimientos al Diseñar una Arquitectura Computacional | ¿Por qué son importantes los 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? |
C | 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? |
D | 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? |
E | 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? |
BONUS PARA LA NOTA FINAL DE LAS PRACTICAS: Si pública un (1) post en su blog del curso por mes adicional (enero, febrero y marzo) sobre una reflexión personal y profesional, acerca de una de las temáticas relacionadas con el contenido del curso al momento de publicarse (siguiendo las mismas condiciones anteriores), se tendrá en cuenta para la nota de las prácticas. Esta publicación debe ser individual, no debe ser similar a ninguna otra y debe indicarse con un correo al profesor antes del Martes 3 de marzo, enviando la dirección del blog, para verificación. RECUERDE QUE LAS FECHAS DE LOS POSTS DEBEN SER GENERADAS POR EL SISTEMA Y DEBE SER DIFERENTES Y CORRESPONDIENTES A CADA MES ADICIONAL. Se recomienda al momento de realizar la publicación del post adicional informar en ese momento.
Lista de Blogs 1-2020
A continuación, la lista de posts publicados en sus respectivos blogs, por los estudiantes del cursos 1-2020.
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 |
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 2018-1
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
Asignaciones y Temáticas de Proyectos (2 Semestre 2022)
ESCUELA: | 6570 - ESCUELA DE ING.DE SISTEMAS | CURSO | GRUPO TRABAJO - Artículo Técnico | TEMATICA DE PROYECTO |
CODIGO | ESTUDIANTE | |||
2191965 | ACUÑA VARGAS ANDERSON YESETH | A1 | 1 | Evaluación de Rendimiento de Lenguajes de Programación sobre Linux usando Jacobi |
2182786 | BALLESTEROS VESGA DANIEL FELIPE | |||
2200196 | CAÑATE VELASCO DANIEL JAIR | |||
2190061 | CHACON CAMACHO JULIAN DAVID | |||
2161594 | CORREA PICO MAXIMILIANO | |||
2191974 | CRUZ RUEDA JOHAN SEBASTIAN | 2 | Evaluación de Rendimiento de Compiladores sobre Linux usando Jacobi | |
2182040 | CUJIA REYES ADRIANA MARCELA | |||
2200143 | DAZA MENESES GUILLERMO ANDRES | |||
2201494 | FLOREZ DIAZ KEVIN ANDRES | |||
2191940 | FLOREZ TOLOSA ESTEBAN DAVID | |||
2170238 | GAITAN HERNANDEZ JULIAN ANDRES | |||
2191918 | GALLARDO ROBLES KEVIN ANDRES | 3 | Evaluación de Rendimiento de Ejecución en Paralelo y Secuencial usando Jacobi | |
2200165 | GONZALEZ FLORES SANTIAGO | |||
2190197 | GONZALEZ ROMERO TOMAS GIOVANNY | |||
2181932 | GONZALEZ SANCHEZ DANIEL EDUARDO | |||
2200184 | GUTIERREZ BENAVIDES CARLOS ANDRES | |||
2191919 | HERNANDEZ CAICEDO JHON ALEXANDER | 4 | Evaluación de Rendimiento de Lenguajes de Programación Compilados y Lenguajes interpretados usando Jacobi | |
2191925 | HERNANDEZ RAMIREZ FABIAN ERNESTO | |||
2201776 | HERNANDEZ SUAREZ LEVIR HELADIO | |||
2201095 | LEAL CASANOVA SANTIAGO | |||
2200162 | LOPEZ CAMACHO DIEGO ALEJANDRO | |||
2201710 | LOPEZ TARAZONA RICARDO ANDRES | |||
2191913 | MORA SALCEDO ESNEYDER | 5 | Evaluación de Rendimiento de Lenguajes de Programación sobre MS-Windows usando Jacobi | |
2191931 | MORANTES VERGARA JUAN DAVID | |||
2200146 | NITOLA RODRIGUEZ MARCOS DUVAN | |||
2191968 | NIÑO VILLAMIL IVAN LEONARDO | |||
2191947 | NUÑEZ HERRERA ALEJANDRO | |||
2200172 | PEREZ BOLIVAR DANIEL MAURICIO | 6 | Evaluación de Rendimiento de Compiladores sobre MS-Windows usando Jacobi | |
2190050 | PLATA RODRIGUEZ MIGUEL ANGEL | |||
2180445 | QUINTERO JAIMES SANTIAGO | |||
2192910 | RAMIREZ ARDILA JESUS FERNANDO | |||
2200185 | RAMIREZ SERNA OSCAR ANDRES | |||
2200151 | REY LAMUS DIEGO ANDRES | 7 | Evaluación de Rendimiento de Distribuciones Linux | |
2191952 | ROJAS HERNANDEZ CESAR ENRIQUE | |||
2191970 | TAFUR CAMPO CRISTIAN DAVID | |||
2191946 | URIBE RODRIGUEZ BRAYAN FERNEY | |||
2191960 | VILLAMIZAR BOHADA JESUS DARIO | |||
2191795 | ALVAREZ SANCHEZ JUAN DIEGO | A2 | 8 | Evaluación de Rendimiento de Lenguajes de Programación sobre Linux usando el cálculo de Pi con el Método de MonteCarlo |
2191964 | ANAYA HERRERA KEVIN SEBASTIAN | |||
2191963 | ANGARITA MENDOZA FAIBER STIVEN | |||
2191444 | ARGUELLO GUTIERREZ PAULA ANDREA | |||
2191927 | ARIAS MANRIQUE RONALD ALEXIS | |||
2191920 | AVILA CHACON RAMIRO SANTIAGO | |||
2200182 | BERMUDEZ RODRIGUEZ JUAN EDUARDO | 9 | Evaluación de Rendimiento de Compiladores sobre Linux usando el cálculo de Pi con el Método de Montecarlo | |
2192507 | BOHORQUEZ BOHORQUEZ YULY STEFANNY | |||
2201527 | BOLAÑOS CRUZ SANTIAGO ANDRES | |||
2162102 | CASTILLO ORDUZ JUAN ESTEBAN | |||
2182032 | CEPEDA ORTIZ FELIPE ANDRES | |||
2200147 | CHAIN SANTOS SANTIAGO ANDRES | 10 | Evaluación de Rendimiento de Lenguajes de Programación sobre Windows usando el cálculo de Pi con el Método de Montecarlo
| |
2200150 | DUEÑAS TORRES DAVID | |||
2183184 | ESPINOSA ESPINOSA JUAN SEBASTIAN | |||
2183266 | GUERRERO ORTEGA JUAN CAMILO | |||
2201495 | HERRERA POVEDA MANUEL ALEJANDRO | |||
2200189 | MALAGON RUIZ CRISTIAN ALEXANDER | 11 | Evaluación de Rendimiento de Compiladores sobre Windows usando el cálculo de PI con el Método de Montecarlo | |
2200157 | MARIN BARRAGAN JUAN DAVID | |||
2191951 | MENDEZ RIVERA LAURA VANESSA | |||
2200161 | MOLINA GARZON MIGUEL ANGEL | |||
2200178 | MORANTES DUARTE DAVID SANTIAGO | |||
2201433 | OLIVOS RODRIGUEZ YEFFERSON | 12 | Evaluación de Rendimiento usando Linpack | |
2141845 | ORTIZ MARTINEZ EDUAR ANDRES | |||
2143359 | PABON MOJICA JUAN SEBASTIAN | |||
2200170 | PATIÑO PEDRAZA JUAN DAVID | |||
2162110 | PEREZ CARMONA OSCAR ANDRES | |||
2200183 | PEREZ PEREZ NELSON FABIAN | |||
2172336 | PEÑALOZA TORRES CARLOS DANIEL | 13 | Evaluación de Rendimiento usando HPL-LinPack | |
2183076 | RESTREPO GOMEZ JEICOB GILMAR | |||
2200190 | REY RUEDA CRISTHIAN CAMILO | |||
2200141 | REYES GUEVARA GABRIEL FERNANDO | |||
2200168 | RODRIGUEZ CALA LAURA | |||
2191419 | RODRIGUEZ VARGAS ALEJANDRO | |||
2191933 | SUAREZ GALVIS SEBASTIAN CAMILO | 14 | Evaluación de Rendimiento de Ejecución en Paralelo y Secuencial usando el Método de Montecarlo para calcular Pi | |
2182043 | SUAREZ JAIMES JUAN DANIEL | |||
2192532 | TRISTANCHO CORZO CRISTHIAN IVAN | |||
2200134 | VALENCIA VANEGAS YEFERSON | |||
2191950 | VILLAMIZAR ANAYA JULIAN MAURICIO |
Listado de Proyectos 2-2022:
- Proyecto 1 : Evaluación de Rendimiento de Lenguajes de Programación sobre Linux usando Jacobi
Una compañía de desarrollo, que principalmente realiza software libre para el sector agrícola, requiere una consultoría para evaluar el rendimiento de lenguajes de programación al ejecutarse sobre plataformas Linux en computadores de escritorio, estaciones de trabajo o servidores de baja gama, compilándose principalmente en sistemas basados en gcc (https://gcc.gnu.org/).
Los contratadores usan el método de Jacobi que se encuentra en este sitio: https://github.com/carlosjaimebh/SomeExamples y desean evaluar el rendimiento sobre dos máquinas diferentes para C, C++, Java y Python, que les proveerán los contratadores*.
- Deberán ponerse de acuerdo con el equipo de SC3UIS para realizar el acceso a dos máquinas linux diferentes. Enviar un correo con copia al profesor a sc3.operaciones(no-sp@m)uis.edu.co
1. Evaluar el rendimiento sobre esas máquinas dadas, mostrando cual es el mejor lenguaje para ese problema en cada máquina respectiva.
a. Recuerde que debe seleccionar las métricas y presentar los resultados de esa evaluación.
b. Use al menos dos (2) opciones de optimización al compilar
c. Extraiga el pseudocódigo y diagrama de flujo.
d. Bonus: Puede realizar el mismo método con modificaciones en los códigos, pero debe mencionar en que mejoró o en que afecta esa modificación
2. Responda y explique las siguientes preguntas:
a. ¿Qué observa al hacer las pruebas comparando los procesadores?
b. ¿Qué observa al hacer las pruebas comparando las memorias RAM?
c. Bonus: Investigue y agregue una discusión sobre los efectos de la memoria y el procesador en el desempeño de un programa en un lenguaje especifico.
- Proyecto 2 : Evaluación de Rendimiento de Compiladores sobre Linux usando Jacobi
Una compañía de desarrollo, que principalmente realiza software libre para el sector energético, requiere una consultoría para evaluar el rendimiento de compiladores de programación al ejecutarse sobre plataformas Linux en computadores de escritorio, estaciones de trabajo o servidores de baja gama.
Los contratadores usan el método de Jacobi que se encuentra en este sitio: https://github.com/carlosjaimebh/SomeExamples y desean evaluar el rendimiento sobre dos máquinas diferentes para C y C++, que les proveerán los contratadores*.
Los compiladores a analizar son: CLANG, LLVM, GCC e Intel
*Deberán ponerse de acuerdo con el equipo de SC3UIS para realizar el acceso a dos máquinas linux diferentes. Enviar un correo con copia al profesor a sc3.operaciones@uis.edu.co
1. Evaluar el rendimiento sobre esas máquinas dadas, mostrando cual es el mejor compilador en cada máquina respectiva.
a. Recuerde que debe mostrar los sistemas de prueba (descripción de la arquitectura del sistema, incluyendo arquitectura computacional, descripción del sistema operativo usado, entre otras características arquitecturales relevantes).
b. Recuerde que debe seleccionar las métricas y presentar los resultados de esa evaluación.
c. Use al menos tres (3) opciones de optimización al compilar
d. Extraiga el pseudocódigo y diagrama de flujo.
e. Bonus: Puede realizar el mismo método con modificaciones en los códigos, pero debe mencionar en que mejoró o en que afecta esa modificación
2. Responda y explique las siguientes preguntas:
a. ¿Qué observa al hacer las pruebas comparando los procesadores?
b. ¿Qué observa al hacer las pruebas comparando las memorias RAM?
c. Bonus: Investigue y agregue una discusión sobre los efectos de la memoria y el procesador en el desempeño del compilador sobre plataformas en Linux.
- Proyecto 3: Evaluación de Rendimiento de Ejecución en Paralelo y Secuencial usando Jacobi (para la realización de este proyecto deberá apoyarse en el equipo técnico de SC3UIS* y utilizará el supercomputador GUANE-1)
Una compañía de desarrollo, que principalmente realiza software libre para inteligencia artificial, requiere una consultoría para evaluar el rendimiento sobre plataformas especificas en paralelo y en secuencial, que se ejecutaran en plataformas sobre Linux. Para realizar la prueba, en una plataforma especifica que le dará la empresa, le propone ejecutar (4) cuatro versiones del método de Jacobi, escrito en C. y que se encuentra disponible en: https://people.sc.fsu.edu/~jburkardt/c_src/jacobi/jacobi.html , la versión en C sin paralelizar, https://people.sc.fsu.edu/~jburkardt/c_src/jacobi_openmp_test/jacobi_openmp_test.html la versión en C paralelizada con OpenMP , https://www.mcs.anl.gov/research/projects/mpi/tutorial/mpiexmpl/src/jacobi/C/main.html la versión en C paralelizada en MPI y finalmente en https://github.com/MMichel/CudaJacobi la versión paralelizada en CUDA. Nota importante: Todas las versiones tienen similitudes, pero no son completamente iguales.
*Deberán ponerse de acuerdo con el equipo de SC3UIS para realizar el acceso a dos máquinas linux diferentes. Enviar un correo con copia al profesor a sc3.operaciones@uis.edu.co
1. Evaluar el rendimiento sobre estas opciones, explicando en qué casos es mejor cada una de ellas, al ejecutarse.
a. Recuerde que debe mostrar los sistemas de prueba (descripción de la arquitectura del sistema, incluyendo arquitectura computacional, descripción del sistema operativo usado, entre otras características arquitecturales relevantes).
b. Recuerde que debe seleccionar las métricas y presentar los resultados de esa evaluación.
c. Use al menos dos (2) opciones de optimización al compilar en la versión secuencial.
d. Extraiga el pseudocódigo y diagrama de flujo.
e. Bonus: Puede realizar el mismo método con modificaciones en los códigos, pero debe mencionar en que mejoró o en que afecta esa modificación
2. Responda y explique las siguientes preguntas:
a. ¿Cuál es la principal diferencia, en términos de arquitectura de computadores durante la ejecución, de cada uno de los paradigmas de programación utilizados?
b. Bonus: Investigue y agregue una discusión sobre los efectos de la comunicación cuando se comienza a escalar un problema para que se ejecute.
- Proyecto 4: Evaluación de Rendimiento de Lenguajes de Programación Compilados y Lenguajes interpretados usando Jacobi
Un grupo de investigación de la Universidad Industrial de Santander, requiere una consultoría para evaluar el rendimiento de lenguajes de programación e interpretadores, usando el método de jacobi que se encuentra en: https://people.sc.fsu.edu/~jburkardt/c_src/jacobi/jacobi.html independiente del sistema operativo, el cual deja a ustedes como consultores que escojan cual, sobre un computador de escritorio de los que normalmente tienen los estudiantes o los grupos de investigación o un computador portátil. Las pruebas de los códigos son en los lenguajes C, C++, Fortran90 y los interpretadores de Matlab, Python, Octave y R.
1. Evaluar el rendimiento sobre, mostrando cual es el mejor lenguaje o interpretador para ese problema justificando la respuesta.
a. Recuerde que debe mostrar el sistema de prueba (descripción de la arquitectura del sistema, incluyendo arquitectura computacional, descripción del sistema operativo usado, entre otras características arquitecturales relevantes).
b. Recuerde que debe seleccionar las métricas y presentar los resultados de esa evaluación y por supuesto pensar en mostrar comparaciones gráficas
c. Use al menos dos (2) opciones de optimización al compilar.
d. Extraiga el pseudocódigo y diagrama de flujo.
e. Bonus: Puede realizar el mismo método con modificaciones en los códigos, pero debe mencionar en que mejoró o en que afecta esa modificación
2. Responda y explique las siguientes preguntas:
a. ¿Cuál es la diferencia principal entre un lenguaje y un interpretador?
b. ¿Entre los interpretadores, cual considera el más robusto?
c. Bonus: Investigue en que lenguaje de programación están escritos cada uno de los interpretadores.
Para este proyecto pueden usar sus equipos personales y/o de la universidad. No olvide explicar la arquitectura del sistema de prueba.
- Proyecto 5 : Evaluación de Rendimiento de Lenguajes de Programación sobre Windows usando Jacobi
Una compañía de desarrollo, que principalmente realiza software libre para el sector médico, requiere una consultoría para evaluar el rendimiento de lenguajes de programación al ejecutarse sobre plataformas Windows en computadores de escritorio, compilándose sistemas open source (tipo dev) sobre Microsoft Windows.
Los contratadores usan el método de Jacobi que se encuentra en este sitio: https://github.com/carlosjaimebh/SomeExamples y desean evaluar el rendimiento sobre dos máquinas diferentes para C, C++, Java y Python, que les proveerán los contratadores.
1. Evaluar el rendimiento sobre esas máquinas dadas, mostrando cual es el mejor lenguaje para ese problema en cada máquina respectiva.
a. Recuerde que debe mostrar los sistemas de prueba (descripción de la arquitectura del sistema, incluyendo arquitectura computacional, descripción del sistema operativo usado, entre otras características arquitecturales relevantes).
b. Recuerde que debe seleccionar las métricas y presentar los resultados de esa evaluación.
c. Use al menos dos (2) opciones de optimización al compilar.
d. Extraiga el pseudocódigo y diagrama de flujo.
e. Bonus: Puede realizar el mismo método con modificaciones en los códigos, pero debe mencionar en que mejoró o en que afecta esa modificación
2. Responda y explique las siguientes preguntas:
a. ¿Qué observa al hacer las pruebas comparando los procesadores?
b. ¿Qué observa al hacer las pruebas comparando las memorias RAM?
c. Bonus: Investigue y agregue una discusión sobre los efectos de la memoria y el procesador en el desempeño del compilador sobre plataformas en Windows.
Para este proyecto pueden usar sus equipos personales y/o de la universidad. No olvide explicar la arquitectura del sistema de prueba.
- Proyecto 6: Evaluación de Rendimiento de Compiladores sobre Windows usando Jacobi
Una compañía de desarrollo, que principalmente realiza software libre para el sector de servicios de comunicaciones, requiere una consultoría para evaluar el rendimiento de compiladores de programación al ejecutarse sobre plataformas Windows en computadores de escritorio, estaciones de trabajo o servidores de baja gama .
Los contratadores usan el método de Jacobi que se encuentra en este sitio: https://github.com/carlosjaimebh/SomeExamples y desean evaluar el rendimiento sobre dos máquinas diferentes para C y C++, que les proveerán los contratadores.
Los compiladores para analizar son: Dev C/C++, Microsoft Visual C/C++, GCC, Intel
1. Evaluar el rendimiento sobre esas máquinas dadas, mostrando cual es el mejor compilador en cada máquina respectiva.
a. Recuerde que debe mostrar los sistemas de prueba (descripción de la arquitectura del sistema, incluyendo arquitectura computacional, descripción del sistema operativo usado, entre otras características arquitecturales relevantes).
b. Recuerde que debe seleccionar las métricas y presentar los resultados de esa evaluación.
c. Use al menos tres (3) opciones de optimización al compilar
d. Extraiga el pseudocódigo y diagrama de flujo.
e. Bonus: Puede realizar el mismo método con modificaciones en los códigos, pero debe mencionar en que mejoró o en que afecta esa modificación
2. Responda y explique las siguientes preguntas:
a. ¿Qué observa al hacer las pruebas comparando los procesadores?
b. ¿Qué observa al hacer las pruebas comparando las memorias RAM?
c. Bonus: Investigue y agregue una discusión sobre los efectos de la memoria y el procesador en el desempeño del compilador sobre plataformas en Microsoft Windows*.
*Para este proyecto pueden usar sus equipos personales y/o de la universidad. No olvide explicar la arquitectura del sistema de prueba.
- Proyecto 7: Evaluación de Rendimiento de Distribuciones Linux (para la realización de este proyecto deberá apoyarse en el equipo técnico de SC3UIS*)
Una compañía que ofrece servicios en la nube, que principalmente ofrece servicios en nubes locales para medianas empresas, usando principalmente software libre, requiere una consultoría para evaluar el rendimiento de distribuciones Linux sobre servidores de media y baja gama. Para ello, los contrata y les pide una evaluación de cuatro (4) distribuciones populares que son: Debian, Ubuntu, CentOS y Mint. La empresa le proporcionará la máquina para realizar las respectivas pruebas.
1. Evaluar el rendimiento sobre esas máquinas dadas, mostrando cual es la distribución mas recomendable en cada máquina respectiva.
a. Recuerde que debe describir arquitecturalmente el sistema de prueba (descripción de la arquitectura del sistema, incluyendo arquitectura computacional, componentes, características relevantes de cada uno de los sistemas operativos, entre otras características arquitecturales relevantes).
b. Recuerde que debe seleccionar las métricas y presentar los resultados de esa evaluación. Las métricas de desempeño del Sistema Operativo están relacionadas al desempeño del disco, la memoria, el procesador y la red. Algunas de las métricas más importantes de desempeño del sistema son la memoria disponible, los bytes promedio por lectura/escritura, tiempo promedio de lectura/escritura, lecturas/escrituras de disco por segundo, utilización de red, entradas en páginas por segundo, páginas por segundo, tamaño de la cola del procesador y uso del procesador, entre otras.
c. Tenga en cuenta diferentes aspectos al realizar la prueba, por ejemplo: facilidad y tiempo de instalación, soporte de lenguajes de programación y compiladores, facilidad de uso, interoperabilidad con diferentes infraestructuras hardware, soporte, etc.)
d. Bonus: Realice una prueba adicional con Red Hat
2. Responda y explique las siguientes preguntas:
a. ¿Qué observa al hacer las pruebas comparando los procesadores?
b. ¿Qué observa al hacer las pruebas comparando las memorias RAM?
c. Bonus: Investigue y agregue una discusión sobre los efectos de la memoria y el procesador en el desempeño del sistema operativo.
*Deberán ponerse de acuerdo con el equipo de SC3UIS para realizar el acceso a dos máquinas linux diferentes. Enviar un correo con copia al profesor a sc3.operaciones@uis.edu.co
- Proyecto 8: Evaluación de Rendimiento de Lenguajes de Programación sobre Linux usando el cálculo de Pi con el Método de MonteCarlo
Una compañía de desarrollo, que principalmente realiza software libre para el sector educativo, requiere una consultoría para evaluar el rendimiento de lenguajes de programación al ejecutarse sobre plataformas Linux en computadores de escritorio, estaciones de trabajo o servidores de baja gama, compilándose principalmente en sistemas basados en gcc (https://gcc.gnu.org/).
Los contratadores usan el método de Montecarlo para calcular Pi que se encuentra en este sitio: https://www.geeksforgeeks.org/estimating-value-pi-using-monte-carlo/ y desean evaluar el rendimiento sobre dos máquinas diferentes para C#, C++, Java y Python, que les proveerán los que los han contratado*.
1. Evaluar el rendimiento sobre esas máquinas dadas, mostrando cual es el mejor lenguaje para ese problema en cada máquina respectiva.
a. Recuerde que debe seleccionar las métricas y presentar los resultados de esa evaluación.
b. Use al menos dos (2) opciones de optimización al compilar
c. Extraiga el pseudocódigo y diagrama de flujo.
d. Bonus: Realizar la versión en C y hacer comparaciones.
2. Responda y explique las siguientes preguntas:
a. ¿Qué observa al hacer las pruebas comparando los procesadores?
b. ¿Qué observa al hacer las pruebas comparando las memorias RAM?
c. Bonus: Investigue y agregue una discusión el uso de otro método diferente al de Montecarlo para calcular PI y que tan bueno (o malo) es comparado con el de Montecarlo.
*Deberán ponerse de acuerdo con el equipo de SC3UIS para realizar el acceso a dos máquinas linux diferentes. Enviar un correo con copia al profesor a sc3.operaciones@uis.edu.co, sin embargo si desea hacerlo en una máquina propia, puede hacerlo sin olvidar explicar las características arquitecturales.
- Proyecto 9: Evaluación de Rendimiento de Compiladores sobre Linux usando el cálculo de Pi con el Método de Montecarlo
Una compañía de desarrollo, que principalmente realiza software libre para el sector de manufactura, requiere una consultoría para evaluar el rendimiento de lenguajes de programación al ejecutarse sobre plataformas Linux en computadores de escritorio, estaciones de trabajo o servidores de baja gama, compilándose principalmente en sistemas basados en gcc (https://gcc.gnu.org/).
Los contratadores usan el método de Montecarlo para calcular Pi que se encuentra en este sitio: https://www.geeksforgeeks.org/estimating-value-pi-using-monte-carlo/ y desean evaluar el rendimiento sobre dos máquinas diferentes para C#, C++, Java y Python, que les proveerán los empresarios que los han contratado*.
Los compiladores a analizar son: CLANG, LLVM, GCC e Intel
1. Evaluar el rendimiento sobre esas máquinas dadas, mostrando cual es el mejor compilador en cada máquina respectiva.
a. Recuerde que debe mostrar los sistemas de prueba (descripción de la arquitectura del sistema, incluyendo arquitectura computacional, descripción del sistema operativo usado, entre otras características arquitecturales relevantes).
b. Recuerde que debe seleccionar las métricas y presentar los resultados de esa evaluación.
c. Use al menos tres (3) opciones de optimización al compilar
d. Extraiga el pseudocódigo y diagrama de flujo.
e. Bonus: Realizar la versión en C y hacer comparaciones
2. Responda y explique las siguientes preguntas:
a. ¿Qué observa al hacer las pruebas comparando los procesadores?
b. ¿Qué observa al hacer las pruebas comparando las memorias RAM?
c. Bonus: Investigue, documéntese y agregue una discusión sobre los efectos del compilador seleccionado de acuerdo al desempeño deseado, para implementaciones industriales.
*Deberán ponerse de acuerdo con el equipo de SC3UIS para realizar el acceso a dos máquinas linux diferentes. Enviar un correo con copia al profesor a sc3.operaciones@uis.edu.co, sin embargo si desea hacerlo en una máquina propia, puede hacerlo sin olvidar explicar las características arquitecturales.
- Proyecto 10: Evaluación de Rendimiento de Lenguajes de Programación sobre Windows usando el cálculo de Pi con el Método de Montecarlo
Una compañía de desarrollo, que principalmente realiza software libre para el sector médico, requiere una consultoría para evaluar el rendimiento de lenguajes de programación al ejecutarse sobre plataformas Windows en computadores de escritorio, compilándose sistemas open source (tipo dev) sobre Microsoft Windows.
Los contratadores usan el método de Montecarlo para calcular Pi que se encuentra en este sitio: https://www.geeksforgeeks.org/estimating-value-pi-using-monte-carlo/ y desean evaluar el rendimiento sobre dos máquinas diferentes para C#, C++, Java y Python, que les proveerán ellos*.
1. Evaluar el rendimiento sobre esas máquinas dadas, mostrando cual es el mejor compilador en cada máquina respectiva.
a. Recuerde que debe mostrar los sistemas de prueba (descripción de la arquitectura del sistema, incluyendo arquitectura computacional, descripción del sistema operativo usado, entre otras características arquitecturales relevantes).
b. Recuerde que debe seleccionar las métricas y presentar los resultados de esa evaluación.
c. Use al menos tres (3) opciones de optimización al compilar
d. Extraiga el pseudocódigo y diagrama de flujo.
e. Bonus: Realizar la versión en C y hacer comparaciones.
2. Responda y explique las siguientes preguntas:
a. ¿Qué observa al hacer las pruebas comparando los procesadores?
b. ¿Qué observa al hacer las pruebas comparando las memorias RAM?
c. Bonus: Realice una prueba de rendimiento de alguna de las versiones ejecutándola sobre Linux, explicando las principales diferencias que observa en ese rendimiento.
*Para este proyecto pueden usar sus equipos personales y/o de la universidad. No olvide explicar la arquitectura del sistema de prueba.
- Proyecto 11: Evaluación de Rendimiento de Compiladores sobre Windows usando el cálculo de PI con el Método de Montecarlo
Una compañía de desarrollo, que principalmente realiza software libre para el sector de servicios de entretenimiento, requiere una consultoría para evaluar el rendimiento de compiladores de programación al ejecutarse sobre plataformas Windows en computadores de escritorio, estaciones de trabajo o servidores de baja gama.
Los contratadores usan el método de Montecarlo para calcular Pi que se encuentra en este sitio: https://www.geeksforgeeks.org/estimating-value-pi-using-monte-carlo/ y desean evaluar el rendimiento sobre dos máquinas diferentes para C#, C++, Java y Python, que les proveerán los las personas que los han contratado*.
Los compiladores para analizar son: Dev C/C++, Microsoft Visual C/C++, GCC e Intel.
1. Evaluar el rendimiento sobre esas máquinas dadas, mostrando cual es el mejor compilador en cada máquina respectiva.
a. Recuerde que debe mostrar los sistemas de prueba (descripción de la arquitectura del sistema, incluyendo arquitectura computacional, descripción del sistema operativo usado, entre otras características arquitecturales relevantes).
b. Recuerde que debe seleccionar las métricas y presentar los resultados de esa evaluación.
c. Use al menos tres (3) opciones de optimización al compilar
d. Extraiga el pseudocódigo y diagrama de flujo.
e. Bonus: Realizar la versión en C y hacer comparaciones.
2. Responda y explique las siguientes preguntas:
a. ¿Qué observa al hacer las pruebas comparando los procesadores?
b. ¿Qué observa al hacer las pruebas comparando las memorias RAM?
c. Bonus: ¿Qué observa en términos de rendimiento, de diferente entre java y javascript? Si no es en el rendimiento, ¿cuál es la diferencia? Recuerde que debe hacer la descripción técnicamente.
*Para este proyecto pueden usar sus equipos personales y/o de la universidad. No olvide explicar la arquitectura del sistema de prueba.
- Proyecto 12: Evaluación de Rendimiento usando Linpack
Jack Dongarra, ganador del premio ACM Turing del 2021 (https://es.wikipedia.org/wiki/Jack_Dongarra) , lideró el desarrollo del benchmark Linpack en 1976. El benchmark Linpack fue desarrollado en el Argonne National Laboratory y es uno de los más usados en sistemas científicos y de ingeniería. (https://es.wikipedia.org/wiki/LINPACK) Entre los usos más importantes es que se usa en el ranking de Top500 que clasifica los supercomputadores más rápidos del mundo. https://www.top500.org/project/linpack/
Existe una versión para PC’s y equipos de gama estándar en https://github.com/microsoft/test-suite/tree/master/SingleSource/Benchmarks/Linpack el cual se les solicita a ustedes como contratistas, que sea usado para comparar el rendimiento de (2) dos plataformas diferentes usando el respectivo benchmarking*.
1. Evaluar el rendimiento sobre esas máquinas dadas, mostrando cual es la mejor de acuerdo con los resultados que da el Linpack.
a. Recuerde que debe mostrar los sistemas de prueba (descripción de la arquitectura del sistema, incluyendo arquitectura computacional, descripción del sistema operativo usado, entre otras características arquitecturales relevantes).
b. Recuerde que debe seleccionar las métricas y presentar los resultados de esa evaluación.
c. Realizar la prueba tanto para Microsoft Windows como para la distribución de Linux dada y mostrar las diferencias.
d. Extraiga el pseudocódigo y diagrama de flujo.
e. Bonus: Realizar la prueba usando dos compiladores diferentes para cada sistema operativo y mostrar los resultados.
2. Responda y explique las siguientes preguntas:
a. ¿Qué observa al hacer las pruebas usando valores bajos?
b. ¿El sistema operativo afecta los resultados? Justifique la respuesta.
c. Bonus: Investigue y explique por qué el Linpack se considera limitado y que otros benchmarks existen que dan más información relevante sobre los sistemas en términos de capacidades y poder, por ejemplo, en el Top500.
*Para este proyecto pueden usar sus equipos personales y/o de la universidad. No olvide explicar la arquitectura del sistema de prueba.
- Proyecto 13: Evaluación de Rendimiento usando HPL-LinPack(para la realización de este proyecto deberá apoyarse en el equipo técnico de SC3UIS y utilizará el supercomputador GUANE-1)
Jack Dongarra, ganador del premio ACM Turing del 2021 (https://es.wikipedia.org/wiki/Jack_Dongarra) , lideró el desarrollo del benchmark Linpack en 1976. El benchmark Linpack fue desarrollado en el Argonne National Laboratory y es uno de los más usados en sistemas científicos y de ingeniería. (https://es.wikipedia.org/wiki/LINPACK) Entre los usos más importantes es que se usa en el ranking de Top500 que clasifica los supercomputadores más rápidos del mundo. https://www.top500.org/project/linpack/
Existe una versión portable dirigida a plataformas de memoria distribuida, llamada HPL (https://netlib.org/benchmark/hpl/) el cual, se solicita a ustedes una consultoría para realizar una prueba de rendimiento en uno y dos nodos.
1. Evaluar el rendimiento sobre esas máquinas dadas, mostrando cual es la mejor de acuerdo con los resultados que da el Linpack.
a. Recuerde que debe mostrar los sistemas de prueba (descripción de la arquitectura del sistema, incluyendo arquitectura computacional, descripción del sistema operativo usado, entre otras características arquitecturales relevantes).
b. Recuerde que debe seleccionar las métricas y presentar los resultados de esa evaluación.
c. Realizar la prueba tanto para un nodo como para dos nodos.
d. Extraiga el pseudocódigo y diagrama de flujo.
e. Bonus: Si se hace una extrapolación teórica hacia 18 nodos ¿Cuál sería ese resultado? ¿El rendimiento esperado es lineal o no? Justifique su respuesta.
2. Responda y explique las siguientes preguntas:
a. ¿Qué observa al hacer las pruebas comparando los procesadores?
b. ¿Qué observa al hacer las pruebas comparando las memorias RAM?
c. Bonus: Investigue y explique de que se trata ya las máquinas Exascale y post-Exascale y la computación en torno a ella.
- Proyecto 14: Evaluación de Rendimiento de Ejecución en Paralelo y Secuencial usando el Método de Montecarlo para calcular Pi (para la realización de este proyecto deberá apoyarse en el equipo técnico de SC3UIS y utilizará el supercomputador GUANE-1*)
Una compañía de desarrollo, que principalmente realiza software libre para aeroespacial, requiere una consultoría para evaluar el rendimiento sobre plataformas especificas en paralelo y en secuencial, que se ejecutaran en plataformas sobre Linux. Para realizar la prueba, en una plataforma especifica que le dará la empresa, le propone ejecutar (4) cuatro versiones del cálculo de pi, usando el método montecarlo, escrito en C y que se encuentra disponible en: https://github.com/olcf/Serial-to-Parallel--Monte-Carlo-Pi/blob/master/serialpi.c , la versión en C sin paralelizar; https://github.com/olcf/Serial-to-Parallel--Monte-Carlo-Pi/blob/master/omppi.c la versión en C paralelizada con OpenMP; en https://github.com/olcf/Serial-to-Parallel--Monte-Carlo-Pi/blob/master/mpireducepi.c , la versión en C paralelizada en MPI y finalmente https://github.com/olcf/Serial-to-Parallel--Monte-Carlo-Pi/blob/master/mpiomp.c la versión hibrida. Nota importante: Todas las versiones tienen similitudes, pero no son completamente iguales.
1. Evaluar el rendimiento sobre estas opciones, explicando en qué casos es mejor cada una de ellas, al ejecutarse.
a. Recuerde que debe mostrar los sistemas de prueba (descripción de la arquitectura del sistema, incluyendo arquitectura computacional, descripción del sistema operativo usado, entre otras características arquitecturales relevantes).
b. Recuerde que debe seleccionar las métricas y presentar los resultados de esa evaluación.
c. Use al menos dos (2) opciones de optimización al compilar en la versión secuencial.
d. Extraiga el pseudocódigo y diagrama de flujo.
e. Bonus: Realizar la comparación con la versión en CUDA: https://gist.github.com/jlgarridol/fa89b030a4f7c89976675d03e22ae020
2. Responda y explique las siguientes preguntas:
a. ¿Cuál es la principal diferencia, en términos de arquitectura de computadores durante la ejecución, de cada uno de los paradigmas de programación utilizados?
b. Bonus: Investigue y agregue una discusión sobre los efectos de la comunicación cuando se comienza a escalar un problema para que se ejecute.
*Deberán ponerse de acuerdo con el equipo de SC3UIS para realizar el acceso a dos máquinas linux diferentes. Enviar un correo con copia al profesor a sc3.operaciones@uis.edu.co
Taller de Introducción de Grupos de Trabajo (Miércoles 19 de octubre 2022 - En Grupos)
Este taller tiene como objetivo introducir al trabajo de clase que se desarrollará durante todo el semestre y cuyos resultados finales se presentarán al final. Igualmente, reconocer el grado de conocimiento sobre la asignatura y la tecnología de los integrantes del grupo de trabajo. Debe entregarse por escrito faltando diez (10) minutos para la finalización de la clase, no se debe usar ningún tipo de material de consulta, sino realizar la discusión en cada uno de los grupos de trabajo, entre sus compañeros. Todas las respuestas dadas deben darse en una única hoja por lado y lado (máximo dos páginas), por lo que deben discutir y llegar a ser concretos. Identifiquen cúal de sus compañeros tiene la letra más legible y escriban con bolígrafo, no con lápiz. OBSERVE LA ORTOGRAFÍA. Recuerde que este tipo de taller representa un bonus sobre el corte de nota más cercano.
- Reconozca a cada uno de los integrantes del grupos y en la hoja de entrega, coloque su nombre completo y código de estudiante.
- Discuta con sus compañeros y lleguen a un consenso para conocer sus expectativas respecto al curso. Escríbalas en no más de diez (10) lineas.
- Discuta con sus compañeros, como futuros ingenieros de sistemas, cuales son los retos tecnológicos que ustedes observan en torno a la arquitectura de computadores. Escriba y justifique esos retos.
- En la primera clase se mostró un concepto de arquitectura de computadores, desde un punto de vista de ingeniero de sistemas. Después de discutir con sus compañeros y escriba y explique a alguien que no es ingeniero o técnico, qué es la arquitectura de computadores. Puede hacer similitudes o dar un ejemplo.
- En la primera práctica del curso, se realizó una pregunta que es: Hoy en día se habla mucho de la Transformación Digital y la Industria 4.0. Suponiendo que se gradúa mañana ¿Tiene claro (o no) cómo hacer parte de esas transformaciones y de la Industria 4.0.? .Justifique su respuesta. Teniendo en cuenta la respuesta dada por cada uno de ustedes, discuta con sus compañeros y responda lo siguiente: ¿Cree que la Escuela de Ingeniería de Sistemas e Informática y la Universidad, tienen claro ese tipo de transformación Digital y la Industria 4.0? Escriba y justifique su respuesta.
Asignaciones y Temáticas de Proyectos (1 Semestre 2022)
ESCUELA: | 6570 - ESCUELA DE ING.DE SISTEMAS | GRUPO TRABAJO | |
CODIGO ESTUDIANTE | ESTUDIANTE | ||
2182695 | BUSTAMANTE PLATA CRISTHIAN CAMILO | 1 | La Escuela de Ingeniería mecánica, decide fortalecer las competencias de sus estudiantes en pregrado, en mecanísmos autonómos, para lo cual los contrata como equipo de consultores de ingeniería de sistemas, para adquirir una solución tecnológica in-situ que permita experimentar con soluciones que posteriormente podrían colocarse en la cualquier vehículo. La solución deberá permitir evaluar y desplegar diferentes tipos de soluciones y estrategias, que por ejemplo han sido construidas usando diferentes lenguajes de programación, ambientes de desarrollo y ejecución conocidos, normalmente sobre diferentes sistemas operativos y compiladores tanto Open Source como propietario. Dicha(s) plataforma(s) debe poder ser accesada por red via Internet o bluetooth para un promedio de 20 usuarios simultáneos y se aspira que se cuente tanto con sistemas embebidos como terminales de acceso (Pueden ser portátiles o tabletas). El presupuesto esta limitado a USD 150.000.oo (Ciento cincuenta mil dólares) para TODA la solución, que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, baterias, etc.). Notas importantes: 1. Se busca un uso académico y de laboratorio. 2. Debe contemplarse la diversidad de procesadores y soluciones posibles (CPUs, GPUs, Cortes ARM). 3. Si el presupuesto es insuficiente, explicar por qué (pero no olvidar que debe darse una propuesta con el presupuesto dado). 4. Cantidad de dispostivos. 5. Consumo energético. Referencia recomendada: https://jetbot.org/
|
2183073 | CASTAÑEDA TORRES CARLOS ALBERTO | ||
2162102 | CASTILLO ORDUZ JUAN ESTEBAN | ||
2191954 | COBOS AYALA DANIEL EDUARDO | ||
2192510 | DE ANGEL FONTALVO MANUEL ALEJANDRO | ||
2194285 | FARFAN CASTILLO WILMER STEVEN | 2 | La Escuela de Ingeniería de Sistemas e Informática, decide fortalecer sus competencias en ciberseguridad, en el contexto de guerra cibernética y ciberterrorismo, para lo cual los contrata como equipo de consultores ingenieros, para adquirir una solución tecnológica in-situ que permita simular y emular tanto ataques, como problemas y situaciones relacionados con seguridad. La solución deberá permitir evaluar y desplegar diferentes tipos de soluciones y estrategias, que por ejemplo han sido construidas usando diferentes lenguajes de programación, ambientes de desarrollo y ejecución conocidos, normalmente sobre diferentes sistemas operativos y compiladores tanto Open Source como propietario. Dicha plataforma debe poder ser accesada por red via Internet, para un promedio de 100 usuarios simultáneos y simular mínimo 1000 accesos. El switch respectivo para acceder, asi como el servidor frontend (y otros necesarios, como firewalls, UDPs) y otros dispositivos necesarios de seguridad no los tiene la escuela, por lo que igual debe sugerirse y listarse cuales deben ser esos equipos y sus principales características. La plataforma deberá enlazarse con una plataforma de almacenamiento dedicado que no lo tiene la escuela y que igual debe sugerirse para dicho laboratorio de cibereguridad. Ese almacenamiento debe ser tipo SAN de mínimo 200 TB, que soporte diversos sistemas de archivos (constantemente se configurara y formateara) con puertos de interconexión estándar que se encuentran en el mercado (fibra óptica, Infiniband) y el switch respectivo, no se tien tampoco e igual debe recomendarse. El presupuesto esta limitado a USD 250.000.oo (Doscientos cincuenta mil dólares) para TODA la solución, que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.). Notas importantes: 1. Se busca un uso académico y de laboratorio. 2. Debe contemplarse la diversidad de procesadores y soluciones posibles (CPUs, GPUs, DPUs, FPGAs, XPUs). 3. Si el presupuesto es insuficiente, explicar por qué (pero no olvidar que debe darse una propuesta con el presupuesto dado). 4. Tenga en cuenta que en la escuela de ingeniería de sistemas e informática no hay expertos en ciberseguridad. Referencia Recomendada: https://www.hpe.com/us/en/solutions/infrastructure-security.html
|
2191692 | GALEANO CASTRO VALENTINA | ||
2195556 | GALEANO HERNANDEZ JEFERSSON ALEJANDRO | ||
2191943 | GONZALEZ BUENDIA DANIEL ADRIAN | ||
2190046 | GUTIERREZ PALOMINO EDINSSON FERNANDO | ||
2191050 | LIZCANO ARENAS CRISTHIAN RAFAEL | 3 | La Escuela de Ingeniería de Sistemas e Informática, decide fortalecer sus competencias en computación cuántica, para lo cual los contrata como equipo de consultores, para decidir si adquirir una solución tecnológica in-situ o si adquirir el acceso a una plataforma que permita la experimentación con códigos cuánticos, ya sea en un simulador cuántico o en un computador cuántico real. La solución deberá permitir evaluar y desplegar diferentes tipos de soluciones y estrategias, que por ejemplo han sido construidas usando diferentes lenguajes de programación, ambientes de desarrollo y ejecución conocidos Open Source. Dicha plataforma debe poder ser accesada por red via Internet, para un promedio de 20 usuarios simultáneos. El switch respectivo para acceder, asi como el servidor frontend y otros dispositivos necesarios de seguridad los tiene la escuela, por lo que no debe sugerirse ni tampoco los terminales de acceso.. El presupuesto esta limitado a USD 300.000.oo (Trescientos mil dólares) para la solución, que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.). Notas importantes: 1. Se busca un uso académico y de laboratorio. 2. Debe contemplarse la diversidad de procesadores y soluciones posibles tanto en sitio como de acceso a una plataforma. 3. Si el presupuesto es insuficiente, explicar por qué (pero no olvidar que debe darse una propuesta con el presupuesto dado). 4. Realizar una comparación de pros y contras (si in-situ ó de acceso via una nube). Referencia Recomendada: https://www.globenewswire.com/news-release/2021/05/05/2223488/0/en/Atos-and-SENAI-CIMATEC-launch-Center-of-Excellence-in-Quantum-Computing-in-Brazil.html
|
2191969 | MENDOZA ALVARADO SEBASTIAN DAVID | ||
2182693 | MERCHAN QUEVEDO HELMAN ANDRES | ||
2180049 | MORENO PINTO CAMILO ANDRES | ||
2191424 | NUÑEZ RANGEL DAVID ALEJANDRO | ||
2191928 | PRADA MORALES KEVIN ALEXIS | 4 | La Escuela de Ingeniería Química, decide fortalecer las competencias de sus estudiantes en pregrado, como todo el mundo, en Inteligencia Artificial y Analítica de Datos, para lo cual los contrata como equipo de consultores de ingeniería de sistemas, para adquirir una solución tecnológica in-situ que permita experimentar con soluciones que posteriormente podrían colocarse en la un repositorio abierto dirigido igualmente a estudiantes. La solución deberá permitir evaluar y desplegar diferentes tipos de soluciones y estrategias, que por ejemplo han sido construidas usando diferentes lenguajes de programación, interpretadores (con una preferencia hacia Python) ambientes de desarrollo y ejecución conocidos, frameworks (con una preferencia hacia TensorFlow y Pythorch) y visualizadores, normalmente sobre diferentes sistemas operativos y compiladores tanto Open Source como propietario. Dicha plataforma debe poder ser accesada por red via Internet desde cualquier punto de la Universidad y fuera de ella . El presupuesto esta limitado a USD 150.000.oo (Ciento cincuenta mil dólares) para TODA la solución, que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.). Notas importantes: 1. Se busca un uso académico y de laboratorio. 2. Debe contemplarse la diversidad de procesadores y soluciones posibles (CPUs, GPUs, Cortes ARM). 3. Si el presupuesto es insuficiente, explicar por qué (pero no olvidar que debe darse una propuesta con el presupuesto dado). 4. Administrador de plataforma (costo anual, no estipulado dentro del presupuesto inicial solo para infrastructura). Referencia recomendada: https://www.nvidia.com/es-la/data-center/dgx-a100/
|
2191621 | QUINTERO OLARTE JUAN HARVEY | ||
2191956 | RODRIGUEZ ROMERO JULIAN ANDREY | ||
2191942 | ROJAS MAYORGA BRAYAN ARLEY | ||
2194284 | SANCHEZ CALDERON FABIAN ARTURO | ||
2192511 | SARMIENTO SALAZAR JAVIER ANDRES | 5 | La Escuela de Economía, decide fortalecer sus competencias en sistemas de gran escala y big data, para lo cual los contrata como equipo de consultores, para adquirir una solución tecnológica in-situ que permita experimentar con soluciones que posteriormente podrían colocarse en la nube. La solución deberá permitir evaluar y desplegar diferentes tipos de soluciones y estrategias, que por ejemplo han sido construidas usando diferentes lenguajes de programación, ambientes de desarrollo y ejecución conocidos, normalmente sobre diferentes sistemas operativos y compiladores tanto Open Source como propietario. Dicha plataforma debe poder ser accesada por red via Internet, para un promedio de 20 usuarios simultáneos. El switch respectivo para acceder, asi como el servidor frontend y otros dispositivos necesarios de seguridad no los tiene la escuela, por lo que igual debe sugerirse y listarse cuales deben ser esos equipos y sus principales características. La plataforma deberá enlazarse con una plataforma de almacenamiento dedicado que no lo tiene la escuela y que igual debe sugerirse para dicho laboratorio de Big Data. Ese almacenamiento debe ser tipo SAN de mínimo 200 TB, que soporte diversos sistemas de archivos (se configurará y actualizará al menos una vez al año), principalmente Lustre con puertos de interconexión estándar que se encuentran en el mercado (fibra óptica, Infiniband) y el switch respectivo, no se tiene e igual debe recomendarse. El presupuesto esta limitado a USD 250.000.oo (Dos cincuenta mil dólares) para TODA la solución, que incluiría impuestos posibles, un administrador de plataforma y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.). Notas importantes: 1. Se busca un uso académico y de laboratorio. 2. Debe contemplarse la diversidad de procesadores y soluciones posibles (CPUs, GPUs, DPUs, FPGAs, XPUs). 3. Si el presupuesto es insuficiente, explicar por qué (pero no olvidar que debe darse una propuesta con el presupuesto dado). 4. Recomendar las competencias del administrador de la plataforma. Referencia Recomendada: https://www.ibm.com/downloads/cas/AYWDRYLW
|
2190049 | TORRES GARZON JEFREY STEVEN | ||
2182029 | TORRES SALCEDO DANIEL SANTIAGO | ||
2191959 | VALERA SANCHEZ JOSE DANIEL | ||
2192941 | VASQUEZ GARCES GYSSELIS | ||
2191932 | ALVAREZ AMADO ADEL MAURICIO | 6 | La Escuela de Ingeniería de Sistemas en colaboración con la Escuela de Diseño Industrial busca desarrollar sistemas de interacción hombre máquna, tipo VR, en un laboratorio común enfocado a estudiantes de pregrado y postgrado, para lo cual los contrata como equipo de consultores. Los consultores deben sugerir que adquirir como una solución tecnológica in-situ que permita probar diversos tipos de aplicaciones que han sido programados en diferentes ambientes de desarrollo y ejecución conocidos (MyArmy, Unity, etc), normalmente sobre diferentes sistemas operativos y compiladores tanto Open Source como propietario. Estas aplicaciones posteriormente serán ofertados para interactuar en linea por una nube universitaria. Dicha plataforma debe poder ser accesada por red via Internet, para 100 usuarios probadores en promedio, pero igual se espera que ustedes sugieran al menos dos máscaras o cascos de soporte VR. El switch respectivo para acceder asi como el servidor frontend se supone que ya se tiene, con caracteristicas de puertos de alta capacidad y baja latencia. Se espera que losdesarrollos, como se mencionó anteriormente sean de alta gama (tanto gráfica como de sonido, no gama media o baja) y permita una interacción en tiempo real. La plataforma deberá enlazarse con una plataforma de almacenamiento dedicado cuyas caracterísiticas son desconocidas. El presupuesto esta limitado a USD 350.000.oo (trescientos cincuenta mil dólares) que incluiría igual un par de cascos/máscaras de soporte VR, tanto impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.). Referencia Recomendada: https://www.worldviz.com/virtual-reality-solutions
|
2172023 | BLANCO DUARTE EFRAIN JOSE | ||
2182689 | CALDERON SALAZAR GEYDI DAYANA | ||
2190081 | CERINZA ZARAZA JUAN PABLO | ||
2192508 | CLARO GUERRERO JUAN DIEGO | ||
2190040 | DAZA SUAREZ BRAYAN SNEIDER | 7 | La Escuela de Ingeniería de Sistemas e Informática busca fortalecer sus capacidades para tratar problemas diversos en Inteligencia Artificial para diferentes áreas, para lo cual los contrata a ustedes como equipo de consultores, para adquirir una solución tecnológica in-situ que permita probar diversos tipos de algoritmos usando ambientes de desarrollo y ejecución conocidos (Pytorch, TensorFlow, etc.), normalmente sobre el sistema operativo linux y compiladores Open Source. Dicha plataforma debe poder ser accesada por red via Internet y redes privadas específicas (como la Red Académica RENATA), para un número de 10 usuarios simultáneos posibles. Se espera que los algoritmos , desarrollados asi como las aplicaciones manejen una escala mediana de datos y procesos. No es una plataforma de producción, sino de prueba, entrenamiento y despliegue, como se mencionó, de mediana escala. La plataforma deberá enlazarse con una plataforma de almacenamiento dedicado queno se tipo SAN de 250 TB como minimo con puertos de interconexión estándar que se encuentran en el mercado (fibra óptica, Infiniband) y el switch respectivo, que igual la debe adquirirse. El presupuesto esta limitado a USD 400.000.oo (Cuatrocientos mil dólares) que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.). 1. Se busca un uso académico y de laboratorio. 2. Debe contemplarse la diversidad de procesadores y soluciones posibles (CPUs, GPUs, Cortes ARM). 3. Si el presupuesto es insuficiente, explicar por qué (pero no olvidar que debe darse una propuesta con el presupuesto dado). 4. Administrador de plataforma (costo anual, no estipulado dentro del presupuesto inicial solo para infrastructura). Referencia recomendada: https://www.nvidia.com/es-la/data-center/dgx-a100/
|
2190093 | DURAN MACIAS JUAN SEBASTIAN | ||
2191420 | ESPINEL BOTERO MIGUEL FELIPE | ||
2191962 | GARCIA RUEDA ANDRES JULIAN | ||
2172020 | GUTIERREZ MENDEZ KEVIN SANTIAGO | ||
2191957 | HURTADO RODRIGUEZ CESAR LUIS | 8 | La Universidad Industrial de Santander, busca asesorar al IDEAM para ubicar en Colombia las capacidades tecnológicas que permiten el desarrollo y ejecución de aplicaciones para pronosticar el clima en los aeropuertos, usando principalmente WRF, in-situ. Buscando solventar sus necesidades, los contrata a ustedes como equipo de consultores, para adquirir una solución tecnológica in-situ que permita ejecutar diversos tipos de códigos basados en WRF y que se ubicaría como piloto en la UIS. Estos códigos han sido construidos usando principalmente C/C++ y. Fortran, bajo ambientes de desarrollo y ejecución conocidos, normalmente sobre Linux y compiladores tanto Open Source como propietario. Dicha plataforma debe poder ser accesada por red via Internet, para un promedio de 25 usuarios simultáneos, pero lo mas importante es que permita escalar lo máximo posible los procesos, de tal manera que pueda tener los diferentes resultados de sus códigos en máximo dos horas. El switch respectivo para acceder, asi como el servidor frontend y otros dispositivos necesarios de seguridad los tiene ya el organismo. La plataforma deberá enlazarse con una plataforma de almacenamiento dedicado tipo SAN de 1.5 PB con puertos de interconexión estándar que se encuentran en el mercado (fibra óptica, Infiniband) y el switch respectivo, que igual ya se tiene por parte del IDEAM y se transferira via RENATA. El presupuesto esta limitado a USD 800.000.oo (Ochocientos mil dólares) que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.). Notas importantes: 1. Se busca que garantice un consumo de potencia eléctrica bajo. 2. Los códigos de WRF que se tienen, están principalmente dirigidos al uso de CPUs. 3. Igualmente se espera una recomendación de compiladores a usar. 4. No olvide ver soluciones similares en otros paises vecinos, principalmente en Ecuador y Brasil. 5. Debe estipularse un administrador de plataforma, especificando sus competencias. 6. Pronósticar la vida útil de la solución y necesidades de actualización y remplazo. 7. Comparar con el costo y pros y contras de la solución en la nube. Rerefencia Recomendada: http://www.ideam.gov.co/
|
2191937 | LA ROTTA PEÑA DANIEL FERNANDO | ||
2191941 | LEON QUINTERO JULIAN DAVID | ||
2190087 | LINARES TEJEDOR LUIS ALEJANDRO | ||
2190071 | MANTILLA CLARO HENRY DARIO | ||
2191955 | MEDINA HERNANDEZ JUAN DAVID | 9 | La Escuela de Ingeniería Eléctrica, Electrónica y Telecomunicaiones (E3T) busca desarrollar aplicaciones para simulación en la industria energética y medioambiental desde las especializaciones con socios de la industria, para lo cual los contrata como equipo de consultores, para adquirir una solución tecnológica in-situ. La solución puede ser un sistema centralizado o sistemas de trabajo individuales, en los cuales desarrollarían 3 personas y accederían a través de pc's personales o tabletas que ya se tienen. Las aplicaciones han sido construídas usando diferentes lenguajes de programación, compiladores, ambientes de desarrollo y ejecución conocidos, dirigido al sistema operativo linux y todo bajo una política de Open Source. Las aplicaciones son colaborativas y normalmente estas aplicaciones se ejecutarán en sistemas de computación de alto rendimiento (HPC) que contienen diferentes tipos de procesadores (CPUs, TPUs, GPUs, XPUs). Dicha solución deberá poder conectarse via una red privada, a un servidor de acceso donde se almacenan las aplicaciones y desarrollos que ya tiene la empresa y por supuesto a Internet a través de una red pública. El switch respectivo para acceder a ese servidor ya lo tiene la empresa así como el sistema de almacenamiento. Las características de ese servidor, como del switch y el sistema de almacenamiento son desconocidas. El presupuesto esta limitado a USD 300.000.oo (Trecientos mil dólares) que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.). Notas importantes: 1. Se busca un uso académico y de laboratorio. 2. Debe contemplarse la diversidad de procesadores y soluciones posibles (CPUs, GPUs, DPUs, FPGAs, XPUs). 3. Si el presupuesto es insuficiente, explicar por qué (pero no olvidar que debe darse una propuesta con el presupuesto dado). 4. Recomendar las competencias del administrador de la plataforma. Referencia Recomendada: https://www.lenovo.com/us/en/servers-storage/servers/ |
2191711 | NOVOA MARTINEZ JHON JAIME | ||
2162916 | PARRA PERILLA DEIVYD DARIO | ||
2191636 | PEÑA BELLO BREYNER SANTIAGO | ||
2191691 | RAMIREZ DUARTE JUAN PABLO | ||
2181686 | RINCON GUEVARA YEZITH FERNANDO | 10 | El Semillero de Cohetería UIS Aeroespacial (SCUA) de la Universidad Industrial de Santander, busca desarrollar aplicaciones para servicios satélites aerospaciales que se utilizarán principalmente para identificación en imagenes satélitales. Para ello quiere adquirir una serie de plataformas de prueba embebidas, tanto con sistemas CPUs ARM o GPUs que garantice bajo consumo energético principalmente, administración remota via internet y buenas capacidades de procesamiento. Las aplicaciones han sido construidas usando diferentes lenguajes de programación (C/C++, CUDA, JAVA), directivas(OpenACC, Matlab) e interpretadores (como Python, R), compiladores, ambientes de desarrollo y ejecución conocidos, dirigido al sistema operativo linux y todo bajo una política de Open Source. El presupuesto esta limitado a USD 15.000.oo (quince mil dólares) que incluiría impuestos posibles y gastos de adaptación (enfriamiento especializado si se requiere, armarios, UPS, etc.). Notas importantes: 1. Cantidad de posibles elementos de la solución (número de dispositivos embebidos). 2. Soporte de alto rendimiento (HPC) embebido (o HPC@Pocket). 3. Se pesera al menos poder adquirir dos plataformas de tecnologías y fabricantes diferentes. Referencias Recomendadas: https://www.nvidia.com/es-la/autonomous-machines/embedded-systems/ y http://giema.uis.edu.co/index.php/semillero-de-investigacion-aeroespacial
|
2192655 | RODRIGUEZ HERNANDEZ CARLOS JOSSEPH | ||
2194144 | TAVERA CAMACHO DANIEL RICARDO | ||
2190092 | VALLEJO GARCIA HERNAN SANTIAGO | ||
2191967 | VELANDIA NARANJO JUAN FELIPE |
Recuerden que son las mismas asignaciones para los grupos de trabajo de los talleres pràcticos.
La referencia recomendada es una referencia inicial, debe buscar otras adicionales.
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)