Public domain photo from https://pixabay.com/photos/seaside-man-sitting-relax-wait-371229

WSL2 and still waiting... - II

Disclaimer on behalf of Microsoft: The findings reported here are based on a very fresh version of Windows 10 made available to "insiders" (like me) only six days ago (by June 18, 2019). All conclusions should therefore be seen as subject to change and not applying for any Windows 10 version for professional use.

I have on June 20, 2019, been approached by a person who is more of a Microsoft insider than I am. Considering this statement of mine: "Microsoft has claimed that they would soon be able to run Linux binaries as efficiently as a native GNU/Linux installation", this person states: "That line lacks citation".
This observation may be entirely correct. Microsoft has claimed that their WSL2 will be able to run GNU/Linux amd64 binaries, and I can do that with "Windows 10 Insider Preview Build 18917". What I cannot do is to achieve comparable runtime figures - any attempt from within Windows 10 comes with a considerable performance overhead.
The basic message of this link of mine: http://www.simxon.com/results/sxforms1-20190618/sxforms1-20190618.zip is: "Don't take my word for it - try for yourself. If I am wrong, tell me and any audience I might have."

Less than one month ago, I wrote this article, highlighting the fact that even though Microsoft strives to be able to execute GNU/Linux software on Windows 10 as well as any native GNU/Linux installation, this objective has not yet been reached. Four days ago, I reported my first findings concerning "Windows Subsystem for Linux, version 2" (WSL2) in this article.

Since then, my attention has been drawn to the fact that WSL2 is only a thin layer on top of Microsoft's Hyper-V virtualization technology. So is Docker for Windows.

My latest findings are that Hyper-V is "to blame" in the sense that the performance penalties which I have consistently observed are probably due to the virtualization itself and not to any particular properties of the applications (WSL or Docker) addressed on top of it.

I am much more of a CAE expert than an expert in these technologies. For that reason, I am very much prepared to be corrected. See the following paragraph.

What I have done, you can try for yourself

If you are just slightly interested in the technicalities presented here, I suggest that you download this 448 MB zip file. Read the "readme.txt" and decide if you want to try it out on your own hardware. If you have anything to report, please tell me.

Results of the June 18 performance study (primarily testing Hyper-V virtualization)

As before, the runtimes quoted below apply for the central part of an OpenFOAM simulation. "Native" means that the computer booted from a fresh harddisk installation of an Ubuntu "mini-CD". "Hyper-V" means that the mini-CD was installed on a Hyper-V virtual computer (with the same processor count, 16, as the host computer).

Previous performance results (June 14, 2019):

Native Ubuntu: 16 minutes and 5 seconds

Docker on Ubuntu: 16 minutes and 13 seconds

WSL2 (on Windows): 29 minutes and 53 seconds

Docker on Windows: 29 minutes and 19 seconds

Latest performance results (June 18, 2019):

Native Ubuntu: 16 minutes and 5 seconds

Docker on native Ubuntu: 16 minutes and 15 seconds

Ubuntu on Hyper-V (on Windows): 31 minutes and 26 seconds

Docker on Ubuntu on Hyper-V (on Windows): 31 minutes and 47 seconds

Conclusion

Microsoft has claimed that they would soon be able to run Linux binaries as efficiently as a native GNU/Linux installation. It appears that concerning CPU-intensive multiprocessing operations like those typical for CAE, Microsoft's virtualization technology is not yet up to speed.

Creative Commons License
Website for the defunct company Simxon by Kim Ravn-Jensen is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Permissions beyond the scope of this license may be available at kim@ravn-jensen.dk.