Qué significa un subproceso de hardware. ¿Es siempre el doble de la cantidad de núcleos de procesador disponibles? ¿Cómo determinar la cantidad de subprocesos de hardware en un procesador Intel Core 2 Duo? ¿Se puede determinar a través del código de Java?Cómo determinar el número de subprocesos de hardware
Respuesta
Lo que se entiende por un hilo de hardware.
Cuéntanos. No es realmente un término establecido.
¿Siempre hay el doble de núcleos de procesador disponibles?
Ah, ahora parece que estás hablando de hyperthreading donde las redundancias parciales dentro de un núcleo de CPU se utilizan para "falsificar" un núcleo adicional.
Cómo determinar el número de hilos de hardware en un procesador Intel Core 2 Duo ? ¿Se puede determinar mediante código Java?
Puede intentar encontrar algo en las propiedades del sistema, pero no va a ser estándar (es decir, depende de la JVM y el sistema operativo).
Personalmente, usaría un valor por defecto razonable (4 u 8 hilos - tener unos cuantos es demasiado para no usar los núcleos disponibles) y hacerlo configurable.
Me encantaría saber por qué iJeeves quiere saber. ¿Podría estar pensando en problemas que van más allá de la cuestión de las CPU centrales ...? – TheBlastOne
Lo encontré en muchos artículos relacionados. http://www.ibm.com/developerworks/java/library/j-jtp11137.html – devnull
Supongo que se refiere al número de CPU. Puede obtenerlo por:
int N_CPUS = Runtime.getRuntime(). AvailableProcessors();
Utilizando este valor, puede determinar cuántos subprocesos debería existir en su grupo de subprocesos si planea implementarlos. Para leer más sobre el tamaño del grupo de subprocesos, puede hacerlo en Java en Concurrencia, Sección 8.2.
Definitivamente no es el caso que el número de subprocesos de hardware es dos veces el número de núcleos: los procesadores AMD no tienen ningún tipo de hyperthreading (yet) y el hyperthreading se puede desactivar en el BIOS (como suele ser fue para procesadores pre-nehalem, ya que realmente no te compre mucho en la práctica). Tampoco hay ninguna razón por la que necesariamente deba tener solo dos hilos de hardware por núcleo: los sistemas Power7 tienen 4 per core.
No existe una forma independiente del SO o del hardware para realizar estas comprobaciones. La única biblioteca que conozco que puede portar de forma bastante portátil esta información es la biblioteca hardware locality (hwloc). Es una biblioteca C, por lo que debería ser bastante simple llamar desde Java.
- 1. ¿Cómo determinar el mejor número de subprocesos en Tomcat?
- 2. ¿Cómo determinar el número de bits similares?
- 3. ¿Cómo aumentar el número de subprocesos en el grupo de subprocesos de tomcat?
- 4. ¿Parallel.ForEach limita el número de subprocesos activos?
- 5. Cómo programar el número de subprocesos en Delphi
- 6. Cómo limitar el número máximo de subprocesos paralelos en Perl
- 7. ¿Cómo puedo limitar el número de subprocesos activos en Python?
- 8. ¿Cómo puedo establecer el número de subprocesos en Quartz.NET threadpool?
- 9. cómo determinar la base de un número?
- 10. Creación de número dinámico de subprocesos simultáneamente
- 11. En tiempo de ejecución, ¿cómo puedo limitar el número de subprocesos java
- 12. Cómo limitar el número de subprocesos/subprocesos utilizados en una función en bash
- 13. ¿Cómo puedo determinar el número de elementos en ThreadPool cola
- 14. ¿Cómo determinar el número de tarjetas SIM en un dispositivo?
- 15. ¿Cómo puedo determinar el número de línea actual en JavaScript?
- 16. Número de subprocesos utilizados por Intel TBB
- 17. Obtener el número de subprocesos RTS en el programa Haskell?
- 18. ¿Número de subprocesos creados por GCD?
- 19. Determinar el número de páginas en un archivo PDF
- 20. ¿Determinar si el valor de JavaScript es un "número entero"?
- 21. Determinar el número de fotogramas en un Core Audio AudioBuffer
- 22. ¿Cómo se implementan los cambios en el nivel de hardware?
- 23. omp_set_dynamic: ¿cómo determina el tiempo de ejecución el número de subprocesos?
- 24. Determinar el número de archivos en un directorio
- 25. Determinar el número de dimensiones en una matriz PHP
- 26. Determinar el número de parámetros en una lambda
- 27. Comprender el hardware de printf
- 28. QGL ¿Aceleración de hardware y hardware?
- 29. mínimos de hardware para el desarrollo de Mac efectiva
- 30. ¿Cómo limitar el número de subprocesos creados para una operación asíncrona de Seq.map en F #?
El hilo de hardware es un concepto de kernel y depende de su sistema operativo. – EboMike