Pregunta

¿En qué idiomas se puede implementar Hyper-Threading? ¿Es solo parte de los sistemas orientados a objetos o puede implementarse en C?

Gracias.

¿Fue útil?

Solución

Cualquier lenguaje y tiempo de ejecución que admita subprocesos admitirá hyperthreading.

Hyper-threading es una forma de multiplexar una CPU entre varios subprocesos: solo hay una CPU real pero es visible para el sistema operativo como dos CPU y, por lo tanto, se pueden programar dos subprocesos en ella. Cualquier parada en la CPU en un hilo (como esperar en la memoria, operaciones largas de FPU, etc.), permite que la CPU ejecute código desde el otro hilo.

Más información sobre hyper-threading en Wikipedia .

Otros consejos

Hyperthreading es en su mayor parte lo mismo que tener más procesadores en un sistema. Incluso si su idioma no admite subprocesos, aún es posible hacer que su programa genere otra copia de sí mismo o genere procesos de trabajo que (si el sistema operativo lo admite) se equilibrarán con los procesadores disponibles.

Necesita buscar soporte de hilos para su idioma, pero tenga cuidado porque los hilos pueden complicar fácilmente su programa y pueden resultar en errores difíciles de encontrar ya que el código puede ejecutarse de forma asíncrona.

Entonces la respuesta a su pregunta es 'probablemente, pero depende'.

En cuanto a su otra pregunta, puede implementar fácilmente múltiples subprocesos en C nuevamente dependiendo de su tiempo de ejecución y soporte del compilador. Por ejemplo, las extensiones OpenMP http://en.wikipedia.org/wiki/OpenMP podrían ser útiles para ti.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top