Difference between revisions of "Arquitectura de computadores"

From Supercomputación y Cálculo Científico UIS
 
(274 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
Volver a [[Cursos|Cursos]]
 
Volver a [[Cursos|Cursos]]
 
  
  
Line 6: Line 5:
  
 
[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 85: Line 86:
 
*Webminars y Videoconferencias
 
*Webminars y Videoconferencias
  
===MATERIAL DEL CURSO===
+
==='''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) y los artículos presentados por los estudiantes a partir del primer semestre de 2016.'''
+
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: [[Arquitectura de computadores#HISTORICO%20DE%20PROYECTOS%20PASADOS|HISTORICO DE PROYECTOS PASADOS]].'''
  
 
===='''Presentación del Curso''':====
 
===='''Presentación del Curso''':====
  
*'''[http://wiki.sc3.uis.edu.co/index.php/File:PresArq-2-2019.pdf 2-2019]'''
+
*'''[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:'''====
  
*'''[http://wiki.sc3.uis.edu.co/index.php/File:Abstraction2.pdf Abstracción]'''
+
*'''[http://wiki.sc3.uis.edu.co/index.php/File:Abstraction3.pdf Abstracción]'''
*Fundamentos de Diseño Lógico Digital
 
 
*[http://wiki.sc3.uis.edu.co/index.php/File:CompHist1-16.pdf '''Evolución Histórica''']
 
*[http://wiki.sc3.uis.edu.co/index.php/File:CompHist1-16.pdf '''Evolución Histórica''']
 
*[http://wiki.sc3.uis.edu.co/index.php/File:ArchiEvalPerf2016.pdf '''Evaluación de Desempeño''']
 
*[http://wiki.sc3.uis.edu.co/index.php/File:ArchiEvalPerf2016.pdf '''Evaluación de Desempeño''']
 +
*Fundamentos de Diseño Lógico Digital (Repaso)
  
 
===='''Del Tema 2 del Contenido:'''====
 
===='''Del Tema 2 del Contenido:'''====
Line 104: Line 105:
 
*'''[http://wiki.sc3.uis.edu.co/index.php/File:ArithArchi.pdf Aritmética Computacional]'''
 
*'''[http://wiki.sc3.uis.edu.co/index.php/File:ArithArchi.pdf Aritmética Computacional]'''
 
*[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''']
*[http://wiki.sc3.uis.edu.co/index.php/File:ClusterMultiCores.pdf '''Multinúcleos y Paralelísmo: Una introducción''']
+
*[[:File:MemoryH.pdf|Memory Hierarchy]]
*[http://www.tutorialspoint.com/assembly_programming/ '''Introducción al Ensamblador''']
+
*'''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'''
 +
**[[:File:Ensambla20.pdf|'''Presentación General y Fundamentos''']]
 +
**[http://www.tutorialspoint.com/assembly_programming/ '''Tutorial de Introducción al Ensamblador''']
  
 
===='''Del Tema 3 del Contenido:'''====
 
===='''Del Tema 3 del Contenido:'''====
Line 114: Line 120:
 
*[http://wiki.sc3.uis.edu.co/index.php/File:RISCCISISA.pdf '''RISC, CISC y Variaciones''']
 
*[http://wiki.sc3.uis.edu.co/index.php/File:RISCCISISA.pdf '''RISC, CISC y Variaciones''']
 
*[http://wiki.sc3.uis.edu.co/images/f/f8/ArchiReconf2019Beta.pdf '''Arquitecturas Reconfigurables y Embebidas''']
 
*[http://wiki.sc3.uis.edu.co/images/f/f8/ArchiReconf2019Beta.pdf '''Arquitecturas Reconfigurables y Embebidas''']
 +
*[[:File:WareHouse20.pdf|'''WSC, Ultrascale y Arquitecturas de Gran Escala  Centrada en Datos''']]
 +
*[[:File:TalkEnd.pdf|'''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)
  
=='''EVALUACIONES (2 Semestre de 2019 - Todos los Grupos)'''==
+
===='''(15%) Taller Individual 1 - Primera Nota -'''====
 +
'''(Realización : Semana del 26 al 30 de agosto)'''
  
'''Los exámenes escritos se realizarán en las horas de clase e inician a las 7:00 a.m.'''
+
'''Fecha y Hora Limite de Entrega: 30 de agosto de 2024 a las 9:30 (GMT - 5 Bogota/Lima Time)'''
  
'''<u>Se exige puntualidad. Después de quince minutos de iniciada la evaluación no se podrá ingresar y se debe solicitar supletorio de acuerdo a los reglamentos de la Universidad.</u>'''
+
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).
  
'''<u>Los exámenes son de 90 minutos estrictos.</u>'''
+
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
  
Los teléfonos celulares deberán apagarse y dejarse en frente del salón, así como cualquier dispositivo electrónico no vital.
+
'''Parte 1: Computación Analógica'''
  
==='''1. @HomeLab (5%) Fecha Propuesta: Octubre 17 de 2019 (Individual)'''===
+
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.  
Este trabajo de casa se basa en cursos pasados vistos en la carrera. Sea concreto y responda enviando el trabajo el 17 de octubre a la hora límite de las 11:30 a.m. al correo del profesor, en un único archivo .pdf con el nombre HL-(Su código), así, si por ejemplo, su código es 941108, el archivo deberá llamarse HL-941108.pdf . El asunto del mensaje debe ser @HomeLab2019 y en el texto del mensaje debe estar su nombre completo y código junto con el grupo al que pertenece. El archivo no debe contener más de 5 páginas .
 
  
#Use la web para encontrar el número de transistores en un chip VLSI y el tamaño físico de ese chip (de nueva generación). Suponga que todo el espacio de ese chip es utilizado ¿Un transistor individual, que tan grande es?
+
'''Parte 2: Inteligencia Artificial'''
#Como se mencionó en la primera clase, la energía es fundamental y muy importante en cualquier dispositivo computacional. Los circuitos digitales de un smart phone y otros dispositivos similares no funcionan a (5) cinco voltios, como normalmente funciona otros dispositivos electrónicos o los que ustedes manipularon en los talleres de semestres pasados en los cursos de electrónica. Observe en la web cada uno de sus teléfonos celulares, el  voltaje usado y en no más de diez (10) lineas explique las diferencias entre ellos. Si son teléfonos iguales, compárelo con el de la generación anterior.
 
#El voltaje y la corriente son propiedades cuantificables en electricidad muy importantes. Sabiendo que el voltaje entre dos (2) puntos representa la diferencia de energía potencial (medida en voltios) y la corriente representa el flujo de electrones a través de un camino (medido en amperios), explique con una [https://definicion.de/analogia/ '''<u>analogía</u>'''] en no mas de cinco (5) lineas estas propiedades.
 
#Use el internet para buscar acerca de flip-flops (contextualice desde el punto de vista del curso, en este caso en particular sobre fundamentos de diseño lógico de circuitos, electricidad y electrónica). Explique de que se trata en no más de (5) cinco lineas y liste los tipos más importantes y sus características en no mas de (10 diez lineas en total.
 
#Usando igualmente internet, responda la siguiente pregunta, en no más de cinco (5)  lineas: Cuando un fabricante presume que el fabrica chips con una tecnología de siete (7) nanometros, ¿Que significa en términos prácticos?.
 
#Busque por internet acerca de "clockless logic". Explique en no más de (10) diez lineas de que se trata y en que es usado.
 
  
==='''2. Evaluación Escrita No. 1 (20%) TEMA 1(CON material de apoyo, INDIVIDUAL).&nbsp; Fecha propuesta: &nbsp;''<u>Jueves 31 de Octubre de 2019</u>'''''===
+
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.
  
*Se recomienda tener hoja de examen y responder con lapicero, no con lápiz.
+
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:
*'''Debe responder en el orden de las preguntas.'''
 
*No se permite ningún tipo de comunicación entre estudiantes. Traiga todo el material necesario (borradores, lapiceros de repuesto, etc.)
 
*La comunicación entre diferentes grupos de examen (o estudiantes) y el fraude tienen como consecuencia la anulación del mismo y  una calificación de cero (0.0) en la evaluación.
 
  
==='''3. Evaluación Escrita&nbsp; No. 2+3 (20%) TEMA 2&nbsp; (SIN material de apoyo, PAREJAS).&nbsp; Fecha propuesta: Jueves 5 de Diciembre de 2019.'''===
+
<u>Si su código de estudiante termina en cero o dígito par</u>:
  
*Principalmente el tema 2, pero puede incluirse conocimientos del tema del contenido 1 y del 3.
+
'''De la parte 1:'''  
*Observe que hay preguntas especificas para cada grupo. FIJESE MUY BIEN Y RESPONDA LA QUE LE CORRESPONDE, SI RESPONDE LA DEL GRUPO QUE NO LE CORRESPONDE O DE LOS DOS GRUPOS, EL PUNTO SE ANULA. RECUERDE: '''DEBE RESPONDER EN EL ORDEN ESTRICTO DE LAS PREGUNTAS.'''
 
*Se recuerda que el examen es por grupos individuales y que hay tanto herramientas tecnológicas como metodologías que permiten ver el plagio, copias, similitudes en la redacción, entre otras. Exámenes similares en un rango mínimo del 15% comienza a dividirse la nota entre los similares. Por ejemplo, si la nota de un examen es 4.5, y hay tres trabajos iguales, cada uno de los exámenes tendrá una nota de 1.5.
 
  
==='''4. <u>Evaluación Escrita Final</u>&nbsp; (20%) Todos los Temas&nbsp;+ Artículo (SIN material de apoyo, Por Parejas y Tríos).&nbsp; Fecha y Hora:  Jueves 30 de Enero de 2019.'''===
+
#¿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).
  
*'''<u>Se incluyen todos los temas y trabajos presentados por sus compañeros.</u>'''
+
'''De la parte 2:'''
*Se incluyen los artículos presentados por sus compañeros que estarán disponibles en este sitio, EN EL SEMESTRE EN CURSO.
 
*Incluyen dos preguntas de los artículos entregados y expuestos por los grupos (Normalmente es una pregunta evidente realizada durante la exposición).
 
*La evaluación se realiza por parejas y trios, que  son los asignados por el profesor en el momento del examen.
 
  
==='''5. Proyecto Final de Clase (20%): Artículo Final de Aplicación (10%) y Presentación Oral (10%)'''===
+
#¿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.
Este trabajo final de clase tiene como objetivo, introducir a la realización de un estado del arte y reflexión sobre un tema específico de arquitectura de computadores en un área de implementación real específica. Las condiciones y preguntas principales a responder deben tenerse en cuenta tanto en la entrega escrita, como en la presentación oral. Siempre desde el punto de vista de ingeniería de sistemas, informática y ciencia de computadores.  
+
#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.
  
*'''La asignación es de 3 (tres) o 4 (cuatro) autores por artículo, de acuerdo a la asignación (igualmente distribuidos por el profesor). NO SON MODIFICABLES'''
+
<u>Si su código de estudiante termina en dígito impar:</u>
*'''Temáticas Distribuidas por el Profesor'''
 
  
==='''Características del Artículo:'''===
+
'''De la parte 1:'''  
'''Recuerde, como se mencionó anteriormente que el artículo responderá a un proyecto de aplicación que se distribuirá en grupos dados por el profesor y se debe tener en cuenta la estructura del mismo (introducción, estado del arte, contenido en el cual se desarrollará en sí el trabajo, resultados (experimentación si la hay), gráficas, figuras y tablas (si son necesarias), conclusiones, biografía y fuentes de información. Pueden guiarse viendo el siguiente ejemplo [http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7333426 aquí]'''
 
  
==='''Fecha y Hora de Entrega: Jueves ''16 de Enero de 2020 23:59 (Tiempo de Bogotá, Colombia)'''''===
+
#¿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).
  
*'''Máximo 10 (Diez) Páginas en Español&nbsp; (mínimo 8 páginas), Título y Resumen (abstract) en español y en&nbsp; inglés (máximo 10 lineas para cada uno). 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)'''
+
'''De la parte 2:'''
*'''Formato IEEE en UNA columna para series de conferencias http://www.ieee.org/conferences_events/conferences/publishing/templates.html'''
 
*El archivo se enviará al correo del profesor, sin olvidar en el texto del correo, colocar los nombres completos de los autores, código y grupo del curso al que pertenecen (A1 o A2).
 
  
*El artículo debe entregarse en '''un único archivo .pdf''' , indicando en el asunto: ENTREGA ARTICULO FINAL ARQUITECTURA 2019. Recuerde que la fecha de entrega esta indicada en el calendario de evaluaciones.
+
#¿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.
  
==='''Características de la Presentación Oral:'''===
+
'''Recomendaciones:'''
Esta presentación oral se realiza para presentar en un formato rápido, los alcances del trabajo final así como las respuestas a las preguntas principales dadas. Tenga en cuenta tanto el manejo del tiempo como el hecho que todo lo que se diga en esa presentación (preguntas del profesor o de los estudiantes) puede entrar en la evaluación final.
 
  
==='''Fecha de Presentación Oral: Jueves 23 de Enero de 2020'''===
+
*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.)
  
Para la presentación del trabajo debe tener en cuenta lo siguiente:
+
===='''(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.
  
*'''5 (Cinco) Minutos estrictos de presentación. Mas allá de este tiempo será penalizado en la nota.'''
+
Es importante que esa entrega o muestra se colocará en línea, siguiendo las indicaciones que se mostrarán en la respectiva sección.
*Puede estructurarse en formato libre (uno de los autores presenta, o todos), pero deben usarse diapositivas. Estas diapositivas deben enviarse al profesor el dia anterior al  dia de la presentación, estrictamente en un archivo pdf.
 
*El orden de presentación de los grupos es el mismo orden de los grupos.
 
  
==='''5. Sesiones de Entregas Prácticas (20%) <u>Todos los Viernes desde el 4 de Octubre de 2019</u>'''===
+
===='''(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.
  
*Se pueden realizar y entregar por parejas. Las sesiones prácticas se realizan los viernes e inician puntualmente. '''Hay una tolerancia de ingreso de (diez) 10 minutos''' y se tomará lista de asistencia . '''<u>Después de esa tolerancia no se recomienda ingresar al salón de clase</u>'''.
+
====='''(20%) Artículo de Proyecto de Clase'''=====
*Toda las sesiones prácticas generan un informe que se enviará vía correo electrónico al correo del profesor, diez minutos antes del cierre del sistema (XX:50am). '''<u>No se calificaran informes enviados fuera del momento de la sesión del curso (después de las X:55 a.m.</u>'''). Si terminan antes, pueden abandonar el salón.
+
'''<u>Fecha de Entrega: Por definir (23:59 GMT -5 Horario de Bogotá, Colombia)</u>'''
*Los informes de laboratorio/práctica, se entregan estrictamente en un documento y con las condiciones dadas más adelante en la sección algunas prácticas: [[Arquitectura de computadores|Arquitectura de computadores#ALGUNAS PRACTICAS]]
+
 
*'''<u>Recuerden las sesiones prácticas no se recuperan,</u>''' la no entrega de informes e inasistencia injustificada da como nota cero (0.0) en esa práctica. Si necesita faltar a una práctica informe previamente en la sesión teórica justificando su inasistencia para recuperarla posteriormente. '''Si por motivo de fuerza mayor no pudo asistir y puede justificarla, debe hacer el tramite ante la escuela para solicitar la recuperación de la misma, siguiendo la metodología de solicitud de supletorios.'''
+
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.
*'''<u>Si se descubre que uno de los integrantes del informe entregado en la práctica respectiva, no asistió, la calificación de la misma es cero (0.0) por fraude, tanto al que no asistió como el que lo incluyó en el mismo por complicidad.</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&nbsp; 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, 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.
 +
*<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.
 +
 
 +
'''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.'''
 +
 
 +
'''<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.
 +
 
 +
*'''<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 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>'''''
 +
*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'''===
 
==='''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 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. Se recomienda usar los recursos bibliográficos que puede acceder por parte de la UIS en: http://tangara.uis.edu.co/ y vea los trabajos disponibles de los semestres anteriores en este sitio.   
+
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.
 +
{| 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( &ltime );
 +
 
 +
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"
 +
|'''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"
 +
|
 +
|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 [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'''
 +
**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.
 +
**'''<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, <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>
 +
**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-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'''
 +
**'''<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 DOS:</u> 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).'''
 +
**<u>'''''ADVERTENCIA TRES:'''''</u> '''''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'''
 +
**'''<u>RECOMENDACION UNO:</u> 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).'''''
 +
 
 +
<nowiki/>'''''<nowiki/>'''''<nowiki/>'''''<nowiki/>'''''<nowiki/>'''''<nowiki/>'''''
 +
===='''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  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, [[:File:TheElementsOfComputingSystems.pdf|disponible aqu]]í, crearon [https://www.nand2tetris.org/ 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 <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
 +
 
 +
#¿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 <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
 +
 
 +
#¿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 <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
 +
 
 +
#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 (<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
 +
 
 +
#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 (<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).
 +
 
 +
'''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.
 +
 
 +
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 .''
 +
 
 +
<br /><nowiki/>'''''<nowiki/>'''''
 +
=='''BIBLIOGRAFÍA Y FUENTES DE INFORMACION'''==
 +
 
 +
1.[http://www.cse.hcmut.edu.vn/~vtphuong/KTMT/Slides/TextBookFull.pdf%7CPatterson Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface)]]
 +
 
 +
*[http://wiki.sc3.uis.edu.co/images/3/34/TextBookFull.pdf Libro Completo]
 +
 
 +
*[https://www.elsevier.com/__data/assets/pdf_file/0011/297497/Section-5-18_Hist-Persp.pdf Historial Perspective and Further Reading]
 +
*[http://www.elcom-hu.com/Computer/Computer%20Architecture/Computer%20Architecture/GLOSSARY%20OF%20COMPUTER%20ORGANIZATION%20AND%20ARCHITECTURE%20TERMS.pdf Glossary of Terms in Architecture]
 +
*[http://www.sc3.uis.edu.co/owncloud/index.php/shttp://www.cs.tufts.edu/comp/140/files/Appendix-E.pdf/gtmV8SRVq07wZRL A Survey of RISC Architectures for Desktop, Server and Embedded Computers]
 +
 
 +
[http://vr.sdu.edu.cn/~gb/Architecture/courseware/Computer%20Architecture,%20Fifth%20Edition-%20A%20Quantitative%20Approach.pdf 2. Patterson and Hennesy, Computer Architecture; A Quantitative Approach]
 +
 
 +
*[http://wiki.sc3.uis.edu.co/images/c/c9/Computer_Architecture%2C_Fifth_Edition-_A_Quantitative_Approach.pdf Libro Completo]
 +
*
 +
 
 +
3. Commer, Douglas, Essentials of Computer Architecture
 +
 
 +
*[https://eca.cs.purdue.edu/ Sitio Web del Libro y Notas del Curso]
 +
 
 +
4. Noam Nisan and  Shimon Schocken. The Elements of Computing Systems, Building a Modern Computer from First Principles
 +
 
 +
*[[:File:TheElementsOfComputingSystems.pdf|Libro Completo]]
 +
 
 +
5. TED Talks
 +
 
 +
*[https://www.ted.com/talks/george_dyson_at_the_birth_of_the_computer#t-1008935 The Birth of Computers] by George Dyson
 +
*[http://www.ted.com/talks/shimon_schocken_the_self_organizing_computer_course.html 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
 +
*[http://www.ted.com/talks/kwabena_boahen_on_a_computer_that_works_like_the_brain#t-13231 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.<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'''=====
 +
 
 +
*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.
 +
 
 +
'''<u>El proyecto es planteado en las mismas condiciones que el proyecto del semestre pasado</u>''' 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.
 +
 
 +
'''''<br />Consideraciones Generales:'''''
 +
 
 +
*<u>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.</u>
 +
*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.
 +
 
 +
 
 +
 
 +
'''<br />Equipo 1'''
 +
 
 +
Una empresa pequeña, tipo [https://spinoff.ugr.es/cms/menu/info-otri/spin-off-que-son-y-para-que-sirven/ 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.).
 +
{| class="wikitable"
 +
| rowspan="2" |ARCHILA ANAYA BRANDON ARLEY
 +
|-
 +
|-
 +
| rowspan="2" |CARDENAS PARADA JORGE ANDRES
 +
|-
 +
|-
 +
| rowspan="2" |CARVAJAL SANABRIA JAVIER FERNANDO
 +
|-
 +
|-
 +
| rowspan="2" |CASTELLANOS GELVEZ DANIEL FELIPE
 +
|-
 +
|}
 +
 
 +
 
 +
'''Equipo 2'''
 +
 
 +
Una empresa mediana, tipo [https://spinoff.ugr.es/cms/menu/info-otri/spin-off-que-son-y-para-que-sirven/ 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.).
 +
{| class="wikitable"
 +
| rowspan="2" |DUARTE RUEDA JUAN ESTEBAN
 +
|-
 +
|-
 +
| rowspan="2" |FLOREZ ACOSTA TATIANA MARCELA
 +
|-
 +
|-
 +
| rowspan="2" |GALLO FRANCO DAVID MAURICIO
 +
|-
 +
|-
 +
| rowspan="2" |GALVIS BERGSNEIDER VALENTINA
 +
|-
 +
|-
 +
| rowspan="2" |GUALDRON HURTADO YESID ROMARIO
 +
|-
 +
|}
 +
'''Equipo 3'''
 +
 
 +
Una empresa mediana, tipo [https://spinoff.ugr.es/cms/menu/info-otri/spin-off-que-son-y-para-que-sirven/ 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).
 +
{| class="wikitable"
 +
| rowspan="2" |IBARRA RUEDA YERSON STEWELL
 +
|-
 +
|-
 +
| rowspan="2" |LEON ORTIZ DANIEL ALEJANDRO
 +
|-
 +
|-
 +
| rowspan="2" |LOPEZ SANTANA YAIRE CATALINA
 +
|-
 +
|-
 +
| rowspan="2" |PEREIRA MILLAN CAMILO JOSE
 +
|-
 +
|-
 +
| rowspan="2" |QUINTERO PINTO BRAYAN ANDRES
 +
|-
 +
|}
 +
'''<br />Equipo 4'''
 +
 
 +
Una empresa mediana, tipo [https://spinoff.ugr.es/cms/menu/info-otri/spin-off-que-son-y-para-que-sirven/ 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.).
 +
{| class="wikitable"
 +
| rowspan="2" |RAMIREZ VELA JUAN PABLO
 +
|-
 +
|-
 +
| rowspan="2" |VALENZUELA PARDO ANDRES FELIPE
 +
|-
 +
|-
 +
| rowspan="2" |VASQUEZ VIVAS DAVID ALEXANDER
 +
|-
 +
|-
 +
| rowspan="2" |VILLAMIZAR PEÑARANDA JHORDANTH FABIAN
 +
|-
 +
|}
 +
'''<br />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.
 +
{| class="wikitable"
 +
| rowspan="2" |ARIZA BRICEÑO SANTIAGO
 +
|-
 +
|-
 +
| rowspan="2" |ATEHORTUA DUQUE JUAN DIEGO
 +
|-
 +
|-
 +
| rowspan="2" |BAYONA QUESADA JUAN CAMILO
 +
|-
 +
|-
 +
| rowspan="2" |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 [https://www.mmm.ucar.edu/weather-research-and-forecasting-model 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.<br />
 +
{| class="wikitable"
 +
| rowspan="2" |CARRILLO TELLEZ JOSE ALEJANDRO
 +
|-
 +
|-
 +
| rowspan="2" |CETINA BERDUGO JUAN CAMILO
 +
|-
 +
|-
 +
| rowspan="2" |ESTEVEZ RUIZ GIANFRANCO
 +
|-
 +
|-
 +
| rowspan="2" |JAIMES BENITEZ ESNEYDITH PATRICIA
 +
|-
 +
|}
 +
'''Equipo 7'''
 +
 
 +
Una empresa pequeña, tipo [https://spinoff.ugr.es/cms/menu/info-otri/spin-off-que-son-y-para-que-sirven/ 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.
 +
 
 +
<br />
 +
{| class="wikitable"
 +
| rowspan="2" |LEAL MANOSALVA JOSE ISAAC
 +
|-
 +
|-
 +
| rowspan="2" |MEDINA ORTEGA DIEGO ARMANDO
 +
|-
 +
|-
 +
| rowspan="2" |MOSQUERA NIÑO NEYDER FABIAN
 +
|-
 +
|-
 +
| rowspan="2" |RODRIGUEZ SANCHEZ JEAN CARLO
 +
|-
 +
|-
 +
| rowspan="2" |TORRES QUINTERO JAVIER ANDRES
 +
|-
 +
|}
 +
'''Equipo 8'''
 +
 
 +
Una empresa pequeña, tipo [https://spinoff.ugr.es/cms/menu/info-otri/spin-off-que-son-y-para-que-sirven/ 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.
 +
{| class="wikitable"
 +
| rowspan="2" |TRUJILLO TIERRADENTRO JUAN SEBASTIAN
 +
|-
 +
|-
 +
| rowspan="2" |UTIMA ECHEVERRY RUBI TATIANA
 +
|-
 +
|-
 +
| rowspan="2" |VARGAS MARTINEZ DUVAN FERNEY
 +
|-
 +
|-
 +
| rowspan="2" |VILLAMIZAR VERA ADRIANA
 +
|-
 +
|-
 +
| rowspan="2" |ZAMBRANO PINILLA YOUSSEF SAID
 +
|-
 +
|}
 +
'''Equipo 9'''
 +
 
 +
Una empresa pequeña, tipo [https://spinoff.ugr.es/cms/menu/info-otri/spin-off-que-son-y-para-que-sirven/ 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.
 +
{| class="wikitable"
 +
| rowspan="2" |BARBOSA VARGAS AMIN ESTEBAN
 +
|-
 +
|-
 +
| rowspan="2" |BONILLA GONZALEZ FABIAN ANDRES
 +
|-
 +
|-
 +
| rowspan="2" |CIRO OROZCO CAMILO
 +
|-
 +
|-
 +
| rowspan="2" |DIAZ MARTINEZ LEIDER EDUARDO
 +
|-
 +
|}
 +
{| class="wikitable"
 +
| rowspan="2" |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 [https://jetbot.org/ 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)
 +
{| class="wikitable"
 +
| rowspan="2" |ESTEBAN PARRA JUAN DIEGO
 +
|-
 +
|-
 +
| rowspan="2" |FUENTES DUARTE CRISTIAN DAVID
 +
|-
 +
|-
 +
| rowspan="2" |JAIMES BLANCO DANIEL FELIPE
 +
|-
 +
|-
 +
| rowspan="2" |MEDINA REATIGA IVETH ADRIANA
 +
|-
 +
|-
 +
| rowspan="2" |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).
 +
{| class="wikitable"
 +
| rowspan="2" |
 +
|-
 +
|-
 +
| rowspan="2" |RAMIREZ DIAZ CARLOS IVAN
 +
|-
 +
|-
 +
| rowspan="2" |RIVERO CANTILLO DAVID RICARDO
 +
|-
 +
|-
 +
| rowspan="2" |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 [https://www.lustre.org/ 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).
 +
{| class="wikitable"
 +
| rowspan="2" |SOLER MALDONADO YURIETH NAJHERY
 +
|-
 +
|-
 +
| rowspan="2" |TARAZONA MONCADA NICOLAS
 +
|-
 +
|-
 +
| rowspan="2" |URREGO PAREDES ANDREA JULIANA
 +
|-
 +
|-
 +
| rowspan="2" |VILLAMIZAR SANCHEZ ALVARO JAVIER
 +
|-
 +
|}
 +
<br />
 +
 
 +
===='''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. ''<u>Las asignaciones de los grupos (que son los mismos para las prácticas son:</u>''
 +
 
 +
'''Grupo 1: Evaluación de Rendimiento: HPL''' 
 +
{|
 +
| rowspan="2" |ANAYA MERCHAN MARIO ANDRES
 +
|-
 +
|-
 +
| rowspan="2" |ARIAS GOMEZ ANGIE NATALIA
 +
|-
 +
|-
 +
| rowspan="2" |CADENA PINILLA SAMUEL YESID
 +
|-
 +
|-
 +
| rowspan="2" |CLARO PEREZ JUAN PABLO
 +
|-
 +
|-
 +
| rowspan="2" |DIAZ GUTIERREZ JUAN SEBASTIAN
 +
|-
 +
|}
 +
 
 +
 
 +
El listado de las 500 máquinas computacionales denominado [https://top500.org/ 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 [https://www.netlib.org/benchmark/hpl/ 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''' 
 +
{|
 +
| rowspan="2" |ESCOBAR BUENO VALENTINA
 +
|-
 +
|-
 +
| rowspan="2" |ESTUPIÑAN COBOS JUAN SEBASTIAN
 +
|-
 +
|-
 +
| rowspan="2" |FLOREZ BACCA MATEO
 +
|-
 +
|-
 +
| rowspan="2" |GARCIA DUARTE JULIAN ESTEBAN
 +
|-
 +
|-
 +
| rowspan="2" |JIMENEZ GOMEZ JUAN PABLO
 +
|-
 +
|}
 +
 
 +
 
 +
El listado de las 500 máquinas computacionales denominado [https://top500.org/ 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 [https://www.hpcg-benchmark.org/ 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'''
 +
 
 +
{|
 +
| rowspan="2" |LIZCANO CASTRO JESUS DANIEL
 +
|-
 +
|-
 +
| rowspan="2" |MARIN GARCIA JUAN CAMILO
 +
|-
 +
|-
 +
| rowspan="2" |MONROY CHAPARRO BRAYAN ESNEIDER
 +
|-
 +
|-
 +
| rowspan="2" |NUÑEZ CASTELLANOS JHON STEWAR
 +
|-
 +
|-
 +
| rowspan="2" |PERTUZ MANOSALVA JUAN CAMILO
 +
|-
 +
|}
 +
 
 +
 
 +
El listado de las 500 máquinas computacionales denominado [https://top500.org/ 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 [http://www.green500.org/ 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'''
 +
{|
 +
| rowspan="2" |QUEZADA SANCHEZ EFRAIN CAMILO
 +
|-
 +
|-
 +
| rowspan="2" |RAMIREZ CONTRERAS JHON ANDERSON
 +
|-
 +
|-
 +
| rowspan="2" |RIVERA GONZALEZ BRAJHAN JAVIER
 +
|-
 +
|-
 +
| rowspan="2" |RIVERA LEON SEBASTIAN
 +
|-
 +
|-
 +
| rowspan="2" |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 [https://benchmark.unigine.com/ 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'''
 +
{|
 +
| rowspan="2" |SERRANO LOZADA CAMILO ERNESTO
 +
|-
 +
|-
 +
| rowspan="2" |VALLEJO VALLEJO DAIRON ALEXIS
 +
|-
 +
|}
 +
{|
 +
| rowspan="2" |BLANCO RODRIGUEZ GEISON ALFREDO
 +
|-
 +
|-
 +
| rowspan="2" |CAMACHO HOLGUIN HORACIO ANTONIO
 +
|-
 +
|-
 +
| rowspan="2" |CAMACHO TORRES JULIAN CAMILO
 +
|-
 +
|}
 +
 
 +
 
 +
El listado de las 500 máquinas computacionales denominado [https://top500.org/ 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 [https://www.netlib.org/benchmark/hpl/ 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'''
 +
{|
 +
| rowspan="2" |CERA BUSTAMANTE ANDRES FELIPE
 +
|-
 +
|-
 +
| rowspan="2" |GONZALEZ SALVADOR JUAN SEBASTIAN
 +
|-
 +
|-
 +
| rowspan="2" |JAIMES ALQUICHIRE ANDREA SOFIA
 +
|-
 +
|-
 +
| rowspan="2" |JAIMES ANTOLINEZ LAURA NATALIA
 +
|-
 +
|-
 +
| rowspan="2" |JAIMES MANTILLA EINER STEVEN
 +
|-
 +
|}
 +
 
 +
El listado de las 500 máquinas computacionales denominado [https://top500.org/ 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 [https://www.hpcg-benchmark.org/ 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''' 
 +
{|
 +
| rowspan="2" |LEON TARAZONA DANIEL ALEJANDRO
 +
|-
 +
|-
 +
| rowspan="2" |MANTILLA CASTRO JULIAN RICARDO
 +
|-
 +
|-
 +
| rowspan="2" |MENDEZ ORTIZ LEWING ANDRES
 +
|-
 +
|-
 +
| rowspan="2" |ORTEGA GELVEZ DIEGO ANDRES
 +
|-
 +
|-
 +
| rowspan="2" |ORTIZ CELIS DANIEL EDUARDO
 +
|-
 +
|}
 +
 
 +
 
 +
El listado de las 500 máquinas computacionales denominado [https://top500.org/ 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 [http://www.green500.org/ 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'''
 +
{|
 +
| rowspan="2" |PEREZ LEAL JUAN PABLO
 +
|-
 +
|-
 +
| rowspan="2" |PORRAS GOMEZ JUAN DAVID
 +
|-
 +
|-
 +
| rowspan="2" |ROMERO SERRANO WILLIAM DAVID
 +
|-
 +
|-
 +
| rowspan="2" |SANCHEZ NIÑO SERGIO ANDRES
 +
|-
 +
|-
 +
| rowspan="2" |SANDOVAL PINEDA EDWARD ANDRES
 +
|-
 +
|}
 +
 
 +
 
 +
El conjunto de pruebas comparativas de entrenamiento [https://mlperf.org/ 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'''
 +
{|
 +
| rowspan="2" |SERRANO RINCON PABLO EDUARDO
 +
|-
 +
|}
 +
{|
 +
| rowspan="2" |ATUESTA SOLANO ANA GABRIELA
 +
|-
 +
|-
 +
| rowspan="2" |CAMPOS SEPULVEDA OSCAR MAURICIO
 +
|-
 +
|-
 +
| rowspan="2" |CONTRERAS CEBALLOS SEBASTIAN
 +
|-
 +
|-
 +
| rowspan="2" |DIAZ CIFUENTES RAYSA KARINA
 +
|-
 +
|}
 +
 
 +
 
 +
El listado de las 500 máquinas computacionales denominado [https://top500.org/ 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 [https://www.netlib.org/benchmark/hpl/ 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'''
 +
{|
 +
| rowspan="2" |FLOREZ ROJAS SEBASTIAN
 +
|-
 +
|-
 +
| rowspan="2" |MALDONADO SUAREZ MARLY YULIETH
 +
|-
 +
|-
 +
| rowspan="2" |OJEDA VILLAMIZAR FABIO ANDREY
 +
|-
 +
|-
 +
| rowspan="2" |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'''
 +
{|
 +
| rowspan="2" |PEREZ LOPEZ SEBASTIAN
 +
|-
 +
|-
 +
| rowspan="2" |RIBERO ARCINIEGAS JOSE DAVID
 +
|-
 +
|-
 +
| rowspan="2" |ROA ORTIZ SERGIO RAUL
 +
|-
 +
|-
 +
| rowspan="2" |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 [http://uperf.org/ 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'''
 +
{|
 +
| rowspan="2" |TABOADA RIVERA FRANS GUILLERMO
 +
|-
 +
|-
 +
| rowspan="2" |TOLOZA ORTEGA DEYCI GISELA
 +
|-
 +
|-
 +
| rowspan="2" |VELASCO BASTO ARLEY DAVID
 +
|-
 +
|}
 +
{|
 +
| rowspan="2" |HERNANDEZ RAMIREZ PAULA CATALINA
 +
|-
 +
|}
 +
<br />
 +
 
 +
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 [https://www.linuxlinks.com/netperf/ 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.
 +
 
 +
<br />
 +
====='''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/start/crear-blog 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. <u>(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)</u>
 +
*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
 +
 
 +
<u>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.</u>
 +
 
 +
=====<u>Asignaciones para el Blog/Ensayo de Introducción</u>=====
 +
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: 
 +
 
 +
<br />
 +
{| class="wikitable mw-collapsible"
 +
|+
 +
!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.'''
 +
<br />
 +
====='''Lista de Blogs 1-2020'''=====
 +
A continuación, la lista de ''posts'' publicados en sus respectivos blogs, por los estudiantes del cursos 1-2020.
 +
{| class="wikitable"
 +
|<nowiki>https://requearqcomp.blogspot.com/2020/06/la-arquitectura-de-computadoras-es-el.html</nowiki>
 +
|-
 +
|<nowiki>https://alvaroluisriosgarz.wixsite.com/website/post/la-importancia-de-los-requerimientos-para-definir-arquitectura-computacional</nowiki>
 +
|-
 +
|<nowiki>https://arquitecturaequipo2.blogspot.com/2020/06/importancia.html</nowiki>
 +
|-
 +
|<nowiki>https://arquitecturaimportanciarequerimientos.blogspot.com/2020/06/hola.html</nowiki>
 +
|-
 +
|<nowiki>https://cdcnadela.blogspot.com/</nowiki>
 +
|-
 +
|<nowiki>https://carlosbecerra0300arqdecomputadores.blogspot.com/2020/06/arquitectura-de-computadores.html</nowiki>
 +
|-
 +
|<nowiki>https://computingarc.blogspot.com/2020/06/el-sistema-operativo-tiene-la-funcion.html#more</nowiki>
 +
|-
 +
|<nowiki>https://gonzalezhenlazadores.blogspot.com/2020/07/enlazadores-linkers.html</nowiki>
 +
|-
 +
|<nowiki>https://la-importancia-del-sistema-operativo.blogspot.com/</nowiki>
 +
|-
 +
|<nowiki>https://arquitecturapcuis.blogspot.com/p/la-importancia-del-sistema-operativo.html</nowiki>
 +
|-
 +
|<nowiki>https://paolaescobar2805.wixsite.com/arquitectura</nowiki>
 +
|-
 +
|<nowiki>https://jerarquiadelamemoria.blogspot.com/2020/06/arquitectura-de-computadores-jerarquia.html</nowiki>
 +
|-
 +
|<nowiki>https://jerarquiadememoriaarquitectura.blogspot.com/</nowiki>
 +
|-
 +
|<nowiki>https://hopkeinst.blogspot.com/2020/07/idealmente-uno-desearia-una-capacidad.html</nowiki>
 +
|-
 +
|<nowiki>https://spydp.blogspot.com/</nowiki>
 +
|-
 +
|<nowiki>https://puntoflotantesingleydouble.blogspot.com/</nowiki>
 +
|-
 +
|<nowiki>https://segmentacionarq.blogspot.com/</nowiki>
 +
|-
 +
|<nowiki>https://pipelinesegmentacion.blogspot.com/</nowiki>
 +
|-
 +
|<nowiki>https://ensambladoresamayauis.blogspot.com/2020/06/ensambladores-en-arquitectura-de.html</nowiki>
 +
|-
 +
|<nowiki>https://enlazadores.blogspot.com/</nowiki>
 +
|-
 +
|<nowiki>http://arquitecturacompilador.blogspot.com/2020/07/la-desconocida-importancia-de-los.html</nowiki>
 +
|-
 +
|<nowiki>https://fenixchaman.wixsite.com/misitio/post/el-gran-impacto-del-compilador</nowiki>
 +
|-
 +
|<nowiki>https://techarch.herokuapp.com/</nowiki>
 +
|-
 +
|<nowiki>https://arquihvs.blogspot.com/2020/07/arquitectura-de-software-vs.html</nowiki>
 +
|-
 +
|<nowiki>https://videosxm1.wixsite.com/website/post/arquitectura-de-software-vs-arquitectura-de-hardware</nowiki>
 +
|-
 +
|<nowiki>https://isafried.wixsite.com/importancia-so</nowiki>
 +
|-
 +
|<nowiki>https://arqcompilatorrole.blogspot.com/2020/07/el-rol-del-compilador.html</nowiki>
 +
|-
 +
|<nowiki>https://rendimiento-sistemas-computacionales.blogspot.com/2020/07/evaluacion-de-rendimiento-de-sistemas.html</nowiki>
 +
|-
 +
|<nowiki>https://jhon2170098.wixsite.com/arquitecturacomp</nowiki>
 +
|-
 +
|<nowiki>https://pumarejojerarquiadelamemoria.blogspot.com/2020/07/jerarquiadelamemoria.html</nowiki>
 +
|-
 +
|<nowiki>https://juanjosemartinez31.wixsite.com/arquitectura</nowiki>
 +
|-
 +
|<nowiki>https://danielamedina1121.wixsite.com/ensambladores</nowiki>
 +
|-
 +
|<nowiki>https://misangarita.wixsite.com/ensamblador</nowiki>
 +
|-
 +
|<nowiki>https://enlazadoresblogarquitectura.blogspot.com/2020/07/los-enlazadores-son-una-parte-esencial.html</nowiki>
 +
|-
 +
|<nowiki>https://notepatharq.blogspot.com/2020/07/blog-post_2.html</nowiki>
 +
|-
 +
|<nowiki>https://pipelinedsegmentacionelectronica.blogspot.com/2020/07/segmentacion-electronica_1.html#comment-form</nowiki>
 +
|-
 +
|<nowiki>https://bedriitobuenqhorq.wixsite.com/blogarquitectura/post/la-segmentaci%C3%B3n-pipelined</nowiki>
 +
|}
 +
 
 +
====='''Asignaciones y Temáticas de Proyectos (2 Semestre de 2019)'''=====
 +
{| class="wikitable sortable mw-collapsible"
 +
|+
 +
!Grupo
 +
!Integrantes
 +
!Tema
 +
!Artículo
 +
|-
 +
|'''Uno'''
 +
|2160028 - AMARIS ORTIZ JOSE NELSON
 +
2170130 - ANGULO FLOREZ SANTIAGO
 +
 
 +
2162923 - ADARME DAVILA JAVIER ANDRES
  
'''Asignaciones y Temáticas de Proyectos (2 Semestre de 2019)''' 
+
2170081 - BASTO CUADROS JOSEPH FABIAN
  
(A publicarse en noviembre de 2019)
+
2170090 - CALDERON CARRILLO CAMILO ANDRES
 +
|'''SIMULADORES CUANTICOS'''
 +
 
 +
 
 +
Muchos retos nuevos se plantean con la computación cuántica, tanto en términos de lo que hoy se conoce como computación, hasta los verdaderos alcances que podría tener. Por ejemplo, el redefinir desde la misma memoria hasta los lenguajes de programación y la representación matemática misma.
 +
 
 +
 
 +
Es por eso, que mas allá de tener computadores "realmente" cuánticos, los simuladores cuánticos en hardware y software han permitido atacar desde ya esos retos y plantear nuevas preguntas que deben resolverse por ingenieros y computistas más que por físicos.
 +
 
 +
 
 +
La principal pregunta que surge es ¿Qué son los simuladores de computación cuántica o Simuladores Cuánticos? Tenga en cuenta tanto en hardware como en software e igual observe como productos comerciales como el [https://atos.net/en/products/quantum-learning-machine Atos Learning Machine] son propuestos y cuales son sus oportunidades, ventajas y desventajas.
 +
 
 +
 
 +
https://arxiv.org/abs/1912.06938
 +
 
 +
https://www.quantiki.org/wiki/list-qc-simulators
 +
<br />
 +
|[[:File:Uno.pdf|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'''
 +
 
 +
 
 +
En noviembre pasado, durante la [https://sc19.supercomputing.org/ Conferencia Internacional de Supercomputación, Almacenamiento, Redes y Análitica de Datos en noviembre de 2019], se presentó las oportunidades del mas reciente computador basado en ARM, propuesto por Fujitsu y que será utilizado en grandes infraestructuras, como el caso de CRAY, ya no para maquinas exascale sino máquinas petaescale, basado en ARM. ¿Porqué ARM y no X86 u otras tecnologías? ¿ Que implicaciones tiene?
 +
 
 +
 
 +
https://www.hpcwire.com/2019/11/12/cray-fujitsu-both-bringing-fujitsu-a64fx-based-supercomputers-to-market-in-2020/
 +
 
 +
https://www.arm.com/
 +
|[[:File:Dos.pdf|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'''
 +
 
 +
 
 +
Cada año, las predicciones sobre la utilización másiva o "popular" de los computadores cuánticos se disminuye. Por ejemplo, en el 2018, se hablaba que no habría aplicaciones reales y computadores cuánticos hasta dentro de veinte años. En el 2019, ya se habla de que la realidad de ese tipo de uso será entre cinco y diez años. Es así como en noviembre de 2019,  durante la [https://sc19.supercomputing.org/ Conferencia Internacional de Supercomputación, Almacenamiento, Redes y Análitica de Datos en noviembre de 2019], Google anunció su supremacia cuántica, aunque IBM, DWAVE y otros lo hacen igualmente.
 +
 
 +
 
 +
Teniendo en cuenta lo que arquitecturalmente es un computador cuántico, ¿Cual es esa es la realidad? Y, ¿Qué definitivamente no es computación cuántica? observando lo que popularmente se dice en nuestro medio como ingenieros de sistemas y de computación.
 +
 
 +
 
 +
https://www.sciencenews.org/article/google-quantum-supremacy-claim-controversy-top-science-stories-2019-yir
 +
 
 +
 
 +
https://www.ibm.com/quantum-computing/
 +
 
 +
 
 +
https://www.computer.org/csdl/magazine/co/2019/06/08728103/1axaIk2UoQE
 +
|[[:File:Tres.pdf|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 X<sup>E</sup>'''
 +
 
 +
 
 +
Intel, tras rumores del desarrollo acerca de su nueva arquitectura basada en GPUs, decidió presentar publicamente en noviembre de 2019 durante el Intel HPC Developer Conference, previo a la [https://sc19.supercomputing.org/ Conferencia Internacional de Supercomputación, Almacenamiento, Redes y Análitica de Datos en noviembre de 2019], su Intel X<sup>E</sup> GPU junto con toda la suite de desarrollo Intel One Api. ¿De que se trata y por qué, dando un excelente ejemplo de codiseño (Hardware+Software+Abstracción), se hizo la presentación de esa manera? Recuerde que debe enfocarse en Intel X<sup>E</sup> pero no dejar de lado Intel OneAPI.
 +
 
 +
 
 +
https://www.pcgamesn.com/intel/xe-gpu-release-date-graphics-card-specs-performance
 +
 
 +
https://newsroom.intel.com/news-releases/intel-unveils-new-gpu-architecture-optimized-for-hpc-ai-oneapi/#gs.sq0c3e
 +
|[[:File:Cuatro.pdf|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'''
 +
 
 +
 
 +
La explosión cambrica de capacidades y diversidad en arquitecturas computacionales, hacen que en la jerga especializada, exista una convergencia entre el HPC y la Inteligencia Artificial. Tomando como referencia el webminar con en el enlace dado, ¿De que se trata esa convergencia? ¿Que oportunidades como ingenieros de sistemas y de computación nos representa? No olvide consultar otras fuentes sobre el tema.
 +
 
 +
 
 +
https://www.hpcwire.com/the-convergence-of-hpc-and-ai/
 +
|[[:File:Cinco.pdf|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'''
 +
 
 +
 
 +
Los personajes asociados con políticas TI en las poblaciones humanas, han implementado el uso de la palabra Smart Cities, sin muchas veces entender de que se trata, mas allá de los productos y el consumo mismo de tecnología. Sin embargo, los ingenieros y especialistas, hoy en dia tienen retos muy precisos de acuerdo a visiones comunes, perspectivas, evolución tecnológica y por supuesto, realidades locales. Teniendo en cuenta estos aspectos, en términos computacionales (hardware+software principalmente), como sería esa arquitectura computacional de smart city y los principales retos. Imaginé un ejemplo para la ciudad universitaria del campus principal UIS.
 +
 
 +
 
 +
https://thesai.org/Downloads/Volume6No11/Paper_32-Smart_City_Architecture_Vision_and_Challenges.pdf
 +
 
 +
 
 +
https://www.smartcitiesdive.com/ex/sustainablecitiescollective/new-architecture-smart-cities/68921/
 +
|[[:File:Seis.pdf|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'''
 +
 
 +
 
 +
NVIDIA tiene una posición dominante en el mercado, en GPU computing, siendo no solo pioneros sino también contribuyendo al uso masivo de la Inteligencia Artificial en el mundo. En la [https://sc19.supercomputing.org/ Conferencia Internacional de Supercomputación, Almacenamiento, Redes y Análitica de Datos en noviembre de 2019], su presidente y co-fundador, Jen-Hsun "Jensen" Huang, en un evento privado, dirigido principalmente a socios mundiales (alrededor de mil, en los cuales la UIS hizó parte, como única institución educativa en Colombia que es Centro Asociado de Investigación y Académico ), expuso importantes anuncios sobre el futuro del GPU Computing. Tomando como referencia su intervención dada en el enlace siguiente, ¿Cual es ese futuro? ¿ Como se enmarca y que retos nos plantean?
 +
 
 +
 
 +
https://ustream.tv/channel/21695927
 +
|[[:File:Siete.pdf|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'''
 +
 
 +
 
 +
Machine Learning se usa para diferentes problemas y desarrollos. ¿Pero que pasa cuando se usa para diseñar nuevas arquitecturas de computadores?
 +
 
 +
 
 +
https://www.hpcwire.com/2020/01/09/study-examines-efforts-and-prospects-for-ml-use-in-computer-architecture-design/
 +
 
 +
 
 +
https://arxiv.org/pdf/1909.12373.pdf
 +
|[[:File:Ocho.pdf|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'''
 +
 
 +
 
 +
Rajkumar Buyya quién es conocido por la comunidad especializada como uno de los padres del Cloud Computing (pasando en término de economy grids hacia Cloud), propone desde hace varios años cambios de paradigma que lentamente las empresas han venido asumiendo para prestar sus servicios cloud, afectando desde grandes infrastructuras como las ofertadas por AWS, Azurre, hasta otras de escalas mas modernas. ¿Porque es tan importante la sostenibilidad en los términos que el expresa, que va a pasar y como afecta completamente en términos de arquitectura y desarrollo lo que hoy conocemos como cloud? Tenga en cuenta el artículo de referencia pero no olviden observar otras fuentes de información.
 +
 
 +
 
 +
https://arxiv.org/pdf/1805.01765.pdf
 +
|[[:File:Nueve.pdf|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'''
 +
 
 +
 
 +
RISC-V es un ISA gratuito y abierto que permite una nueva era de innovación de procesador a través de la colaboración estándar abierta. Nacido en la academia y la investigación, RISC-V ISA ofrece un nuevo nivel de libertad de software y hardware libre y extensible en arquitectura, allanando el camino para los próximos 50 años de diseño e innovación informática. La UIS, por ejemplo, viene contribuyendo desde el grupo de desarrollo de la escuela E3T dirigido por el profesor Elkim Roa. ¿ De que se trata? ¿ Porqué es tan importante? ¿Cómo desde la EISI y desde el curso de Arquitectura de computadores para las versiones futuras, se podría contribuir?
 +
 
 +
 
 +
 
 +
https://riscv.org/
 +
 
 +
 
 +
https://github.com/ckdur
 +
|[[:File:Diez.pdf|A-Diez]]
 +
|}
 +
'''Asignaciones y Temáticas de Proyectos (1 Semestre de 2019)'''
  
===='''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.
 
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.
 
{| class="wikitable"
 
{| class="wikitable"
Line 362: Line 2,246:
 
|}
 
|}
  
===='''Temáticas de Proyectos (2 Semestre de 2018)'''====
+
====='''Temáticas de Proyectos (2 Semestre de 2018)'''=====
 
<s>Se publicarán y asignarán la primera semana de septiembre.</s>  Se publicarán al regreso después del cese de actividades en el 2019.
 
<s>Se publicarán y asignarán la primera semana de septiembre.</s>  Se publicarán al regreso después del cese de actividades en el 2019.
  
Line 502: Line 2,386:
 
|}
 
|}
  
==='''Temáticas de Proyectos (1 Semestre de 2018)'''===
+
====='''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.
 
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.
  
Line 642: Line 2,526:
 
|}
 
|}
  
===='''Temáticas de Proyectos'''====
+
====='''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).   
 
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).   
Line 691: Line 2,575:
 
**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).
 
**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'''
+
====='''Trabajos 2017-2'''=====
  
 
*'''G1: El Problema de la Memoria en Arquitecturas computacionales en la Era PostMoore ([http://wiki.sc3.uis.edu.co/index.php/File:ArtiG1.pdf ''Artículo''] , [[:File:G1Slides.pdf|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 [http://ieeexplore.ieee.org/document/8013455/ 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.
 
*'''G1: El Problema de la Memoria en Arquitecturas computacionales en la Era PostMoore ([http://wiki.sc3.uis.edu.co/index.php/File:ArtiG1.pdf ''Artículo''] , [[:File:G1Slides.pdf|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 [http://ieeexplore.ieee.org/document/8013455/ 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.
Line 699: Line 2,583:
 
**¿Cuales nuevas preguntas y retos surgen de la propuesta de los autores del articulo dado?
 
**¿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.
 
**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 (''[[:File:ArtiG2.pdf|Artículo]] , [[:File:G2Slides.pdf|Diapositivas]]):'<nowiki/>'''''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/ 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: [http://ieeexplore.ieee.org/document/8024138/ Application Modernization at LLNL and the Sierra Center of Excellence] trata mas en detalle la acción de un COE.
+
*'''G2: Modernización de las Aplicaciones en la Era Exascale (''[[:File:ArtiG2.pdf|Artículo]] , [[:File:G2Slides.pdf|Diapositivas]]):'<nowiki/>'''''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/ 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: [http://ieeexplore.ieee.org/document/8024138/ Application Modernization at LLNL and the Sierra Center of Excellence] trata mas en detalle la acción de un COE.'''''<nowiki/>'''''
 
**¿Por qué y como el exascale afecta las aplicaciones?
 
**¿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 tratar la modernización de las aplicaciones? ¿Cuales son los principales retos que se encuentran?. Recuerden desde el Exascale.
Line 705: Line 2,589:
 
**Una de las aplicaciones visibles y de alto impacto desarrollado por el COE en mención puede verse en [http://ieeexplore.ieee.org/document/8024093/ '''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)
 
**Una de las aplicaciones visibles y de alto impacto desarrollado por el COE en mención puede verse en [http://ieeexplore.ieee.org/document/8024093/ '''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?
 
**¿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 (''[[:File:ArtiG3.pdf|Artículo]]'''''<nowiki/>'', [[:File:G3Slides.pdf|'''Diapositivas''']]):'<nowiki/>''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  [http://ieeexplore.ieee.org/document/7562328/ The Quantum Future of Computation] los autores tratan de que se trata ese "futuro cuántico de la computación" '''([https://www.youtube.com/watch?v=zXZJvuI7nZE Igualmente puede ver en youtube en la charla de Matthias Troyer con el mismo nombre]).'''
+
*'''G3: Computación Cuántica (''[[:File:ArtiG3.pdf|Artículo]]'''''<nowiki/>'', [[:File:G3Slides.pdf|'''Diapositivas''']]):'<nowiki/>''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  [http://ieeexplore.ieee.org/document/7562328/ The Quantum Future of Computation] los autores tratan de que se trata ese "futuro cuántico de la computación" '''([https://www.youtube.com/watch?v=zXZJvuI7nZE Igualmente puede ver en youtube en la charla de Matthias Troyer con el mismo nombre]).'''<nowiki/>''<nowiki/>''
 
**¿Dé qué se trata la computación cuántica? Recuerde, desde el punto de vista de arquitectura (hardware/software).
 
**¿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?
 
**¿De que se trata la física cuántica?¿Porqué entonces de computadores cuánticos?
Line 729: Line 2,613:
 
**¿Por qué es importante estimar los peores casos en el rendimiento de estos sistemas (y de cualquier sistema)?
 
**¿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.
 
**¿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? (''[[:File:ArtiG7.pdf|Artículo]] , [[:File:G7Slides.pdf|Diapositivas]]):''''' ''<nowiki/>''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  [https://dl.acm.org/citation.cfm?id=2976758&CFID=820748914&CFTOKEN=65276609 Exponential Laws of Computing Growth] y en el [https://vimeo.com/194354238 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.
+
*'''G7: ¿La Ley de Moore ha muerto? (''[[:File:ArtiG7.pdf|Artículo]] , [[:File:G7Slides.pdf|Diapositivas]]):''''' ''<nowiki/>''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  [https://dl.acm.org/citation.cfm?id=2976758&CFID=820748914&CFTOKEN=65276609 Exponential Laws of Computing Growth] y en el [https://vimeo.com/194354238 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.''<nowiki/>''
 
**¿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?.
 
**¿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?
 
**¿De que se trata la ley de Rock y por qué es importante?
Line 742: Line 2,626:
 
**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.)
 
**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ículos de los Grupos del Curso del Semestre 1-2016'''=====
  
 
*[http://wiki.sc3.uis.edu.co/index.php/File:ArtG1.pdf '''Artículo del Grupo 1, Arquitecturas Heterogéneas''']
 
*[http://wiki.sc3.uis.edu.co/index.php/File:ArtG1.pdf '''Artículo del Grupo 1, Arquitecturas Heterogéneas''']
Line 764: Line 2,648:
 
'''Nota importante:&nbsp;'''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.
 
'''Nota importante:&nbsp;'''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ículos de los Grupos del Curso del Semestre 2-2016'''=====
  
 
*'''''[http://wiki.sc3.uis.edu.co/index.php/File:G1.pdf Artículo del Grupo 1, Connecting Processing...]'''''
 
*'''''[http://wiki.sc3.uis.edu.co/index.php/File:G1.pdf Artículo del Grupo 1, Connecting Processing...]'''''
Line 780: Line 2,664:
 
*'''''[http://wiki.sc3.uis.edu.co/index.php/File:G13.pdf Artículo del Grupo 13, GUANE-1]'''''
 
*'''''[http://wiki.sc3.uis.edu.co/index.php/File:G13.pdf Artículo del Grupo 13, GUANE-1]'''''
  
=='''Notas de las Evaluaciones del Curso 2019-1'''==
+
<br />
Indicaciones sobre los acrónimos utilizados (Recuerde que la revisión se hará el '''MIERCOLES''' 28 de agosto de 14:00 a 16:20
+
===='''Asignaciones y Temáticas de Proyectos (2 Semestre 2022)'''====
 +
<br />
 +
{| class="wikitable"
 +
|+
 +
|'''ESCUELA:'''
 +
|'''6570 - ESCUELA DE ING.DE SISTEMAS                                  '''
 +
| rowspan="2" |'''CURSO'''
 +
| rowspan="2" |'''GRUPO TRABAJO - Artículo Técnico'''
 +
| rowspan="2" |'''TEMATICA DE PROYECTO'''
 +
|-
 +
|'''CODIGO'''
 +
|'''ESTUDIANTE'''
 +
|-
 +
|2191965
 +
|ACUÑA VARGAS ANDERSON YESETH
 +
| rowspan="37" |A1
 +
| rowspan="5" |'''[[:File:WP-G1.pdf|1]]'''
 +
| rowspan="5" |'''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
 +
| rowspan="6" |'''[[:File:WP-G2.pdf|2]]'''
 +
| rowspan="6" |'''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
 +
| rowspan="5" |'''[[:File:WP-G3.pdf|3]]'''
 +
| rowspan="5" |'''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
 +
| rowspan="6" |'''[[:File:WP-G4.pdf|4]]'''
 +
| rowspan="6" |'''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
 +
| rowspan="5" |'''[[:File:WP-G5.pdf|5]]'''
 +
| rowspan="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
 +
| rowspan="5" |'''[[:File:WP-G6.pdf|6]]'''
 +
| rowspan="5" |'''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
 +
| rowspan="5" |'''[[:File:WP-G7.pdf|7]]'''
 +
| rowspan="5" |'''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
 +
| rowspan="38" |A2
 +
| rowspan="6" |'''[[:File:WP-G8.pdf|8]]'''
 +
| rowspan="6" |'''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
 +
| rowspan="5" |'''[[:File:WP-G9.pdf|9]]'''
 +
| rowspan="5" |'''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
 +
| rowspan="5" |'''[[:File:WP-G10.pdf|10]]'''
 +
| rowspan="5" |'''Evaluación de Rendimiento de Lenguajes de Programación sobre Windows usando el cálculo de Pi con el Método de Montecarlo'''
 +
<br />
 +
|-
 +
|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
 +
| rowspan="5" |'''[[:File:WP-G11.pdf|11]]'''
 +
| rowspan="5" |'''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
 +
| rowspan="6" |'''[[:File:WP-G12.pdf|12]]'''
 +
| rowspan="6" |'''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
 +
| rowspan="6" |'''[[:File:WP-G13.pdf|13]]'''
 +
| rowspan="6" |'''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
 +
| rowspan="5" |'''[[:File:WP-G14.pdf|14]]'''
 +
| rowspan="5" |'''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'''
  
*'''E1: Evaluación 1'''
+
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/) <nowiki>https://gcc.gnu.org/</nowiki>)].
*'''E2: Evaluación 2'''
 
*'''E2+B: Evaluación 2 + Bonus''' : Este bonus se le adjunta de acuerdo al extra por quices y laboratorios. Los laboratorios son calculados sobre 10, teniendo en cuenta que hubo 12 entregas + 1 quiz escrito.
 
*'''E3: Evaluación 3'''
 
*'''E3 +B: Evaluación 3 + Bonus''' : Este bonus se le adjunta de acuerdo al extra por quices y laboratorios. Los laboratorios son calculados sobre 10, teniendo en cuenta que hubo 12 entregas + 1 quiz escrito. El quiz escrito hizo parte de la prueba de control de asistencia.
 
*'''TF: Trabajo Final''' : Se calculó teniendo en cuenta tanto la presentación como el artículo.
 
*'''PL: Prácticas y Laboratorios''' : Hubo 12 Entregas calificadas. Se cálculo la nota final , sin embargo, sobre diez.
 
*'''DEF: Definitiva'''
 
  
[[File:Notas2019-1O1.png|center|thumb|965x646px]]
+
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*.
[[File:Notas2019-1O2.png|center|thumb|965x646px]]
 
  
=='''BIBLIOGRAFÍA Y FUENTES DE INFORMACION'''==
+
*''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?
  
1.[http://www.cse.hcmut.edu.vn/~vtphuong/KTMT/Slides/TextBookFull.pdf%7CPatterson Patterson and Hennesy, Computer Organization and Design (The Hardware, Software Interface)]]
+
b.     ¿Qué observa al hacer las pruebas comparando las memorias RAM?
  
*[http://wiki.sc3.uis.edu.co/images/3/34/TextBookFull.pdf Libro Completo]
+
''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.''
  
*[http://www.sc3.uis.edu.co/owncloud/index.php/s/yESO6hy4SIcOkSX Historial Perspective and Further Reading]
+
''*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.''
*[http://www.sc3.uis.edu.co/owncloud/index.php/s/a8rmDRjBK2Fuj7p Glossary of Terms in Architecture]
 
*[http://www.sc3.uis.edu.co/owncloud/index.php/s/gtmV8SRVq07wZRL A Survey of RISC Architectures for Desktop, Server and Embedded Computers]
 
  
 +
*'''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.
  
[http://vr.sdu.edu.cn/~gb/Architecture/courseware/Computer%20Architecture,%20Fifth%20Edition-%20A%20Quantitative%20Approach.pdf 2. Patterson and Hennesy, Computer Architecture; A Quantitative Approach]
+
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*.
  
*[http://wiki.sc3.uis.edu.co/images/c/c9/Computer_Architecture%2C_Fifth_Edition-_A_Quantitative_Approach.pdf Libro Completo]
+
'''''1.     Evaluar el rendimiento sobre esas máquinas dadas, mostrando cual es el mejor compilador en cada máquina respectiva.'''''
*
 
  
3. Commer, Douglas, Essentials of Computer Architecture
+
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).
  
*[https://eca.cs.purdue.edu/ Sitio Web del Libro y Notas del Curso]
+
b.     Recuerde que debe seleccionar las métricas y presentar los resultados de esa evaluación.
  
4. TED Talks
+
c.     Use al menos tres (3) opciones de optimización al compilar
  
*[https://www.ted.com/talks/george_dyson_at_the_birth_of_the_computer#t-1008935 The Birth of Computers] by George Dyson
+
d.     Extraiga el pseudocódigo y diagrama de flujo.
*[http://www.ted.com/talks/shimon_schocken_the_self_organizing_computer_course.html 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
 
*[http://www.ted.com/talks/kwabena_boahen_on_a_computer_that_works_like_the_brain#t-13231 Kwabena Boahen: A computer that works like the brain]
 
  
5. Algunos enlaces interesantes
+
''e.     Bonus: Realizar la versión en C y hacer comparaciones.''
  
*Computer Arithmetic Algorithm Simulator: http://www.ecs.umass.edu/ece/koren/arith/simulator/
+
'''''2.     Responda y explique las siguientes preguntas:'''''
*Enlace de programa en C para sumar dos números binarios (https://www.sanfoundry.com/c-program-sum-binary-numbers/)
 
  
=='''PRACTICAS  2019'''==
+
a.     ¿Qué observa al hacer las pruebas comparando los procesadores?
Todas las prácticas se desarrollan en el tiempo de clase y el informe para las mismas deberá enviarse 10 minutos antes de la finalización de la misma. En el momento de la sesión, se dirá si esas prácticas son en parejas o individuales. Las condiciones generales de entrega son las siguientes:
 
  
*Los informes deben enviarse por correo electrónico al correo del profesor. En el asunto del mismo deberá colocarse "PractArqComp No. XX" Por ejemplo, si la práctica es la práctica 37, el asunto del correo deberá ser: '''''PractArqComp-37'''''.
+
b.     ¿Qué observa al hacer las pruebas comparando las memorias RAM?
*El informe de las mismas, se enviará adjunto en el correo ÚNICAMENTE en un solo archivo .pdf de máximo (3) tres páginas tamaño carta, tipo de letra 12 puntos, espaciado sencillo, que incluya las gráficas necesarias, cuyo archivo debe nombrase con los apellidos (o apellido si es individual), las iniciales de los nombres (o inicial del nombre si es individual) y el numero de práctica respectivo. Por ejemplo, si los integrantes del trabajo son Pedro Pérez y Maria Márquez, que realizan la práctica 37, el archivo de informe .pdf deberá nombrarse como : '''''MarquezPerezMP37.pdf'''''  El archivo debe incluir en la cabecera el número y fecha de la práctica, asi como los nombres completos de los participantes junto con el código respectivo y el curso al que pertenencen.
 
*En algunas prácticas es necesario que se incluyan algunos archivos de código fuente. En ese caso, dentro del informe mismo, deberán indicarse cuales son esos archivos adjuntos y deben enviarse junto con el archivo de informe (con nombres libres) pero dando las indicaciones de compilación y ejecución.
 
*En el cuerpo del mensaje, deberán colocarse los nombres completos y códigos de los autores del informe ( o autor  si es el caso de un laboratorio individual), así como el código del curso al que pertenecen.
 
*'''<u>Lea cuidadosamente</u>''' lo que se les pregunta y respondan únicamente lo que se les esta preguntando precisamente, de manera clara y concisa. Siga las indicaciones de respuesta, que en algunos casos están limitadas en números de líneas a responder, gráficas, comparaciones, justificaciones, ejemplos, contra ejemplos, entre otros.
 
*'''<u>ADVERTENCIA: Salvo que se indique lo contrario, todas las prácticas deben realizarse de manera presencial en el laboratorio, por lo que se tomará lista. La no asistencia pero si envío de la práctica equivale a 0.0. La copia de la práctica a otro estudiante o a otro grupo, equivale a la división de la nota en partes iguales, por parte de los estudiantes que hicieron la copia y que prestaron el trabajo. Si un estudiante que no asistió, entrega un trabajo copiado, la nota se divide en partes iguales para el autor original (que se supone que fué el que asistió y aparece en la lista) y 0.0. al que no asistió.</u>'''
 
  
===='<nowiki/>'''''Primera Práctica Viernes 4 de Octubre de 2019'<nowiki/>'': Familiarizándose con las secciones prácticas e introducción al curso'''====
+
''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.''
Esta primera práctica tiene como objetivo, introducir la asignatura de arquitectura de computadores y se realizará de manera individual.  Antes de entrar a desarrollar las secciones de las prácticas, visite completamente esta página del curso y familiarícese con el contenido de la misma. '''''<u>Esta práctica se realizará en presencial (DEBEN TRAER AUDIFONOS) y deberá ser enviada a mas tardar a las DIEZ (10) MINUTOS ANTES DE FINALIZAR LA SESIÓN DE PRÁCTICAS al correo electrónico del profesor con las condiciones expuestas anteriormente, teniendo en cuenta el siguiente Asunto: PRACTICA-1 INTRODUCCION A LAS PRACTICAS DE ARQUITECTURA. Recuerde que en el cuerpo del mensaje enviado, debe colocar su nombre completo, grupo al que pertenece  y código. Recuerde, debe enviar el documento en .pdf</u>'''''
 
  
Observe la charla de TED dada por George Dyson, [https://www.ted.com/talks/george_dyson_at_the_birth_of_the_computer#t-1008935 The Birth of Computers] y  responda las siguientes preguntas, de manera concreta, si es necesario complementando con otras fuentes de información que busque al momento de hacer el informe:
+
''*Para este proyecto pueden usar sus equipos personales y/o de la universidad. No olvide explicar la arquitectura del sistema de prueba.''
  
#¿Qué es lo más trascendental para usted en esta charla?
+
*'''Proyecto 11: Evaluación de Rendimiento de Compiladores sobre Windows usando el cálculo de PI con el Método de Montecarlo'''
#¿Qué situaciones "cotidianas" encuentra hoy en día en las máquinas de cómputo que prevalecen desde los primeros días de esas  primeras máquinas de computación?
 
#Compare las principales características de su teléfono celular  o del PC que tiene junto a usted al momento de hacer este informe (capacidad de memoria, almacenamiento, consumo energético, capacidad de procesamiento e incluso complejidad), con las de esas máquinas pioneras. ¿Cuales han sido los cambios más dramáticos?.
 
#Hoy en día se habla mucho de la cuarta revolución industrial y la transformación digital. ¿Qué es cada una de ellas? . Suponiendo que se gradúa mañana ¿Tiene claro (o no) como hacer parte de esas transformaciones? . Justifique su respuesta.
 
  
Observe las dos caricaturas que se han colocado en el wiki: 
+
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.
  
https://upload.wikimedia.org/wikipedia/en/thumb/6/6e/ArchitectureCartoon.png/300px-ArchitectureCartoon.png y http://wiki.sc3.uis.edu.co/images/d/d7/Theory-vs-practice.jpg 
+
Los contratadores usan el método de Montecarlo para calcular Pi que se encuentra en este sitio: <nowiki>https://www.geeksforgeeks.org/estimating-value-pi-using-monte-carlo/</nowiki> 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*.
  
#¿Qué es cada una de ellas? ¿Cuales son sus impresiones al respecto? Tenga en cuenta el contexto del curso de Arquitectura de Computadores.
+
Los compiladores para analizar son: Dev C/C++, Microsoft Visual C/C++, GCC e Intel.
  
===='''Segunda Práctica: Requerimientos Funcionales y Desempeño (Viernes 11 de Octubre de 2019)'''====
+
'''''1.     Evaluar el rendimiento sobre esas máquinas dadas, mostrando cual es el mejor compilador en cada máquina respectiva.'''''
Observando las diapositivas de la clase anterior (principalmente la diapositiva No. 35) y lo que se puede consultar en la bibliografía dada (ver principalmente fuente bibliográfica No. 2, sección 1.3 recomendando observar la tabla presente en la figura 1.7), la práctica de hoy busca hacer un ejercicio en el cual, teniendo en cuenta requerimientos funcionales, se va a sugerir una tecnología a tomadores de decisiones.
 
  
Esta práctica se realizará por parejas de la siguiente manera: Tomé la última cifra de su código de estudiante y súmela con la de su compañero, si el resultado es un numero par o cero siga las indicaciones dadas en a), si es impar siga las dadas en b).
+
a.     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).
  
'''a)''' Una empresa local en el segmento de hidrocarburos, quiere adquirir tecnología computacional para colocarla en campos petroleros en la selva, en los que no hay una distribución energética constante sino dadas por plantas, ademas que estos dispositivos son para colocar en diferentes pozos que se comunican por wifi. Las aplicaciones dadas están realizadas por la misma compañía (códigos propios o in-house), realizados en C/C++ y Python, en un ambiente que solo funciona bien sobre un linux embebido. Por política de la compañía sólo usan software abierto y propone el uso de hardware abierto principalmente (pero no necesariamente), pero la seguridad de la información es importante y debe tratarse en tiempo real y como se mencionó anteriormente, implica una comunicación constante entre los dispositivos en cada pozo. Estos dispositivos se comunicarán al final con un servidor de réplica que envía los datos a un datacenter.  
+
b.     Recuerde que debe seleccionar las métricas y presentar los resultados de esa evaluación.
  
La compañía se comunica con ustedes para recibir sugerencias arquitecturales basadas en los requerimientos funcionales dados UNICAMENTE, las cuales ustedes deben presentar. Busqué en internet cuanto costaría en el mercado un dispositivo que ustedes están recomendado (no olviden dar las referencias del casos, como enlace de internet para buscar más información). En la recomendación, justificada, en un documento de no mas de tres (3) páginas, presente cual seria la opción mas cercana y no olviden mencionar las limitaciones que en una primera revisión ustedes encuentran.
+
c.     Use al menos tres (3) opciones de optimización al compilar
  
'''b)''' Un DJ local muy conocido, quiere adquirir tecnología computacional que le permita ofrecer en streaming y en vivo, sus presentaciones por internet. Fundamentalmente, el DJ usa Virtual DJ o Traktor que puede ser soportado sobre macOS Sierra, Linux o cualquier versión de Windows moderna. Es importante tener en cuenta que el dispositivo computacional debe tener los puertos de salida necesarios para la consola de mezclas (que puede ser de cualquier marca, pues el se presenta en diferentes sitios, pero que por la complejidad requiere muy buena capacidad en memoria RAM), debe no ser tan pesado (pues el lo debe llevar consigo), no recalentarse demasiado y mantener cierta autonomía en caso de caídas de luz, que son muy frecuentes en el momento de las presentaciones por la cantidad de tecnología conectada. Hay periféricos conectados que deben permitir salida hacia una cámara de video de alta resolución, puertos USB de lectura hacia discos duros externos en los que tiene su música, puerto de red para el streaming y puertos necesarios hacia servidores que permitan almacenar y posteriormente difundir en la nube sus presentaciones, usando su sitio personal y plataformas como soundcloud o mixcloud.
+
d.     Extraiga el pseudocódigo y diagrama de flujo.
  
El DJ se comunica con ustedes para recibir sugerencias arquitecturales basadas en lo que les dijo UNICAMENTE. Proponga la arquitectura, detallando los aspectos de tecnología mas importantes (procesador (marca del mismo), memoria RAM, capacidad de disco, entre otras características importantes). Presente, justificando, su recomendación observando en el mercado por internet, posibles soluciones comerciales, teniendo en cuenta la mas costosa y la menos costosa, justificando ventajas y desventajas de cada una de ellas. Eso no debe hacerse en mas de tres (3) páginas.
+
''e.     Bonus: Realizar la versión en C y hacer comparaciones.''
  
No olviden seguir las recomendaciones de informes. NO SE ACEPTAN INFORMES EN SOLITARIO y envienlo una sola vez por todo el grupo desde una de las cuentas de correos de alguno de los estudiantes del grupo.En un curso anterior, se siguieron conceptos acerca de electricidad, electrónica y diseño digital de circuitos. En esta práctica el objetivo es recordar algunos conceptos de diseño digital de circuitos, esta práctica se realizará por parejas asignadas por el profesor en el momento de la práctica. Recuerde, tenga en cuenta las recomendaciones dads anteriormente para la entrega del informe de práctica. 
+
'''''2.     Responda y explique las siguientes preguntas:'''''
  
===='''Tercera Práctica: Evolución Histórica en Teletrabajo (Viernes 18 de Octubre de 2019)'''====
+
a.     ¿Qué observa al hacer las pruebas comparando los procesadores?
De acuerdo con la Ley 1221 de 2008, el Teletrabajo se define como una forma de organización laboral, que consiste en el desempeño de actividades remuneradas o prestación de servicios a terceros utilizando como soporte las tecnologías de la información y la comunicación - TIC para el contacto entre el trabajador y la empresa, sin requerirse la presencia física del trabajador en un sitio específico de trabajo. En el mundo, este tipo de trabajo se esta expandiendo por diferentes motivos: económicos, medioambientales y de calidad de vida. Sin embargo, involucra un cambio de mentalidad en el trabajador y del empleador, basándose sobre todo en valores y confianza, aunque también se requieren plataformas tecnológicas que soporten el teletrabajo. Diferentes plataformas en Colombia como [http://www.teletrabajo.gov.co/622/w3-channel.html http://www.teletrabajo.gov.co] han promovido este tipo de práctica laboral y en la Universidad Industrial de Santander, se han desarrollado charlas para entenderlo, junto con el MinTIC. El desarrollo de este taller se realizará de esta manera, para lo cual deben tener en cuenta lo siguiente:
 
  
#Se realizará de manera individual.
+
b.     ¿Qué observa al hacer las pruebas comparando las memorias RAM?
#Se enviará el respectivo informe hasta las 14:59 (2:59 p.m. Hora Colombiana)  al correo electrónico del profesor el dia de la práctica, siguiendo las mismas indicaciones con las cuales se han enviado los trabajos anteriores (archivo .pdf, asunto del mensaje claro, etc.)
 
#Como es teletrabajo, pueden realizarlo donde quieran, no hace falta que vengan al salón de práctica.
 
  
Para desarrollar el taller, tenga en cuenta que la arquitectura de computadores es ante todo un desarrollo continuo, de hardware y software, que involucra cambios radicales que tienen una afectación importante en el individuo y la sociedad.  
+
''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.''
  
#Revise las diapositivas: [[:File:CompHist1-16.pdf]] acerca de la evolución histórica de la computación y bibliografía relacionada (Por ejemplo, [http://www.sc3.uis.edu.co/owncloud/index.php/s/yESO6hy4SIcOkSX Historial Perspective and Further Reading]).
+
''*Para este proyecto pueden usar sus equipos personales y/o de la universidad. No olvide explicar la arquitectura del sistema de prueba.''
#Según su criterio personal, ¿Cual ha sido el mas extraño de los desarrollos en esa evolución histórica? Justifique su respuesta en no mas de (Diez) 10 líneas.
 
#Teniendo en cuenta esa evolución histórica y tendencias, ¿Como ve a Colombia dentro de ese desarrollo? ¿Se ha mantenido al margen? ¿Ha producido tecnología? ¿Es un buen consumidor de la misma?. Responda en no mas de diez líneas.
 
#El premio ACM Turing, es el equivalente al Nobel en Informática y Computación (https://amturing.acm.org/) Los dos últimos ganadores del premio fueron los profesores David Patterson y  John Hennessy (que precisamente son los autores de libros guía de cursos como este de arquitectura de computadores. Observando la trayectoria de ellos, responda:
 
#*Antes del ACM Turing, ¿Que otros premios y reconocimientos han recibido?
 
#*¿Qué es lo mas interesante de la hoja de vida y el recorrido personal de cada uno de ellos?
 
#*¿Creen que el aporte que ellos han hecho para ganarse el ACM Turing tiene realmente una incidencia en la sociedad y en la computación? Justifique su repuesta (en no mas de veinte lineas).
 
#Escoja otro ganador del ACM Turing y responda las mismas preguntas anteriores.
 
#Teniendo en cuenta lo visto en el ACM Turing, ¿Que necesitaría alguien para ganarse ese reconocimiento desde la Universidad Industrial de Santander?
 
  
===='''Cuarta Práctica: Ensamblador (Viernes 25 de Octubre de 2019)'''====
+
*'''Proyecto 12: Evaluación de Rendimiento usando Linpack'''
Ensamblador, traduce el lenguaje de alto nivel a un lenguaje que pueda ser posteriormente enlazado hacia un lenguaje que será entendido por la máquina. Cuando ya ha sido ensamblado por el compilador, las instrucciones fundamentales para la operación quedan visibles.  Normalmente, las instrucciones ensamblador son estandarizadas. En el siguiente enlace: http://reliant.colab.duke.edu/c2mips/ se tiene en linea un convertidor de C hacia ensamblador para MIPS. El objetivo de esta práctica es observar y distinguir que pasa cuando un programa escrito en un lenguaje una vez compilado es traducido hacia ensamblador. Esta práctica se realizará igualmente en parejas.
 
  
#Utilice el código de "Hola Mundo"  en C y usando únicamente la opción de optimización por defecto, indique pasa, explicando que hace cada linea de instrucción importante, cuando se traduce hacia ensamblador.
+
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/
#Haga lo mismo con un programa para sumar dos números enteros menores que 100.
 
#Ahora con un programa en C para calcular los números primos hasta 1000 y mire que  pasa. Juegue con las opciones de optimización del compilador. Inclusive si salen warnings o errores, explique por que pasa eso y en que modo de optimización.
 
#Responda las siguientes preguntas:
 
##¿Qué es compilar?
 
##¿Cual es la función del compilador?
 
##¿Todos los compiladores son iguales?
 
##¿Que hace o a que se refiere las opciones de compilación? ¿Cual es la diferencia entre ellas?
 
#Realice el ejercicio que se le coloca en el tablero por parte del instructor de ls prácticas.
 
  
Recuerden las reglas para la entrega de informes.
+
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*.
  
===='''Quinta Práctica: Aritmética Computacional'''====
+
'''''1.     Evaluar el rendimiento sobre esas máquinas dadas, mostrando cual es la mejor de acuerdo con los resultados que da el Linpack.'''''
El objetivo de esta práctica es observar ciertos aspectos de aritmética computacional, teniendo en cuenta lo visto en clase. Puede realizarse de (2) dos personas. En el documento solo debe colocar las respuestas, explicaciones y no el código siguiente. Recuerden, sean concretos en las respuestas.
 
  
#Observe el siguiente código:
+
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).
  
#include <stdio.h>
+
b.     Recuerde que debe seleccionar las métricas y presentar los resultados de esa evaluación.
  
int main()
+
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.
  
long binary1, binary2;
+
''e.     Bonus: Realizar la prueba usando dos compiladores diferentes para cada sistema operativo y mostrar los resultados.''
  
int i = 0, remainder = 0, sum[20];
+
'''''2.     Responda y explique las siguientes preguntas:'''''
  
printf("Enter the first binary number: ");
+
a.     ¿Qué observa al hacer las pruebas usando valores bajos?
  
scanf("%ld", &binary1);
+
b.     ¿El sistema operativo afecta los resultados? Justifique la respuesta.
  
printf("Enter the second binary number: ");
+
''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.''
  
scanf("%ld", &binary2);
+
''*Para este proyecto pueden usar sus equipos personales y/o de la universidad. No olvide explicar la arquitectura del sistema de prueba.''
  
while (binary1 != 0 || binary2 != 0)
+
*'''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 (<nowiki>https://es.wikipedia.org/wiki/Jack_Dongarra</nowiki>)  , 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. (<nowiki>https://es.wikipedia.org/wiki/LINPACK</nowiki>) 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. <nowiki>https://www.top500.org/project/linpack/</nowiki>
  
sum[i++] =(binary1 % 10 + binary2 % 10 + remainder) % 2;
+
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.
  
remainder =(binary1 % 10 + binary2 % 10 + remainder) / 2;
+
'''''1.     Evaluar el rendimiento sobre esas máquinas dadas, mostrando cual es la mejor de acuerdo con los resultados que da el Linpack.'''''
  
binary1 = binary1 / 10;
+
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).
  
binary2 = binary2 / 10;
+
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.
  
if (remainder != 0)
+
d.     Extraiga el pseudocódigo y diagrama de flujo.
  
sum[i++] = remainder;
+
''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.''
  
--i;
+
'''''2.     Responda y explique las siguientes preguntas:'''''
  
printf("Sum of two binary numbers: ");
+
a.     ¿Qué observa al hacer las pruebas comparando los procesadores?
  
while (i >= 0)
+
b.     ¿Qué observa al hacer las pruebas comparando las memorias RAM?
  
printf("%d", sum[i--]);
+
''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.''
  
return 0;
+
*'''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.1. ¿Qué hace el código? Expliquélo en un diagrama de flujo y un pseudocódigo.
 
  
1.2. Teniendo en cuenta que el lenguaje de programación sobre el que esta escrito es evidente, transcribalo, guardelo con la extensión correspondiente, compilelo y ejecutelo. ¿Qué salida le da?
+
'''''1.     Evaluar el rendimiento sobre estas opciones, explicando en qué casos es mejor cada una de ellas, al ejecutarse.'''''
  
1.3. Modifiquélo previendo un overflow "posible", en el informe agregue unicamente las lineas de esa modificación y expliqué como funciona, teniendo en cuenta la salida que les da.
+
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).
  
2. Observe el Simulador de suma y resta de punto flotante que se encuentra en el sitio de internet: http://www.ecs.umass.edu/ece/koren/arith/simulator/FPAdd/
+
b.     Recuerde que debe seleccionar las métricas y presentar los resultados de esa evaluación.
  
2.1. Use los años que tiene usted y su compañero y realice una operación de suma y luego de resta usando números decimales. Explique la salida que les da tanto en single como en double. ¿Que ven de diferente? Expliquen su respuesta.  
+
c.     Use al menos dos (2) opciones de optimización al compilar en la versión secuencial.
  
2.2. Repita la misma operación anterior pero en hexadecimal. ¿Que observan que es relevante en la salida ? Igual realizarlo para double y expliquen la diferencia.
+
d.     Extraiga el pseudocódigo y diagrama de flujo.
  
3. ¿Cual es la utilidad de la representación hexadecimal respecto a la decimal desde el punto de vista de arquitectura de computadores? No olviden que tienen Internet.
+
''e.     Bonus: Realizar la comparación con la versión en CUDA: <nowiki>https://gist.github.com/jlgarridol/fa89b030a4f7c89976675d03e22ae020</nowiki>''
  
===='''Sexta Práctica: Multinúcleos y Multiprocesamiento'''====
+
'''''2.     Responda y explique las siguientes preguntas:'''''
Los sistemas computacionales desde hace décadas, explota las posibilidades de concurrencia y paralelismo en procesamiento aprovechándose de la posibilidad de aglomerar multiples núcleos de procesamiento y multiples procesadores. Esto permite tener grandes capacidades computacionales que soportan diversos tipos de aplicaciones, algunas como las de Inteligencia Artificial que sin esta explosión cámbrica de procesamiento, sería imposible hoy implementar algoritmos para tales fines. Profesor Satoshi Matsuoka en el 2017 durante una presentación en Zurich (https://www.cse-lab.ethz.ch/wp-content/uploads/2017/12/171208_Talk-1_Satoshi-Matsuoka.pdf) utilizó el término "cambrian explotion" (en inglés) por primera vez y en el 2018 se formalizó el término durante la Conferencia HPDC ( https://dl.acm.org/citation.cfm?id=3225055 ) 
 
  
Observe detenidamente las diapositivas de la presentación del profesor Satoshi Matsouka, consulte fuentes y citaciones por internet y responda las siguientes preguntas: 
+
a.     ¿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?
  
#¿A qué se refiere cuando usa el término Cambrian Explotion of Computing...? ¿Por qué la relación de similitud con la explosión cámbrica desde el punto de vista geológico?
+
''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.''
#¿Qué son las aplicaciones exascale y por qué son importantes?
 
#¿Qué son las arquitecturas computacionales neuromórficas?
 
#¿A qué se refiere la computación centrada en datos (data-centric computing)?
 
#¿Por qué la memoria es importante en esta explosión cámbrica? ¿Qué se ha propuesto hasta el momento?
 
#¿Qué se plantea en términos de interconexión de acuerdo a la presentación? ¿Por qué es importante?.
 
#¿Qué características comunes tienen las aplicaciones de Inteligencia Artificial y de Big Data que hacen que requieran arquitecturas de computación de alto rendimiento?
 
#Teniendo en cuenta la presentación y las consultas asociadas ¿Qué se imagina que pasará en los siguientes 20 años de computación para las nuevas generaciones de procesadores?
 
  
Puede observar igualmente el video de la charla sobre Post K architecture en: https://www.youtube.com/watch?v=vQjy0t9FtQI
+
''*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''<br />
 +
====='''''<u>Taller de Introducción de Grupos de Trabajo (Miércoles 19 de octubre 2022 - En Grupos)</u>'''''=====
 +
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.
  
No olviden que esta práctica se hace individual y que en el cuerpo del correo debe indicarse el nombre completo, código y grupo al que pertenece.
+
#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: ''<u>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.</u>'' 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.
  
===='''Séptima Práctica: Jugando con Assembly'''====
+
===='''Asignaciones y Temáticas de Proyectos (1 Semestre 2022)'''====
 
<br />
 
<br />
 +
{| class="wikitable"
 +
|ESCUELA:
 +
|6570 - ESCUELA DE ING.DE SISTEMAS                                  
 +
| colspan="2" rowspan="2" |'''GRUPO TRABAJO'''
 +
|-
 +
|CODIGO ESTUDIANTE
 +
|ESTUDIANTE
 +
|-
 +
|2182695
 +
|BUSTAMANTE PLATA CRISTHIAN CAMILO
 +
| rowspan="5" |'''1'''
 +
| rowspan="5" |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/
  
===='''Octava Práctica: Práctica Especial'''====
 
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 
 
  
En parejas, siguiendo las indicaciones que se han manejado para la entrega de informes, responda lo siguiente:  
+
'''Link del Proyecto: https://sites.google.com/view/binary-beasts/proyecto?authuser=0'''
 +
|-
 +
|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
 +
| rowspan="5" |'''2'''
 +
| rowspan="5" |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
  
#¿Que opina de los principios éticos generales de la profesión? Argumente de manera concreta su respuesta.
 
#¿Cree que hay puntos éticos que no se han tratado en estos principios? Justifique su respuesta.
 
#Los puntos 1.5  y 1.6., son muy discutidos hoy en dia, sobre todo por la proliferación de motores y robots que pueden tratar los datos personales e información sensible (Por ejemplo, "la piratería" de software y algoritmos o hay que ver el caso de Cambridge Analytica con Facebook) ¿Cree que estos puntos se han tratado adecuadamente en nuestro medio colombiano? Justifique su respuesta.
 
#La responsabilidad profesional en computación (que puede observarse en la sección dos) genera hoy en dia posiciones encontradas en muchos aspectos (por ejemplo, cuando se aspira a contratar "toderos" o a creerse igualmente "que puede hacer de todo", ignorando las competencias y por supuesto subvalorando el conocimiento y niveles de formación (Cómo el conocido caso del ingeniero recién graduado que sepa de todo, varios idiomas y haya tenido años de experiencia , pero con una asignación salarial ridícula). De la misma manera, existen versiones beta, o fraccionarias consecutivas, que muestran desarrollos parciales, no robustos y que requieren constantes actualizaciones por supuesto, respondiendo a oportunidades de mercado (por el ejemplo el caso de los productos obsoletos o que se vuelven de poco desempeño cuando salé la versión nueva al público) ¿Por qué cree que en el medio colombiano y regional la responsabilidad y las competencias sean subvaloradas? Analice un caso conocido y expongalo para complementar su respuesta.
 
#Los líderes, debido a su responsabilidad al influenciar e impactar, tiene ciertas características que incluso en el contexto no profesional, buscamos justificar, ignorando implicaciones. ¿Creen que los aspectos relacionados con el liderazgo están tratados integralmente en el código propuesto? Justifique su respuesta.
 
#No sólo el futuro de la computación, sino de la misma humanidad depende tanto de excelencias éticas y técnicas que permiten desarrollo tecnológico y social. ¿Porque es importante observar los principios éticos además del conocimiento científico y tecnológico? Justifique su respuesta.
 
#¿Se sienten identificados o no con el código propuesto por la ACM? Justifique su respuesta.
 
#Teniendo en cuenta la pregunta que se le colocó en el tablero, ¿cree que existe una confrontación entre las dos visiones? Justifique su respuesta.
 
  
===='''Novena Práctica: Arquitectura General - En Parejas'''====
+
'''Link del Proyecto: https://sites.google.com/view/athena-command/trabajo-final'''
El objetivo de esta práctica es comprobar las capacidades para identificar planos de arquitectura de algunos sistemas y entenderlos.
+
|-
 +
|2191692
 +
|GALEANO CASTRO VALENTINA
 +
|-
 +
|2195556
 +
|GALEANO HERNANDEZ JEFERSSON ALEJANDRO
 +
|-
 +
|2191943
 +
|GONZALEZ BUENDIA DANIEL ADRIAN
 +
|-
 +
|2190046
 +
|GUTIERREZ PALOMINO EDINSSON FERNANDO
 +
|-
 +
|2191050
 +
|LIZCANO ARENAS CRISTHIAN RAFAEL
 +
| rowspan="5" |'''3'''
 +
| rowspan="5" |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
  
#La siguiente imagen, corresponde a una organización del sistema propuesta para un sistema Nehalem-EP 8-way cc-NUMA SMP, basado en CPUs (http://sc.tamu.edu/systems/eos/). Como profesional en ingenieria de sistemas le preguntan lo siguiente, de acuerdo a la gráfica (10 puntos):
 
#*¿Cuantos procesadores tengo?
 
#*¿Cuántos tipo de procesadores tengo y de que tipo? Explique cada uno
 
#*¿Cuántos nucléos de procesamiento (cores) tengo?
 
#*¿Cuántos niveles de caché tengo? Explique a que me refiero con el caché.
 
#*¿Qué dice la información acerca de la latencia al compararla de procesador a procesador y de procesador a memoria?
 
  
[[File:ArchiGen.png|La magen, corresponde a una organización del sistema propuesta para un sistema Nehalem-EP 8-way cc-NUMA SMP, basado en CPUs (<nowiki>http://sc.tamu.edu/systems/eos/</nowiki>)  |border|center]]
+
'''Link del Proyecto: https://sites.google.com/view/arquitecturagrupo3/trabajo-final'''
 +
|-
 +
|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
 +
| rowspan="5" |'''4'''
 +
| rowspan="5" |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/
  
(Este tipo de gráficas pueden aparecer en las evaluaciones)
 
  
2. CISC VS RISC
+
'''Link del Proyecto: https://sites.google.com/view/xor-fusion/proyecto-final?authuser=0'''
 +
|-
 +
|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
 +
| rowspan="5" |'''5'''
 +
| rowspan="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 [https://www.lustre.org/ 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
  
En la clase anterior se habló sobre aspectos importantes y diferenciadores de cada una de las dos tecnologías RISC y CISC. Observando la siguiente gráfica,  responda las preguntas dadas (Tenga en cuenta la conclusión final dicha en clase).
 
[[File:CISCVSRISC.jpg|center|thumb]]
 
  
*¿Cuáles son las principales diferencias arquitecturales?
+
'''Link del proyecto: [https://sites.google.com/view/alphateamarquitectura/proyectofinalhttps://youtu.be/LEUv6lcoiAg https://sites.google.com/view/alphateamarquitectura/proyectofinal]'''
*Abstraiga la implantación sobre el sistema (recuerde desde el programa en lenguaje de alto nivel hasta la circuiteria), con un ejemplo de cada uno, muestre las diferencias de la abstracción (si existe) y como la explicaría con un ejemplo.
 
*Muestre en el mercado dos ejemplos de cada uno de las tecnologías y una tecnología que combine las dos.
 
*¿Consulte que lenguajes de programación, compiladores y sistemas operativos existen para RISC que igualmente están con soporte para CISC? Enumére tres ejemplos de cada uno.
 
*De acuerdo a lo dicho en clase (y consultando por Internet), ¿Que retos y problemas plantea RISC?
 
  
===='''Práctica: Simulacro de Examen'''====
+
'''[https://sites.google.com/view/alphateamarquitectura/proyectofinalhttps://youtu.be/LEUv6lcoiAg https://youtu.be/LEUv6lcoiAg]'''
El objetivo de esta práctica es realizar un simulacro de algunas de las preguntas tipo que se realizan en el primer examen. '''.  Sea claro y conciso en sus respuestas. Observé lo que se le pregunta y responda UNICAMENTE lo que se le pregunta y las indicaciones dadas en el sitio .'''
+
|-
 +
|2190049
 +
|TORRES GARZON JEFREY STEVEN
 +
|-
 +
|2182029
 +
|TORRES SALCEDO DANIEL SANTIAGO
 +
|-
 +
|2191959
 +
|VALERA SANCHEZ JOSE DANIEL
 +
|-
 +
|2192941
 +
|VASQUEZ GARCES GYSSELIS
 +
|-
 +
|2191932
 +
|ALVAREZ AMADO ADEL MAURICIO
 +
| rowspan="5" |'''6'''
 +
| rowspan="5" |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
 +
 
 +
 
 +
'''Link del Proyecto:  https://ekismet1.wixsite.com/2022-1a2/blog'''
 +
|-
 +
|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
 +
| rowspan="5" |'''7'''
 +
| rowspan="5" |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/
 +
 
 +
 
 +
'''Link del Proyecto: https://sites.google.com/d/1CwY-G27jd-LXQ5IB9VzhwBRXdrB_XGTJ/p/1mGqIjxIHB1Ad7GEVNCSdXhMZ6AMHzedP/edit'''
 +
 
 +
 
 +
'''Link del Video: https://www.canva.com/design/DAFLy2vCNwE/IiKCwAqJRFBVe84Y0wHGcA/watch?utm_content=DAFLy2vCNwE&utm_campaign=designshare&utm_me'''
 +
|-
 +
|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
 +
| rowspan="5" |'''8'''
 +
| rowspan="5" |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 [https://www.mmm.ucar.edu/weather-research-and-forecasting-model 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/
  
1.     Para realizar una evaluación de rendimiento, le solicitan la lista de al menos tres métricas para comparar:
 
  
*·      Dos computadores personales
+
'''Link del Proyecto: https://sites.google.com/view/grupo-arkham/trabajo-final'''
*·      Dos Sistemas de bases de datos
+
|-
*·      Dos Aplicaciones que funcionan en red
+
|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
 +
| rowspan="5" |'''9'''
 +
| rowspan="5" |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/?orgRef=https%253A%252F%252Fwww.google.com%252F 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
 +
| rowspan="5" |'''10'''
 +
| rowspan="5" |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
 +
 
  
2.     En un proceso en el cual usted esta explicando a una junta directiva de una gran empresa sus decisiones en tecnología, le pregunta: ¿Por qué el caché es importante?  (Use solo 5 líneas)
+
'''Link del Proyecto: https://juanfelipevn.wixsite.com/grupo-arquitectura/trabajo-final'''
 +
|-
 +
|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.
  
3.     Usted esta en el consejo de escuela de la EISI en el cual se discute acerca de la velocidad de la red inalámbrica del sistema.  En el consejo se insiste en que se cuenta con un canal de red de una capacidad de 1GB (Ancho de banda) cableada que puede suplir a los 780 estudiantes y 18 profesores de la EISI, pero la red sigue siendo lenta. ¿Qué no se ha tenido en cuenta al evaluar el rendimiento?  (Máximo en cinco líneas)
+
La referencia recomendada es una referencia inicial, debe buscar otras adicionales.
  
4.     Un compañero de derecho tiene un equipo con un procesador de 2.6 GHz, una memoria RAM de 1.GB y un disco duro de 2TB, le pregunta por qué si ha actualizado su disco duro a un disco duro de 4TB, su equipo sigue lento. De la solución mas simple para que su equipo sea mas rápido.  (Máximo 5 lineas).
+
<br />
  
=='''CONSULTA CON EL PROFESOR Y SESIONES ESPECIALES'''==
+
=='''''<nowiki/>'''''<nowiki/>''<nowiki/>''<nowiki/>''<nowiki/>'''''CONSULTA CON EL PROFESOR Y SESIONES ESPECIALES'''==
Normalmente, si requieren alguna consulta pueden enviarme un email al correo cbarrios(-@-)uis.edu.co o en el desarrollo del curso para planificarla . Sin embargo,  para este segundo semestre, los martes en la tarde en el horario de 13:30  hasta las 16:30 puede buscarse en la oficina LP 226 de la Escuela de Ingenieria de sistemas. Se recomienda sin embargo, debido a situaciones extraordinarias sacar una cita previa via email.
+
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.'''
+
'''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)
 
__INDEX__
 
__INDEX__
 
__NEWSECTIONLINK__
 
__NEWSECTIONLINK__

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

Theory-vs-practice.jpg

Contents

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

  1. Introducción y Fundamentos de Arquitectura de Sistemas de Cómputo
    1. Arquitectura, Organización y Diseño de Sistemas de Cómputo
    2. Desarrollo histórico – Ubicación histórica actual
    3. Clases de Computadoras
    4. Abstracción y Tecnología de Computación – Tendencias
    5. Desempeño
    6. Casos de Estudio
  2. Instrucciones y Aritmética para Computador
    1. Fundamentos de Instrucciones para Computador
      1. Operaciones y Operandos de Hardware de Computadoras
      2. Representación de Instrucciones
      3. Operaciones Lógicas
      4. Instrucciones para la toma de decisiones
      5. Soporte de Procedimientos a nivel de Hardware
      6. Comunicaciones
      7. Arquitectura MIPS
      8. Introducción Paralelismo I – Paralelismo de Instrucciones y el problema de la sincronización
      9. Algunos Aspectos Avanzados
        1. Aspectos Arquitecturales de Compilación
        2. Fundamentos de Diseño Lógico
        3. Mapeo de Hardware
      10. Casos de Estudio
    2. Introducción y Fundamentos de Aritmética para Computador
      1. Adición y substracción
      2. Multiplicación y División
      3. Introducción al Paralelismo II – Aritmética de computadores y el problema de la asociatividad.
      4. Casos de Estudio
  3. Organización y Diseño Arquitectural de Sistemas de Cómputo
    1. Fundamentos de Organización y Diseño
    2. Aspectos Básicos de Procesadores
      1. Aspectos Lógicos de Diseño
      2. Pipeline y Control
      3. Paralelismo y Escalabilidad
      4. Casos de Estudio
    3. Fundamentos de Memoria
      1. Fundamentos de Organización y Diseño
      2. Jerarquía de Memoria
      3. Casos de Estudio
    4. Aspectos Básicos de Almacenamiento
    5. Aspectos Básicos de Comunicaciones y Conectividad
      1. Conectividad Interna
      2. Interconectividad y Redes (Introducción)
    6. Fundamentos de I/O, Gráficas e Interfaces
    7. Casos de Estudio
  4. Tendencias y Direcciones Futuras
    1. Arquitecturas Híbridas
    2. Arquitecturas Reconfigurables
    3. Aspectos Energéticos, Ecológicos y Ambientales
    4. Arquitecturas Escalables, de Gran Escala y Ecosistemas
    5. ARMS (Advanced RISC Architectures) y Computadores Embebidos.
    6. 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:

Del Tema 2 del Contenido:

Del Tema 3 del Contenido:

EVALUACIONES ( Todos los Grupos )

Es importante que el curso, es un curso presencial, el cual se evaluará de la siguiente manera:

  1. Taller Individual (15%)
  2. Entrega de Prácticas (30%)
  3. Proyecto de Clase (En Grupos) (40%)
    • Taller de Informe de Avance (Bonus +2)
    • White Paper (20%) (Por definir)
    • Poster Digital (20%) (Por definir)
  4. Evaluación Individual Final (15%)
  5. 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:

  1. ¿Que tan diferente es la computación analógica respecto a la digital y cuales son las desventajas de cada una de ellas?
  2. 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:

  1. ¿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.
  2. 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.
  3. 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:

  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.
  2. 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:

  1. ¿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?
  2. 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?
  3. 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( &ltime );

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

FiguraUNO.png

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.

FiguraDOS.png

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

G2024-A1.png


Grupo A2

G2024-A2.png

Grupo E2

G2024-E2.png


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:

  1. ¿Que consideraciones importantes debe tener en cuenta para trabajar con Nand2Tetris?
  2. ¿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

  1. ¿Cuál es el objetivo de cada uno de esos proyectos con sus palabras y describa que debe hacer para desarrollarlo?
  2. 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

  1. ¿Por qué el lenguaje de máquina es importante para definir la arquitectura computacional?
  2. ¿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

  1. 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

  1. 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?
  2. ¿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

  1. Desarrolle más el concepto de lenguaje de alto nivel, teniendo en cuenta la diferencia entre lenguajes de programación propiamente dichos e interpretadores.
  2. ¿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

  1. Desarrolle más el concepto de compilación y explique por es tan importante.
  2. 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

  1. Desarrolle más el concepto de compilación y explique por es tan importante.
  2. ¿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.

  1. ¿Qué opina de los principios éticos generales de la profesión? Argumente de manera concreta su respuesta.
  2. ¿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.
  3. 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.
  4. ¿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.
  5. ¿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)]

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

6. Algunos enlaces interesantes

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 [sc3.operaciones@uis.edu.co] (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
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:
DELLEXA.jpg


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 (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. Sin embargo existe un particular interés para poder soportar WRF con esta infraestructura (https://www.mmm.ucar.edu/models/wrf)

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 [sc3.operaciones@uis.edu.co] (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 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:

  • 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.

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 [[sc3.operaciones@uis.edu.co] ] (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 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 [[sc3.operaciones@uis.edu.co] ] (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 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:

  • 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 [[sc3.operaciones@uis.edu.co] ] (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 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 ([gjdiazt@uis.edu.co]) con copia visible con el profesor de la asignatura.

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 [jrpernam@uis.edu.co] (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.


Sitios web seleccionados de los equipos pasados

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:

  1. ¿De que se trata el HPL?
  2. ¿Cuales son sus limitaciones?
  3. 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.
    1. Muestre y explique los resultados en cada una de las máquinas (No olvide describir las especificaciones de sistema. (Hardware, Software de Sistema)).
    2. 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.
    3. 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:

  1. ¿De que se trata el HPCG y en que se diferencia del HPL?
  2. ¿Cuales son sus limitaciones?
  3. 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.
    1. Muestre y explique los resultados en cada una de las máquinas (No olvide describir las especificaciones de sistema. (Hardware, Software de Sistema)).
    2. 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.
    3. 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:

  1. ¿De que se trata el Green5000 y en que se diferencia del HPL?
  2. ¿Cuales son sus limitaciones?
  3. 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
    1. Muestre y explique los resultados en cada una de las máquinas (No olvide describir las especificaciones de sistema. (Hardware, Software de Sistema)).
    2. Compare los resultados de obtenidos con la máquina número uno del listado de noviembre de 2020 del Green500 y discuta al respecto.
    3. 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:

  1. ¿De que se trata el conjunto de Benchmarks?
  2. ¿Cuales son sus limitaciones?
  3. 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.
    1. Muestre y explique los resultados en cada una de las máquinas (No olvide describir las especificaciones de sistema. (Hardware, Software de Sistema)).
    2. Compare los resultados de obtenidos con las dos primeras arquitecturas mostradas en el sitio y discuta al respecto.
    3. 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:

  1. ¿De que se trata el HPL?
  2. ¿Cuales son sus limitaciones?
  3. 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.
    1. Muestre y explique los resultados en cada una de las máquinas (No olvide describir las especificaciones de sistema. (Hardware, Software de Sistema)).
    2. 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.
    3. 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:

  1. ¿De que se trata el HPCG y en que se diferencia del HPL?
  2. ¿Cuales son sus limitaciones?
  3. 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.
    1. Muestre y explique los resultados en cada una de las máquinas (No olvide describir las especificaciones de sistema. (Hardware, Software de Sistema)).
    2. 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.
    3. 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:

  1. ¿De que se trata el Green5000 y en que se diferencia del HPL?
  2. ¿Cuales son sus limitaciones?
  3. 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
    1. Muestre y explique los resultados en cada una de las máquinas (No olvide especificar las especificaciones de sistema. (Hardware, Software de Sistema)).
    2. Compare los resultados de obtenidos con la máquina número uno del listado de noviembre de 2020 del Green500 y discuta al respecto.
    3. 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:

  1. ¿De que se trata el ML-Perf?
  2. ¿Cuales son sus limitaciones?
  3. 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
    1. 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.
    2. 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:

  1. ¿De que se trata el HPL?
  2. ¿Cuales son sus limitaciones?
  3. 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.
    1. Muestre y explique los resultados en cada una de las máquinas (No olvide describir las especificaciones de sistema. (Hardware, Software de Sistema)).
    2. 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.
    3. 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.

  1. ¿ De qué se trata cada uno de ellos?
  2. ¿ Cuales son sus limitaciones y principales diferencias?
  3. Los benchmarks seleccionados (3) descárguelos y ejecútelos en una máquina personal (todos son sobre linux).
    1. Muestre y explique los resultados de cada uno de ellos (no olvide describir las especificaciones del sistema. (Hardware, software del sistema)).
    2. Compare los resultados de cada uno de ellos y discuta al respecto.
    3. 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:

  1. ¿ De qué se trata?
  2. ¿ Cuales son sus limitaciones y principales diferencias con otras herramientas populares, como netperf?
  3. 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:
    1. 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)).
    2. Compare los resultados de cada uno y discuta al respecto.
    3. 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:

  1. ¿ De qué se trata?
  2. ¿ Cuales son sus limitaciones y principales diferencias con otras herramientas populares, como UPerf?
  3. 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/):
    1. 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)).
    2. Compare los resultados de cada uno y discuta al respecto.
    3. 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


Muchos retos nuevos se plantean con la computación cuántica, tanto en términos de lo que hoy se conoce como computación, hasta los verdaderos alcances que podría tener. Por ejemplo, el redefinir desde la misma memoria hasta los lenguajes de programación y la representación matemática misma.


Es por eso, que mas allá de tener computadores "realmente" cuánticos, los simuladores cuánticos en hardware y software han permitido atacar desde ya esos retos y plantear nuevas preguntas que deben resolverse por ingenieros y computistas más que por físicos.


La principal pregunta que surge es ¿Qué son los simuladores de computación cuántica o Simuladores Cuánticos? Tenga en cuenta tanto en hardware como en software e igual observe como productos comerciales como el Atos Learning Machine son propuestos y cuales son sus oportunidades, ventajas y desventajas.


https://arxiv.org/abs/1912.06938

https://www.quantiki.org/wiki/list-qc-simulators

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


En noviembre pasado, durante la Conferencia Internacional de Supercomputación, Almacenamiento, Redes y Análitica de Datos en noviembre de 2019, se presentó las oportunidades del mas reciente computador basado en ARM, propuesto por Fujitsu y que será utilizado en grandes infraestructuras, como el caso de CRAY, ya no para maquinas exascale sino máquinas petaescale, basado en ARM. ¿Porqué ARM y no X86 u otras tecnologías? ¿ Que implicaciones tiene?


https://www.hpcwire.com/2019/11/12/cray-fujitsu-both-bringing-fujitsu-a64fx-based-supercomputers-to-market-in-2020/

https://www.arm.com/

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


Cada año, las predicciones sobre la utilización másiva o "popular" de los computadores cuánticos se disminuye. Por ejemplo, en el 2018, se hablaba que no habría aplicaciones reales y computadores cuánticos hasta dentro de veinte años. En el 2019, ya se habla de que la realidad de ese tipo de uso será entre cinco y diez años. Es así como en noviembre de 2019, durante la Conferencia Internacional de Supercomputación, Almacenamiento, Redes y Análitica de Datos en noviembre de 2019, Google anunció su supremacia cuántica, aunque IBM, DWAVE y otros lo hacen igualmente.


Teniendo en cuenta lo que arquitecturalmente es un computador cuántico, ¿Cual es esa es la realidad? Y, ¿Qué definitivamente no es computación cuántica? observando lo que popularmente se dice en nuestro medio como ingenieros de sistemas y de computación.


https://www.sciencenews.org/article/google-quantum-supremacy-claim-controversy-top-science-stories-2019-yir


https://www.ibm.com/quantum-computing/


https://www.computer.org/csdl/magazine/co/2019/06/08728103/1axaIk2UoQE

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


Intel, tras rumores del desarrollo acerca de su nueva arquitectura basada en GPUs, decidió presentar publicamente en noviembre de 2019 durante el Intel HPC Developer Conference, previo a la Conferencia Internacional de Supercomputación, Almacenamiento, Redes y Análitica de Datos en noviembre de 2019, su Intel XE GPU junto con toda la suite de desarrollo Intel One Api. ¿De que se trata y por qué, dando un excelente ejemplo de codiseño (Hardware+Software+Abstracción), se hizo la presentación de esa manera? Recuerde que debe enfocarse en Intel XE pero no dejar de lado Intel OneAPI.


https://www.pcgamesn.com/intel/xe-gpu-release-date-graphics-card-specs-performance

https://newsroom.intel.com/news-releases/intel-unveils-new-gpu-architecture-optimized-for-hpc-ai-oneapi/#gs.sq0c3e

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


La explosión cambrica de capacidades y diversidad en arquitecturas computacionales, hacen que en la jerga especializada, exista una convergencia entre el HPC y la Inteligencia Artificial. Tomando como referencia el webminar con en el enlace dado, ¿De que se trata esa convergencia? ¿Que oportunidades como ingenieros de sistemas y de computación nos representa? No olvide consultar otras fuentes sobre el tema.


https://www.hpcwire.com/the-convergence-of-hpc-and-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


Los personajes asociados con políticas TI en las poblaciones humanas, han implementado el uso de la palabra Smart Cities, sin muchas veces entender de que se trata, mas allá de los productos y el consumo mismo de tecnología. Sin embargo, los ingenieros y especialistas, hoy en dia tienen retos muy precisos de acuerdo a visiones comunes, perspectivas, evolución tecnológica y por supuesto, realidades locales. Teniendo en cuenta estos aspectos, en términos computacionales (hardware+software principalmente), como sería esa arquitectura computacional de smart city y los principales retos. Imaginé un ejemplo para la ciudad universitaria del campus principal UIS.


https://thesai.org/Downloads/Volume6No11/Paper_32-Smart_City_Architecture_Vision_and_Challenges.pdf


https://www.smartcitiesdive.com/ex/sustainablecitiescollective/new-architecture-smart-cities/68921/

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


NVIDIA tiene una posición dominante en el mercado, en GPU computing, siendo no solo pioneros sino también contribuyendo al uso masivo de la Inteligencia Artificial en el mundo. En la Conferencia Internacional de Supercomputación, Almacenamiento, Redes y Análitica de Datos en noviembre de 2019, su presidente y co-fundador, Jen-Hsun "Jensen" Huang, en un evento privado, dirigido principalmente a socios mundiales (alrededor de mil, en los cuales la UIS hizó parte, como única institución educativa en Colombia que es Centro Asociado de Investigación y Académico ), expuso importantes anuncios sobre el futuro del GPU Computing. Tomando como referencia su intervención dada en el enlace siguiente, ¿Cual es ese futuro? ¿ Como se enmarca y que retos nos plantean?


https://ustream.tv/channel/21695927

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


Machine Learning se usa para diferentes problemas y desarrollos. ¿Pero que pasa cuando se usa para diseñar nuevas arquitecturas de computadores?


https://www.hpcwire.com/2020/01/09/study-examines-efforts-and-prospects-for-ml-use-in-computer-architecture-design/


https://arxiv.org/pdf/1909.12373.pdf

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


Rajkumar Buyya quién es conocido por la comunidad especializada como uno de los padres del Cloud Computing (pasando en término de economy grids hacia Cloud), propone desde hace varios años cambios de paradigma que lentamente las empresas han venido asumiendo para prestar sus servicios cloud, afectando desde grandes infrastructuras como las ofertadas por AWS, Azurre, hasta otras de escalas mas modernas. ¿Porque es tan importante la sostenibilidad en los términos que el expresa, que va a pasar y como afecta completamente en términos de arquitectura y desarrollo lo que hoy conocemos como cloud? Tenga en cuenta el artículo de referencia pero no olviden observar otras fuentes de información.


https://arxiv.org/pdf/1805.01765.pdf

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


RISC-V es un ISA gratuito y abierto que permite una nueva era de innovación de procesador a través de la colaboración estándar abierta. Nacido en la academia y la investigación, RISC-V ISA ofrece un nuevo nivel de libertad de software y hardware libre y extensible en arquitectura, allanando el camino para los próximos 50 años de diseño e innovación informática. La UIS, por ejemplo, viene contribuyendo desde el grupo de desarrollo de la escuela E3T dirigido por el profesor Elkim Roa. ¿ De que se trata? ¿ Porqué es tan importante? ¿Cómo desde la EISI y desde el curso de Arquitectura de computadores para las versiones futuras, se podría contribuir?


https://riscv.org/


https://github.com/ckdur

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
2142635 - ALVAREZ AMADO ADEL FARID
2142618 - CARRIZALES DUARTE ALVARO
2130138 - CHACON LOPEZ JUAN FELIPE
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
2150174 - CHIA LERZUNDY JOSE ANDRES
2152479 - ESPITIA MUÑOZ FABIAN ALBERTO
2151476 - FERNANDEZ DIAZ CRISTIAN MAURICIO
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
2130284 - HERNANDEZ ARIAS ANDRES CAMILO
2152903 - LUCENA LUNA LISETH VERONICA
2142641 - MANTILLA DIAZ LAURA JULIANA
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
2143696 - MANTILLA LOPEZ JUAN DAVID
2150011 - MEDINA BLANCO DIEGO FERNANDO
2152501 - MONTENEGRO MARTINEZ EDGAR ANDRES
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
2151841 - MORENO TARAZONA ALEJANDRA
2150782 - PALOMINO FLOREZ WILLIAM GIOVANY
2151215 - PAREJA FONSECA LAYONETH ENRIQUE
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
2142657 - PARRA BASTOS LIZETH PAOLA
2130478 - PEREA PEREZ JORGE LUIS
2150606 - PEÑA CONTRERAS HENRY IVAN
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
2150436 - RAMIREZ BRUJES DOUGLAS ANDRES
2152779 - RAMIREZ MUÑOZ ALEJANDRO
2151287 - RIVERA CEPEDA BRAYAN ORLANDO
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
2122079 - ROJAS CHACON DAMAR NICOLAS
2150286 - ROJAS ROBLES MARIANNE SOLANGEL
2152488 - RUIZ GARCIA LINA MARCELA
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
2130539 - TRIANA MOJICA JORGE ANDRES
2150877 - VALDIVIESO SUAREZ LUIS HERNANDO
2142627 - PEÑA HERRERA JUAN FELIPE
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
2151843 - VALENZUELA RINCON BRAYAN CAMILO
2142626 - VEGA BORRERO BERNARDO ANDRES
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

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


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.

  1. Reconozca a cada uno de los integrantes del grupos y en la hoja de entrega, coloque su nombre completo y código de estudiante.
  2. 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.
  3. 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.
  4. 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.
  5. 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/


Link del Proyecto: https://sites.google.com/view/binary-beasts/proyecto?authuser=0

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


Link del Proyecto: https://sites.google.com/view/athena-command/trabajo-final

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


Link del Proyecto: https://sites.google.com/view/arquitecturagrupo3/trabajo-final

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/


Link del Proyecto: https://sites.google.com/view/xor-fusion/proyecto-final?authuser=0

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


Link del proyecto: https://sites.google.com/view/alphateamarquitectura/proyectofinal

https://youtu.be/LEUv6lcoiAg

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


Link del Proyecto: https://ekismet1.wixsite.com/2022-1a2/blog

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/


Link del Proyecto: https://sites.google.com/d/1CwY-G27jd-LXQ5IB9VzhwBRXdrB_XGTJ/p/1mGqIjxIHB1Ad7GEVNCSdXhMZ6AMHzedP/edit


Link del Video: https://www.canva.com/design/DAFLy2vCNwE/IiKCwAqJRFBVe84Y0wHGcA/watch?utm_content=DAFLy2vCNwE&utm_campaign=designshare&utm_me

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/


Link del Proyecto: https://sites.google.com/view/grupo-arkham/trabajo-final

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


Link del Proyecto: https://juanfelipevn.wixsite.com/grupo-arquitectura/trabajo-final

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)