- Computación y sistemas- Autómatas y modelos de cómputo- Máquinas de Turing- Modelo formal y funcionamiento básico
- Determinismo vs no determinismo
- Máquinas multicinta y variantes extendidas
- Máquina de Turing universal y auto-interpretación
- Máquinas con oráculo y relativización
- Alternancia y ramificación de estados
- Modelos cuánticos de Turing
- Complejidad de tiempo y espacio asociada
- Codificación de lenguajes de decisión y verificación
- Límites de decidibilidad y no computabilidad
 
- Autómatas finitos deterministas y no deterministas (DFA / NFA)- Definición formal de DFA / NFA
- Transiciones ε y no determinismo
- Conversión NFA → DFA
- Minimización de autómatas
- Equivalencia con expresiones regulares
- Propiedades de cierre de lenguajes regulares
- Autómatas probabilísticos
- Autómatas alternantes
- Decidibilidad de pertenencia y vacuidad
- Limitaciones de memoria y poder expresivo
 
- Autómatas con pila (PDA) y lenguajes libres de contexto- PDA deterministas vs no deterministas
- Lenguajes libres de contexto y gramáticas asociadas
- Forma normal de Chomsky y transformaciones
- Ambigüedad en gramáticas y lenguajes ambiguos
- Parsing descendente (LL) y ascendente (LR)
- Autómatas de pila vacía vs aceptación por estado final
- Propiedades de cierre de lenguajes libres de contexto
- Árboles sintácticos y derivaciones
- Limitaciones frente a lenguajes sensibles al contexto
- Aplicaciones en análisis sintáctico de lenguajes de programación
 
- Gramáticas formales y jerarquía de Chomsky- Gramáticas regulares (tipo 3)
- Gramáticas libres de contexto (tipo 2)
- Gramáticas sensibles al contexto (tipo 1)
- Gramáticas recursivamente enumerables (tipo 0)
- Gramáticas lineales izquierdas y derechas
- Gramáticas atribuidas y semántica asociada
- Gramáticas dependientes del contexto
- Poder expresivo por nivel de la jerarquía
- Relación con modelos de cómputo equivalentes
- Uso práctico en lenguajes formales y compiladores
 
- Computabilidad y decidibilidad- Funciones recursivas primitivas y generales
- Problema de la parada y su indecidibilidad
- Lenguajes recursivos y recursivamente enumerables
- Grados de Turing y reducción de dificultad
- Teoremas de indecidibilidad (Rice y variantes)
- Reducciones many-one y Turing
- Problemas parcialmente decidibles
- Demostraciones por reducción
- Barreras fundamentales de automatización
- Clases de problemas sin solución algorítmica
 
- Complejidad computacional- Clases P, NP y co-NP
- PSPACE y NPSPACE
- EXP y NEXP
- Jerarquía polinómica (PH)
- #P y complejidad de conteo
- Complejidad en tiempo vs complejidad en espacio
- Relaciones abiertas (P vs NP, etc.)
- Complejidad de aproximación
- Complejidad parametrizada y FPT
- Clases de complejidad para verificación probabilística
 
- Reducciones y completitud- Reducciones en tiempo polinomial
- Problemas NP-completos
- Problemas PSPACE-completos
- Reducciones logspace y clases L / NL
- Reducciones de parsimonia y conteo
- Problemas canónicos (SAT, 3-SAT, CLIQUE, VERTEX-COVER)
- Hardness bajo distintos modelos de cómputo
- Uso de reducciones para demostrar imposibilidad
- Reducciones entre problemas de optimización
- Impacto de completitud en diseño de algoritmos prácticos
 
- Computación aproximada y aleatorizada- Clases probabilísticas (BPP, RP, co-RP, ZPP)
- Esquemas de aproximación PTAS / FPTAS
- Reducciones de aproximación
- Dificultad de aproximar (PCP y hardness)
- Algoritmos Monte Carlo
- Algoritmos Las Vegas
- Randomización para romper simetrías
- Métodos probabilísticos para optimización
- Amplificación de probabilidad de éxito
- Modelos de complejidad aleatorizada vs determinista
 
- Lógica y especificación formal de cómputo- Lógica proposicional y satisfacibilidad (SAT)
- Lógica de primer orden y cuantificación
- Lógicas temporales (LTL / CTL / CTL*)
- Verificación formal y model checking
- Lógica de Hoare y razonamiento sobre programas
- Tipos dependientes y corrección por construcción
- Solvers SMT y automatización de pruebas
- Especificación formal de propiedades del sistema
- Pruebas asistidas vs pruebas automáticas
- Garantías de seguridad y ausencia de clases de error
 
- Computación cuántica como modelo alternativo- Qubits, superposición y medición
- Puertas unitarias y circuitos cuánticos
- Entrelazamiento y no localidad
- Algoritmo de Shor (factoreo)
- Algoritmo de Grover (búsqueda acelerada)
- Clase BQP y capacidad de cómputo cuántico
- Computación cuántica adiabática
- Corrección de errores cuánticos
- Limitaciones físicas y ruido en hardware cuántico
- Comparación con modelos clásicos y límites prácticos
 
- Límites físicos del cómputo- Termodinámica de la información y límite de Landauer
- Computación reversible
- Límites teóricos de velocidad (cota de Bremermann)
- Restricciones relativistas y causalidad
- Computación analógica
- Modelos hipercomputacionales
- Costos energéticos del cómputo masivo
- Estabilidad y errores físicos
- Límites de miniaturización y escala atómica
- Cómputo cercano a memoria y cómputo in-memory
 
 
- Máquinas de Turing
- Arquitectura de computadores- Modelos de arquitectura (von Neumann, Harvard)- Arquitectura von Neumann clásica
- Arquitectura Harvard y separación de datos/instrucciones
- Harvard modificada en procesadores modernos
- Arquitecturas basadas en flujo de datos
- Arquitecturas orientadas a pila
- Máquinas orientadas a registros
- Arquitecturas VLIW (instrucciones muy largas)
- Arquitecturas vectoriales / SIMD
- Arquitecturas orientadas a transacciones
- Arquitecturas reconfigurables y especializadas
 
- CPU y microarquitectura- Unidad de control (cableada vs microprogramada)
- ALU y FPU
- Pipeline y segmentación en etapas
- Ejecución fuera de orden
- Emisión múltiple y diseños superscalar
- Predicción de saltos y especulación
- Renombrado de registros y eliminación de dependencias
- Reordenamiento de instrucciones (ROB y buffers)
- Caché de micro-operaciones y front-end del procesador
- Hyper-Threading / SMT y paralelismo interno
- Unidades vectoriales / SIMD dedicadas
- Separación entre front-end y back-end
 
- Jerarquía de memoria- Registros arquitectónicos y físicos
- Caché L1 de datos e instrucciones
- Caché L2 privada por núcleo
- Caché L3 compartida multinúcleo
- Políticas de reemplazo (LRU, pseudo-LRU, FIFO)
- Políticas de escritura (write-through / write-back)
- Memoria principal DRAM / DDR
- Memoria de alto ancho de banda (HBM)
- Memoria persistente rápida (NVRAM / PMem)
- Memoria virtual y TLB
- Paging, segmentación y protección
- NUMA y afinidad de memoria
 
- Conjuntos de instrucciones (ISA)- CISC (por ejemplo, x86 / x86-64)
- RISC (por ejemplo, ARM / RISC-V)
- ISAs reducidas embebidas (microcontroladores)
- VLIW e instrucciones empaquetadas
- Extensiones SIMD y vectoriales (SSE, AVX, NEON, SVE)
- Extensiones orientadas a IA / matrices (AMX, Tensor ops)
- Instrucciones atómicas y sincronización
- Modos privilegiados y separación user/kernel
- Conjuntos de instrucciones comprimidas
- Extensiones criptográficas hardware (AES, SHA)
 
- Paralelismo a nivel de instrucción- Pipelining básico y profundo
- Superscalar y emisión múltiple
- Algoritmo de Tomasulo y scheduling dinámico
- Ejecución especulativa segura
- Predicación y ejecución condicional
- VLIW e ILP explícito
- Desenrollado de bucles (loop unrolling)
- Software pipelining
- Fusión de instrucciones y macro-op fusion
- Limitaciones físicas y de seguridad del ILP
 
- Arquitecturas multinúcleo y multiprocesador- SMP (multiprocesamiento simétrico)
- CMP homogéneo multinúcleo
- Heterogeneous / big.LITTLE
- Manycore y paralelismo masivo
- Paralelismo estilo GPU
- NUMA y acceso no uniforme a memoria
- Directorios de coherencia distribuidos
- Protocolos de coherencia (MESI / MOESI / MESIF)
- Interconexiones cache-snoop
- Virtualización asistida por hardware multinúcleo
 
- Aceleradores de propósito específico- GPU (paralelismo SIMT)
- TPU / NPU / aceleradores de inferencia
- DSP para señal y audio
- FPGA reconfigurable
- ASIC dedicados a tareas fijas
- Aceleradores criptográficos
- Aceleradores de red (offload cifrado / compresión)
- Codificadores / decodificadores multimedia
- Offload de almacenamiento y descarga de CPU
- SmartNIC / DPU para plano de datos
 
- Interconexiones y buses del sistema- Buses tradicionales (FSB)
- Controladores de memoria integrados
- PCI Express y extensiones
- Interconexiones punto a punto (QPI, UPI, Infinity Fabric)
- Redes en chip (NoC)
- Topologías en chip (malla, anillo, crossbar, árbol gordo)
- Latencia vs ancho de banda en interconexión
- Coherencia de caché sobre el bus/interconexión
- Interconexiones ópticas / fotónicas emergentes
- Escalabilidad en sistemas multinodo / multiprocesador
 
- Entrada / Salida (I/O) y controladores- Controladores DMA y acceso directo a memoria
- Controladores de almacenamiento (SATA, NVMe)
- Controladores de red (NIC tradicionales y SmartNIC)
- Buses periféricos (USB, Thunderbolt)
- Controladoras PCIe raíz y bridges
- Mapeo de memoria de E/S (MMIO)
- E/S programada (PIO) vs E/S basada en interrupciones
- Interrupciones y control de IRQ
- APIC / LAPIC / IOAPIC
- MSI / MSI-X y señales avanzadas
 
- Gestión de energía y rendimiento térmico- Escalado dinámico de voltaje y frecuencia (DVFS)
- Apagado/bloqueo de unidades (power gating / clock gating)
- Thermal throttling y control térmico
- Presupuesto de potencia (TDP / power budget)
- Sensores térmicos en chip
- Balance térmico entre núcleos
- Estados de ahorro de energía (C / P / S states)
- Escalamiento adaptativo según carga
- Políticas de firmware / BIOS
- Diseño térmico y disipación física
 
 
- Modelos de arquitectura (von Neumann, Harvard)
- Sistemas operativos (procesos, hilos, memoria, planificación)- Diseño del núcleo (kernel)- Kernel monolítico
- Microkernel
- Kernel híbrido y variaciones mixtas
- Exokernel y mínimo privilegio
- Núcleo modular con carga dinámica
- Control de interrupciones y manejo de excepciones
- Servicios del kernel vs servicios en espacio usuario
- Interfaces estables (ABI/driver ABI)
- Separación de privilegios y modos de ejecución
- Evolución del kernel y compatibilidad binaria
 
- Procesos- Creación y terminación de procesos
- Estados clásicos (ready / running / blocked / zombie)
- Espacio de direcciones y aislamiento
- PCB (Process Control Block) y metadatos
- Carga y enlace de ejecutables
- Señales y manejo de señales
- fork / exec / wait y herencia de contexto
- Prioridad, niceness y política de scheduling
- Límites de recursos y cuotas
- Control de credenciales e identidad de proceso
 
- Hilos (threads)- Hilos de usuario vs hilos del kernel
- Modelos 1:1, M:1 y M:N
- Cambio de contexto entre hilos
- Almacenamiento local de hilo (TLS)
- Pools de hilos y reutilización
- Fibers y corutinas ligeras
- Afinidad de CPU y pinning
- Planificación a nivel de hilo en SMT/Hyper-Threading
- Sincronización entre hilos en espacio compartido
- Costos de concurrencia masiva
 
- Planificación (CPU scheduling)- Planificación cooperativa vs preventiva
- Round Robin y reparto justo
- Planificación por prioridad fija
- Multi-level feedback queue (MLFQ)
- Completely Fair Scheduler (CFS) y equivalentes
- Scheduling con deadlines y tiempo real
- Afinidad de CPU y balance de carga
- Inversión de prioridad y herencia de prioridad
- Latencia de despacho y quantum
- Políticas específicas para servidores y baja latencia
 
- Gestión de memoria- Espacios de direcciones virtuales aislados
- Paginación por demanda
- Tablas de páginas multinivel
- TLB y fallos de TLB
- Swapping y memoria secundaria
- Copy-on-write y compartición eficiente
- ASLR (Address Space Layout Randomization)
- Huge pages / superpages
- Archivos mapeados a memoria (mmap)
- Reclamación de páginas y políticas de reemplazo
- Gestión de memoria NUMA-aware
- Protección contra ejecución y regiones marcadas NX
 
- Sincronización y concurrencia- Mutexes y locks básicos
- Semáforos y contadores
- Monitores y variables de condición
- Secciones críticas y exclusión mutua
- Barreras de sincronización
- Spinlocks y locks activos
- Read-Copy-Update (RCU)
- Operaciones atómicas (CAS / LL-SC)
- Deadlock, livelock y starvation
- Técnicas lock-free y wait-free
 
- Comunicación entre procesos (IPC)- Pipes y FIFOs
- Sockets locales / de red
- Memoria compartida
- Señales y notificaciones
- Colas de mensajes
- RPC / gRPC local
- Llamadas al kernel asincrónicas
- Serialización y marshalling de datos
- Sincronización de acceso compartido
- Seguridad y control de permisos en IPC
 
- Sistema de archivos y VFS (Virtual File System)- Inodos, metadatos y descriptores
- Árbol jerárquico de directorios
- Sistemas con journaling y consistencia tras fallos
- Sistemas copy-on-write (ZFS, btrfs)
- Montaje, namespaces y espacios aislados
- Page cache y buffer cache
- Bloqueo y concurrencia en archivos
- Permisos POSIX y ACLs extendidas
- Sistemas de archivos distribuidos / en red
- FUSE y sistemas en espacio de usuario
 
- Gestión de E/S y controladores- Controladores en kernel vs user-space
- Manejo de interrupciones y IRQ
- DMA y transferencia directa a memoria
- Operaciones bloqueantes vs no bloqueantes
- Polling, select, epoll, kqueue
- io_uring y E/S asincrónica moderna
- Planificadores de disco y prioridad de I/O
- Buffering y caché de E/S
- Hotplug y reconocimiento dinámico de hardware
- Gestión avanzada de dispositivos de red y almacenamiento
 
- Seguridad y aislamiento- Modos usuario / kernel y privilegios
- Permisos de archivo y control de acceso
- Gestión de usuarios, grupos y credenciales
- Sandboxing (seccomp, pledge, capsicum)
- Namespaces y cgroups para aislamiento
- Control de acceso obligatorio (SELinux, AppArmor)
- Protección contra ejecución (NX / DEP)
- Aislamiento de memoria entre procesos
- KPTI y mitigaciones de fuga de kernel
- Verificación de binarios firmados
 
- Syscalls y modos de ejecución- Entrada al kernel (syscall/sysenter/trap)
- ABI de llamadas al sistema
- Transición user space → kernel space
- Emulación y compatibilidad de syscalls
- Llamadas bloqueantes vs no bloqueantes
- Virtualización / contenedorización de syscalls
- Capa libc / runtime como envoltorio
- Costos y latencia de cambio de modo
- Trazabilidad de llamadas al sistema
- Seguridad y filtrado de syscalls sensibles
 
- Contabilidad, monitoreo y métricas- Estadísticas de CPU, memoria y E/S por proceso
- Contadores de rendimiento (perf, PMU)
- Trazas de kernel (ftrace, eBPF)
- Auditoría de seguridad y eventos críticos
- Control de recursos con cgroups y cuotas
- Telemetría de syscalls y perfiles de uso
- Registro centralizado de eventos del kernel
- Cuotas de disco, CPU y memoria
- Observabilidad en tiempo real para diagnóstico
- Perfilado continuo y análisis postmortem
 
 
- Diseño del núcleo (kernel)
- Virtualización y contenedorización- Conceptos de virtualización- Virtualización completa de hardware
- Paravirtualización y reducción de overhead
- Aceleración por hardware (VT-x, AMD-V)
- Emulación completa de plataforma
- Unikernels y sistemas especializados mínimos
- Virtualización anidada (nested virtualization)
- Sandboxing reforzado por software
- MicroVM y entornos ultraligeros
- Aislamiento de recursos y seguridad por capa
- Trade-offs entre flexibilidad, overhead y densidad
 
- Hipervisores- Hipervisor tipo 1 (bare metal)
- Hipervisor tipo 2 (hosted)
- KVM y virtualización en Linux
- Xen y separación dominio huésped/control
- VMware ESXi y virtualización empresarial
- Hyper-V y entornos Windows
- QEMU y emulación completa
- Device passthrough (VFIO, SR-IOV)
- virtio y drivers paravirtualizados
- Gestión de dispositivos virtualizados y hotplug
 
- Virtualización de hardware vs virtualización a nivel de SO- Máquinas virtuales completas (guest OS completo)
- Contenedores aislados por kernel compartido
- Jail / chroot y aislamiento básico
- Zones / LDOMs y particiones lógicas
- MicroVMs (Firecracker, etc.)
- Sandboxing por usuario / proceso restringido
- Aislamiento de namespaces
- Aislamiento de cgroups y cuotas
- Seguridad reforzada por política obligatoria
- Costos de overhead y densidad por tipo
 
- Contenedores- Runtimes de contenedor (Docker, containerd, CRI-O)
- Estándares OCI y compatibilidad de runtimes
- Contenedores rootless y minimización de privilegios
- Pods y agrupación de contenedores
- Volúmenes, mounts y persistencia de estado
- Patrones sidecar y contenedores auxiliares
- Inyección de configuración y secretos
- Versionado y despliegue inmutable
- Políticas de recursos por contenedor
- Reuso de imágenes base comunes
 
- Namespaces y cgroups- Namespaces de PID
- Namespaces de red
- Namespaces de montaje
- Namespaces UTS / hostname
- Namespaces IPC
- Namespaces de usuario (user namespace)
- cgroups v1 y control jerárquico
- cgroups v2 unificado
- Límites de CPU / memoria / I/O por grupo
- Priorización y fair sharing de recursos
 
- Construcción y gestión de imágenes- Dockerfile y builds multi-stage
- Capas (layers) y union filesystems (overlayfs)
- Imágenes inmutables y reproducibles
- Imágenes distroless y superficie mínima
- Firmas, atestación e integridad de imágenes
- Registries / repositorios privados y públicos
- SBOM y supply chain security
- Versionado y etiquetado (tags / digests)
- Reducción de tamaño y ataque de superficie
- Gestión de dependencias base comunes entre servicios
 
- Redes virtuales y SDN (Software-Defined Networking)- Puentes virtuales y switches de software
- NAT, port forwarding y conectividad externa
- Redes overlay (VXLAN, GRE, Geneve)
- Open vSwitch y switching programable
- CNI (Container Network Interface) y plugins
- Service mesh y control L7
- Balanceadores L4 / L7 internos
- Políticas de red (network policies)
- Control de ingress / egress
- Segmentación multi-tenant y aislamiento de tráfico
 
- Orquestación de contenedores- Kubernetes y el plano de control
- Scheduler de pods y asignación de nodos
- Recursos declarativos (Deployment, StatefulSet, DaemonSet, Job, CronJob)
- Services, load balancing interno y DNS del cluster
- ConfigMaps, Secrets y configuración dinámica
- Autoscaling horizontal y vertical
- Operators / CRD y extensibilidad
- Afinidad, tolerations y taints
- Separación control plane vs data plane
- Actualizaciones rolling, canary y rollback seguro
 
- Seguridad y aislamiento multi-tenant- seccomp y filtrado de syscalls
- SELinux / AppArmor y control mandatorio
- Linux capabilities y privilegios mínimos
- Runtimes rootless y espacios de usuario aislados
- Admission controllers y enforcement de políticas
- gVisor / Kata Containers y sandbox por VM ligera
- Firmas y validación criptográfica de imágenes
- Prevención y detección de escapes de contenedor
- Políticas de red por tenant / namespace
- Confidential computing y aislamiento por hardware
 
- Observabilidad y debugging en entornos virtualizados- Recolección centralizada de logs de contenedores
- Métricas de recursos (CPU, memoria, I/O, red)
- Trazas distribuidas entre servicios
- eBPF para inspección ligera del kernel
- Profiling continuo de rendimiento (perf, pprof)
- Contenedores de debug / inspección efímera
- Port forwarding y acceso introspectivo
- Health checks (liveness / readiness / startup)
- Observación de eventos del scheduler / runtime
- Auditoría de syscalls, cambios de política y seguridad
 
 
- Conceptos de virtualización
- Almacenamiento distribuido y sistemas de archivos- Modelos de almacenamiento- Almacenamiento local directo (DAS)
- Almacenamiento en red de archivos (NAS)
- Almacenamiento en red de bloques (SAN)
- Almacenamiento distribuido a escala horizontal
- Almacenamiento definido por software (SDS)
- Jerarquía por temperatura (caliente / tibio / frío)
- Almacenamiento inmutable y WORM
- Volúmenes persistentes vs efímeros
- Almacenamiento replicado por disponibilidad
- Políticas de retención y ciclo de vida de datos
 
- Sistemas de archivos locales- Sistemas extendidos tipo EXT
- XFS y alto rendimiento secuencial
- Btrfs y copy-on-write
- ZFS y verificación de integridad
- NTFS y ecosistema Windows
- APFS y optimización en dispositivos modernos
- Cuotas y límites por usuario/grupo
- Atributos extendidos y metadatos enriquecidos
- Instantáneas locales (snapshots)
- Tolerancia a fallos y autocorrección
 
- Sistemas de archivos distribuidos- NFS y compartición en red tradicional
- SMB/CIFS y entornos mixtos
- CephFS y almacenamiento distribuido unificado
- Lustre y alto rendimiento HPC
- GlusterFS y escalamiento horizontal
- HDFS y procesamiento batch de datos masivos
- Sistemas paralelos orientados a throughput
- Montaje remoto con caching local
- Consistencia entre cliente y servidor
- Control de concurrencia distribuida
 
- Almacenamiento en bloques, archivos y objetos- Bloques virtuales y volúmenes asignables (LUN)
- Sistemas tipo archivo con semántica POSIX
- Almacenamiento de objetos tipo S3
- Direccionamiento por bloque / ruta / ID de objeto
- Versionado y retención de objetos
- Snapshots y clones rápidos
- Thin provisioning y asignación diferida
- Deduplicación y compresión
- Cifrado en reposo y control de llaves
- Replicación transparente entre ubicaciones
 
- Replicación y durabilidad- Replicación síncrona entre nodos
- Replicación asíncrona geográfica
- Factor de replicación configurable
- Erasure coding y tolerancia a fallos
- Tolerancia a fallos de disco / nodo / rack / zona
- Procesos de reparación y anti-entropy
- Políticas de colocación de datos por dominio de fallo
- Quorum de escritura / lectura
- Objetivos de durabilidad y retención (RPO/RTO)
- Balance entre durabilidad y latencia
 
- Particionado y sharding- Sharding estático vs dinámico
- Hashing consistente para distribución estable
- Rebalanceo de shards en línea
- Particionado por rango / tiempo / clave
- Directorios de metadatos vs enrutamiento implícito
- Localidad de datos vs distribución uniforme
- Hotspots y desbalance de carga
- Tolerancia a crecimiento desigual
- Aislamiento de shards por tenant / cliente
- Reasignación tras fallos o expansiones
 
- Consistencia y coherencia- Consistencia fuerte
- Consistencia eventual
- Consistencia causal y orden parcial
- Linearizabilidad y garantías estrictas
- Serializabilidad y equivalencia a ejecución secuencial
- Coherencia de caché entre réplicas
- Protocolos de invalidación vs actualización
- Lecturas repetibles y snapshot isolation
- Lecturas sucias y control de visibilidad
- Políticas configurables por operación (read/write quorum)
 
- Metadatos y consenso- Nodos dedicados a metadatos
- Mapas globales de bloques / inodos distribuidos
- Lock managers y exclusión distribuida
- Elección de líder y mantenimiento de autoridad
- Protocolos de consenso (Raft, Paxos)
- Relojes lógicos y vector clocks
- Namespaces globales consistentes
- Journaling y registro de cambios de metadatos
- Prevención de split-brain
- Recuperación coordinada tras fallos de metadatos
 
- Recuperación ante fallos y journaling- Write-ahead logging (WAL)
- Journaling de datos vs solo metadatos
- Snapshots y checkpoints consistentes
- Rollback / roll-forward tras corte
- Reconstrucción de nodos o discos caídos
- Replicación geográfica para recuperación de desastres
- Detección y resolución de split-brain
- Scrubbing e integridad de datos
- Rehidratación de volúmenes en nuevos nodos
- Pruebas periódicas de restauración
 
- Caching y jerarquización de almacenamiento (tiering)- Caché en cliente y lectura local rápida
- Caché en servidor / nodo de borde
- Jerarquía RAM / NVMe / SSD / HDD frío
- Políticas write-back vs write-through
- Prefetch y read-ahead adaptativo
- Tiering automático por patrón de acceso
- Tiers nearline / archive / cold storage
- Coherencia de caché distribuida
- Reducción de latencia percibida por cliente
- Optimización de costo por GB útil
 
- Rendimiento y latencia en I/O- Latencia vs throughput como métricas clave
- IOPS, colas de E/S y profundidad de cola
- Alineamiento y tamaño de bloque óptimo
- Paralelismo de colas (multiqueue)
- Balanceo de carga entre nodos de datos
- Amortización de escrituras aleatorias
- Compactación y reescritura log-structured
- Costos de fsync / flush en persistencia
- Minimización del jitter de latencia
- Optimización para workloads secuenciales vs aleatorios
 
 
- Modelos de almacenamiento
- Redes y protocolos- Fundamentos de redes (modelo OSI y TCP/IP)- Modelos de referencia y capas- Modelo OSI (físico, enlace, red, transporte, sesión, presentación, aplicación)
- Modelo TCP/IP (enlace, internet, transporte, aplicación)
- Encapsulación y desencapsulación
- Unidades de datos por capa (tramas, paquetes, segmentos)
- MTU y fragmentación
- RFC, estandarización y gobernanza de protocolos
- Interoperabilidad entre capas y modularidad
- Separación de plano de control y plano de datos
- Dominio de broadcast vs dominio de colisión
- Latencia, throughput y pérdida de paquetes como métricas clave
 
 
- Modelos de referencia y capas
- Direccionamiento y ruteo- Direcciones y encaminamiento de red- Direccionamiento IPv4 y notación CIDR
- Direccionamiento IPv6 y espacio extendido
- Subnetting y VLSM
- NAT y PAT (traducción y multiplexación de direcciones)
- DHCP y asignación dinámica
- Resolución de direcciones (ARP / NDP)
- Ruteo estático
- Ruteo dinámico (RIP, OSPF, IS-IS, BGP)
- ECMP (Equal-Cost Multi-Path)
- Anycast / unicast / multicast / broadcast
- MPLS y encaminamiento basado en etiquetas
 
 
- Direcciones y encaminamiento de red
- Capa de enlace de datos- Enlace local y acceso al medio- Ethernet (cableado y conmutado)
- CSMA/CD y control de colisión
- VLAN (802.1Q) y segmentación lógica de capa 2
- Trunking y etiquetado de VLAN
- STP / RSTP / MSTP para evitar bucles
- PPP / HDLC y enlaces punto a punto
- Redes punto a punto vs redes broadcast
- Control de flujo a nivel de enlace (PAUSE frames)
- Agregación de enlaces (LACP / bonding)
- Seguridad a nivel de puerto (port security / 802.1X)
 
 
- Enlace local y acceso al medio
- Capa de red- Encaminamiento y entrega entre redes- IP (IPv4 / IPv6) y direccionamiento lógico
- ICMP / ICMPv6 para diagnóstico y control
- Ruteadores y tablas de ruteo
- TTL / Hop Limit y prevención de loops
- Fragmentación y reensamblado de paquetes
- QoS a nivel IP (DSCP / ToS)
- Túneles (GRE, IP-in-IP)
- NAT traversal y penetración de firewalls
- Forwarding y filtrado en capa 3
- Seguridad básica en capa de red (filtros L3)
 
 
- Encaminamiento y entrega entre redes
- Capa de transporte- Entrega extremo a extremo confiable o no confiable- TCP y control orientado a conexión
- UDP y transporte liviano sin conexión
- Multiplexación por puertos lógicos
- Establecimiento de conexión (3-way handshake)
- Control de flujo basado en ventana
- Retransmisión, ACKs y confiabilidad
- Segmentación y reordenamiento
- Chequeo de integridad (checksums)
- Conexiones persistentes y keepalive
- Control de congestión acoplado al transporte
 
 
- Entrega extremo a extremo confiable o no confiable
- Capa de aplicación- Protocolos de aplicación y servicios de alto nivel- DNS y resolución de nombres
- HTTP/1.1 y modelo request/response
- HTTP/2 y multiplexación de streams
- HTTP/3 y transporte sobre QUIC
- TLS y cifrado extremo a extremo
- SMTP / IMAP / POP3 para correo
- gRPC y contratos binarios sobre HTTP/2
- WebSockets y comunicación persistente
- NTP y sincronización horaria
- DHCP como servicio de configuración de red
 
 
- Protocolos de aplicación y servicios de alto nivel
- Control de congestión y calidad de servicio (QoS)- Gestión del tráfico y priorización- Algoritmos de congestión TCP (Reno, Cubic, BBR)
- Shaping vs policing de tráfico
- Clasificación y marcado (DSCP / CoS)
- Programación de colas (PQ, WFQ, DRR)
- RED / ECN y señalización temprana de congestión
- Rate limiting por flujo / cliente / clase
- Priorización de tráfico de baja latencia / tiempo real
- SLA y colas dedicadas por clase de servicio
- Control adaptativo de buffer (bufferbloat mitigation)
- Telemetría de congestión para ajuste dinámico
 
 
- Gestión del tráfico y priorización
- Seguridad de red- Protección de infraestructura y datos en tránsito- Firewalls (stateful / stateless)
- Listas de control de acceso (ACL)
- TLS / mTLS y cifrado punto a punto
- IPsec (AH / ESP) y túneles seguros
- VPN de capa 2 / capa 3
- Segmentación de red y microsegmentación
- IDS / IPS (detección y prevención de intrusiones)
- Zero Trust y autenticación continua
- Protección contra spoofing / hijacking / MITM
- Filtrado egress / ingress y control de salida
 
 
- Protección de infraestructura y datos en tránsito
- Redes definidas por software (SDN) y virtualización de red- Redes programables y control centralizado- Separación de plano de control y plano de datos
- OpenFlow y control de forwarding
- Controladores SDN centralizados
- vSwitch (por ejemplo, Open vSwitch)
- Encapsulación VXLAN / NVGRE / Geneve
- SDN en data centers y nubes privadas
- Service function chaining y service insertion
- NFV (Network Function Virtualization)
- Overlays L2/L3 virtualizados a gran escala
- Políticas declarativas de red y seguridad como código
 
 
- Redes programables y control centralizado
- Observabilidad y troubleshooting de red
- Monitoreo, diagnóstico y análisis- Ping / traceroute / mtr y rastreo de saltos
- Captura de paquetes (tcpdump, Wireshark)
- Inspección de sockets y puertos abiertos (netstat / ss / lsof -i)
- Telemetría de red (SNMP / NetFlow / sFlow)
- Métricas de interfaz (errores, drops, colisiones)
- Latencia, jitter y pérdida de paquetes
- Monitoreo activo vs pasivo
- Logs de firewall / IDS / balanceador
- Mapas de topología y dependencias de servicio
- Alertas tempranas y correlación de incidentes
 
- Redes de baja latencia
- Optimización extrema de la ruta de datos- Bypass del stack del kernel (DPDK, RDMA)
- Jumbo frames y tuning de MTU
- Interrupt coalescing y reducción de interrupciones
- Afinidad de IRQ / pinning de colas de NIC
- NIC offloading (checksum offload, TSO, LRO)
- User-space networking y polling dedicado
- Fibra óptica y enlaces directos de baja latencia
- Rutas determinísticas y controladas (private peering)
- Minimización de colas intermedias (buffer tuning)
- Sincronización temporal precisa entre nodos críticos
 
- SDN (Software Defined Networking)
- Control lógico central de la red- Control centralizado del ruteo
- APIs programables de red
- Network slicing y segmentación lógica
- Reconfiguración dinámica de paths
- Políticas de seguridad declarativas y auditables
- Topologías virtuales multi-tenant
- Automatización de balanceo y failover
- Integración con orquestadores (Kubernetes / NFV MANO)
- Telemetría en tiempo real para optimización
- Ajuste de QoS bajo demanda por aplicación o flujo
 
- Redes distribuidas
- Topologías sin punto único de control- Redes peer-to-peer (P2P)
- Protocolos de gossip / difusión epidémica
- Consistencia eventual en difusión de estado
- Overlays estructurados (DHT)
- Overlays no estructurados (flooding / random walk)
- Ruteo en malla y multi-hop cooperativo
- Federaciones y dominios autónomos
- Redes de borde / edge computing distribuido
- CDNs y proximidad de contenido
- Mitigación de particiones y enlaces inestables
 
- Redes tolerantes a fallo / entornos hostiles
- Redes resilientes en condiciones adversas- Ruteo tolerante a disrupciones (DTN)
- Almacenamiento intermedio store-and-forward
- Redes con enlaces intermitentes / alta latencia
- Protocolos oportunistas y entrega demorada
- Replicación redundante agresiva
- Tolerancia a particiones y reconexiones parciales
- Multipath routing resiliente
- Enlaces satelitales / RF / ad-hoc
- Autoconfiguración sin infraestructura fija
- Seguridad robusta frente a nodos no confiables
 
- Transporte moderno
- Evolución de transporte confiable y seguro- QUIC y transporte cifrado sobre UDP
- HTTP/3 sobre QUIC
- Multipath TCP (MPTCP)
- SCTP y multistreaming
- Cero retorno inicial (0-RTT / Zero-RTT)
- Control de congestión consciente de latencia (BBR)
- Offload criptográfico en el transporte
- Conexiones persistentes multiplexadas
- Migración de conexión entre interfaces/redes
- Priorización de flujos dentro de una misma conexión
 
 
- Fundamentos de redes (modelo OSI y TCP/IP)
- Modelos cliente-servidor y peer-to-peer- Arquitectura cliente-servidor tradicional- Componentes clásicos y despliegos básicos- Cliente delgado vs cliente grueso
- Servidor monolítico centralizado
- Separación front-end / back-end
- Balanceadores de carga al frente del servidor
- Escalamiento vertical vs escalamiento horizontal
- Manejo de sesiones y autenticación en servidor
- Arquitecturas multi-tier (presentación / lógica / datos)
- Caching frontal (reverse proxy)
- Alta disponibilidad con réplicas activas
- Persistencia centralizada de estado
 
 
- Componentes clásicos y despliegos básicos
- Stateless vs stateful- Manejo de estado entre solicitudes- Sesiones persistentes en memoria del servidor
- Sticky sessions y afinidad con instancia
- Almacenamiento externo de sesión (cache distribuida / KV store)
- Idempotencia y repetición segura de llamadas
- Tolerancia a reinicios y rotación de instancias
- Persistencia de contexto en el cliente (tokens firmados)
- Cookies / JWT como transporte de sesión
- Escalabilidad horizontal de servicios stateless
- Consistencia del estado compartido entre nodos
- Migración gradual desde stateful a stateless
 
 
- Manejo de estado entre solicitudes
- Microservicios y servicios desacoplados- Diseño por dominio y despliegue independiente- Servicios independientes con límites claros de responsabilidad
- API Gateway como fachada unificada
- Autenticación y cifrado mutuo (mTLS entre servicios)
- Service mesh para routing y seguridad
- Circuit breakers y tolerancia a fallos internos
- Despliegue independiente por servicio / equipo
- Observabilidad por servicio (tracing distribuido)
- Contratos explícitos (OpenAPI / protobuf)
- Bases de datos separadas por servicio
- Versionado independiente de cada servicio
 
 
- Diseño por dominio y despliegue independiente
- Comunicación síncrona vs asíncrona- Patrones de intercambio de mensajes- Request/response HTTP tradicional
- gRPC síncrono y contratos binarios
- RPC binario propietario
- Mensajería asíncrona basada en colas
- Event-driven y event sourcing
- Streaming bidireccional y tiempo real
- Retries con backoff exponencial
- Timeouts y cancelación propagada
- Garantías de entrega at-least-once / exactly-once
- Encapsulación de fallos entre servicios lentos
 
 
- Patrones de intercambio de mensajes
- Pub/Sub y colas de mensajes- Comunicación desacoplada y entrega confiable- Colas persistentes
- Topics con múltiples suscriptores
- Garantías de entrega (at-least-once / at-most-once / exactly-once)
- Particionamiento de topics y escalabilidad horizontal
- Orden de mensajes dentro de una partición
- Retención histórica y replay de eventos
- Backpressure y control de consumo
- Dead-letter queues para mensajes tóxicos
- Priorización de flujos críticos
- Aislamiento por tenant o por tipo de mensaje
 
 
- Comunicación desacoplada y entrega confiable
- Peer-to-peer- Redes distribuidas sin autoridad central- Redes sin servidor central
- Tablas hash distribuidas (DHT)
- Descubrimiento inicial (bootstrap peers)
- NAT traversal y hole punching
- Gossip / difusión epidémica
- Replicación distribuida de datos entre nodos pares
- Incentivos y reputación entre nodos
- Consistencia eventual y reconciliación
- Privacidad y anonimización en P2P
- Resistencia a censura y particiones
 
 
- Redes distribuidas sin autoridad central
- Coordinación y descubrimiento de servicios- Mecanismos para ubicar y mantener servicios disponibles- Registro de servicios (service registry)
- Heartbeats y health checks
- Descubrimiento basado en DNS
- Descubrimiento mediante sidecar / agente local
- Elección de líder y roles dinámicos (líder / seguidor)
- Bloqueos distribuidos y exclusión mutua
- Configuración distribuida dinámica
- Versionado de configuración y rollout gradual
- Relojes lógicos y control de versiones
- Reconfiguración automática tras fallos
 
 
- Mecanismos para ubicar y mantener servicios disponibles
- Patrones de resiliencia- Estrategias para resistir fallos parciales- Circuit breaker
- Bulkhead isolation (aislar recursos)
- Timeouts y reintentos controlados
- Fallbacks y degradación elegante (graceful degradation)
- Rate limiting y protección contra sobrecarga
- Autoescalado reactivo según presión
- Canary releases y blue-green deployments
- Chaos testing / fault injection
- Retries idempotentes y deduplicación
- Telemetría temprana para rollback rápido
 
 
- Estrategias para resistir fallos parciales
- Versionado y compatibilidad de interfaces- Evolución segura de contratos y APIs- Versionado de API (v1, v2, etc.)
- Compatibilidad retroactiva (backward compatibility)
- Compatibilidad hacia adelante (forward compatibility)
- Evolución de esquemas y contratos de datos
- Feature flags y toggles de comportamiento
- Deprecación gradual y ventanas de retirada
- Negociación de contenido (content negotiation)
- Escritura y lectura dual (dual write / dual read)
- Canales beta / pre-release para clientes selectos
- Sincronización de cambios entre frontend y backend
 
 
- Evolución segura de contratos y APIs
 
- Arquitectura cliente-servidor tradicional
- Consistencia y tolerancia a fallos- Teorema CAP y trade-offs- Propiedades y límites en sistemas distribuidos- Consistency (coherencia vista única de datos)
- Availability (respuesta sin error)
- Partition tolerance (sobrevivir a particiones)
- CA vs CP vs AP como decisiones de diseño
- Impacto de las particiones de red en disponibilidad
- Sistemas orientados a disponibilidad alta
- Sistemas orientados a coherencia estricta
- Trade-offs operacionales vs trade-offs teóricos
- Interpretación práctica de CAP en nubes reales
- Relación con PACELC (latencia vs consistencia)
 
 
- Propiedades y límites en sistemas distribuidos
- Modelos de consistencia- Garantías de visibilidad y orden de actualizaciones- Consistencia fuerte
- Consistencia eventual
- Consistencia causal
- Read-your-writes
- Monotonic reads / monotonic writes
- Linearizabilidad
- Consistencia secuencial (sequential consistency)
- Snapshot isolation
- Serializabilidad
- Sesgo regional / lectura local preferente
 
 
- Garantías de visibilidad y orden de actualizaciones
- Relojes y ordenamiento de eventos- Tiempo y causalidad en sistemas distribuidos- Relojes físicos
- Relojes lógicos (Lamport clocks)
- Vector clocks y orden parcial
- Versionado multiversión (MVCC)
- Orden total vs orden parcial de eventos
- Causalidad y relación happens-before
- Skew y drift de reloj físico
- Sincronización de tiempo distribuida (NTP/PTP)
- Marcas de tiempo lógicas en almacenamiento distribuido
- Resolución de conflictos basados en timestamp
 
 
- Tiempo y causalidad en sistemas distribuidos
- Consenso y replicación- Acordar un estado consistente entre múltiples nodos- Replicación primaria-secundaria (líder-seguidor)
- Replicación multi-líder (multi-master)
- Replicación sin líder (gossip / eventual)
- Raft (consenso con log replicado)
- Paxos (consenso tolerante a fallos de nodo)
- Quórums de lectura / escritura
- Write-ahead log (WAL) y replay
- Consistencia de metadatos críticos
- Reelección de líder y continuidad de servicio
- Propagación de confirmaciones y commit distribuido
 
 
- Acordar un estado consistente entre múltiples nodos
- Alta disponibilidad y failover- Diseño para continuidad operativa- Failover automático vs failover manual
- Redundancia activa-activa
- Redundancia activa-pasiva
- Balanceo de carga con health checks
- Replicación geográfica y multi-región
- Zonas de disponibilidad y dominios de fallo
- Circuit breakers y corte selectivo de dependencia
- Degradación controlada de funcionalidades
- Escalamiento automático ante degradación
- Ejercicios de DR (disaster recovery) programados
 
 
- Diseño para continuidad operativa
- Tolerancia a fallos bizantinos- Sobrevivir a nodos maliciosos o arbitrarios- Modelo bizantino vs modelo crash-stop
- Replicación tolerante a fallos bizantinos (BFT)
- PBFT y variantes de consenso bizantino
- Firmas criptográficas y autenticación de mensajes
- Quórums bizantinos
- Canales autenticados y cifrados
- Detección de nodos maliciosos / desviantes
- Reconfiguración dinámica bajo adversarios
- Costo computacional y de latencia del BFT
- Casos de uso críticos (finanzas, control de infraestructura)
 
 
- Sobrevivir a nodos maliciosos o arbitrarios
- Estrategias de recuperación- Volver a un estado sano después de un fallo- Retries con backoff exponencial
- Idempotencia en reintentos
- Reproducción de logs (replay de operaciones)
- Snapshots y checkpoints periódicos
- Rollback y roll-forward coordinado
- Re-sincronización de réplicas atrasadas
- Reconciliación de estados divergentes
- Autocuración / self-healing
- Alertas automáticas y escalamiento humano
- Pruebas y simulacros de recuperación planificada
 
 
- Volver a un estado sano después de un fallo
- Diseño de sistemas idempotentes- Operaciones repetibles sin efectos no deseados- Operaciones sin efectos secundarios repetidos
- Identificadores únicos de operación (request ID)
- Exactly-once vs at-least-once como garantía práctica
- Procesamiento transaccional distribuido
- Acciones compensatorias (compensating actions)
- Mensajería con deduplicación
- Semántica write-once
- Estados conmutativos y CRDTs
- Event sourcing con replay seguro
- Auditoría y trazabilidad de cada mutación
 
 
- Operaciones repetibles sin efectos no deseados
 
- Teorema CAP y trade-offs
- Algoritmos distribuidos- Modelos de comunicación- Sistema síncrono
- Sistema asincrónico
- Sistema parcialmente síncrono
- Canales confiables vs no confiables
- Canales FIFO vs no-FIFO
- Paso de mensajes vs memoria compartida distribuida
- Fallos por parada (crash failures)
- Fallos arbitrarios / bizantinos
 
- Difusión y broadcast- Broadcast básico
- Reliable broadcast
- FIFO broadcast
- Causal broadcast
- Total order broadcast
- Gossip / epidemical broadcast
- Árboles de difusión (spanning trees)
- Flooding y supresión de duplicados
 
- Elección de líder- Bully algorithm
- Algoritmo en anillo
- Elección basada en temporizadores
- Elección basada en prioridad / UID
- Reelección ante fallo del líder
- Elección en redes parcialmente conectadas
- Elección estable vs elección oportunista
 
- Sincronización de relojes- Cristian’s algorithm
- Berkeley algorithm
- NTP distribuido
- Relojes lógicos de Lamport
- Vector clocks
- Relojes híbridos físico-lógicos (HLC)
- Sincronización bajo latencia variable
- Estimación y corrección de skew y drift
 
- Exclusión mutua distribuida- Token ring
- Lamport mutual exclusion (mensajes con timestamp)
- Ricart-Agrawala
- Centralizado con coordinador
- Jerárquico / árbol de control
- Exclusión mutua con semánticas de quorum
- Exclusión mutua en sistemas tolerantes a fallos
 
- Consenso y commit distribuido- Two-Phase Commit (2PC)
- Three-Phase Commit (3PC)
- Paxos
- Raft
- Zab
- Quórums de lectura/escritura
- Atomic broadcast y consenso
- Linearizabilidad mediante consenso
 
- Detección de fallos- Detectores de fallos perfectos vs sospechosos
- Heartbeats
- Timeouts adaptativos
- Failure suspicion / accrual failure detectors
- Marcar nodo como lento vs caído
- Detección distribuida de particiones de red
- Reintegración de nodos recuperados
 
- Toma de snapshots globales- Algoritmo de Chandy-Lamport
- Snapshots consistentes vs inconsistentes
- Marcadores (markers) y canales de comunicación
- Estado local vs estado de canal
- Recolección de snapshots para recuperación
- Snapshots periódicos vs bajo demanda
- Checkpoint coordinado vs no coordinado
 
- Hashing consistente y particionamiento de carga- Hashing consistente básico
- Anillo de nodos
- Réplicas virtuales
- Rebalanceo incremental
- Evitar hotspots
- Rendezvous hashing
- Particionamiento por rango vs hashing
- Afinidad de datos y locality-aware routing
 
- Algoritmos tolerantes a bizantinos- Modelo bizantino (fallos arbitrarios)
- Replicación bizantina (BFT)
- PBFT (Practical Byzantine Fault Tolerance)
- Quórums bizantinos
- Acuerdos bizantinos con firmas digitales
- Resistencia a nodos maliciosos / deshonestos
- Consenso bizantino parcialmente síncrono
- Detección y exclusión de nodos corruptos
 
 
- Modelos de comunicación
- Computación paralela y vectorizada- Modelos de paralelismo- Modelo Flynn (SISD / SIMD / MISD / MIMD)
- Paralelismo de nivel de instrucción
- Paralelismo de datos
- Paralelismo de tareas
- Paralelismo pipeline
- Paralelismo masivo (massively parallel)
- Bulk Synchronous Parallel (BSP)
- SPMD (Single Program Multiple Data)
- Dataflow computing
 
- Paralelismo a nivel de datos (SIMD / SIMT)- Registros vectoriales y extensiones SIMD
- Unidades vectoriales anchas
- Operaciones empaquetadas (packed operations)
- Enmascaramiento / predicación
- Warp / wavefront execution
- Divergencia de rama
- Coalescing de memoria
- Vectorización automática vs manual
 
- Paralelismo a nivel de tareas (MIMD)- Hilos independientes
- Procesamiento asimétrico de tareas
- Workers / pools de hilos
- Gráficos de tareas (task DAGs)
- Work stealing
- Pipeline de etapas heterogéneas
- Paralelismo pipeline frente a paralelo puro
- Balanceo dinámico de carga
 
- Memoria compartida vs memoria distribuida- Memoria compartida con coherencia de caché
- NUMA
- Memoria distribuida (cluster)
- Paso de mensajes (MPI)
- RDMA y acceso remoto directo
- DSM (Distributed Shared Memory)
- Memoria unificada CPU–GPU
- Consistencia de memoria débil vs fuerte
 
- Sincronización y coordinación- Barreras
- Locks y spinlocks
- Semáforos
- Futexes
- Secciones críticas
- Atomic operations y CAS
- Reducciones paralelas
- Prefetching y fences de memoria
- Deadlock / livelock / starvation
 
- Paralelismo en GPU- SIMT (Single Instruction Multiple Threads)
- Jerarquía de hilos (grid / block / warp)
- Jerarquía de memoria (global / shared / local / constante / textura)
- Coalescing de accesos de memoria global
- Occupancy y latencia oculta
- Kernel launches
- Programación CUDA / HIP
- Tensor cores / aceleradores matriciales
- Streams y concurrencia de kernels
- Unified Virtual Addressing
 
- Rendimiento y escalabilidad- Amdahl’s Law
- Gustafson’s Law
- Speedup fuerte vs speedup débil
- Escalabilidad fuerte vs débil
- Granularidad gruesa vs fina
- Overhead de sincronización
- Contención en memoria compartida
- Afinidad de hilos / pinning
- Bandwidth vs cómputo (arithmetic intensity)
- Roofline model
 
- Patrones paralelos comunes- Map / Reduce
- Scatter / Gather
- Pipeline
- Stencil / convolución
- Reducción (sum, min, max)
- Prefetch y tiling / blocking
- Paralelización por partición de dominio
- Productor-consumidor
- Task farm / master-worker
- All-reduce / broadcast / gather / scatter en clusters
 
- Herramientas y entornos de programación paralela- OpenMP
- MPI
- CUDA
- OpenCL
- HIP / ROCm
- SYCL
- Threading Building Blocks (TBB)
- lenguajes/dominios DSL para cómputo científico
- Programación paralela en alto nivel (Ray, Dask)
- Planificadores de tareas dirigidas por dependencias
 
- Problemas típicos de concurrencia y rendimiento- Contención de locks
- Falsos compartidos (false sharing)
- Cache thrashing
- Desbalanceo de carga
- Desincronización y jitter
- Efectos NUMA
- Latencia de memoria global vs memoria cercana
- Overhead de cambio de contexto
- Divergencia de control en GPU
- Cuellos de botella secuenciales (serial bottlenecks)
 
 
- Modelos de paralelismo
- Computación en la nube y edge computing- Modelos de servicio (IaaS, PaaS, SaaS, FaaS)- IaaS (cómputo, red, almacenamiento virtualizados)
- PaaS (plataformas gestionadas para despliegue de apps)
- SaaS (aplicaciones ofrecidas como servicio)
- FaaS / serverless functions
- BaaS / MBaaS (Backend-as-a-Service / Mobile Backend-as-a-Service)
- DaaS (Data-as-a-Service)
- CaaS (Containers-as-a-Service)
- GPU / aceleradores como servicio
 
- Modelos de despliegue (nube pública, privada, híbrida, multicloud)- Nube pública
- Nube privada dedicada
- Nube híbrida
- Multicloud activa (cargas en varios proveedores)
- DR en otro cloud (disaster recovery multicloud)
- Cloud bursting
- Soberanía de datos / ubicación geográfica
- Interconexión directa entre nubes y on-prem
 
- Infraestructura como código e infraestructura declarativa- Descriptivo vs imperativo
- Plantillas declarativas
- Versionamiento de infra junto al código
- Inmutabilidad de infra
- Inyección de configuración / parametrización
- Desired state reconciliation
- GitOps
- Gestión de secretos y credenciales en IaC
 
- Automatización, orquestación y autoescalado- Provisionamiento automático de recursos
- Autoescalado horizontal y vertical
- Escalado basado en métricas de carga
- Rolling update / rolling restart
- Canary deploy / blue-green deploy
- Orquestadores de contenedores
- Pipelines CI/CD
- Infraestructuras autosanables (self-healing)
- Gestión de dependencias entre servicios
 
- Observabilidad en nubes distribuidas- Métricas (CPU, memoria, latencia, throughput)
- Logs centralizados
- Trazas distribuidas (distributed tracing)
- Mapas de dependencias entre servicios
- Detección de anomalías
- Alertas basadas en SLO/SLA
- Telemetría desde edge / edge-to-cloud
- Auditoría de eventos de infraestructura
 
- Serverless y FaaS- Funciones efímeras bajo demanda
- Facturación por ejecución / duración
- Cold start vs warm start
- Límite de tiempo de ejecución
- Integración con colas, streams y eventos
- Orquestación de funciones (state machines)
- Statefulness externo (almacenamiento externo)
- Restricciones de performance vs VMs/containers dedicados
 
- Edge computing- Procesamiento cercano a la fuente de datos
- Latencia ultrabaja en tiempo real
- Offloading parcial al cloud
- Cache y decisiones locales sin ir al core cloud
- Sincronización diferida / eventual
- Nodos perimetrales con recursos limitados
- Inferencia de ML en borde
- Gestión remota de flotas edge
- Edge-to-edge comunicación local
 
- Seguridad, cumplimiento y gobernanza- Aislamiento de tenants
- Controles de acceso multinivel (IAM)
- Cifrado en tránsito y en reposo
- Gestión de llaves (KMS / HSM)
- Cumplimiento regulatorio y auditoría
- Trazabilidad y cadena de custodia de datos
- Políticas de red cero-confianza (Zero Trust)
- Postura de seguridad continua (CSPM)
- Gestión de secretos y rotación de credenciales
- Controles de acceso por identidad de workload (no humano)
 
- Gestión de costos y optimización- Rightsizing de instancias
- Apagado de recursos inactivos
- Uso de instancias reservadas / spot / preemptibles
- Costo por entorno (dev / stage / prod)
- Cost allocation por equipo / proyecto
- Escalamiento bajo demanda vs sobreaprovisionamiento
- Compresión / tiering de datos fríos
- Optimización de egress y tránsito inter-región
- Costos de almacenamiento vs cómputo vs red
- FinOps
 
- Fiabilidad y continuidad operativa- Alta disponibilidad multi-zona / multi-región
- Replicación geográfica activa-activa
- Backup y restore probados
- Políticas de disaster recovery (RTO / RPO)
- Diseño tolerante a fallos regionales
- Health checks y failover automático
- Degradación controlada de funcionalidades
- Ingeniería del caos / fault injection
- Pruebas de conmutación y recuperación
- Gestión de incidentes y postmortems
 
 
- Modelos de servicio (IaaS, PaaS, SaaS, FaaS)
- Sistemas embebidos y RTOS- Fundamentos de sistemas embebidos- MCU vs MPU
- Periféricos integrados (GPIO, UART, SPI, I2C)
- Controladores de interrupciones
- Relojes y temporizadores hardware
- Limitaciones de memoria y consumo energético
- Firmware bare-metal
- Inicialización de hardware (boot, startup code)
- BSP (Board Support Package)
- Integración con sensores y actuadores
 
- Sistemas de tiempo real- Tiempo real duro vs tiempo real blando
- Determinismo y latencia máxima
- Scheduling de tiempo real (Rate Monotonic, EDF)
- Deadlines y jitter
- Gestión de interrupciones con prioridad
- Ejecución predecible vs throughput
- Monitorización de ejecución en tiempo real
- Análisis de peor caso (WCET)
 
- RTOS comunes y arquitectura- Núcleo de planificador en tiempo real
- Tareas / hilos en RTOS
- ISR (Interrupt Service Routine) y threading
- Colas y mailboxes en RTOS
- Semáforos y mutex con prioridad heredada
- Temporización y timers del sistema
- RTOS monolítico vs microkernel embebido
- FreeRTOS / Zephyr / VxWorks / QNX
- RT-Linux y parches de baja latencia
 
- Confiabilidad y seguridad funcional- Watchdog timers
- Redundancia y fail-safe
- Detección y recuperación ante fallos (self-check)
- Sistemas con certificación de seguridad (ISO 26262, DO-178C)
- Gestión de memoria protegida
- Aislamiento de tareas críticas
- Protección frente a fallos transitorios (EMI, radiación)
- Actualizaciones OTA seguras y verificadas
- Arranque seguro (secure boot)
- Criptografía en hardware embebido
 
- Integración con sistemas mayores- Comunicación con buses industriales (CAN, Modbus, SPI extendido)
- Gateways hacia sistemas de control distribuido
- Telemetría y registro de eventos
- Control en borde (edge) y reporte a la nube
- Sincronización con controladores superiores (PLC, SCADA)
- Protocolos de actualización remota
- Diagnóstico remoto y mantenimiento predictivo
- Seguridad en canal de control (auth, cifrado)
 
 
- Fundamentos de sistemas embebidos
- Balanceo de carga y redes de distribución de contenido (CDN)- Balanceadores de carga (L4 / L7)- Balanceo en capa 4 (TCP/UDP)
- Balanceo en capa 7 (HTTP/HTTPS)
- Balanceadores hardware vs software
- Reverse proxies
- Termination / offload TLS
- Ingress gateway
- Stateful vs stateless load balancing
- Balanceo interno (east-west) vs externo (north-south)
 
- Estrategias de distribución de tráfico- Round Robin
- Weighted Round Robin
- Least Connections
- Least Response Time
- Consistent hashing
- Sticky sessions / session affinity
- Routing por headers / path / método HTTP
- Traffic mirroring / shadow traffic
- Canary routing
- A/B testing basado en balanceo
 
- Health checks y failover- Health checks activos vs pasivos
- Verificación de puerto / protocolo
- Checks HTTP con semántica de aplicación
- Umbrales de éxito / fallo
- Eliminación automática de nodos no saludables
- Failover local vs failover entre data centers
- Fencing / quarantine de instancias inestables
- Detección de latencia degradada
- Circuit breakers en capa de red
 
- Anycast y enrutamiento geográfico- Anycast IP
- Anuncios BGP en múltiples regiones
- Redirección al punto más cercano (baja latencia)
- GeoDNS / georouting
- Latency-based routing
- Weighted routing por región
- Redundancia multi-región activa-activa
- Contención de fallos regionales
- Steering de tráfico durante incidentes
 
- CDNs (Content Delivery Networks)- Edge PoPs (Points of Presence)
- Servidores de caché perimetrales
- Cache estática (imágenes, JS, CSS)
- Caché dinámica / contenido generado
- Origin server vs edge server
- Shielding de origen
- Tokenización / URLs firmadas
- Descarga de tráfico (offload del origen)
- Limitación de egress del origen
 
- Optimización de entrega de contenido- Compresión (gzip, brotli)
- Minificación de assets
- HTTP/2 push / server hints
- HTTP/3 / QUIC
- Cache-Control / ETag / Last-Modified
- Redimensionamiento de imágenes en edge
- Optimización de video adaptativo
- Pre-caching / prefetching
- Caché por variaciones de header (Vary)
- TTLs y políticas de expiración
 
- Mitigación de ataques y protección DDoS- Rate limiting
- Filtrado L3/L4 (volumétrico)
- Protecciones L7 (HTTP floods)
- Scrubbing centers
- Desafíos / verificación del cliente
- WAF (Web Application Firewall)
- Bot management
- Bloqueo geográfico / por ASN
- Anomalía de patrón de tráfico
- Blackholing controlado / sinkholing
 
- Observabilidad y control de tráfico- Métricas de latencia, error rate y throughput
- Telemetría por ruta / servicio
- Access logs y trazas distribuidas
- Monitoreo en tiempo real por zona / PoP
- Heatmaps de tráfico
- Rate limiting adaptativo
- Circuit breaking basado en SLO
- Control dinámico de rutas
- Dashboard operacional unificado
 
- Service mesh y proxys inteligentes- Proxys sidecar por servicio
- Encriptación mTLS entre servicios
- Balanceo L7 por política declarativa
- Retries, timeouts y backoff gestionados por la malla
- Tracing distribuido automático
- Limitación de tasa por servicio / cliente
- Control de tráfico canario / blue-green
- Políticas de autorización entre servicios
- Observabilidad homogénea en microservicios
- Inyección de fallos / chaos testing integrado
 
 
- Balanceadores de carga (L4 / L7)
- Modelos de escalabilidad- Escalamiento vertical vs horizontal- Aumento de recursos en una sola instancia (CPU, RAM, IOPS)
- Límites físicos y de costo del escalamiento vertical
- Escalamiento horizontal mediante réplicas / más nodos
- Balanceadores de carga para distribuir tráfico entre réplicas
- Sesiones y manejo de estado en entornos horizontales
- Impacto en disponibilidad y tolerancia a fallos
- Compatibilidad con arquitecturas monolíticas vs distribuidas
- Saturación de base de datos como cuello de botella común
- Impacto en latencia local vs latencia entre nodos
- Estrategias híbridas (vertical hasta el límite, luego horizontal)
 
- Elasticidad y autoescalado- Escalado reactivo basado en métricas (CPU, RPS, latencia)
- Escalado proactivo / predictivo basado en patrones históricos
- Autoescalado horizontal de instancias de aplicación
- Autoescalado de pods / contenedores en orquestadores
- Autoescalado de almacenamiento y throughput I/O
- Warm-up vs cold-start al escalar dinámicamente
- Reglas de cooldown para evitar thrashing de escalado
- Escalado hacia cero en cargas intermitentes
- Límites de presupuesto / cuotas de escalado
- Coordinación entre escalado de compute, base de datos y colas
 
- Desacoplamiento mediante colas y eventos- Aislamiento entre productor y consumidor (buffer natural)
- Nivelación de picos de carga (spike smoothing)
- Procesamiento asíncrono vs respuesta síncrona
- Retries e idempotencia de mensajes procesados
- Backpressure controlado por encolamiento
- Dead-letter queues para mensajes problemáticos
- Priorización por tipo de evento / cola separada
- Event sourcing como registro de verdad
- Broadcast y fan-out a múltiples consumidores
- Riesgos: latencia eventual, orden parcial y duplicados
 
- Sharding y particionado de datos- Partición horizontal por rango / hash / geografía
- Hashing consistente y reasignación mínima
- Catálogo / router de shards vs direccionamiento implícito
- Evitar hotspots y llaves calientes
- Rebalanceo de shards en vivo y redistribución gradual
- Aislamiento de ruido entre tenants / clientes en shards distintos
- Escalado independiente de lectura y escritura
- Migración de datos entre nodos con mínimo downtime
- Monitoreo de tamaño y crecimiento desigual de shards
- Impacto en agregaciones globales y queries cross-shard
 
- Replicación geográfica y multi-región- Réplicas activas/activas vs activas/pasivas
- Replicación síncrona vs asíncrona entre regiones
- Latencia entre regiones y consistencia observable
- Enrutamiento por cercanía geográfica (geo-routing / anycast)
- Continuidad operativa ante caída regional
- Cumplimiento regulatorio y soberanía de datos
- Conflictos de escritura multi-master y reconciliación
- Failover automático y políticas de recuperación de desastres
- Distribución de contenido en el borde (edge / CDN)
- Costos de egress y optimización de tráfico inter-región
 
- Caching en múltiples niveles- Caché en cliente / navegador / app local
- Caché en edge / CDN para contenido estático y semiestático
- Caché en capa de aplicación (in-memory local)
- Caché distribuida compartida (por ejemplo, cluster KV)
- Caché en base de datos (materialized views, resultados precalculados)
- Estrategias TTL / expiración / invalidación selectiva
- Cache warming y prefetch proactivo
- Cache stampede y mitigaciones (locking / request coalescing)
- Políticas LRU / LFU / ARC según patrón de acceso
- Coherencia entre capas de caché y fuente de verdad
 
- Aislamiento de recursos y multitenancy- Aislamiento lógico por tenant (namespaces / cuentas)
- Aislamiento físico / computacional (nodos dedicados vs compartidos)
- Limitación de tasa y cuotas por tenant
- Ruido entre vecinos y fair usage
- Cifrado en reposo y en tránsito por tenant
- Separación de datos en el almacenamiento (BD por tenant vs fila marcada)
- Priorización de tráfico y calidad de servicio diferenciada
- Auditoría y trazabilidad por identidad de tenant
- Aislamiento de fallos por tenant / blast radius reducido
- Control de despliegues graduales por segmento de clientes
 
- Diseño sin punto único de falla- Redundancia de instancias de servicio (N+1, N+2)
- Balanceadores de carga en alta disponibilidad
- Replicación de datos crítica con quorum de escritura/lectura
- Eliminación de single master crítico (líder reemplazable automáticamente)
- Eliminación de dependencias no redundantes (DB única, cola única)
- Failover automático entre zonas / racks / regiones
- Despliegues blue-green / canary para evitar caídas globales
- Health checks y circuit breakers para aislar fallas
- Segmentación en dominios de fallo (blast radius controlado)
- Ejercicios de caos para validar tolerancia real
 
- Backpressure y control de flujo- Rechazo temprano / shed load bajo saturación
- Limitación de concurrencia por cola / worker / endpoint
- Ventanas deslizantes y créditos (windowing / credit-based flow control)
- Señalización de disponibilidad a productores
- Pausa / ralentización de productores de eventos
- Priorización de tráfico crítico frente a tráfico mejor-esfuerzo
- Protección contra explosión de retries en cascada
- Ajuste dinámico de tasas según latencia y cola pendiente
- Mecanismos de timeouts y cancelación propagada
- Evitar deadlocks a gran escala por presión circular
 
- Observabilidad y autosanación- Métricas de latencia, throughput, error rate y saturación
- Logs estructurados y trazabilidad distribuida por request ID
- Alertas basadas en SLO (objetivos de servicio) y SLI (indicadores)
- Mapas de dependencia entre servicios y análisis de blast radius
- Health checks continuos y remediation automática
- Reinicio / reschedule automático de workloads defectuosas
- Detección de anomalías y degradación temprana
- Rollback automático ante despliegues regresivos
- Autoaislamiento de nodos enfermos (quarantine / cordoning)
- Postmortems y aprendizaje continuo incorporado al sistema
 
- Optimización costo / rendimiento- Rightsizing de instancias y ajuste de recursos asignados
- Escalado bajo demanda vs sobreaprovisionamiento fijo
- Uso de instancias spot / preemptibles / ahorro por compromiso
- Tiering de almacenamiento (caliente vs tibio vs frío)
- Compresión, deduplicación y retención inteligente de datos
- Reducción de egress y tráfico inter-región
- Offloading de cómputo caro a aceleradores especializados
- Optimización de caché para bajar costo de lectura repetida
- Degradación controlada de features de alto costo en saturación
- Visibilidad financiera por servicio / equipo (FinOps)
 
- Evolución arquitectónica a escala- Migración de monolito a servicios / microservicios / módulos
- Separación progresiva de dominios funcionales (bounded contexts)
- Introducción de colas/eventos donde antes había acoplamiento directo
- Extracción de storage dedicado por servicio (database per service)
- Despliegues canario / blue-green para cambios de contrato
- Versionado de APIs y compatibilidad hacia atrás
- Refactorización para multirregión y alta disponibilidad
- Automatización de infraestructura e infraestructura como código
- Gestión de deuda técnica y eliminación de cuellos de botella únicos
- Gobernanza de rendimiento, seguridad y costo a medida que crece la organización
 
 
- Escalamiento vertical vs horizontal
 
- Autómatas y modelos de cómputo
Versión imprimible multipagina. Haga click aquí para imprimir.