Drone2Map only uses two out of sixteen CPUs on a virtual Windows private cloud workstation

636
3
Jump to solution
06-26-2023 11:17 AM
PeterWang
New Contributor III

Hello, when I run Drone2Map on my local Dell laptop with 8 CPUs, the application can find and access all 8:

laptops CPU util pegged Capture.PNG

However, when I log into a private cloud virtual workstation (resources managed by a hypervisor, not a "bare metal" machine), Drone2Map only managed to engage 12% of the 16 CPUs present, or 2 of them:

CPU util low Capture.PNG

Has anyone experienced similar issues in a virtualized environment or know of diagnostic tools or workarounds? Thanks.

0 Kudos
1 Solution

Accepted Solutions
MarkBarker1
Esri Contributor

Hi @PeterWang,

The performance issues you are seeing would not be expected behavior. You should be able to take advantage of all cores during the processing. We cover the basics of how hardware affects Drone2Map processing here: https://doc.arcgis.com/en/drone2map/latest/get-started/hardware-resources-and-performance.htm

That being said, I would be open to doing some testing on your virtual environment to help narrow down the issue. Please let me know if you are able to get an environment setup that can be shared for testing. If that is not possible, then I would need all the specific details of the environment so our IT team can replicate it for testing on our end. 

I am happy to continue this discussion here or via email, if you need to send any credentials or confidential information please feel free to email me (mbarker@esri.com).

Thank you,

Mark

View solution in original post

0 Kudos
3 Replies
IaGeoff
New Contributor II

Peter,  This may help (may not) if you're Drone2Map (D2M) Project's "Options" for Processor type are set too High.  Note that under a D2M Project's HOME/Processing OPTIONS menu, under General tab and Hardware Section there is a CPU Threads settings bar "and" Processor Type.

I'd ran into issues if the CPU Threads are set too high (default per PC)... so simply scale down to 8 and see what happens.

Especially if you ran on a lower grade PC, then moved project to Upper end PC w/more CPU Threads.  The setting is per D2M Project, so you may want to ensure your Project Templates are set correctly to address.

I'll generally use 16 CPU Threads on a 64 CPU workstation (access Remote Desktop/RDP) as a comparison, and never thought would be issue.  Assumed Software/PC would allocate as needed, yet I'd NEVER finish a project even running all night on the upper end if leaving at 64 CPU or even down to 32.  Brought it down to 16 CPU Threads (or less) or the higher end 64cpu Workstation and BAM... done !  Also I've been using CPU+GPU Processor Type only, for reference.

Again, hopefully above helps.... 

PeterWang
New Contributor III

Geoff, I experimented with the # of CPUs to apply to the Drone2Map task, and I got fastest results when I requested 8 out of 16 available CPUs. My processor type I also set to CPU+GPU. As a result, Drone2Map ran 3x faster on my virtual machine as compared to my laptop. That sounds like a win, but I think there's a lot of performance left on the table.

The performance should be more like 4x, based on the clock speed (2.12 faster on the virtual machine) of the 16 processors, and the fact that there are 16 of them, not 8. I noticed that Drone2Map managed to use 100% of the CPUs on the laptop, the performance meter was pegged at 100%, but on the virtual machine the CPU virtualization was very spiky... up and down, up to 100% then down to a low level, then up to 100%, etc., with the end-result being that the average CPU utilization was not that high. There perhaps some odd interaction with the software and the way the CPU is virtualized by the hypervisor? 

Who at Esri is responsible for this software, how to I get feedback to them? I'm getting this software as part of an academic project, and in my role as a student I'm not entitled to interact directly with support. Hopefully an Esri team member is reading this. Also, the company which provided the workstation to me for the benchmarking study might be able to extend a seat on the machine to Esri for testing and debugging, I can always ask.

Thanks everyone for reading this.

0 Kudos
MarkBarker1
Esri Contributor

Hi @PeterWang,

The performance issues you are seeing would not be expected behavior. You should be able to take advantage of all cores during the processing. We cover the basics of how hardware affects Drone2Map processing here: https://doc.arcgis.com/en/drone2map/latest/get-started/hardware-resources-and-performance.htm

That being said, I would be open to doing some testing on your virtual environment to help narrow down the issue. Please let me know if you are able to get an environment setup that can be shared for testing. If that is not possible, then I would need all the specific details of the environment so our IT team can replicate it for testing on our end. 

I am happy to continue this discussion here or via email, if you need to send any credentials or confidential information please feel free to email me (mbarker@esri.com).

Thank you,

Mark

0 Kudos