All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: Creating scheduler
@ 2013-02-07  4:45 jeshkumar555
  0 siblings, 0 replies; 6+ messages in thread
From: jeshkumar555 @ 2013-02-07  4:45 UTC (permalink / raw)
  To: kernelnewbies

Hey Peter,

Think First link is useful for scheduler, thanks :).

Sent from my HTC
Excuse for typo.

----- Reply message -----
From: "Peter Teoh" <htmldeveloper@gmail.com>
Date: Thu, Feb 7, 2013 9:38 am
Subject: Creating scheduler
To: "jeshkumar555 at gmail.com" <jeshkumar555@gmail.com>
Cc: "kernelnewbies" <Kernelnewbies@kernelnewbies.org>


well...u asked for it:

http://abstract.cs.washington.edu/~shwetak/classes/ee472/assignments/lab2/lab2.pdf

http://www.cs.cmu.edu/~410-s07/p3/kernel.pdf

http://web.stonehill.edu/compsci/CS314/Assignments/Assignment0.pdf

http://www.cs.amherst.edu/~sfkaplan/courses/2012/spring/cs261/assignments/project-1.pdf

etc...googling returned me 27000 links....

On Thu, Feb 7, 2013 at 1:49 AM, jeshkumar555 at gmail.com <
jeshkumar555@gmail.com> wrote:

> Hi all :),
>
> Can anyone suggest a good tutorial to create our own scheduler ?
>
>
> Sent from my HTC
> Excuse for typo.
>
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
>


-- 
Regards,
Peter Teoh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130207/49f4281e/attachment.html 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Creating scheduler
  2013-02-06 17:49 jeshkumar555
  2013-02-06 18:16 ` Valdis.Kletnieks at vt.edu
@ 2013-02-07  4:08 ` Peter Teoh
  1 sibling, 0 replies; 6+ messages in thread
From: Peter Teoh @ 2013-02-07  4:08 UTC (permalink / raw)
  To: kernelnewbies

well...u asked for it:

http://abstract.cs.washington.edu/~shwetak/classes/ee472/assignments/lab2/lab2.pdf

http://www.cs.cmu.edu/~410-s07/p3/kernel.pdf

http://web.stonehill.edu/compsci/CS314/Assignments/Assignment0.pdf

http://www.cs.amherst.edu/~sfkaplan/courses/2012/spring/cs261/assignments/project-1.pdf

etc...googling returned me 27000 links....

On Thu, Feb 7, 2013 at 1:49 AM, jeshkumar555 at gmail.com <
jeshkumar555@gmail.com> wrote:

> Hi all :),
>
> Can anyone suggest a good tutorial to create our own scheduler ?
>
>
> Sent from my HTC
> Excuse for typo.
>
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
>


-- 
Regards,
Peter Teoh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130207/ed004af8/attachment.html 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Creating scheduler
  2013-02-06 19:40   ` Jonathan Neuschäfer
@ 2013-02-06 20:35     ` Valdis.Kletnieks at vt.edu
  0 siblings, 0 replies; 6+ messages in thread
From: Valdis.Kletnieks at vt.edu @ 2013-02-06 20:35 UTC (permalink / raw)
  To: kernelnewbies

On Wed, 06 Feb 2013 20:40:47 +0100, Jonathan Neusch?fer said:

> I'm sorry to ask, but don't you rather mean watts than watts per second?

There may indeed be a second order time component involved - for instance, a
cooling system that can handle 10 watts continuously, 20 watts for up to 30
seconds, or 40 watts for 10 seconds max. And of course, "40 watts steady for 10
seconds" is different from "averaging 40 watts but bouncing between 30 and 50
watts for 10 seconds" etc etc..

And of course, there's usually a per-system limit, and per-chip limits, and
your power/cooling budget constraints may force you to go for a higher value
on one to make the budget for the other (burn an extra 0.5 watts in chip A
in order to get Chip B under 0.87 watts type stuff)....

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 865 bytes
Desc: not available
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130206/831eb7f2/attachment.bin 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Creating scheduler
  2013-02-06 18:16 ` Valdis.Kletnieks at vt.edu
@ 2013-02-06 19:40   ` Jonathan Neuschäfer
  2013-02-06 20:35     ` Valdis.Kletnieks at vt.edu
  0 siblings, 1 reply; 6+ messages in thread
From: Jonathan Neuschäfer @ 2013-02-06 19:40 UTC (permalink / raw)
  To: kernelnewbies

On Wed, Feb 06, 2013 at 01:16:22PM -0500, Valdis.Kletnieks at vt.edu wrote:
> for high-density applications, there may be a upper limit on watts per second
> that you can cool, resulting in trade-offs being needed). Then there's cache

I'm sorry to ask, but don't you rather mean watts than watts per second?


Regards,
Jonathan Neusch?fer

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Creating scheduler
  2013-02-06 17:49 jeshkumar555
@ 2013-02-06 18:16 ` Valdis.Kletnieks at vt.edu
  2013-02-06 19:40   ` Jonathan Neuschäfer
  2013-02-07  4:08 ` Peter Teoh
  1 sibling, 1 reply; 6+ messages in thread
From: Valdis.Kletnieks at vt.edu @ 2013-02-06 18:16 UTC (permalink / raw)
  To: kernelnewbies

On Wed, 06 Feb 2013 23:19:26 +0530, jeshkumar555 at gmail.com said:
> Can anyone suggest a good tutorial to create our own scheduler ?

Doing an I/O scheduler is pretty trivial, and there's a number of
examples in-tree already to look at.

If you mean a CPU scheduler, the major reason why there's no tutorial
is because writing a non-toy scheduler is *hard*, and by and large
anybody who's a good enough kernel hacker to write a working scheduler
doesn't need a tutorial.

Why is it hard?  Lots of reasons.  Even on a single-core, single-thread
CPU, it's hard to go a good job of picking the next task to run, mostly
because tasks are so damned good at changing behavior.  You decide that
it would be good to run an I/O bound task, so you pick a task that went
into an I/O wait its last 12 times on the CPU - at which point the task
turns around and goes CPU bound crunching all the data it read in the
last 12 times. :)

You also have interactions with thermal issues and frequency governors
(usually, cranking to highest frequency and doing race-to-idle and then
dropping to lowest freq results in the lowest total energy use, but especially
for high-density applications, there may be a upper limit on watts per second
that you can cool, resulting in trade-offs being needed). Then there's cache
affinity issues, balancing load across cores on multi-socket systems, etc etc
etc...

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 865 bytes
Desc: not available
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130206/4ebaedf3/attachment.bin 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Creating scheduler
@ 2013-02-06 17:49 jeshkumar555
  2013-02-06 18:16 ` Valdis.Kletnieks at vt.edu
  2013-02-07  4:08 ` Peter Teoh
  0 siblings, 2 replies; 6+ messages in thread
From: jeshkumar555 @ 2013-02-06 17:49 UTC (permalink / raw)
  To: kernelnewbies

Hi all :),

Can anyone suggest a good tutorial to create our own scheduler ? 


Sent from my HTC
Excuse for typo.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130206/ecb1f6c7/attachment.html 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-02-07  4:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-07  4:45 Creating scheduler jeshkumar555
  -- strict thread matches above, loose matches on Subject: below --
2013-02-06 17:49 jeshkumar555
2013-02-06 18:16 ` Valdis.Kletnieks at vt.edu
2013-02-06 19:40   ` Jonathan Neuschäfer
2013-02-06 20:35     ` Valdis.Kletnieks at vt.edu
2013-02-07  4:08 ` Peter Teoh

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.