qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [GSoC/Outreachy QEMU project proposal]  Measure and Analyze QEMU Performance
@ 2020-01-18 14:08 Aleksandar Markovic
  2020-01-20 14:50 ` Stefan Hajnoczi
  2020-01-21  8:07 ` Lukáš Doktor
  0 siblings, 2 replies; 11+ messages in thread
From: Aleksandar Markovic @ 2020-01-18 14:08 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 2876 bytes --]


Hi, everybody.

I am going to propose several ideas for QEMU participation in GSoC/Outreachy in next few days. This is the first one. Please feel free to give an honest feedback.

Yours,
Aleksandar



Measure and Analyze Performance of
QEMU User and System Mode Emulation


PLANNED ACTIVITIES

PART I: (user mode)

   a) select around a dozen test programs (resembling components of SPEC benchmark, but must be open source, and preferably license compatible with QEMU); test programs should be distributed like this: 4-5 FPU CPU-intensive, 4-5 non-FPU CPU intensive, 1-2 I/O intensive;
   b) measure execution time and other performance data in user mode across all platforms for ToT:
       - try to improve performance if there is an obvious bottleneck (but this is unlikely);
       - develop tests that will be protection against performance regressions in future.
   c) measure execution time in user-mode for selected platforms for all QEMU versions in last 5 years:
       - confirm performance improvements and/or detect performance degradations.
   d) summarize all results in a comprehensive form, using also graphics/data visualization.

PART II: (system mode)

   a) measure execution time and other performance data for boot/shutdown cycle for selected machines for ToT:
       - try to improve performance if there is an obvious bottleneck;
       - develop tests that will be protection against performance regressions in future.
   b) summarize all results in a comprehensive form.


DELIVERABLES

1) Each maintainer for target will be given a list of top 25 functions in terms of spent host time for each benchmark described in the previous section. Additional information and observations will be also provided, if the judgment is they are useful and relevant.

2) Each maintainer for machine (that has successful boot/shutdown cycle) will be given a list of top 25 functions in terms of spent host time during boot/shutdown cycle. Additional information and observations will be also provided, if the judgment is they are useful and relevant.

3) The community will be given all devised performance measurement methods in the form of easily reproducible step-by-step setup and execution procedures.

(parts 1) and 2) will be, of course, published to everybody, maintainers are simply singled out as main recipients and decision-makers on possible next action items)

Deliverable will be distributed over wide time interval (in other words, they will not be presented just at the end of project, but gradually during project execution).


Mentor: Aleksandar Markovic (myself) (but, I am perfectly fine if somebody else wants to mentor the project, if interested)

Student: open


That would be all, feel free to ask for additional info and/or clarification.
 

[-- Attachment #2: Type: text/html, Size: 3482 bytes --]

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

* Re: [GSoC/Outreachy QEMU project proposal] Measure and Analyze QEMU Performance
  2020-01-18 14:08 [GSoC/Outreachy QEMU project proposal] Measure and Analyze QEMU Performance Aleksandar Markovic
@ 2020-01-20 14:50 ` Stefan Hajnoczi
  2020-01-21 14:07   ` Aleksandar Markovic
  2020-01-21  8:07 ` Lukáš Doktor
  1 sibling, 1 reply; 11+ messages in thread
From: Stefan Hajnoczi @ 2020-01-20 14:50 UTC (permalink / raw)
  To: Aleksandar Markovic; +Cc: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 572 bytes --]

On Sat, Jan 18, 2020 at 03:08:37PM +0100, Aleksandar Markovic wrote:
> 3) The community will be given all devised performance measurement methods in the form of easily reproducible step-by-step setup and execution procedures.

Tracking performance is a good idea and something that has not been done
upstream yet.  A few questions:

 * Will benchmarks be run automatically (e.g. nightly or weekly) on
   someone's hardware or does every TCG architecture maintainer need to
   run them manually for themselves?
 * Where will the benchmark result history be stored?

Stefan

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: [GSoC/Outreachy QEMU project proposal] Measure and Analyze QEMU Performance
  2020-01-18 14:08 [GSoC/Outreachy QEMU project proposal] Measure and Analyze QEMU Performance Aleksandar Markovic
  2020-01-20 14:50 ` Stefan Hajnoczi
@ 2020-01-21  8:07 ` Lukáš Doktor
  2020-01-21 14:37   ` Aleksandar Markovic
  1 sibling, 1 reply; 11+ messages in thread
From: Lukáš Doktor @ 2020-01-21  8:07 UTC (permalink / raw)
  To: Aleksandar Markovic, qemu-devel


[-- Attachment #1.1: Type: text/plain, Size: 4573 bytes --]

Dne 18. 01. 20 v 15:08 Aleksandar Markovic napsal(a):
> Hi, everybody.
> 
> I am going to propose several ideas for QEMU participation in GSoC/Outreachy in next few days. This is the first one. Please feel free to give an honest feedback.
> 
> Yours,
> Aleksandar
> 

Hello Aleksandr,

sounds like a good plan, I'd like to be involved as well.

Why? At Rad Hat I'm exploring a way to monitor qemu performance. At this point it's x86_64 whole system only, but it should be flexible enough to work on various setups. Good news is we're in a process of upstreamizing our setup so it might actually serve for the part II of your proposal. It's not ready yet as it contains many ugly and downstream parts, but I'm replacing the custom modules with Ansible and cleaning things from internal parts as having it upstream is a high priority at this point. Our motivation is to allow public upstream testing (again, starting with x86, but more will hopefully come).

Your proposal is fairly generic, I'm wondering which way it will turn. I like the part I, it might catch low-level changes and should lower the variability of results. In part II I'm a bit scared of how the scope will grow (based on what I saw in my experiment). You have host, host kernel, host system, qemu, guest kernel, guest system and than the tested app, which might result in a great jitter. Additionally qemu contains many features that need to be utilized, you have various disk formats, block devices, various passthrough options, ... as well as host/guest tune settings. It's gonna be hard to not to get lost in the depth and to deliver something useful while extendable for the future...

Anyway, please keep me in the loop and good luck with leading this into the right direction...

Regards,
Lukáš

> 
> 
> *Measure and Analyze Performance of
> QEMU User and System Mode Emulation*
> 
> 
> _/PLANNED ACTIVITIES/_
> 
> PART I: (user mode)
> 
>    a) select around a dozen test programs (resembling components of SPEC benchmark, but must be open source, and preferably license compatible with QEMU); test programs should be distributed like this: 4-5 FPU CPU-intensive, 4-5 non-FPU CPU intensive, 1-2 I/O intensive;
>    b) measure execution time and other performance data in user mode across all platforms for ToT:
>        - try to improve performance if there is an obvious bottleneck (but this is unlikely);
>        - develop tests that will be protection against performance regressions in future.
>    c) measure execution time in user-mode for selected platforms for all QEMU versions in last 5 years:
>        - confirm performance improvements and/or detect performance degradations.
>    d) summarize all results in a comprehensive form, using also graphics/data visualization.
> 
> PART II: (system mode)
> 
>    a) measure execution time and other performance data for boot/shutdown cycle for selected machines for ToT:
>        - try to improve performance if there is an obvious bottleneck;
>        - develop tests that will be protection against performance regressions in future.
>    b) summarize all results in a comprehensive form.
> 
> 
> /_DELIVERABLES_/
> 
> 1) Each maintainer for target will be given a list of top 25 functions in terms of spent host time for each benchmark described in the previous section. Additional information and observations will be also provided, if the judgment is they are useful and relevant.
> 
> 2) Each maintainer for machine (that has successful boot/shutdown cycle) will be given a list of top 25 functions in terms of spent host time during boot/shutdown cycle. Additional information and observations will be also provided, if the judgment is they are useful and relevant.
> 
> 3) The community will be given all devised performance measurement methods in the form of easily reproducible step-by-step setup and execution procedures.
> 
> (parts 1) and 2) will be, of course, published to everybody, maintainers are simply singled out as main recipients and decision-makers on possible next action items)
> 
> Deliverable will be distributed over wide time interval (in other words, they will not be presented just at the end of project, but gradually during project execution).
> 
> 
> /Mentor:/ Aleksandar Markovic (myself) (but, I am perfectly fine if somebody else wants to mentor the project, if interested)
> 
> /Student:/ open
> 
> 
> That would be all, feel free to ask for additional info and/or clarification.
>  



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: [GSoC/Outreachy QEMU project proposal] Measure and Analyze QEMU Performance
  2020-01-20 14:50 ` Stefan Hajnoczi
@ 2020-01-21 14:07   ` Aleksandar Markovic
  2020-01-22 11:28     ` Stefan Hajnoczi
  2020-01-27 18:42     ` Wainer dos Santos Moschetta
  0 siblings, 2 replies; 11+ messages in thread
From: Aleksandar Markovic @ 2020-01-21 14:07 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: Aleksandar Markovic, QEMU Developers

On Mon, Jan 20, 2020 at 3:51 PM Stefan Hajnoczi <stefanha@gmail.com> wrote:
>
> On Sat, Jan 18, 2020 at 03:08:37PM +0100, Aleksandar Markovic wrote:
> > 3) The community will be given all devised performance measurement methods in the form of easily reproducible step-by-step setup and execution procedures.
>
> Tracking performance is a good idea and something that has not been done
> upstream yet.

Thanks for the interest, Stefan!

>  A few questions:
>
>  * Will benchmarks be run automatically (e.g. nightly or weekly) on
>    someone's hardware or does every TCG architecture maintainer need to
>    run them manually for themselves?

If the community wants it, definitely yes. Once the methodology is
developed, it should be straightforward to setup nightly and/or weekly
benchmarks - that could definitely include sending mails with reports
to the entire list or just individuals or subgroups. The recipient
choice is just a matter or having decent criteria about
appropriateness of information within the message (e.g. not to flood
the list with the data most people are not really interested).

For linux-user tests, they are typically very quick, and nightly tests
are quite feasible to run. On someone hardware, of course, and
consistently always on the same hardware, if possible. If it makes
sense, one could setup multiple test beds with a variety of hardware
setups.

For system mode tests, I knoe they are much more difficult to
automate, and, on top of that, there could be greater risk of
hangs/crashes Also, considering the number of machines we support,
those tests could consume much more time - perhaps even one day would
not be sufficient, if we have many machines and boot/shutdown
variants. For these reason, perhaps weekly executions would be more
appropriate for them, and, in general, given greater complexity, the
expectation from system-mode performance tests should be better kept
quite low for now.

>  * Where will the benchmark result history be stored?
>

If emailing is set up, the results could be reconstructed from emails.
But, yes, it would be better if the result history is kept somewhere
on an internet-connected file server

Yours,
Aleksandar

> Stefan


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

* Re: [GSoC/Outreachy QEMU project proposal] Measure and Analyze QEMU Performance
  2020-01-21  8:07 ` Lukáš Doktor
@ 2020-01-21 14:37   ` Aleksandar Markovic
  0 siblings, 0 replies; 11+ messages in thread
From: Aleksandar Markovic @ 2020-01-21 14:37 UTC (permalink / raw)
  To: Lukáš Doktor; +Cc: Aleksandar Markovic, QEMU Developers

On Tue, Jan 21, 2020 at 9:08 AM Lukáš Doktor <ldoktor@redhat.com> wrote:
>
> Dne 18. 01. 20 v 15:08 Aleksandar Markovic napsal(a):
> > Hi, everybody.
> >
> > I am going to propose several ideas for QEMU participation in GSoC/Outreachy in next few days. This is the first one. Please feel free to give an honest feedback.
> >
> > Yours,
> > Aleksandar
> >
>
> Hello Aleksandr,
>
> sounds like a good plan, I'd like to be involved as well.
>

Sure, I am glad to heard this.

> Why? At Rad Hat I'm exploring a way to monitor qemu performance. At this point it's x86_64 whole system only, but it should be flexible enough to work on various setups. Good news is we're in a process of upstreamizing our setup so it might actually serve for the part II of your proposal. It's not ready yet as it contains many ugly and downstream parts, but I'm replacing the custom modules with Ansible and cleaning things from internal parts as having it upstream is a high priority at this point. Our motivation is to allow public upstream testing (again, starting with x86, but more will hopefully come).
>
> Your proposal is fairly generic, I'm wondering which way it will turn. I like the part I, it might catch low-level changes and should lower the variability of results. In part II I'm a bit scared of how the scope will grow (based on what I saw in my experiment). You have host, host kernel, host system, qemu, guest kernel, guest system and than the tested app, which might result in a great jitter. Additionally qemu contains many features that need to be utilized, you have various disk formats, block devices, various passthrough options, ... as well as host/guest tune settings. It's gonna be hard to not to get lost in the depth and to deliver something useful while extendable for the future...
>

My first impression is that your work and this proposal could be
viewed much more as complementary, rather than largely overlapping.

Yes, I am quite aware of the problem of data explosion, and I already
explore different possibilities of dealing with it.

Also, a student realistically can't do aweful lot of difficult work
for 3 or 4 months, so I plan to focus on simplicity, and the community
could further develop something more complex, if needed.

> Anyway, please keep me in the loop and good luck with leading this into the right direction...
>

Definitely, and thanks!

Best regards,
Aleksandar

> Regards,
> Lukáš
>
> >
> >
> > *Measure and Analyze Performance of
> > QEMU User and System Mode Emulation*
> >
> >
> > _/PLANNED ACTIVITIES/_
> >
> > PART I: (user mode)
> >
> >    a) select around a dozen test programs (resembling components of SPEC benchmark, but must be open source, and preferably license compatible with QEMU); test programs should be distributed like this: 4-5 FPU CPU-intensive, 4-5 non-FPU CPU intensive, 1-2 I/O intensive;
> >    b) measure execution time and other performance data in user mode across all platforms for ToT:
> >        - try to improve performance if there is an obvious bottleneck (but this is unlikely);
> >        - develop tests that will be protection against performance regressions in future.
> >    c) measure execution time in user-mode for selected platforms for all QEMU versions in last 5 years:
> >        - confirm performance improvements and/or detect performance degradations.
> >    d) summarize all results in a comprehensive form, using also graphics/data visualization.
> >
> > PART II: (system mode)
> >
> >    a) measure execution time and other performance data for boot/shutdown cycle for selected machines for ToT:
> >        - try to improve performance if there is an obvious bottleneck;
> >        - develop tests that will be protection against performance regressions in future.
> >    b) summarize all results in a comprehensive form.
> >
> >
> > /_DELIVERABLES_/
> >
> > 1) Each maintainer for target will be given a list of top 25 functions in terms of spent host time for each benchmark described in the previous section. Additional information and observations will be also provided, if the judgment is they are useful and relevant.
> >
> > 2) Each maintainer for machine (that has successful boot/shutdown cycle) will be given a list of top 25 functions in terms of spent host time during boot/shutdown cycle. Additional information and observations will be also provided, if the judgment is they are useful and relevant.
> >
> > 3) The community will be given all devised performance measurement methods in the form of easily reproducible step-by-step setup and execution procedures.
> >
> > (parts 1) and 2) will be, of course, published to everybody, maintainers are simply singled out as main recipients and decision-makers on possible next action items)
> >
> > Deliverable will be distributed over wide time interval (in other words, they will not be presented just at the end of project, but gradually during project execution).
> >
> >
> > /Mentor:/ Aleksandar Markovic (myself) (but, I am perfectly fine if somebody else wants to mentor the project, if interested)
> >
> > /Student:/ open
> >
> >
> > That would be all, feel free to ask for additional info and/or clarification.
> >
>
>


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

* Re: [GSoC/Outreachy QEMU project proposal] Measure and Analyze QEMU Performance
  2020-01-21 14:07   ` Aleksandar Markovic
@ 2020-01-22 11:28     ` Stefan Hajnoczi
  2020-01-26 16:50       ` Aleksandar Markovic
  2020-01-27 18:42     ` Wainer dos Santos Moschetta
  1 sibling, 1 reply; 11+ messages in thread
From: Stefan Hajnoczi @ 2020-01-22 11:28 UTC (permalink / raw)
  To: Aleksandar Markovic; +Cc: Aleksandar Markovic, QEMU Developers

[-- Attachment #1: Type: text/plain, Size: 2551 bytes --]

On Tue, Jan 21, 2020 at 03:07:53PM +0100, Aleksandar Markovic wrote:
> On Mon, Jan 20, 2020 at 3:51 PM Stefan Hajnoczi <stefanha@gmail.com> wrote:
> >
> > On Sat, Jan 18, 2020 at 03:08:37PM +0100, Aleksandar Markovic wrote:
> > > 3) The community will be given all devised performance measurement methods in the form of easily reproducible step-by-step setup and execution procedures.
> >
> > Tracking performance is a good idea and something that has not been done
> > upstream yet.
> 
> Thanks for the interest, Stefan!
> 
> >  A few questions:
> >
> >  * Will benchmarks be run automatically (e.g. nightly or weekly) on
> >    someone's hardware or does every TCG architecture maintainer need to
> >    run them manually for themselves?
> 
> If the community wants it, definitely yes. Once the methodology is
> developed, it should be straightforward to setup nightly and/or weekly
> benchmarks - that could definitely include sending mails with reports
> to the entire list or just individuals or subgroups. The recipient
> choice is just a matter or having decent criteria about
> appropriateness of information within the message (e.g. not to flood
> the list with the data most people are not really interested).
> 
> For linux-user tests, they are typically very quick, and nightly tests
> are quite feasible to run. On someone hardware, of course, and
> consistently always on the same hardware, if possible. If it makes
> sense, one could setup multiple test beds with a variety of hardware
> setups.
> 
> For system mode tests, I knoe they are much more difficult to
> automate, and, on top of that, there could be greater risk of
> hangs/crashes Also, considering the number of machines we support,
> those tests could consume much more time - perhaps even one day would
> not be sufficient, if we have many machines and boot/shutdown
> variants. For these reason, perhaps weekly executions would be more
> appropriate for them, and, in general, given greater complexity, the
> expectation from system-mode performance tests should be better kept
> quite low for now.
> 
> >  * Where will the benchmark result history be stored?
> >
> 
> If emailing is set up, the results could be reconstructed from emails.
> But, yes, it would be better if the result history is kept somewhere
> on an internet-connected file server

Thanks.  I don't want to overcomplicate this project.  The main thing is
to identify the stakeholders (TCG target maintainers?) and make sure
they are happy.

Stefan

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: [GSoC/Outreachy QEMU project proposal] Measure and Analyze QEMU Performance
  2020-01-22 11:28     ` Stefan Hajnoczi
@ 2020-01-26 16:50       ` Aleksandar Markovic
  2020-01-29 15:39         ` Stefan Hajnoczi
  0 siblings, 1 reply; 11+ messages in thread
From: Aleksandar Markovic @ 2020-01-26 16:50 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: Aleksandar Markovic, QEMU Developers

On Wed, Jan 22, 2020 at 12:28 PM Stefan Hajnoczi <stefanha@gmail.com> wrote:
>
> On Tue, Jan 21, 2020 at 03:07:53PM +0100, Aleksandar Markovic wrote:
> > On Mon, Jan 20, 2020 at 3:51 PM Stefan Hajnoczi <stefanha@gmail.com> wrote:
> > >
> > > On Sat, Jan 18, 2020 at 03:08:37PM +0100, Aleksandar Markovic wrote:
> > > > 3) The community will be given all devised performance measurement methods in the form of easily reproducible step-by-step setup and execution procedures.
> > >
> > > Tracking performance is a good idea and something that has not been done
> > > upstream yet.
> >
> > Thanks for the interest, Stefan!
> >
> > >  A few questions:
> > >
> > >  * Will benchmarks be run automatically (e.g. nightly or weekly) on
> > >    someone's hardware or does every TCG architecture maintainer need to
> > >    run them manually for themselves?
> >
> > If the community wants it, definitely yes. Once the methodology is
> > developed, it should be straightforward to setup nightly and/or weekly
> > benchmarks - that could definitely include sending mails with reports
> > to the entire list or just individuals or subgroups. The recipient
> > choice is just a matter or having decent criteria about
> > appropriateness of information within the message (e.g. not to flood
> > the list with the data most people are not really interested).
> >
> > For linux-user tests, they are typically very quick, and nightly tests
> > are quite feasible to run. On someone hardware, of course, and
> > consistently always on the same hardware, if possible. If it makes
> > sense, one could setup multiple test beds with a variety of hardware
> > setups.
> >
> > For system mode tests, I knoe they are much more difficult to
> > automate, and, on top of that, there could be greater risk of
> > hangs/crashes Also, considering the number of machines we support,
> > those tests could consume much more time - perhaps even one day would
> > not be sufficient, if we have many machines and boot/shutdown
> > variants. For these reason, perhaps weekly executions would be more
> > appropriate for them, and, in general, given greater complexity, the
> > expectation from system-mode performance tests should be better kept
> > quite low for now.
> >
> > >  * Where will the benchmark result history be stored?
> > >
> >
> > If emailing is set up, the results could be reconstructed from emails.
> > But, yes, it would be better if the result history is kept somewhere
> > on an internet-connected file server
>
> Thanks.  I don't want to overcomplicate this project.  The main thing is
> to identify the stakeholders (TCG target maintainers?) and make sure
> they are happy.
>

Yes, Stefan, TCG target maintainers would be the main stakeholders. To
some extent, various Machine maintainers would also be stakeholders,
but they will most likely come back to TCG target maintainers looking
for solution. In a literal sense, a number of maintainers were
initially going to be very unhappy seeing the results (for example,
seeing that the machine or entire target performs poorly compared to
similar machines/targets), but after a while they should and will
become happy realizing the problem was identified, and the culprit is
at least approximately determined.

I intentionally wanted to keep the project description simple in order
to be realistic and not develop high expectation among any of us. And
if the student proved to be capable, it will be very easy to add some
more useful tasks for him in this area, to be included in his/hers
GSoC/Outreachy activities.

He had just today one case of performance degradation identified manually:

https://lists.gnu.org/archive/html/qemu-devel/2020-01/msg06326.html

This project aims to do these kind of things easier, and possibly in
an automated way. Howard did this by manual measurements for one
particular setup, but this project will cover much much more.

Thanks, Stefan, again for your interest - and everything else!

Aleksandar



> Stefan


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

* Re: [GSoC/Outreachy QEMU project proposal] Measure and Analyze QEMU Performance
  2020-01-21 14:07   ` Aleksandar Markovic
  2020-01-22 11:28     ` Stefan Hajnoczi
@ 2020-01-27 18:42     ` Wainer dos Santos Moschetta
  1 sibling, 0 replies; 11+ messages in thread
From: Wainer dos Santos Moschetta @ 2020-01-27 18:42 UTC (permalink / raw)
  To: Aleksandar Markovic, Stefan Hajnoczi; +Cc: Aleksandar Markovic, QEMU Developers


On 1/21/20 12:07 PM, Aleksandar Markovic wrote:
> On Mon, Jan 20, 2020 at 3:51 PM Stefan Hajnoczi <stefanha@gmail.com> wrote:
>> On Sat, Jan 18, 2020 at 03:08:37PM +0100, Aleksandar Markovic wrote:
>>> 3) The community will be given all devised performance measurement methods in the form of easily reproducible step-by-step setup and execution procedures.
>> Tracking performance is a good idea and something that has not been done
>> upstream yet.
> Thanks for the interest, Stefan!
>
>>   A few questions:
>>
>>   * Will benchmarks be run automatically (e.g. nightly or weekly) on
>>     someone's hardware or does every TCG architecture maintainer need to
>>     run them manually for themselves?
> If the community wants it, definitely yes. Once the methodology is
> developed, it should be straightforward to setup nightly and/or weekly
> benchmarks - that could definitely include sending mails with reports
> to the entire list or just individuals or subgroups. The recipient
> choice is just a matter or having decent criteria about
> appropriateness of information within the message (e.g. not to flood
> the list with the data most people are not really interested).
>
> For linux-user tests, they are typically very quick, and nightly tests
> are quite feasible to run. On someone hardware, of course, and
> consistently always on the same hardware, if possible. If it makes
> sense, one could setup multiple test beds with a variety of hardware
> setups.
>
> For system mode tests, I knoe they are much more difficult to
> automate, and, on top of that, there could be greater risk of
> hangs/crashes Also, considering the number of machines we support,
> those tests could consume much more time - perhaps even one day would
> not be sufficient, if we have many machines and boot/shutdown
> variants. For these reason, perhaps weekly executions would be more
> appropriate for them, and, in general, given greater complexity, the
> expectation from system-mode performance tests should be better kept
> quite low for now.
>
>>   * Where will the benchmark result history be stored?
>>
> If emailing is set up, the results could be reconstructed from emails.
> But, yes, it would be better if the result history is kept somewhere
> on an internet-connected file server


If you eventually choose Gitlab CI for weekly/nightly executions then 
results can be simply archived [1].

Also it can be attached machines in Gitlab CI then running the 
system-mode experiment always on same environment.

[1] https://docs.gitlab.com/ee/user/project/pipelines/job_artifacts.html

IMHO, it is a very good GSoC proposal.

- Wainer

>
> Yours,
> Aleksandar
>
>> Stefan



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

* Re: [GSoC/Outreachy QEMU project proposal] Measure and Analyze QEMU Performance
  2020-01-26 16:50       ` Aleksandar Markovic
@ 2020-01-29 15:39         ` Stefan Hajnoczi
  2020-02-04 16:52           ` Aleksandar Markovic
  0 siblings, 1 reply; 11+ messages in thread
From: Stefan Hajnoczi @ 2020-01-29 15:39 UTC (permalink / raw)
  To: Aleksandar Markovic; +Cc: Aleksandar Markovic, QEMU Developers

[-- Attachment #1: Type: text/plain, Size: 4413 bytes --]

On Sun, Jan 26, 2020 at 05:50:24PM +0100, Aleksandar Markovic wrote:
> On Wed, Jan 22, 2020 at 12:28 PM Stefan Hajnoczi <stefanha@gmail.com> wrote:
> >
> > On Tue, Jan 21, 2020 at 03:07:53PM +0100, Aleksandar Markovic wrote:
> > > On Mon, Jan 20, 2020 at 3:51 PM Stefan Hajnoczi <stefanha@gmail.com> wrote:
> > > >
> > > > On Sat, Jan 18, 2020 at 03:08:37PM +0100, Aleksandar Markovic wrote:
> > > > > 3) The community will be given all devised performance measurement methods in the form of easily reproducible step-by-step setup and execution procedures.
> > > >
> > > > Tracking performance is a good idea and something that has not been done
> > > > upstream yet.
> > >
> > > Thanks for the interest, Stefan!
> > >
> > > >  A few questions:
> > > >
> > > >  * Will benchmarks be run automatically (e.g. nightly or weekly) on
> > > >    someone's hardware or does every TCG architecture maintainer need to
> > > >    run them manually for themselves?
> > >
> > > If the community wants it, definitely yes. Once the methodology is
> > > developed, it should be straightforward to setup nightly and/or weekly
> > > benchmarks - that could definitely include sending mails with reports
> > > to the entire list or just individuals or subgroups. The recipient
> > > choice is just a matter or having decent criteria about
> > > appropriateness of information within the message (e.g. not to flood
> > > the list with the data most people are not really interested).
> > >
> > > For linux-user tests, they are typically very quick, and nightly tests
> > > are quite feasible to run. On someone hardware, of course, and
> > > consistently always on the same hardware, if possible. If it makes
> > > sense, one could setup multiple test beds with a variety of hardware
> > > setups.
> > >
> > > For system mode tests, I knoe they are much more difficult to
> > > automate, and, on top of that, there could be greater risk of
> > > hangs/crashes Also, considering the number of machines we support,
> > > those tests could consume much more time - perhaps even one day would
> > > not be sufficient, if we have many machines and boot/shutdown
> > > variants. For these reason, perhaps weekly executions would be more
> > > appropriate for them, and, in general, given greater complexity, the
> > > expectation from system-mode performance tests should be better kept
> > > quite low for now.
> > >
> > > >  * Where will the benchmark result history be stored?
> > > >
> > >
> > > If emailing is set up, the results could be reconstructed from emails.
> > > But, yes, it would be better if the result history is kept somewhere
> > > on an internet-connected file server
> >
> > Thanks.  I don't want to overcomplicate this project.  The main thing is
> > to identify the stakeholders (TCG target maintainers?) and make sure
> > they are happy.
> >
> 
> Yes, Stefan, TCG target maintainers would be the main stakeholders. To
> some extent, various Machine maintainers would also be stakeholders,
> but they will most likely come back to TCG target maintainers looking
> for solution. In a literal sense, a number of maintainers were
> initially going to be very unhappy seeing the results (for example,
> seeing that the machine or entire target performs poorly compared to
> similar machines/targets), but after a while they should and will
> become happy realizing the problem was identified, and the culprit is
> at least approximately determined.
> 
> I intentionally wanted to keep the project description simple in order
> to be realistic and not develop high expectation among any of us. And
> if the student proved to be capable, it will be very easy to add some
> more useful tasks for him in this area, to be included in his/hers
> GSoC/Outreachy activities.
> 
> He had just today one case of performance degradation identified manually:
> 
> https://lists.gnu.org/archive/html/qemu-devel/2020-01/msg06326.html
> 
> This project aims to do these kind of things easier, and possibly in
> an automated way. Howard did this by manual measurements for one
> particular setup, but this project will cover much much more.
> 
> Thanks, Stefan, again for your interest - and everything else!

Please go ahead and add this project idea to the wiki:
https://wiki.qemu.org/Google_Summer_of_Code_2020#How_to_add_a_project_idea

Stefan

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: [GSoC/Outreachy QEMU project proposal] Measure and Analyze QEMU Performance
  2020-01-29 15:39         ` Stefan Hajnoczi
@ 2020-02-04 16:52           ` Aleksandar Markovic
  2020-02-05 10:44             ` Stefan Hajnoczi
  0 siblings, 1 reply; 11+ messages in thread
From: Aleksandar Markovic @ 2020-02-04 16:52 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: Aleksandar Markovic, QEMU Developers

[-- Attachment #1: Type: text/plain, Size: 445 bytes --]

>
> Please go ahead and add this project idea to the wiki:
> https://wiki.qemu.org/Google_Summer_of_Code_2020#How_to_add_a_project_idea
>

Hi, Stefan,

I set up the proposal wiki page:

https://wiki.qemu.org/Google_Summer_of_Code_2020#Performance_Measurement.2C_Analysis.2C_and_Presentation

Anything else I need to do?

I see Feb 5, 20h European is the "organization deadline":
https://summerofcode.withgoogle.com/

Yours,
Aleksandar

> Stefan

[-- Attachment #2: Type: text/html, Size: 871 bytes --]

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

* Re: [GSoC/Outreachy QEMU project proposal] Measure and Analyze QEMU Performance
  2020-02-04 16:52           ` Aleksandar Markovic
@ 2020-02-05 10:44             ` Stefan Hajnoczi
  0 siblings, 0 replies; 11+ messages in thread
From: Stefan Hajnoczi @ 2020-02-05 10:44 UTC (permalink / raw)
  To: Aleksandar Markovic; +Cc: Aleksandar Markovic, QEMU Developers

[-- Attachment #1: Type: text/plain, Size: 498 bytes --]

On Tue, Feb 04, 2020 at 05:52:09PM +0100, Aleksandar Markovic wrote:
> >
> > Please go ahead and add this project idea to the wiki:
> > https://wiki.qemu.org/Google_Summer_of_Code_2020#How_to_add_a_project_idea
> >
> 
> Hi, Stefan,
> 
> I set up the proposal wiki page:
> 
> https://wiki.qemu.org/Google_Summer_of_Code_2020#Performance_Measurement.2C_Analysis.2C_and_Presentation
> 
> Anything else I need to do?

Thanks!  Your idea is included in QEMU's GSoC 2020 effort.

Stefan

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

end of thread, other threads:[~2020-02-05 10:45 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-18 14:08 [GSoC/Outreachy QEMU project proposal] Measure and Analyze QEMU Performance Aleksandar Markovic
2020-01-20 14:50 ` Stefan Hajnoczi
2020-01-21 14:07   ` Aleksandar Markovic
2020-01-22 11:28     ` Stefan Hajnoczi
2020-01-26 16:50       ` Aleksandar Markovic
2020-01-29 15:39         ` Stefan Hajnoczi
2020-02-04 16:52           ` Aleksandar Markovic
2020-02-05 10:44             ` Stefan Hajnoczi
2020-01-27 18:42     ` Wainer dos Santos Moschetta
2020-01-21  8:07 ` Lukáš Doktor
2020-01-21 14:37   ` Aleksandar Markovic

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).