parallel processing - redes - ¿Cuáles son las diferencias entre los sistemas sin estado y con estado, y cómo afectan el paralelismo?
que es paralelismo virtual (2)
Un sistema sin estado se puede ver como una caja [¿negro? ;)] donde en cualquier punto en el tiempo el valor de la (s) salida (s) depende solo del valor de la entrada (s) [después de un cierto tiempo de procesamiento]
En su lugar, un sistema con estado se puede ver como una caja donde en cualquier momento el valor de la (s) salida (s) depende del valor de la (s) entrada (s) y de un estado interno, por lo que básicamente un sistema con estado es como una máquina de estado con " memoria " ya que el mismo conjunto de valores de entrada (s) puede generar diferentes salidas dependiendo de la (s) entrada (s) anterior (es) recibidas por el sistema.
Desde el punto de vista de programación paralela , un sistema sin estado , si se implementa correctamente, puede ejecutarse por múltiples hilos / tareas al mismo tiempo sin ningún problema de concurrencia [como un ejemplo de una función de reentrada] Un sistema con estado requerirá múltiples hilos de acceso de ejecución y actualizar el estado interno del sistema de forma exclusiva, por lo tanto, será necesario un punto de [sincronización] de serialización.
Explique las diferencias entre los sistemas sin estado y con estado, y los impactos del estado en el paralelismo.
Un servidor con estado mantiene el estado entre las conexiones. Un servidor sin estado no.
Entonces, cuando envía una solicitud a un servidor con estado, puede crear algún tipo de objeto de conexión que rastree la información que solicita. Cuando envía otra solicitud, esa solicitud opera en el estado de la solicitud anterior. Entonces puedes enviar una solicitud para "abrir" algo. Y luego puede enviar una solicitud para "cerrarla" más tarde. Entre las dos solicitudes, esa cosa está "abierta" en el servidor.
Cuando envía una solicitud a un servidor sin estado, no crea ningún objeto que rastree información con respecto a sus solicitudes. Si "abre" algo en el servidor, el servidor no conservará ninguna información de que tiene algo abierto. Una operación "cercana" no tendría sentido, ya que no habría nada que cerrar.
HTTP y NFS son protocolos sin estado. Cada solicitud es independiente.
A veces, las cookies se utilizan para agregar algún estado a un protocolo sin estado. En HTTP (páginas web), el servidor le envía una cookie y luego el navegador mantiene el estado, solo para enviarlo de vuelta al servidor en una solicitud posterior.
SMB es un protocolo con estado. Un cliente puede abrir un archivo en el servidor, y el servidor puede denegar a otros clientes el acceso a ese archivo hasta que el cliente lo cierre.