MPS (Multi-Process Service) es una arquitectura de cliente-servidor desarrollada por NVIDIA para sus GPUs, diseñada para permitir que múltiples procesos de cliente (aplicaciones o servicios) compartan un único contexto de GPU. Tradicionalmente, cada proceso que interactúa con la GPU requiere su propio contexto, lo que implica una sobrecarga significativa en términos de memoria y ciclos de CPU para el cambio de contexto. MPS consolida estas solicitudes en un único proceso "servidor" que gestiona el acceso a la GPU, multiplexando las operaciones de los clientes y presentándolas a la GPU como si vinieran de un solo proceso. Esto reduce drásticamente la sobrecarga de gestión de contexto y mejora la utilización de la GPU, especialmente en escenarios con muchas aplicaciones concurrentes o microservicios que realizan pequeñas tareas de computación.

En el mundo real, MPS es fundamental en entornos de computación de alto rendimiento (HPC), inteligencia artificial (AI) y aprendizaje automático (ML) donde múltiples usuarios o servicios necesitan acceder a recursos de GPU de forma concurrente. Por ejemplo, en plataformas de inferencia de ML, un único servidor con varias GPUs puede ejecutar docenas o cientos de modelos diferentes, cada uno atendido por un proceso separado. MPS permite que estos procesos compartan eficientemente las GPUs subyacentes sin la penalización de rendimiento de la creación de contextos individuales. Es una característica clave en entornos de contenedores y orquestación como Kubernetes, donde los contenedores pueden ser asignados a GPUs y MPS facilita la compartición granular de recursos. NVIDIA Triton Inference Server, por ejemplo, puede beneficiarse de MPS para servir múltiples modelos concurrentemente en una única GPU.

Para un arquitecto, MPS es una consideración crítica al diseñar sistemas que requieren alta densidad de computación en GPUs. Permite maximizar el rendimiento y la eficiencia de los recursos de GPU, lo que se traduce en menores costos operativos y una mayor capacidad de servicio. Sin embargo, su uso introduce consideraciones de seguridad y aislamiento, ya que los procesos cliente comparten un contexto. Un proceso malicioso o defectuoso podría potencialmente afectar a otros. Los arquitectos deben evaluar el equilibrio entre la eficiencia de recursos y la necesidad de aislamiento estricto. Además, la configuración y monitorización de MPS requiere un conocimiento profundo del ecosistema de NVIDIA y las herramientas de gestión de GPUs, siendo un factor clave en la planificación de la infraestructura y la estrategia de escalabilidad para cargas de trabajo intensivas en GPU.