2009-04-01 14:59:10

by Hitoshi Mitake

[permalink] [raw]
Subject: [RFC] Improving scheduler for asymmetric multi-core processor in Google's summer of code

Hi,

I found an interesting problem, scheduling on Asymmetric multi-core processor.

According to this paper,

http://portal.acm.org/citation.cfm?id=1362694&dl=GUIDE&coll=GUIDE&CFID=28487975&CFTOKEN=68150071

taking performance asymmetry into consideration on multi-core CPUs can
improve scheduler performance.
(And I think discarding this could have bad consequences.)

So I have a question:
Is the current scheduler of Linux aware of possible performance
asymmetry of the cores?
By performance asymmetry I mean a case where different cores run on
different frequencies.

If something tackling this issue is not implemented yet,
I would like to work on that as a project of Google's summer of code.

Thanks


2009-04-02 11:13:01

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [RFC] Improving scheduler for asymmetric multi-core processor in Google's summer of code

On Wed, 2009-04-01 at 23:58 +0900, Hitoshi Mitake wrote:
> Hi,
>
> I found an interesting problem, scheduling on Asymmetric multi-core processor.
>
> According to this paper,
>
> http://portal.acm.org/citation.cfm?id=1362694&dl=GUIDE&coll=GUIDE&CFID=28487975&CFTOKEN=68150071
>
> taking performance asymmetry into consideration on multi-core CPUs can
> improve scheduler performance.
> (And I think discarding this could have bad consequences.)
>
> So I have a question:
> Is the current scheduler of Linux aware of possible performance
> asymmetry of the cores?

It does not.

> By performance asymmetry I mean a case where different cores run on
> different frequencies.
>
> If something tackling this issue is not implemented yet,
> I would like to work on that as a project of Google's summer of code.

Have at it.

Its a rather delicate business though and should also include scaling
balancing decisions based on time taken by IRQs and RT tasks as well as
incorporate feedback from the cpu. The latter includes things like
cpufreq, but also effective work done by threads on a core.

Its been on my todo list for quite a while, but haven't managed to get
something robust together.

2009-04-02 11:54:04

by Hitoshi Mitake

[permalink] [raw]
Subject: Re: [RFC] Improving scheduler for asymmetric multi-core processor in Google's summer of code

On Thu, Apr 2, 2009 at 20:13, Peter Zijlstra <[email protected]> wrote:
> On Wed, 2009-04-01 at 23:58 +0900, Hitoshi Mitake wrote:
>> Hi,
>>
>> I found an interesting problem, scheduling on Asymmetric multi-core processor.
>>
>> According to this paper,
>>
>> http://portal.acm.org/citation.cfm?id=1362694&dl=GUIDE&coll=GUIDE&CFID=28487975&CFTOKEN=68150071
>>
>> taking performance asymmetry into consideration on multi-core CPUs can
>> improve scheduler performance.
>> (And I think discarding this could have bad consequences.)
>>
>> So I have a question:
>> Is the current scheduler of Linux aware of possible performance
>> asymmetry of the cores?
>
> It does not.
>
>> By performance asymmetry I mean a case where different cores run on
>> different frequencies.
>>
>> If something tackling this issue is not implemented yet,
>> I would like to work on that as a project of Google's summer of code.
>
> Have at it.
>
> Its a rather delicate business though and should also include scaling
> balancing decisions based on time taken by IRQs and RT tasks as well as
> incorporate feedback from the cpu. The latter includes things like
> cpufreq, but also effective work done by threads on a core.
>
> Its been on my todo list for quite a while, but haven't managed to get
> something robust together.
>

Amithash and Peter,

I evaluated the performance of Linux on ASMP.
I made web page to describe this:
http://www.dcl.info.waseda.ac.jp/~mitake/asmp/
because I want to use some pictures for easy to read.
(Sorry for my broken English! I'm Japanese and not good at English.)

And it seems that there's no problem at least on my evaluation.
So I can't define problem clearly now. I pass this year's
GSoC.(Deadline is coming soon.)

But I'll continue to research ASMP as a private project.
As Peter told, this is delicate business.
For example, this may be more difficult problem when realtime task exists.
(Setting frequency low may be fatal for deadline of RT tasks.)

Thanks a lot!

Hitoshi

2009-04-03 14:56:13

by Hitoshi Mitake

[permalink] [raw]
Subject: Re: [RFC] Improving scheduler for asymmetric multi-core processor in Google's summer of code

On Fri, Apr 3, 2009 at 01:46, Amithash Prasad <[email protected]> wrote:
> Yes, I have something similar up going towards my master's thesis.
> But in the beginning I chose to have it as a kernel module rather than in
> the kernel, and as a direct?consequence, it is a mess with kprobes
> everywhere.
> And as Peter mentioned it is very delicate. I have not even touched on all
> possible aspects and not a bit proud about my code. I will have more
> detailed performance graphs, and my?defense?is in 2 weeks. Once that is
> over, I will share the results with you.
> As far as I have noticed, the scheduler does have NUMA support.

It's wonderful for me. I'm looking forward to watching your result.
More power to you!

>
> On Thu, Apr 2, 2009 at 5:53 AM, Hitoshi Mitake <[email protected]> wrote:
>>
>> On Thu, Apr 2, 2009 at 20:13, Peter Zijlstra <[email protected]> wrote:
>> > On Wed, 2009-04-01 at 23:58 +0900, Hitoshi Mitake wrote:
>> >> Hi,
>> >>
>> >> I found an interesting problem, scheduling on Asymmetric multi-core
>> >> processor.
>> >>
>> >> According to this paper,
>> >>
>> >>
>> >> http://portal.acm.org/citation.cfm?id=1362694&dl=GUIDE&coll=GUIDE&CFID=28487975&CFTOKEN=68150071
>> >>
>> >> taking performance asymmetry into consideration on multi-core CPUs can
>> >> improve scheduler performance.
>> >> (And I think discarding this could have bad consequences.)
>> >>
>> >> So I have a question:
>> >> Is the current scheduler of Linux aware of possible performance
>> >> asymmetry of the cores?
>> >
>> > It does not.
>> >
>> >> By performance asymmetry I mean a case where different cores run on
>> >> different frequencies.
>> >>
>> >> If something tackling this issue is not implemented yet,
>> >> I would like to work on that as a project of Google's summer of code.
>> >
>> > Have at it.
>> >
>> > Its a rather delicate business though and should also include scaling
>> > balancing decisions based on time taken by IRQs and RT tasks as well as
>> > incorporate feedback from the cpu. The latter includes things like
>> > cpufreq, but also effective work done by threads on a core.
>> >
>> > Its been on my todo list for quite a while, but haven't managed to get
>> > something robust together.
>> >
>>
>> Amithash and Peter,
>>
>> I evaluated the performance of Linux on ASMP.
>> I made web page to describe this:
>> http://www.dcl.info.waseda.ac.jp/~mitake/asmp/
>> because I want to use some pictures for easy to read.
>> (Sorry for my broken English! I'm Japanese and not good at English.)
>>
>> And it seems that there's no problem at least on my evaluation.
>> So I can't define problem clearly now. I pass this year's
>> GSoC.(Deadline is coming soon.)
>>
>> But I'll continue to research ASMP as a private project.
>> As Peter told, this is delicate business.
>> For example, this may be more difficult problem when realtime task exists.
>> (Setting frequency low may be fatal for deadline of RT tasks.)
>>
>> Thanks a lot!
>>
>> Hitoshi
>
>
>
> --
> Amithash E. Prasad
> ECE Department, CU
> http://eces.colorado.edu/~prasadae
>