Hola a todos: tengo SuSE 9.0 (kernel 2.4.21 smp) instalado en un equipo con dos CPUs Xeon a 2.6 GHz. Resulta que estoy corriendo una serie de modelos en los que la paralelización es casi imprescindible (con OpenMP por ejemplo) y después de muchas pruebas he llegado a la conclusión de que los programas corren más rápido cuando se compilan y ejecutan para 1 sólo procesador. Esto realmente me resultaba extraño. Comprobé que efectivamente ambos procesadores funcionaban (mediante el comando top), pero me he dado cuenta de que esto no era cierto. Al observar /proc/cpuinfo observé que los dos procesadores que reconoce el sistema operativo tienen physical id 0; es decir que es un procesador físico y el otro es lógico. Esto sería lo normal para un equipo con 1 procesador e hyperthreading habilitado. Esto es lo que no comprendo puesto que lo primero que hice fue deshabilitar hyperthreading en la BIOS (para ciertos programas de cálculo que hacen uso intensivo de la CPU el hyperthreading resulta contraproducente, realentizando la ejecución un 20% o más según las experiencias de otros usuarios del modelo en cuestión). Luego he leido en una lista que alguien tenía un problema similar (no con SuSE) y que al activar hyperthreading el sistema reconoció los 2 procesadores. ¡Efectivamente!; una vez habilitado, SuSE muestra 4 procesadores (los 2 físicos y los 2 lógicos). Por ahí he leido que Linux no es suficientemente "listo" como para distinguir el número de procesadores reales y desde luego, parece que el kernel 2.4 es incapaz de hacerlo. Desde luego esto es mejor que tener un procesador parado, no obstante me gustaría poder trabajar con las 2 CPU sin necesidad de habilitar hyperthreading (evitando por consiguiente el gasto innecesario de tiempo). Estaría muy agradecido si alguien me pudiera dar algún consejo o idea al respecto. Saludos y gracias, Rafa