Announcement

Collapse
No announcement yet.

Initial Benchmarks Of Microsoft's WSL2 - Windows Subsystem For Linux 2 On Windows 10 Is A Mixed Bag

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by ferry View Post

    What WSL1 probably needs is a windows native ext4 implementation. WSL2 being a VM doesn't bring anything new to the table.
    Ppl have said this and the logic I don't really understand because.. the program would just call read or write. shouldn't it be up to the windows kernel to figure out how to do that on whatever filesystem it has backing it. Why would you even want a section of the disk formatted in a way the host could not read?

    Comment


    • #12
      Originally posted by k1e0x View Post
      Containers > VM's.
      That's because you don't need VMs. Containers != VMs.
      Saying that the other one is better is comparing apples to oranges.

      Comment


      • #13
        I wonder how many cores WSL2 allocates? Doesn't WSL1 allow the use of all available cores? Could this be some of the issue in this testing, in addition to this being prerelease and based on Hyper-V?

        Comment


        • #14
          Originally posted by k1e0x View Post

          Ppl have said this and the logic I don't really understand because.. the program would just call read or write. shouldn't it be up to the windows kernel to figure out how to do that on whatever filesystem it has backing it. Why would you even want a section of the disk formatted in a way the host could not read?
          Because now linux calls need to be translated to windows calls. And the windows file system is quite different, so the translation is a lot of work and currently incomplete. Having windows support ext4 natively would reduce the translation effort. And the host (windows) would be able to read it, but probably slower then when reading ntfs.

          Comment


          • #15
            Originally posted by milkylainen View Post

            That's because you don't need VMs. Containers != VMs.
            Saying that the other one is better is comparing apples to oranges.
            Well aware, thanks. I've been using Solaris Zones and BSD Jails for a very long time now. Both are implementations of OS and platform/application segregation. You maybe confused tho if you're only experience is Docker. Containers are the right way to do this.. VM's are not.. Virtualization of the entire OS kernel and drivers in my opinion is pretty dumb if all you want is a secure environment for an application to run in and have UID 0 that is not UID 0 or a multi tenant host.

            (Yes, I think the entire computing industry got it wrong in 1999)

            Originally posted by ferry View Post

            Because now linux calls need to be translated to windows calls. And the windows file system is quite different, so the translation is a lot of work and currently incomplete. Having windows support ext4 natively would reduce the translation effort. And the host (windows) would be able to read it, but probably slower then when reading ntfs.
            Right but.. Windows does not install to ext4.. so what would you do have a separate partition? Yuck.. no the right way forward is get the filesystem translation correct. The Windows kernel has to speak Linux API properly. WSL2 is a massive punt on this and idk what Microsoft is doing but a part of me is pretty glad they are screwing it up. lol
            Last edited by k1e0x; 06-14-2019, 06:01 PM.

            Comment


            • #16
              Microsoft should stop trying to play catch up and move Windows on top of the Linux kernel.

              Comment


              • #17
                I'd say it's a good tradeoff. I/O performance in WSL1 is abysmal.

                Comment


                • #18
                  Originally posted by k1e0x View Post
                  Right but.. Windows does not install to ext4.. so what would you do have a separate partition? Yuck.. no the right way forward is get the filesystem translation correct. The Windows kernel has to speak Linux API properly. WSL2 is a massive punt on this and idk what Microsoft is doing but a part of me is pretty glad they are screwing it up. lol
                  Reality what you are saying here is impossible to and be backwards compatible and perform well.

                  Windows NT first lead developer came from VMS. NTFS permissions in fact windows permissions in general are based around the VMS model. Linux kernel that Linus admits starts with a Posix book that he miss reads in places and those defects are part of Linux user space ABI.

                  Samba supporting windows permissions shares has a hell load of performance overhead.
                  https://wiki.samba.org/index.php/Set...g_Windows_ACLs
                  Yes because you are having to process permissions twice. Once for Linux/BSD/Posix native permissions then again for the Windows Permissions. When you run Linux API on NTFS partition you hit exactly the same problem now its inverted. So there is no way filesystem translation is ever going to perform well. 9p has the same problem here.

                  virtio-fs that Linux users can use that is based on the fuse system still does expect a posix based file system in the host. NTFS is VMS based in permission design So this is serous-ally round peg square hole.

                  The Windows kernel to speak Linux API completely this cannot be done as a translation layer to NT as MS attempted. You are running straight into the same problem both designs have totally different permission models. The more Windows kernel attempts to support both the slower it will go.

                  The options for working Linux ABI and Filesystem without killing windows performance.
                  1) colinux route that is build the Linux kernel to run as a windows driver that cooperatively shares memory with Windows. While the memory is allocated to colinux stuff windows does not attempt to permission manage what is inside and still using a virtual hard-drive.
                  2) WSL2 hypervisor route and tune it well.

                  The colinux option you have to remember you have ebpf/bpf in Linux kernel so security problem could be quite major.

                  Also https://www.phoronix.com/scan.php?pa...x-60-kvm&num=3 This is virtualbox vs kvm vs baremetal Linux take close note at the Blender 2.79a BMW27 compute:CPU only then compare https://www.phoronix.com/scan.php?pa...-10-wsl2&num=4. Yes same test different boards and cpus but you can use the bare metal value as relative baseline.

                  There is a issue in the hypervisor WSL2 is using. KVM on Linux can do almost zero performance overhead while Virtualbox and WSL2 see you performance hit in CPU workloads. Hard reality is the benchmarks where WSL1 is beating WSL2 once you look at Linux KVM vs Bare metal benchmarks it should not be its all a hypervisor issue.

                  Comment


                  • #19
                    Originally posted by k1e0x View Post
                    You maybe confused tho if you're only experience is Docker. Containers are the right way to do this.. VM's are not.. Virtualization of the entire OS kernel and drivers in my opinion is pretty dumb if all you want is a secure environment for an application to run in
                    I don't quite get what you're saying here about Docker? Docker shares a kernel with it's docker host, doesn't virtualize it.

                    Comment


                    • #20
                      Originally posted by k1e0x View Post
                      Containers are the right way to do this.. VM's are not.. Virtualization of the entire OS kernel and drivers in my opinion is pretty dumb if all you want is a secure environment for an application to run in and have UID 0 that is not UID 0 or a multi tenant host.
                      I mean the devs and companies backing Kata-Containers, seems to disagree with you there for there container workload. They offer a extremely slim mini-VM like WSL2 and have each container run with its own kernel. If you are really worried about security than this is the way to go and you get the best of both worlds. They also just added Virtio-fs, which makes for a superb container experience.

                      Comment

                      Working...
                      X