service VM ohne GUI einzulogen


Jianjie Lin
 

Hi Acrn Community,

By evaluating the performance of Our whiskey lake board with acrn hypervisor.

I have two questions about the performance in terms of gpu and cpu:

1.       Since the igpu in our board is not so powerful. Therefore, we would like to log in the Acrn hypervisor (service VM) without Gui.  Do you know how to configure the acrn hypervisor?

2.       Besides, we compare the uos with different number of assigned cpus, and run the same openvino application on this UOS.
But we found, there has no improvement for the uos with more cpus. It should not happen. Do you know why?

Interestingly, I changed the original industry scenario file so that the each uos can be assigned with more cpus (the default setting is each uos can be assigned with maximal 2 cpus). But we found, the performance is even worse than the less cpus.

 

Thank you very much for your support.

 

Cheers

Jianjie Lin

------------------------------------------------------------------

 


Geoffroy Van Cutsem
 

Hi Jianjie,

 

Regarding #1, you don’t need to modify the hypervisor for this. You can reconfigure the Service VM OS to boot in console mode. Assuming you are using Ubuntu, you can do so using “sudo systemctl set-default multi-user”

 

Regarding #2, I’m assuming that you did, but can you confirm that you verified that the User VM had the correct number of vCPUs assigned to it? (checking ‘lspcu’, or in ‘/proc/cpuinfo’).

 

I am not an expert on OpenVINO, but have you run a similar test in a native environment?

 

What version of ACRN are you using? The vCPUs you are assigning to the User VM are not shared anymore I’m assuming, is that correct?

 

Thanks!
Geoffroy

 

From: acrn-users@... <acrn-users@...> On Behalf Of Jianjie Lin
Sent: Monday, September 20, 2021 7:20 pm
To: acrn-users@...
Subject: [acrn-users] service VM ohne GUI einzulogen

 

Hi Acrn Community,

By evaluating the performance of Our whiskey lake board with acrn hypervisor.

I have two questions about the performance in terms of gpu and cpu:

  1. Since the igpu in our board is not so powerful. Therefore, we would like to log in the Acrn hypervisor (service VM) without Gui.  Do you know how to configure the acrn hypervisor?
  2. Besides, we compare the uos with different number of assigned cpus, and run the same openvino application on this UOS.
    But we found, there has no improvement for the uos with more cpus. It should not happen. Do you know why?

Interestingly, I changed the original industry scenario file so that the each uos can be assigned with more cpus (the default setting is each uos can be assigned with maximal 2 cpus). But we found, the performance is even worse than the less cpus.

 

Thank you very much for your support.

 

Cheers

Jianjie Lin

------------------------------------------------------------------

 


Jianjie Lin
 

Hi Geoffroy,

 

Thank you very much for your reply

Regarding #1, you don’t need to modify the hypervisor for this. You can reconfigure the Service VM OS to boot in console mode. Assuming you are using Ubuntu, you can do so using “sudo systemctl set-default multi-user”

è Thank you for your suggestion

Regarding #2, I’m assuming that you did, but can you confirm that you verified that the User VM had the correct number of vCPUs assigned to it? (checking ‘lspcu’, or in ‘/proc/cpuinfo’).

è lspcu, you mean lscpu? We assign the four cores to the uos, and lscpu (or cat /proc/cpuinfo) also shows four cores. Besides, I am curious to ask, since we assign four cores to uos and have eight cores in total. (actually four physical core, and due to the hyperthreading, we have eight cores). But we found that we still get eight cores after we launch the uos and use the command lscpu in the service VM. Is it correct?

I am not an expert on OpenVINO, but have you run a similar test in a native environment?

è Yes, we test in the native environment, it can have almost 32 fps, but we can only get 0.8 fps in the uos. There has a big gap.

 

What version of ACRN are you using? The vCPUs you are assigning to the User VM are not shared anymore I’m assuming, is that correct?

è We use the v2.0 for using the gvt-g.  for evaluating, we just launch one uos, I am assuming that service vm does not use “those vcpu.”

 

Thanks!

Jianjie Lin

 

Von: acrn-users@... [mailto:acrn-users@...] Im Auftrag von Geoffroy Van Cutsem
Gesendet: Dienstag, 21. September 2021 09:42
An: acrn-users@...
Betreff: Re: [acrn-users] service VM ohne GUI einzulogen

 

Hi Jianjie,

 

Regarding #1, you don’t need to modify the hypervisor for this. You can reconfigure the Service VM OS to boot in console mode. Assuming you are using Ubuntu, you can do so using “sudo systemctl set-default multi-user”

 

Regarding #2, I’m assuming that you did, but can you confirm that you verified that the User VM had the correct number of vCPUs assigned to it? (checking ‘lspcu’, or in ‘/proc/cpuinfo’).

 

I am not an expert on OpenVINO, but have you run a similar test in a native environment?

 

What version of ACRN are you using? The vCPUs you are assigning to the User VM are not shared anymore I’m assuming, is that correct?

 

Thanks!
Geoffroy

 

From: acrn-users@... <acrn-users@...> On Behalf Of Jianjie Lin
Sent: Monday, September 20, 2021 7:20 pm
To: acrn-users@...
Subject: [acrn-users] service VM ohne GUI einzulogen

 

Hi Acrn Community,

By evaluating the performance of Our whiskey lake board with acrn hypervisor.

I have two questions about the performance in terms of gpu and cpu:

  1. Since the igpu in our board is not so powerful. Therefore, we would like to log in the Acrn hypervisor (service VM) without Gui.  Do you know how to configure the acrn hypervisor?
  2. Besides, we compare the uos with different number of assigned cpus, and run the same openvino application on this UOS.
    But we found, there has no improvement for the uos with more cpus. It should not happen. Do you know why?

Interestingly, I changed the original industry scenario file so that the each uos can be assigned with more cpus (the default setting is each uos can be assigned with maximal 2 cpus). But we found, the performance is even worse than the less cpus.

 

Thank you very much for your support.

 

Cheers

Jianjie Lin

------------------------------------------------------------------

 


Geoffroy Van Cutsem
 

Hi Jianjie,

 

 

From: acrn-users@... <acrn-users@...> On Behalf Of Jianjie Lin
Sent: Tuesday, September 21, 2021 11:05 am
To: acrn-users@...
Subject: Re: [acrn-users] service VM ohne GUI einzulogen

 

Hi Geoffroy,

 

Thank you very much for your reply

Regarding #1, you don’t need to modify the hypervisor for this. You can reconfigure the Service VM OS to boot in console mode. Assuming you are using Ubuntu, you can do so using “sudo systemctl set-default multi-user”

  • Thank you for your suggestion

 

Regarding #2, I’m assuming that you did, but can you confirm that you verified that the User VM had the correct number of vCPUs assigned to it? (checking ‘lspcu’, or in ‘/proc/cpuinfo’).

  • lspcu, you mean lscpu? We assign the four cores to the uos, and lscpu (or cat /proc/cpuinfo) also shows four cores. Besides, I am curious to ask, since we assign four cores to uos and have eight cores in total. (actually four physical core, and due to the hyperthreading, we have eight cores). But we found that we still get eight cores after we launch the uos and use the command lscpu in the service VM. Is it correct?

[Geoffroy] You’re right, I meant ‘lscpu’ :-) Does that mean that you initially see 8 CPUs in the Service VM, and then 4 after you’ve launched the User VM (which has 4 cores assigned)? For the best performance, you would want to also make sure that all cores (hyperthreading) from a physical core are assigned to the same VM (either Service or User VM). A hyper-threading is not quite the same as a physical core and there are resources shared so performance will be impacted. It may be a good idea to also run your tests with hyper-threading turned off (in which case you’ll have a total of 4 cores to play with) to see if you see the same performance degradation when increasing the number of cores given to the User VM.

 

I am not an expert on OpenVINO, but have you run a similar test in a native environment?

  • Yes, we test in the native environment, it can have almost 32 fps, but we can only get 0.8 fps in the uos. There has a big gap.

[Geoffroy] Is that using any acceleration (such as GPU, etc.) in the native environment? 

 

What version of ACRN are you using? The vCPUs you are assigning to the User VM are not shared anymore I’m assuming, is that correct?

  • We use the v2.0 for using the gvt-g.  for evaluating, we just launch one uos, I am assuming that service vm does not use “those vcpu.”

[Geoffroy] The launch script typically offlines the CPUs it will give to the User VM. Otherwise I _think_ that the Service VM may still be using them. Are you setting any CPU affinity in your scenario file and/or via the launch script. It may be good actually if you could share your launch script and scenario file.

 

Thanks!

Jianjie Lin

 

Von: acrn-users@... [mailto:acrn-users@...] Im Auftrag von Geoffroy Van Cutsem
Gesendet: Dienstag, 21. September 2021 09:42
An: acrn-users@...
Betreff: Re: [acrn-users] service VM ohne GUI einzulogen

 

Hi Jianjie,

 

Regarding #1, you don’t need to modify the hypervisor for this. You can reconfigure the Service VM OS to boot in console mode. Assuming you are using Ubuntu, you can do so using “sudo systemctl set-default multi-user”

 

Regarding #2, I’m assuming that you did, but can you confirm that you verified that the User VM had the correct number of vCPUs assigned to it? (checking ‘lspcu’, or in ‘/proc/cpuinfo’).

 

I am not an expert on OpenVINO, but have you run a similar test in a native environment?

 

What version of ACRN are you using? The vCPUs you are assigning to the User VM are not shared anymore I’m assuming, is that correct?

 

Thanks!
Geoffroy

 

From: acrn-users@... <acrn-users@...> On Behalf Of Jianjie Lin
Sent: Monday, September 20, 2021 7:20 pm
To: acrn-users@...
Subject: [acrn-users] service VM ohne GUI einzulogen

 

Hi Acrn Community,

By evaluating the performance of Our whiskey lake board with acrn hypervisor.

I have two questions about the performance in terms of gpu and cpu:

  1. Since the igpu in our board is not so powerful. Therefore, we would like to log in the Acrn hypervisor (service VM) without Gui.  Do you know how to configure the acrn hypervisor?
  2. Besides, we compare the uos with different number of assigned cpus, and run the same openvino application on this UOS.
    But we found, there has no improvement for the uos with more cpus. It should not happen. Do you know why?

Interestingly, I changed the original industry scenario file so that the each uos can be assigned with more cpus (the default setting is each uos can be assigned with maximal 2 cpus). But we found, the performance is even worse than the less cpus.

 

Thank you very much for your support.

 

Cheers

Jianjie Lin

------------------------------------------------------------------

 


Jianjie Lin
 

Hi Geoffory,

 

Von: acrn-users@... [mailto:acrn-users@...] Im Auftrag von Geoffroy Van Cutsem
Gesendet: Dienstag, 21. September 2021 11:32
An: acrn-users@...
Betreff: Re: [acrn-users] service VM ohne GUI einzulogen

 

Hi Jianjie,

 

 

From: acrn-users@... <acrn-users@...> On Behalf Of Jianjie Lin
Sent: Tuesday, September 21, 2021 11:05 am
To: acrn-users@...
Subject: Re: [acrn-users] service VM ohne GUI einzulogen

 

Hi Geoffroy,

 

Thank you very much for your reply

Regarding #1, you don’t need to modify the hypervisor for this. You can reconfigure the Service VM OS to boot in console mode. Assuming you are using Ubuntu, you can do so using “sudo systemctl set-default multi-user”

è Thank you for your suggestion

 

Regarding #2, I’m assuming that you did, but can you confirm that you verified that the User VM had the correct number of vCPUs assigned to it? (checking ‘lspcu’, or in ‘/proc/cpuinfo’).

è lspcu, you mean lscpu? We assign the four cores to the uos, and lscpu (or cat /proc/cpuinfo) also shows four cores. Besides, I am curious to ask, since we assign four cores to uos and have eight cores in total. (actually four physical core, and due to the hyperthreading, we have eight cores). But we found that we still get eight cores after we launch the uos and use the command lscpu in the service VM. Is it correct?

[Geoffroy] You’re right, I meant ‘lscpu’ :-) Does that mean that you initially see 8 CPUs in the Service VM, and then 4 after you’ve launched the User VM (which has 4 cores assigned)? For the best performance, you would want to also make sure that all cores (hyperthreading) from a physical core are assigned to the same VM (either Service or User VM). A hyper-threading is not quite the same as a physical core and there are resources shared so performance will be impacted. It may be a good idea to also run your tests with hyper-threading turned off (in which case you’ll have a total of 4 cores to play with) to see if you see the same performance degradation when increasing the number of cores given to the User VM.

 

[Lin] this is also a suggestion, but actually, I use the lscpu –all –extend to find the same cpu, for example, core 0 and core 4 belong to the same physical core, I use the cpu affinity to the same uos.  

 

I am not an expert on OpenVINO, but have you run a similar test in a native environment?

è Yes, we test in the native environment, it can have almost 32 fps, but we can only get 0.8 fps in the uos. There has a big gap.

[Geoffroy] Is that using any acceleration (such as GPU, etc.) in the native environment? 

[Lin] no, just normal cpu version for the openvino

 

What version of ACRN are you using? The vCPUs you are assigning to the User VM are not shared anymore I’m assuming, is that correct?

è We use the v2.0 for using the gvt-g.  for evaluating, we just launch one uos, I am assuming that service vm does not use “those vcpu.”

[Geoffroy] The launch script typically offlines the CPUs it will give to the User VM. Otherwise I _think_ that the Service VM may still be using them. Are you setting any CPU affinity in your scenario file and/or via the launch script. It may be good actually if you could share your launch script and scenario file.

[Lin] I attach these two files: launch file and industrial scenario file.  Maybe you will find mistake in my setting file.

 

Thanks!

Jianjie Lin

 

Von: acrn-users@... [mailto:acrn-users@...] Im Auftrag von Geoffroy Van Cutsem
Gesendet: Dienstag, 21. September 2021 09:42
An: acrn-users@...
Betreff: Re: [acrn-users] service VM ohne GUI einzulogen

 

Hi Jianjie,

 

Regarding #1, you don’t need to modify the hypervisor for this. You can reconfigure the Service VM OS to boot in console mode. Assuming you are using Ubuntu, you can do so using “sudo systemctl set-default multi-user”

 

Regarding #2, I’m assuming that you did, but can you confirm that you verified that the User VM had the correct number of vCPUs assigned to it? (checking ‘lspcu’, or in ‘/proc/cpuinfo’).

 

I am not an expert on OpenVINO, but have you run a similar test in a native environment?

 

What version of ACRN are you using? The vCPUs you are assigning to the User VM are not shared anymore I’m assuming, is that correct?

 

Thanks!
Geoffroy

 

From: acrn-users@... <acrn-users@...> On Behalf Of Jianjie Lin
Sent: Monday, September 20, 2021 7:20 pm
To: acrn-users@...
Subject: [acrn-users] service VM ohne GUI einzulogen

 

Hi Acrn Community,

By evaluating the performance of Our whiskey lake board with acrn hypervisor.

I have two questions about the performance in terms of gpu and cpu:

  1. Since the igpu in our board is not so powerful. Therefore, we would like to log in the Acrn hypervisor (service VM) without Gui.  Do you know how to configure the acrn hypervisor?
  2. Besides, we compare the uos with different number of assigned cpus, and run the same openvino application on this UOS.
    But we found, there has no improvement for the uos with more cpus. It should not happen. Do you know why?

Interestingly, I changed the original industry scenario file so that the each uos can be assigned with more cpus (the default setting is each uos can be assigned with maximal 2 cpus). But we found, the performance is even worse than the less cpus.

 

Thank you very much for your support.

 

Cheers

Jianjie Lin

------------------------------------------------------------------

 


Geoffroy Van Cutsem
 

There are a couple of things we should tweak in your launch script:

* Change the CPU affinity to 2,3,6,7. CPU #0 is also called the BSP (bootstrap) processor. It cannot be offlined and so it is always used by the Service VM. So it’s better to change the affinity to use cores that can all be offlined.

* The launch script sets *all* core offline except for the BSP. The ‘lscpu --all –extended’ command will still show the 8 CPUs in your Service VM, but 7 should show as “offline”. /proc/cpuinfo should only show one processor at that point. Is that what you are observing?

* Are you running any other User VM in addition to the one running the OpenVINO workload?

* It would be interesting too to change the scheduler to SCHED_NOOP (which essentially disables CPU sharing).

 

Geoffroy

 

From: acrn-users@... <acrn-users@...> On Behalf Of Jianjie Lin
Sent: Tuesday, September 21, 2021 12:08 pm
To: acrn-users@...
Subject: Re: [acrn-users] service VM ohne GUI einzulogen

 

Hi Geoffory,

 

Von: acrn-users@... [mailto:acrn-users@...] Im Auftrag von Geoffroy Van Cutsem
Gesendet: Dienstag, 21. September 2021 11:32
An: acrn-users@...
Betreff: Re: [acrn-users] service VM ohne GUI einzulogen

 

Hi Jianjie,

 

 

From: acrn-users@... <acrn-users@...> On Behalf Of Jianjie Lin
Sent: Tuesday, September 21, 2021 11:05 am
To: acrn-users@...
Subject: Re: [acrn-users] service VM ohne GUI einzulogen

 

Hi Geoffroy,

 

Thank you very much for your reply

Regarding #1, you don’t need to modify the hypervisor for this. You can reconfigure the Service VM OS to boot in console mode. Assuming you are using Ubuntu, you can do so using “sudo systemctl set-default multi-user”

  • Thank you for your suggestion

 

Regarding #2, I’m assuming that you did, but can you confirm that you verified that the User VM had the correct number of vCPUs assigned to it? (checking ‘lspcu’, or in ‘/proc/cpuinfo’).

  • lspcu, you mean lscpu? We assign the four cores to the uos, and lscpu (or cat /proc/cpuinfo) also shows four cores. Besides, I am curious to ask, since we assign four cores to uos and have eight cores in total. (actually four physical core, and due to the hyperthreading, we have eight cores). But we found that we still get eight cores after we launch the uos and use the command lscpu in the service VM. Is it correct?

[Geoffroy] You’re right, I meant ‘lscpu’ :-) Does that mean that you initially see 8 CPUs in the Service VM, and then 4 after you’ve launched the User VM (which has 4 cores assigned)? For the best performance, you would want to also make sure that all cores (hyperthreading) from a physical core are assigned to the same VM (either Service or User VM). A hyper-threading is not quite the same as a physical core and there are resources shared so performance will be impacted. It may be a good idea to also run your tests with hyper-threading turned off (in which case you’ll have a total of 4 cores to play with) to see if you see the same performance degradation when increasing the number of cores given to the User VM.

 

[Lin] this is also a suggestion, but actually, I use the lscpu –all –extend to find the same cpu, for example, core 0 and core 4 belong to the same physical core, I use the cpu affinity to the same uos.  

 

I am not an expert on OpenVINO, but have you run a similar test in a native environment?

  • Yes, we test in the native environment, it can have almost 32 fps, but we can only get 0.8 fps in the uos. There has a big gap.

[Geoffroy] Is that using any acceleration (such as GPU, etc.) in the native environment? 

[Lin] no, just normal cpu version for the openvino

 

What version of ACRN are you using? The vCPUs you are assigning to the User VM are not shared anymore I’m assuming, is that correct?

  • We use the v2.0 for using the gvt-g.  for evaluating, we just launch one uos, I am assuming that service vm does not use “those vcpu.”

[Geoffroy] The launch script typically offlines the CPUs it will give to the User VM. Otherwise I _think_ that the Service VM may still be using them. Are you setting any CPU affinity in your scenario file and/or via the launch script. It may be good actually if you could share your launch script and scenario file.

[Lin] I attach these two files: launch file and industrial scenario file.  Maybe you will find mistake in my setting file.

 

Thanks!

Jianjie Lin

 

Von: acrn-users@... [mailto:acrn-users@...] Im Auftrag von Geoffroy Van Cutsem
Gesendet: Dienstag, 21. September 2021 09:42
An: acrn-users@...
Betreff: Re: [acrn-users] service VM ohne GUI einzulogen

 

Hi Jianjie,

 

Regarding #1, you don’t need to modify the hypervisor for this. You can reconfigure the Service VM OS to boot in console mode. Assuming you are using Ubuntu, you can do so using “sudo systemctl set-default multi-user”

 

Regarding #2, I’m assuming that you did, but can you confirm that you verified that the User VM had the correct number of vCPUs assigned to it? (checking ‘lspcu’, or in ‘/proc/cpuinfo’).

 

I am not an expert on OpenVINO, but have you run a similar test in a native environment?

 

What version of ACRN are you using? The vCPUs you are assigning to the User VM are not shared anymore I’m assuming, is that correct?

 

Thanks!
Geoffroy

 

From: acrn-users@... <acrn-users@...> On Behalf Of Jianjie Lin
Sent: Monday, September 20, 2021 7:20 pm
To: acrn-users@...
Subject: [acrn-users] service VM ohne GUI einzulogen

 

Hi Acrn Community,

By evaluating the performance of Our whiskey lake board with acrn hypervisor.

I have two questions about the performance in terms of gpu and cpu:

  1. Since the igpu in our board is not so powerful. Therefore, we would like to log in the Acrn hypervisor (service VM) without Gui.  Do you know how to configure the acrn hypervisor?
  2. Besides, we compare the uos with different number of assigned cpus, and run the same openvino application on this UOS.
    But we found, there has no improvement for the uos with more cpus. It should not happen. Do you know why?

Interestingly, I changed the original industry scenario file so that the each uos can be assigned with more cpus (the default setting is each uos can be assigned with maximal 2 cpus). But we found, the performance is even worse than the less cpus.

 

Thank you very much for your support.

 

Cheers

Jianjie Lin

------------------------------------------------------------------

 


Jianjie Lin
 

 

 

Von: acrn-users@... [mailto:acrn-users@...] Im Auftrag von Geoffroy Van Cutsem
Gesendet: Dienstag, 21. September 2021 12:51
An: acrn-users@...
Betreff: Re: [acrn-users] service VM ohne GUI einzulogen

 

There are a couple of things we should tweak in your launch script:

* Change the CPU affinity to 2,3,6,7. CPU #0 is also called the BSP (bootstrap) processor. It cannot be offlined and so it is always used by the Service VM. So it’s better to change the affinity to use cores that can all be offlined.

[Lin] Ok; Thank you for your suggestion

* The launch script sets *all* core offline except for the BSP. The ‘lscpu --all –extended’ command will still show the 8 CPUs in your Service VM, but 7 should show as “offline”. /proc/cpuinfo should only show one processor at that point. Is that what you are observing?

[Lin] Correct, only the first one is still online, and the rest of them is offline

* Are you running any other User VM in addition to the one running the OpenVINO workload?

[Lin], currently not, I just try to evaluate the performance the uos with gvt-g

* It would be interesting too to change the scheduler to SCHED_NOOP (which essentially disables CPU sharing).

[Lin] this could also be interesting to test; which parameter should I use?

 

Jianjie Lin

 

From: acrn-users@... <acrn-users@...> On Behalf Of Jianjie Lin
Sent: Tuesday, September 21, 2021 12:08 pm
To: acrn-users@...
Subject: Re: [acrn-users] service VM ohne GUI einzulogen

 

Hi Geoffory,

 

Von: acrn-users@... [mailto:acrn-users@...] Im Auftrag von Geoffroy Van Cutsem
Gesendet: Dienstag, 21. September 2021 11:32
An: acrn-users@...
Betreff: Re: [acrn-users] service VM ohne GUI einzulogen

 

Hi Jianjie,

 

 

From: acrn-users@... <acrn-users@...> On Behalf Of Jianjie Lin
Sent: Tuesday, September 21, 2021 11:05 am
To: acrn-users@...
Subject: Re: [acrn-users] service VM ohne GUI einzulogen

 

Hi Geoffroy,

 

Thank you very much for your reply

Regarding #1, you don’t need to modify the hypervisor for this. You can reconfigure the Service VM OS to boot in console mode. Assuming you are using Ubuntu, you can do so using “sudo systemctl set-default multi-user”

è Thank you for your suggestion

 

Regarding #2, I’m assuming that you did, but can you confirm that you verified that the User VM had the correct number of vCPUs assigned to it? (checking ‘lspcu’, or in ‘/proc/cpuinfo’).

è lspcu, you mean lscpu? We assign the four cores to the uos, and lscpu (or cat /proc/cpuinfo) also shows four cores. Besides, I am curious to ask, since we assign four cores to uos and have eight cores in total. (actually four physical core, and due to the hyperthreading, we have eight cores). But we found that we still get eight cores after we launch the uos and use the command lscpu in the service VM. Is it correct?

[Geoffroy] You’re right, I meant ‘lscpu’ :-) Does that mean that you initially see 8 CPUs in the Service VM, and then 4 after you’ve launched the User VM (which has 4 cores assigned)? For the best performance, you would want to also make sure that all cores (hyperthreading) from a physical core are assigned to the same VM (either Service or User VM). A hyper-threading is not quite the same as a physical core and there are resources shared so performance will be impacted. It may be a good idea to also run your tests with hyper-threading turned off (in which case you’ll have a total of 4 cores to play with) to see if you see the same performance degradation when increasing the number of cores given to the User VM.

 

[Lin] this is also a suggestion, but actually, I use the lscpu –all –extend to find the same cpu, for example, core 0 and core 4 belong to the same physical core, I use the cpu affinity to the same uos.  

 

I am not an expert on OpenVINO, but have you run a similar test in a native environment?

è Yes, we test in the native environment, it can have almost 32 fps, but we can only get 0.8 fps in the uos. There has a big gap.

[Geoffroy] Is that using any acceleration (such as GPU, etc.) in the native environment? 

[Lin] no, just normal cpu version for the openvino

 

What version of ACRN are you using? The vCPUs you are assigning to the User VM are not shared anymore I’m assuming, is that correct?

è We use the v2.0 for using the gvt-g.  for evaluating, we just launch one uos, I am assuming that service vm does not use “those vcpu.”

[Geoffroy] The launch script typically offlines the CPUs it will give to the User VM. Otherwise I _think_ that the Service VM may still be using them. Are you setting any CPU affinity in your scenario file and/or via the launch script. It may be good actually if you could share your launch script and scenario file.

[Lin] I attach these two files: launch file and industrial scenario file.  Maybe you will find mistake in my setting file.

 

Thanks!

Jianjie Lin

 

Von: acrn-users@... [mailto:acrn-users@...] Im Auftrag von Geoffroy Van Cutsem
Gesendet: Dienstag, 21. September 2021 09:42
An: acrn-users@...
Betreff: Re: [acrn-users] service VM ohne GUI einzulogen

 

Hi Jianjie,

 

Regarding #1, you don’t need to modify the hypervisor for this. You can reconfigure the Service VM OS to boot in console mode. Assuming you are using Ubuntu, you can do so using “sudo systemctl set-default multi-user”

 

Regarding #2, I’m assuming that you did, but can you confirm that you verified that the User VM had the correct number of vCPUs assigned to it? (checking ‘lspcu’, or in ‘/proc/cpuinfo’).

 

I am not an expert on OpenVINO, but have you run a similar test in a native environment?

 

What version of ACRN are you using? The vCPUs you are assigning to the User VM are not shared anymore I’m assuming, is that correct?

 

Thanks!
Geoffroy

 

From: acrn-users@... <acrn-users@...> On Behalf Of Jianjie Lin
Sent: Monday, September 20, 2021 7:20 pm
To: acrn-users@...
Subject: [acrn-users] service VM ohne GUI einzulogen

 

Hi Acrn Community,

By evaluating the performance of Our whiskey lake board with acrn hypervisor.

I have two questions about the performance in terms of gpu and cpu:

  1. Since the igpu in our board is not so powerful. Therefore, we would like to log in the Acrn hypervisor (service VM) without Gui.  Do you know how to configure the acrn hypervisor?
  2. Besides, we compare the uos with different number of assigned cpus, and run the same openvino application on this UOS.
    But we found, there has no improvement for the uos with more cpus. It should not happen. Do you know why?

Interestingly, I changed the original industry scenario file so that the each uos can be assigned with more cpus (the default setting is each uos can be assigned with maximal 2 cpus). But we found, the performance is even worse than the less cpus.

 

Thank you very much for your support.

 

Cheers

Jianjie Lin

------------------------------------------------------------------

 


Geoffroy Van Cutsem
 

Hi Jianjie,

 

Thanks for all your answers. For the scheduler, please use SCHED_NOOP in the configuration tool:

SCHEDULER (a child node of FEATURES):

Specify the CPU scheduler used by the hypervisor. Supported schedulers are: SCHED_NOOP, SCHED_BVT and SCHED_IORR.

 

Thanks,

Geoffroy

 

From: acrn-users@... <acrn-users@...> On Behalf Of Jianjie Lin
Sent: Tuesday, September 21, 2021 12:58 pm
To: acrn-users@...
Subject: Re: [acrn-users] service VM ohne GUI einzulogen

 

 

 

Von: acrn-users@... [mailto:acrn-users@...] Im Auftrag von Geoffroy Van Cutsem
Gesendet: Dienstag, 21. September 2021 12:51
An: acrn-users@...
Betreff: Re: [acrn-users] service VM ohne GUI einzulogen

 

There are a couple of things we should tweak in your launch script:

* Change the CPU affinity to 2,3,6,7. CPU #0 is also called the BSP (bootstrap) processor. It cannot be offlined and so it is always used by the Service VM. So it’s better to change the affinity to use cores that can all be offlined.

[Lin] Ok; Thank you for your suggestion

* The launch script sets *all* core offline except for the BSP. The ‘lscpu --all –extended’ command will still show the 8 CPUs in your Service VM, but 7 should show as “offline”. /proc/cpuinfo should only show one processor at that point. Is that what you are observing?

[Lin] Correct, only the first one is still online, and the rest of them is offline

* Are you running any other User VM in addition to the one running the OpenVINO workload?

[Lin], currently not, I just try to evaluate the performance the uos with gvt-g

* It would be interesting too to change the scheduler to SCHED_NOOP (which essentially disables CPU sharing).

[Lin] this could also be interesting to test; which parameter should I use?

 

Jianjie Lin

 

From: acrn-users@... <acrn-users@...> On Behalf Of Jianjie Lin
Sent: Tuesday, September 21, 2021 12:08 pm
To: acrn-users@...
Subject: Re: [acrn-users] service VM ohne GUI einzulogen

 

Hi Geoffory,

 

Von: acrn-users@... [mailto:acrn-users@...] Im Auftrag von Geoffroy Van Cutsem
Gesendet: Dienstag, 21. September 2021 11:32
An: acrn-users@...
Betreff: Re: [acrn-users] service VM ohne GUI einzulogen

 

Hi Jianjie,

 

 

From: acrn-users@... <acrn-users@...> On Behalf Of Jianjie Lin
Sent: Tuesday, September 21, 2021 11:05 am
To: acrn-users@...
Subject: Re: [acrn-users] service VM ohne GUI einzulogen

 

Hi Geoffroy,

 

Thank you very much for your reply

Regarding #1, you don’t need to modify the hypervisor for this. You can reconfigure the Service VM OS to boot in console mode. Assuming you are using Ubuntu, you can do so using “sudo systemctl set-default multi-user”

  • Thank you for your suggestion

 

Regarding #2, I’m assuming that you did, but can you confirm that you verified that the User VM had the correct number of vCPUs assigned to it? (checking ‘lspcu’, or in ‘/proc/cpuinfo’).

  • lspcu, you mean lscpu? We assign the four cores to the uos, and lscpu (or cat /proc/cpuinfo) also shows four cores. Besides, I am curious to ask, since we assign four cores to uos and have eight cores in total. (actually four physical core, and due to the hyperthreading, we have eight cores). But we found that we still get eight cores after we launch the uos and use the command lscpu in the service VM. Is it correct?

[Geoffroy] You’re right, I meant ‘lscpu’ :-) Does that mean that you initially see 8 CPUs in the Service VM, and then 4 after you’ve launched the User VM (which has 4 cores assigned)? For the best performance, you would want to also make sure that all cores (hyperthreading) from a physical core are assigned to the same VM (either Service or User VM). A hyper-threading is not quite the same as a physical core and there are resources shared so performance will be impacted. It may be a good idea to also run your tests with hyper-threading turned off (in which case you’ll have a total of 4 cores to play with) to see if you see the same performance degradation when increasing the number of cores given to the User VM.

 

[Lin] this is also a suggestion, but actually, I use the lscpu –all –extend to find the same cpu, for example, core 0 and core 4 belong to the same physical core, I use the cpu affinity to the same uos.  

 

I am not an expert on OpenVINO, but have you run a similar test in a native environment?

  • Yes, we test in the native environment, it can have almost 32 fps, but we can only get 0.8 fps in the uos. There has a big gap.

[Geoffroy] Is that using any acceleration (such as GPU, etc.) in the native environment? 

[Lin] no, just normal cpu version for the openvino

 

What version of ACRN are you using? The vCPUs you are assigning to the User VM are not shared anymore I’m assuming, is that correct?

  • We use the v2.0 for using the gvt-g.  for evaluating, we just launch one uos, I am assuming that service vm does not use “those vcpu.”

[Geoffroy] The launch script typically offlines the CPUs it will give to the User VM. Otherwise I _think_ that the Service VM may still be using them. Are you setting any CPU affinity in your scenario file and/or via the launch script. It may be good actually if you could share your launch script and scenario file.

[Lin] I attach these two files: launch file and industrial scenario file.  Maybe you will find mistake in my setting file.

 

Thanks!

Jianjie Lin

 

Von: acrn-users@... [mailto:acrn-users@...] Im Auftrag von Geoffroy Van Cutsem
Gesendet: Dienstag, 21. September 2021 09:42
An: acrn-users@...
Betreff: Re: [acrn-users] service VM ohne GUI einzulogen

 

Hi Jianjie,

 

Regarding #1, you don’t need to modify the hypervisor for this. You can reconfigure the Service VM OS to boot in console mode. Assuming you are using Ubuntu, you can do so using “sudo systemctl set-default multi-user”

 

Regarding #2, I’m assuming that you did, but can you confirm that you verified that the User VM had the correct number of vCPUs assigned to it? (checking ‘lspcu’, or in ‘/proc/cpuinfo’).

 

I am not an expert on OpenVINO, but have you run a similar test in a native environment?

 

What version of ACRN are you using? The vCPUs you are assigning to the User VM are not shared anymore I’m assuming, is that correct?

 

Thanks!
Geoffroy

 

From: acrn-users@... <acrn-users@...> On Behalf Of Jianjie Lin
Sent: Monday, September 20, 2021 7:20 pm
To: acrn-users@...
Subject: [acrn-users] service VM ohne GUI einzulogen

 

Hi Acrn Community,

By evaluating the performance of Our whiskey lake board with acrn hypervisor.

I have two questions about the performance in terms of gpu and cpu:

  1. Since the igpu in our board is not so powerful. Therefore, we would like to log in the Acrn hypervisor (service VM) without Gui.  Do you know how to configure the acrn hypervisor?
  2. Besides, we compare the uos with different number of assigned cpus, and run the same openvino application on this UOS.
    But we found, there has no improvement for the uos with more cpus. It should not happen. Do you know why?

Interestingly, I changed the original industry scenario file so that the each uos can be assigned with more cpus (the default setting is each uos can be assigned with maximal 2 cpus). But we found, the performance is even worse than the less cpus.

 

Thank you very much for your support.

 

Cheers

Jianjie Lin

------------------------------------------------------------------