TEL-420 Sistemas Paralelos Glosario y convenciones · TEL-420
Marco Gobernanza y Marco Normativo
Descargar .md

Glosario, convenciones y protocolo de entrega — TEL-420 Sistemas Paralelos

Documento de gobernanza del repositorio. Deriva de programa-docente-TEL420-V2.docx apartados 20 (Ruta Formativa), 22 (Recursos) y 23 (Alianzas), y de la Guia Oficial del Proyecto Final Integrador.


1. Fuente de verdad y reglas de gobernanza

  1. Fuente unica: 00-marco/programa-docente-TEL420-V2.docx. Este archivo no se modifica. Si la Carrera publica una version V3, se agrega como archivo nuevo y se regenera la matriz de trazabilidad.
  2. Todo artefacto se declara: cada unidad de aprendizaje, guia, rubrica y evaluacion debe existir en matriz-trazabilidad.md y .csv antes de entregarse al estudiante.
  3. Ningun contenido sin fuente: los contenidos siguen la nomenclatura del programa (numero EC, numero de contenido, semana). No se agregan temas que no esten en el apartado 20.
  4. Materiales existentes son semilla, no canon: los 14 archivos de 99-legacy/ se reutilizan, se normalizan y se migran. No se editan en su ubicacion original.
  5. Idioma: castellano en todo el material. Los terminos tecnicos en ingles se conservan entre parentesis en su primera aparicion por section (por ejemplo "Memoria compartida (Shared Memory)").

2. Nomenclatura de archivos

ElementoPatronEjemplo
Contenido de moduloM<n>-<slug>.mdM1-fundamentos.md
Guia de practica`P<ec><n>-<slug>.odt\md`P5b-rag-dockerizado-ocr.odt
Rubricarubrica-<instrumento>.mdrubrica-codigo-openmp.md
Banco de preguntas<tipo>-<modulo>.jsonsumativa-M3.json
Evaluacion generada<NN>_<modulo>_<tipo>.html06_M3_sumativo.html
Rutas de codigoscripts/, src/, benchmark/benchmark/run.sh

Reglas:

  • Solo minusculas y guiones en los nombres; nada de espacios ni acentos.
  • Numero de modulo con prefijo M, guia de practica con prefijo P, rubrica siempre con el prefijo rubrica-.
  • Numeracion de dos digitos en las evaluaciones generadas para mantener el orden.

3. Formatos de entrega permitidos

Tipo de entregaFormatoNaming del archivo entregado por el estudiante
Unidades de aprendizajeODT, DOCX, PDF, HTMLlo que el docente indique en clase
Questionarios (evaluaciones)HTML autocontenidoevaluacion_<ApellidoNombre>.pdf (el reporte impreso)
Informes de laboratorioPDFinforme_<ApellidoNombre>_<Modulo>.pdf
Codigo fuenteRepositorio Git publicogithub.com/<usuario>/<proyecto>
Rebuttes / datosCSV, XLSX, PNG, SVGdentro del repositorio, carpeta data/

Regla general: el unico formato obligatorio para cualquier entrega es PDF. El repositorio Git es obligatorio para todo entregable que contenga codigo.


4. Protocolo de autenticidad de evidencias

Este protocolo unifica lo que hoy cada guia aplica de forma distinta (marca visible en capturas, minimo de commits, repositorio publico). Cualquier entrega debe cumplir al menos los cuatro puntos.

4.1 Identificacion del estudiante

Todo archivo de codigo fuente lleva en la cabecera el identificador:

/* Sistemas Paralelos - TEL420
 * Estudiante: NOMBRE COMPLETO
 * RU / CI: XXXXXXXX
 * Fecha: AAAA-MM-DD
 * Practica: P3 - Comunicaciones colectivas
 */
# Sistemas Paralelos - TEL420
# Estudiante: NOMBRE COMPLETO
# RU / CI: XXXXXXXX
# Practica: P5b - Ingesta concurrente RAG

4.2 Marca de agua en evidencias graficas

Toda captura de pantalla o fotografia debe incluir nombre completo y RU/CI visibles de forma permanente, integrados mediante uno de estos medios:

  • echo "Practica realizada por: NOMBRE - RU" > /tmp/marca && cat /tmp/marca antes de capturar;
  • un comentario visible en el terminal, en el editor de codigo o en la linea de comandos;
  • el nombre del usuario del sistema operativo visible en la barra de tareas o en la terminal;
  • una nota o papel manuscrito al lado del dispositivo fotografiado;
  • una etiqueta añadida en el grafico generado, con el nombre en la leyenda.

Un post-proceso con un editor de imagen no es admisible: el nombre debe aparecer de forma natural en el momento de la captura.

4.3 Historial de version verifiable

  • Repositorio Git publico, con al menos 3 commits que no sean triviales.
  • Mensajes de commit en castellano bajo la convencion de Conventional Commits:
PrefijoUsoEjemplo
featnueva funcionalidadfeat(backend): agregar modelo de datos en schema.prisma
fixcorreccion de errorfix(docker): corregir puerto de conexion a postgres
docsdocumentaciondocs(readme): agregar instrucciones de ejecucion
refactorreestructuracion sin cambio de comportamientorefactor(mpi): separar comunicacion de la logica de dominio
perfmejora de rendimientoperf(openmp): cambiar schedule a guided para equilibrar la carga
choremantenimiento o configuracionchore(docker): actualizar imagen base a ubuntu 22.04
testpruebastest(benchmark): agregar caso N grande
  • Historial sin force push: los commits intermedios deben ser visibles.
  • Cada commit debe corresponder a un hito real de la practica, no a un volcado masivo.

4.4 Repositorio reproducible

  • El evaluador debe poder clonar y ejecutar con un solo comando y obtener compilacion, ejecucion y metricas. Comandos de referencia: ./benchmark.sh, docker compose up --build, make run.
  • README.md completo: requisitos, instalacion, ejecucion, estructura, resultados esperados.
  • Archivo .env.example versionado; el .env real nunca se sube al repositorio. Si se Versiona, las credenciales deben ser ficticias o de prueba.
  • Sin credenciales reales (claves API, tokens, contrasenas) en el historial de Git. Una clave filtrada se considera falta deontica grave, no un error tecnico subsanable.

5. Criterios de authorship de las capturas y reports de evaluacion

5.1 Evaluaciones HTML

  • El archivo HTML es autocontenido: un solo archivo, sin dependencias externas, que funcione sin conexion a internet en cualquier navegador moderno.
  • Al finalizar, el estudiante descarga el reporte en PDF y lo entrega.
  • El reporte incluye la huella SHA-256 de integridad. Esta huella sirve para detectar copias entre companeros; no es un mecanismo criptografico de seguridad, porque la clave de la sal es visible en el codigo fuente del examen.
  • Cada examen declara su identificador, modulo, duracion, numero de preguntas y nota minima.
  • Los expirados se autoentran y el estudiante no puede responder al cambiar de pestana. La perdida de foco reinicia el intento y queda registrado en el reporte.

5.2 Simbologia para la destruccion de la copia

Se usara una tecla de salida visible en la pantalla (por ejemplo CTRL + ALT + S en una aplicacion de escritorio, o el equivalente en linea) que:

  • reinicia el examen con un banco de preguntas reordenado;
  • borra las respuestas previas;
  • reinicia el temporizador;
  • deja constancia del incidente en el reporte final.

Esta medida disuade la copia pero no la elimina: el docente debe combinar las herramientas tecnicas con la defensa oral y la revision del codigo del estudiante.


6. Glosario tecnico de la asignatura

Terminos que deben aparecer siempre con su equivalencia en ingles en la primera mencion.

CastellanoInglesSimbolo /Notacion
Ganancia de velocidadSpeedupS_p = T_1 / T_p
EficienciaEfficiencyE_p = S_p / p
Escalabilidad fuerteStrong Scalingtamano de problema fijo
Escalabilidad debilWeak Scalingcarga por procesador constante
Ley de AmdahlAmdahl's LawS_p = 1 / (s + (1-s)/p)
Ley de Gustafson-BarsisGustafson-Barsis LawS_p = p - s'(p-1)
Comunicacion bloqueanteBlocking Send/RecvMPI_Send / MPI_Recv
Comunicacion no bloqueanteNon-blocking Send/RecvMPI_Isend / MPI_Irecv
Falsa comparticionFalse Sharingcacheline de 64 bytes
Seccion criticaCritical Section#pragma omp critical
ReduccionReduction#pragma omp reduction(+:x)
Cerrojo / exclusion mutuaMutexomp_lock_t
GrillaGridgridDim
BloqueBlock / Thread BlockblockDim, blockIdx
Hilo en GPUWarp32 hilos (NVIDIA)
Unico hilo, multiples datosSingle Instruction Multiple DataSIMD
Acceso no uniforme a memoriaNon-Uniform Memory AccessNUMA
Interconexion de acceso directo a memoria remotaRemote Direct Memory AccessRDMA

Nota: los terminos del glosario deben usarse de forma uniforme en M2, M3 y M4 para evitar errores ortograficos y terminologicos.


7. Formato de citacion bibliografica

Se usa el estilo APA 7, coherente con las referencias del apartado 24 del programa.

Artículo de revista:

Quinn, M. J. (2004). Parallel programming in C with MPI and OpenMP. McGraw-Hill.

Libro:

Pacheco, P. (2021). An introduction to parallel programming (2nd ed.). Morgan Kaufmann.

Documentación técnica en línea (con fecha de consulta):

NVIDIA. (2023). CUDA C++ programming guide. Documentación en línea. https://docs.nvidia.com/cuda/cuda-c-programming-guide/

Especificación de estándar:

Message Passing Interface Forum. (2021). MPI: a message-passing interface standard (Version 3.1). https://www.mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf

Reglas adicionales:

  • Toda guia de laboratorio debe incluir al menos 3 referencias de la bibliografia del programa o de documentacion oficial vigente.
  • Las citas en el codigo fuente usan el formato de comentario del punto 4.1.
  • Los datasets usados en las practicas se citan con su URL y su licencia de uso.

8. Recursos y platforms de la asignatura

Plataformas oficiales de la materia:

PlataformaUsoEnlace de referencia
Moodle institucionalGestion del curso, publication de materiales, envio de tareasdefinido por la carrera
GitHubRepositorios de codigo y entregasgithub.com
Repositorio del docenteCodigo de referencia y plantillasgithub.com/eliascassaluajms

Repositorios de referencia ya publicados por el docente:

RepositorioProyectoUtilidad en la asignatura
eliascassaluajms/syslab2.0Sistema de gestion integral de laboratorios (Node/Express + React/Vite + PostgreSQL/Prisma)P5: despliegue y orquestacion de contenedores
eliascassaluajms/lexbancario-aiSistema RAG de normativa bancaria (FastAPI + Streamlit + Supabase + Gemini)P5b: ingesta concurrente con OCR y batching

Infraestructura de laboratorio (segun la Guia Oficial del Proyecto Integrador): estaciones Dell OptiPlex Power Plus 7010, Intel Core i7, 32 GB RAM, red Gigabit Ethernet, sistema base Ubuntu Linux o WSL2.

Limitacion relevante: los equipos de laboratoryo son portatiles y no dispone de GPU NVIDIA dedicada. Por eso el modulo M4 (CUDA) incluye un plan B obligatorio basado en simulacion de la arquitectura CUDA o en comparacion CPU (OpenMP) frente a ejecucion acelerada, de modo que todos los estudiantes puedan aprobar el modulo.


9. Alianzas estrategicas (apartado 23 del programa)

AlianzaTipo de aporteUso en la asignatura
Asociacion de Empresas de Tecnologia de Tarija (AETI)charlas tecnicas de profesionalesM5: casos reales de computacion paralela en la industria regional
Laboratorio de Computacion Cientifica de la UAJMSacceso a infraestructura compartidaM3 y M4: nodos adicionales y perfiles de rendimiento
Empresas locales de telecomunicaciones o mineriacasos de estudioM5: problema real regional para el Proyecto Integrador

Estas alianzas son de gestion; su formalizacion es responsabilidad de la carrera.


10. Checklist de publicacion de un artefacto

Antes de entregar cualquier material al grupo de estudiantes, verificar:

  • [ ] Existe su fila en matriz-trazabilidad.md y .csv.
  • [ ] El nombre del archivo cumple la nomenclatura del punto 2.
  • [ ] Los contenidos corresponden al apartado 20 del programa (sin temas agregados).
  • [ ] Las semanas citadas coinciden con el calendario vigente.
  • [ ] Los terminos tecnicos aparecen con su equivalencia en ingles (glosario, punto 6).
  • [ ] La bibliografia esta en formato APA 7 e incluye al menos 3 fuentes.
  • [ ] Las figuras son vectoriales o tienen resolucion suficiente para impresion.
  • [ ] Las actividades practicas tienen evidencia requerida y criterio de evaluacion explicito.
  • [ ] Si es un HTML de evaluacion: funciona sin conexion, es autocontenido y el banco tiene al menos 22 preguntas si se muestrea 20.
  • [ ] Si es una rubrica: los criterios se derivan de los instrumentos del apartado 18.2.

11. Control de versiones de este documento

Derivado de programa-docente-TEL420-V2.docx (apartados 20, 22, 23 y 24) y de la Guia Oficial del Proyecto Final Integrador (ABP-FBC). Si el programa docente se actualiza, revisar especialmente el punto 8 (recursos) y el punto 9 (alianzas).