From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751704AbXCDOEQ (ORCPT ); Sun, 4 Mar 2007 09:04:16 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751706AbXCDOEQ (ORCPT ); Sun, 4 Mar 2007 09:04:16 -0500 Received: from mail17.syd.optusnet.com.au ([211.29.132.198]:36608 "EHLO mail17.syd.optusnet.com.au" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751691AbXCDOEP (ORCPT ); Sun, 4 Mar 2007 09:04:15 -0500 From: Con Kolivas To: ck@vds.kolivas.org Subject: Re: [ANNOUNCE] RSDL completely fair starvation free interactive cpu scheduler Date: Mon, 5 Mar 2007 01:04:09 +1100 User-Agent: KMail/1.9.5 Cc: linux kernel mailing list References: <200703041800.53360.kernel@kolivas.org> <200703041845.04560.kernel@kolivas.org> In-Reply-To: <200703041845.04560.kernel@kolivas.org> MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_ZHt6F17FOJG0BhG" Message-Id: <200703050104.09603.kernel@kolivas.org> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org --Boundary-00=_ZHt6F17FOJG0BhG Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Sunday 04 March 2007 18:45, Con Kolivas wrote: > On Sunday 04 March 2007 18:00, Con Kolivas wrote: > > This message is to announce the first general public release of the > > "Rotating Staircase DeadLine" cpu scheduler. > > > > Based on previous work from the staircase cpu scheduler I set out to > > design, from scratch, a new scheduling policy design which satisfies > > every requirement for SCHED_NORMAL (otherwise known as SCHED_OTHER) task > > management. > > > > Available for download are: > > > > A full rollup of the patch for 2.6.20: > > http://ck.kolivas.org/patches/staircase-deadline/sched-rsdl-0.26.patch > > It's probably worth mentioning that this scheduler shows a not > insignificant improvement in the mysql test case that recently received a > lot of publicity. Why exactly that's the case I'm not sure but it may help > track down what is actually responsible for the performance drop off as > well. Note that the SMP balancing of this cpu scheduler is essentially > unchanged from the mainline one. Only preliminary other benchmarking has been done so far on RSDL, and so far the results are equal to or slightly better than mainline on scalability grounds. These are the sysbench graphs just for completion that Nishanth Aravamudan performed. We were actually trying to track down the cause of the mysql performance problem and I suggested trying different cpu schedulers as well. Needless to say I'm not unhappy with the results although they haven't told us exactly where the problem lies but it certainly does add evidence that perhaps it is a scheduling issue. -- -ck --Boundary-00=_ZHt6F17FOJG0BhG Content-Type: image/png; name="transactions.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="transactions.png" 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 AAAAAOiCf8q7uhnvXt9VAAAAAElFTkSuQmCC --Boundary-00=_ZHt6F17FOJG0BhG Content-Type: image/png; name="idle.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="idle.png" 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 --Boundary-00=_ZHt6F17FOJG0BhG--