Así que sé que puedo aumentar el número de subprocesos de un proceso en Linux usando setrlimit y amigos. De acuerdo con this, el límite teórico sobre el número de hilos está determinado por la memoria (alrededor de 100.000k). Para mi uso, estoy buscando usar el FIFO scheduler en un estilo cooperativo, por lo que los conmutadores de contexto espurios no son una preocupación. Sé que puedo limitar el número de hilos activos a la cantidad de núcleos. Mi pregunta es cuál es el límite práctico sobre el número de subprocesos, después de lo cual las suposiciones en el planificador comienzan a estar voladas. Si mantengo un verdadero estilo cooperativo ¿hay hilos adicionales "libres"? Cualquier caso estudiado o ejemplos reales sería especialmente interesante.Límite práctico sobre el número de subprocesos en Linux en un marco cooperativo
El servidor Apache parece ser el programa más análogo a esta situación. ¿Alguien tiene números relacionados con la cantidad de hilos que han visto aparecer a Apache antes de volverse inútiles?
Related, pero tiene que ver con Windows, código de preferencia.
Puede encontrar el siguiente artículo interesante, http://drdobbs.com/open-source/184406204. En él, hay una afirmación vaga sobre 1M hilos concurrentes en una máquina de gama alta. – Kevin
@Kevin Eso me da esperanza. Lo que es especialmente interesante es el hecho de que la prueba se realizó en apoyo del planificador O (1), que desde entonces se ha reemplazado. – tgoodhart
@Kevin Papel en cuestión: http://www.redhat.com/whitepapers/.../POSIX_Linux_Threading.pdf – tgoodhart