[Speed] Getting the project off the ground

Da_Blitz pypy at pocketnix.org
Wed Jul 6 20:47:13 CEST 2011


> to be done through the codespeak interface, and that in some cases it may be 
> hard to tell the difference between a real slowdown, random noise, and
> the ever popular 'somebody was trying to compile pypy on tannit when the
> benchmarks were being run' though I suppose with the new machine we can
> work out a mechanism for preventing the last.  But I still think this would
> be a neat feature for codespeed to have as a feature.


cgroups and cpuset support could help with this, you can isolate one 
cpu purely for benchmarking and another for user use (translation and 
testing for example). you can also avoid some issues such as cache 
contention (which fijal mentions every time i mention doing multiple 
translations at once) by splittign the cpus up so that each group gets 
4 cpus belonging to one socket

stick all processes in one cgroup and limit the cpuset (usergroup), 
then create another cgroup and give it the remaining cores on the 
other socket (benchgroup), by default all processes will go to the 
parent cgroup, in this case, usergroup as ou put all the PID's in 
there. thenyou can just put the benchmark script in a wrapper to grab 
its own pid and echo that pid into the benchgroup magic file to have 
the benchamrks run on the other cpu

using the above you can also reserve memory for 
benchmarking/transtlation

if anyone wants more details feel free to ask


More information about the Speed mailing list