Re: [RFC PATCH v3 1/3] sched: schedule balance map foundation
From: Michael Wang
Date: Thu Feb 21 2013 - 21:53:31 EST
On 02/21/2013 07:37 PM, Peter Zijlstra wrote:
> On Thu, 2013-02-21 at 12:58 +0800, Michael Wang wrote:
>> You are right, it cost space in order to accelerate the system, I've
>> calculated the cost once before (I'm really not good at this, please
>> me know if I make any silly calculation...),
> The exact size isn't that important, but its trivial to see its quadric.
> You have a NR_CPUS array per-cpu, thus O(n^2).
> ( side note; invest in getting good at complexity analysis -- or at
> least competent, its the single most important aspect of programming. )
>> And the final cost is 3000 int and 1030000 pointer, and some padding,
>> but won't bigger than 10M, not a big deal for a system with 1000 cpu
> Maybe, but quadric stuff should be frowned upon at all times, these
> things tend to explode when you least expect it.
> For instance, IIRC the biggest single image system SGI booted had 16k
> cpus in there, that ends up at something like 14+14+3=31 aka as 2G of
> storage just for your lookup -- that seems somewhat preposterous.
Honestly, if I'm a admin who own 16k cpus system (I could not even image
how many memory it could have...), I really prefer to exchange 2G memory
to gain some performance.
I see your point here, the cost of space will grow exponentially, but
the memory of system will also grow, and according to my understanding ,
> The domain levels are roughly O(log n) related to the total cpus, so
> what you're doing is replacing an O(log n) lookup with an O(1) lookup,
> but at the cost of O(n^2) storage.
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/