rendimiento - aplicaciones multiproceso o multiproceso

Para desarrollar una aplicación de servidor altamente intensiva en red en Linux, ¿qué tipo de arquitectura se prefiere? La idea es que esta aplicación normalmente se ejecute en máquinas con múltiples núcleos (ya sea virtual o físico). Teniendo en cuenta que el rendimiento es el criterio clave, ¿es mejor optar por una aplicación de subprocesos múltiples o el que tiene un diseño de procesos múltiples? Sé que compartir recursos y la sincronización para acceder a dichos recursos desde múltiples procesos supone una gran sobrecarga de programación, pero como se mencionó anteriormente, el rendimiento general es el requisito clave y, por lo tanto, podemos ignorar esas cosas. Y el lenguaje de programación sería C / C ++.

He escuchado que incluso las aplicaciones de subprocesos múltiples (proceso único) pueden aprovechar múltiples núcleos y ejecutar cada hilo en un núcleo diferente de forma independiente (siempre que no haya problemas de sincronización). Y esta programación la realiza el núcleo. Si es así, ¿no hay mucha diferencia en el rendimiento entre las aplicaciones de subprocesos múltiples y las aplicaciones de procesos múltiples? Nginx usa una arquitectura de procesos múltiples y es realmente rápido, pero ¿se puede obtener el mismo rendimiento con aplicaciones de subprocesos múltiples?

Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta