Date: Thu, 02 Jun 2005 09:58:35 +0800 From: Erich Dollansky <oceanare@pacific.net.sg> To: freebsd-smp@freebsd.org Subject: Assignmet of CPUs Message-ID: <429E67CB.6090901@pacific.net.sg>
index | next in thread | raw e-mail
Hi, it is a general problem of systems with more than one CPU to assign the proper CPU to a task. The most obvious problem is the cache. If a task is migrating all the time, the cache has to be reloaded again and again. The next problem is the location of the data in RAM on NUMA machines. It is better to leave a thread on a CPU if the RAM connected to it also has the data stored. This could block a task from running if to many running tasks have their data stored on the same CPU. The last, but hardly used parameter, is the CPU temperature. I noticed that FreeBSD tends to use always the same CPU to start a task. This makes one CPU real hot while the other stays cool. Taking the CPU temperature into account for starting at least new threads would also have an advantage of systems with an less then ideal cooling system. Spreading tasks all over the system with the coolest CPU being the one to be started next will make systems a bit cooler. Erichhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?429E67CB.6090901>
