You can check OpenVZ (http://openvz.org/) implementation. It works correctly even when a few tasks are running on SMP. It also uses CPU cycles (not jiffies) for statistics, which makes it very accurate.
The only difference from your requirements is that it doesn't have any long term guarantees and per-cpu settings. I'm not sure how you see per-cpu guarantees, as it very much depends on balancing. Thanks, Kirill > Is anyone aware of any implementations (or even research) for accurate > cpu controllers on SMP systems? > > I'd like to be able to control the cpu allocated to classes (aka > resource groups) with long-term (1-minute) accuracy better than .1%, > and short-term (2-second) accuracy of .6% or so. > > I want to set the guarantees on a per-cpu basis. I need to handle the > case where there are fewer tasks in a class than there are cpus--the > performance hit of forced load balancing and task migration is less > important than cpu share accuracy. > > Anyone have any pointers? Research papers? We've got the older version > of ckrm working reasonably well on UP, but it pretty much fell apart on SMP. > > Thanks, > > Chris > > > _______________________________________________ > ckrm-tech mailing list > https://lists.sourceforge.net/lists/listinfo/ckrm-tech > _______________________________________________ ckrm-tech mailing list https://lists.sourceforge.net/lists/listinfo/ckrm-tech