[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