Un servidor de IA doméstico necesita colas de trabajo separadas porque las solicitudes interactivas y las tareas en segundo plano tienen distintos requisitos de latencia, memoria, reintentos y finalización.
Una sola máquina puede gestionar chat, control por voz, ingesta de documentos, embeddings, análisis de fotos, descargas de modelos, flujos de trabajo de agentes y resúmenes programados. Una única cola de llegada trata esas tareas como si fueran intercambiables, aunque un retraso de cinco segundos sea aceptable para indexar y resulte molesto para un comando hablado. Además, las tareas largas pueden reservar memoria o ancho de banda de almacenamiento antes de que lleguen solicitudes cortas. Las colas separadas hacen visibles las clases de carga de trabajo para que las políticas de admisión, prioridad, concurrencia y recuperación protejan primero las funciones domésticas que deben responder de inmediato.
Una sola cola FIFO provoca bloqueo del primero de la cola
Un prompt largo, una solicitud de imagen, la carga de un modelo o un lote de embeddings al principio de una única cola puede retrasar muchas solicitudes cortas que esperan detrás.
FastServe aborda el bloqueo del primero de la cola mediante planificación preventiva y varios niveles de prioridad, en lugar de atender cada tarea hasta completarla.
Un servidor doméstico no necesita el mismo diseño distribuido para adoptar este principio. El trabajo interactivo no debería esperar detrás de una solicitud en segundo plano de duración desconocida solo porque llegó después.
Las tareas interactivas y en segundo plano necesitan objetivos de servicio distintos
Las llamadas de voz, chat y automatización se preocupan por el tiempo en cola y el tiempo hasta el primer token. Los embeddings, la indexación y los resúmenes nocturnos se preocupan más por el rendimiento total y la finalización eventual.
JITServe estudia distintos objetivos de latencia para solicitudes cuyos flujos de trabajo de extremo a extremo y plazos no son equivalentes.
Coloca el trabajo interactivo en una cola de baja latencia con una concurrencia limitada. Coloca las tareas masivas en una cola orientada al rendimiento que pueda pausarse, agruparse o ceder recursos cuando aumente la demanda doméstica.
La prioridad debería incluir envejecimiento para que un servicio de chat constantemente ocupado no deje las tareas de mantenimiento sin recursos indefinidamente.
El prellenado, la decodificación y la preparación de modelos pueden bloquearse entre sí
Un prellenado largo utiliza el cómputo de forma distinta a la decodificación de tokens, mientras que la carga de modelos y la preparación de cachés pueden esperar transferencias de almacenamiento y memoria.
DistServe separa el prellenado y la decodificación porque ubicarlos conjuntamente puede perjudicar la latencia incluso cuando la utilización agregada parece elevada.
Las colas separadas permiten que los chats activos sigan teniendo oportunidades de decodificación, mientras que los prompts de documentos grandes pasan por una ruta de prellenado controlada.
Una cola de carga de modelos también puede limitar cuántos modelos en frío compiten simultáneamente por el ancho de banda del disco y la memoria del acelerador.
El trabajo listo no debería esperar detrás del trabajo de preparación
Algunas solicitudes pueden ejecutarse de inmediato porque su modelo y el estado de su caché ya están cargados. Otras necesitan restaurar datos desde un almacenamiento más lento o cargar primero un modelo.
Bidaw utiliza dos colas de solicitudes para evitar que el trabajo listo espere detrás de solicitudes cuyo estado aún debe prepararse.
El equivalente doméstico consiste en no ocupar la cola interactiva con una solicitud que no puede ejecutarse hasta que finalice la descarga de un modelo de diez gigabytes o la restauración de una caché.
Las colas de almacenamiento y CPU necesitan la misma separación
El trabajo de IA no compite únicamente por el acelerador. El OCR, el análisis de PDF, la tokenización, las escrituras de vectores, las miniaturas, las copias de seguridad y las lecturas de modelos pueden saturar las colas de CPU y almacenamiento.
El análisis de ZimaSpace sobre la contención de las colas de almacenamiento muestra por qué el trabajo masivo sostenido puede retrasar las aplicaciones interactivas autoalojadas incluso antes de considerar la planificación de la GPU.
Limita la profundidad de E/S en segundo plano, separa las rutas de modelos y bases de datos cuando sea práctico y pausa los análisis de bibliotecas completas durante los periodos de mayor uso doméstico.
Una política de colas que proteja el tiempo de GPU, pero permita que el OCR en segundo plano sature todos los núcleos de CPU, seguirá sin proteger la latencia de recuperación del chat.
Las políticas de colas necesitan admisión, cuotas y observabilidad
Los nombres separados por sí solos no crean aislamiento. Cada cola necesita un límite de concurrencia, un presupuesto de memoria, una prioridad, una política de reintentos, un tiempo de espera y una regla para tomar prestada capacidad inactiva.
Agentix trata las dependencias del flujo de trabajo como información de planificación, de modo que una llamada breve que desbloquea pasos posteriores pueda recibir el servicio adecuado.
Mide la profundidad de la cola, la espera más antigua, las tareas en ejecución, la memoria reservada, las apropiaciones, el número de reintentos y la latencia por clase de carga de trabajo. Las alertas deberían identificar qué cola está incumpliendo su objetivo.
El diseño práctico debe aprovechar los recursos disponibles: las colas en segundo plano utilizan la capacidad sobrante, pero las nuevas solicitudes interactivas pueden recuperar esa capacidad sin desestabilizar las tareas en ejecución.
Preguntas frecuentes
¿Un servidor de IA doméstico necesita una máquina física separada para cada cola?
No. Las colas son límites de planificación. Pueden compartir una sola máquina mientras aplican distintas prioridades, límites de concurrencia y presupuestos de recursos.
¿Las tareas en segundo plano siempre deben detenerse cuando comienza un chat?
No necesariamente. Pueden continuar con una concurrencia reducida cuando aún haya suficiente margen de CPU, memoria, almacenamiento y acelerador.
¿Los contenedores pueden sustituir a las colas separadas?
Los contenedores aíslan los procesos, pero no proporcionan automáticamente una planificación justa ni un control de admisión entre varias cargas de trabajo de IA.
Centro de Tecnología e IA
Más para leer

¿Cómo afecta la reducción de resolución de series temporales a la detección de anomalías en hogares inteligentes?
Descubre cómo el ancho de los intervalos, la agregación, el antialiasing, los datos faltantes, la duración de los eventos y la retención multiescala cambian...

¿Cómo combina una cuadrícula de ocupación las señales débiles del hogar inteligente?
Aprende cómo las celdas espaciales, los modelos de sensores, las actualizaciones de log-odds, la atenuación, la evidencia correlacionada y los umbrales convierten señales débiles...

¿Cómo afecta la normalización fotométrica a la agrupación privada de rostros?
Descubre cómo la corrección de la iluminación cambia los recortes faciales, los embeddings, las distancias entre clústeres, los umbrales, la sobrenormalización y la evaluación...

