¿Qué son las agrupaciones de subprocesos y subprocesos múltiples en la red informática?

Muchos clientes pueden desear hablar con un servidor, todo al mismo tiempo. La forma más sencilla sería que el servidor los pusiera en cola y sirviera uno a la vez. Este es un servidor de un solo subproceso y funciona perfectamente bien si el servidor puede responder a una solicitud sin utilizar el almacén de respaldo como el disco. Pero si el servidor necesita acceder a la tienda de respaldo, esto llevará tiempo. Y mientras sucede, el procesador del servidor está inactivo y podría comenzar a procesar la próxima solicitud. Para poder hacerlo, debe ser capaz de múltiples subprocesos, donde cada subproceso maneja una solicitud por separado. Al manejar varias solicitudes al mismo tiempo, superponiendo el acceso al almacén de respaldo, se incrementa el rendimiento. El rendimiento de la tienda de respaldo también aumenta si le da varias solicitudes que puede ordenar en un orden óptimo.

Pero el multihilo tiene sus costos. No es útil iniciar demasiados subprocesos: varios efectos provocan una caída del rendimiento total si intenta realizar demasiados trabajos a la vez. Y iniciar y detener subprocesos lleva una cierta cantidad de tiempo. Entonces crea un grupo de subprocesos, un número fijo de subprocesos que esperan solicitudes en el servidor. A medida que ingresan las solicitudes, se toma un subproceso del grupo para manejarlo. Cuando el grupo está vacío, las solicitudes se ponen en cola. Cuando un subproceso completa una solicitud, toma otro de la cola o, si la cola está vacía, regresa al grupo para esperar una nueva solicitud.