Re: [PATCH v3 1/3] cpufreq: ondemand: Change the calculation of targetfrequency

From: Stratos Karafotis
Date: Thu Jun 13 2013 - 17:22:34 EST


Hi Rafael,

On 06/11/2013 02:24 AM, Rafael J. Wysocki wrote:
> On Tuesday, June 11, 2013 12:57:26 AM Stratos Karafotis wrote:
>> On 06/09/2013 11:58 PM, Rafael J. Wysocki wrote:
>>> Well, this means that your changes may hurt performance if the load comes and
>>> goes in spikes, which is not so good. The fact that they cause less energy to
>>> be used at the same time kind of balance that, though. [After all, we're
>>> talking about the ondemand governor which should be used if the user wants to
>>> sacrifice some performance for energy savings.]
>>>
>>> It would be interesting to see if the picture changes for different time
>>> intervals in your test program (e.g. loop duration that is not a multiple of
>>> sampling_rate and sleep times different from 5000 us) to rule out any random
>>> coincidences.
>>>
>>> Can you possibly prepare a graph showing both the execution time and energy
>>> consumption for several different loop durations in your program (let's keep
>>> the 5000 us sleep for now), including multiples of sampling_rate as well as
>>> some other durations?
>>
>> Hi,
>>
>> I tested different loop durations with my program from 1,000us to 1,000,000us.
>> The logic is almost the same with the previous test:
>>
>> 1) Use a 'for' loop to a period T (~ 1000-1000000us)
>> 2) sleep for 5000us
>> 3) Repeat steps 1-2, 50 times.
>> 4) sleep for 1s
>> 5) Repeat 1-4, 5 times.
>>
>> The results:
>> https://docs.google.com/spreadsheet/ccc?key=0AnMfNYUV1k0ddE13ZUtYdGs2dUVRdG00bVRVT3JScWc&usp=sharing
>>
>> Sheet1 (ProcessX1) includes the results from the test program running
>> as single copy. The second one (ProcessX4) includes the results from the test
>> program running it in 4 copies in parallel (using a bash script that waits
>> the end of execution).
>>
>> Graphs show the difference(%) in total execution time and total energy without
>> and with the patch.
>> Negative values mean that the test *with* the patch had better performance or
>> used less energy.
>>
>> Test shows that below sampling rate (10000us in my config), ondemand with this
>> patch behaves better (both in performance and consumption).
>> Though, in this test, for loads with 10000us < duration <= 200000us ondemand
>> behaves better without the patch.
>
> Thanks for these results!
>
> Well, I'd say that this doesn't look rosy any more, so the jury is still out.
>
> We need more testing with different workloads and on different hardware. I'll
> try to arrange something to that end.

Please let me share some more test results using aim9 benchmark suite:
https://docs.google.com/spreadsheet/ccc?key=0AnMfNYUV1k0ddDdGdlJyUHpqT2xGY1lBOEt2UEVnNlE&usp=sharing

Each test was running for 10sec.
Total execution time with and without the patch was almost identical, which is
expected since the tests in aim9 run for a specific period.
The energy during the test run was increased by 0.43% with the patch.
The performance was increased by 1.25% (average) with this patch.

Thanks,
Stratos
--
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/