Announcement

Collapse
No announcement yet.

Linux Still Yields Better Multi-Threaded Performance On AMD Threadripper Against Windows 10 May 2019 Update

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

  • #31
    Originally posted by RomuloP View Post

    I already pointed an oficial link about how their scheduler work, its all there, if you want you can give a deeper look at their API, a good start is GetQueuedCompletionStatus(), or maybe apparently you know better than MS about Windows internals and they talking about the IO queue is a lie? Most probable that your knowledge about Windows stopped in XP era.

    I will even help and post a link to documentation:
    https://docs.microsoft.com/en-us/win...mpletionstatus

    Also there is a reference in wikipidia about Vista IO scheduler, as I said, a Priority Scheuduler:
    https://en.wikipedia.org/wiki/Schedu...uting)#Windows

    The wiki page points to a deeper article about the subject by Gabe Frost:
    https://en.wikipedia.org/wiki/Schedu...g)#cite_ref-11
    MS can call it whatever they want,but the "queue" they talk about there is not what you think it is. Windows simply issues slices of time to IO and nothing else. The best it can do is simply refuse to issue time to IO, it cannot truly priortize IO.It isn't made like a scheduler, it can't buffer IO loads, it has no queue at all. it isn't pipelined or paralellized. It doesn't work anything at all like a scheduler. In fact it works exactly like the old mainframe computers timeslicing serial consoles....

    If there is no completion packet queued, the function waits for a pending I/O operation associated with the completion port to complete.
    Do you understand what this says? It says if the pending IO operation isn't ready in time for a time slice then it issues a serial string of context switches to fill up the time slice. It doesn't really matter what they call the function, it's exactly what it does.... When MS says something like "wait" they really mean "serial string of context switches" and when they say "packet" they really mean "time slice" and when they say "queue" what they really mean is "serial string of data". MS flat out misinforms people, I'm sorry it seems like you don't want to understand, but it just is what it is...

    EDIT: They can call it a priority scheduler all they want, but the real truth is, all it does is issue slices of time or refuse to issue slices of time and that's literally it. The end result is constant serial streams of context switches. It's possible to actually see it with a profiler, seriously check it out. If all you want is a visual representation, then the easiest bet is to benchmark an IO bound linux app on both Linux and WSL and compare the bar graphs.
    Last edited by duby229; 31 May 2019, 07:58 AM.

    Comment


    • #32
      Originally posted by duby229 View Post

      repetitive nihilism blablabla....

      "If there is no completion packet queued, the function waits for a pending I/O operation associated with the completion port to complete."

      Do you understand what this says? blablabla nhiilism everywhere.... I do not accept a simple wait for a queue item to complete is just what it say.

      repetitive nihilism blablabla....

      Sure and you can call it a banana if you want. I expect the text is more ate your level now.😋
      Last edited by RomuloP; 31 May 2019, 09:10 AM.

      Comment


      • #33
        Originally posted by RomuloP View Post


        Sure and you can call it a banana if you want. I expect the text is more ate your level now.😋
        At least I can tell you the truth, but all you can do is call names and misrepresent.... Good for you....

        Now go profile some IO bound process or run some side by side benchmarks of Linux vs WSL and see it for yourself. I already know better....

        EDIT:
        Do you understand what this says? It says if the pending IO operation isn't ready in time for a time slice then it issues a serial string of context switches to fill up the time slice. It doesn't really matter what they call the function, it's exactly what it does.... When MS says something like "wait" they really mean "serial string of context switches" and when they say "packet" they really mean "time slice" and when they say "queue" what they really mean is "serial string of data". MS flat out misinforms people, I'm sorry it seems like you don't want to understand, but it just is what it is...
        This is fact whether you like it or not.

        EDIT: It's for the -SAME EXACT- reason that MS misinformed people teaching them that swapping to disk is a performance enhancing feature. But we -ALL- know the truth that disk access is -the- worst bottleneck -any- computer will experience. Ask yourself and answer it, why did MS misinform people about swap? It's plainly obvious.
        Last edited by duby229; 31 May 2019, 09:57 AM.

        Comment


        • #34
          Originally posted by duby229 View Post

          At least I can tell you the truth, but all you can do is call names and misrepresent.... Good for you....

          Now go profile some IO bound process or run some side by side benchmarks of Linux vs WSL and see it for yourself. I already know better....

          EDIT:

          This is fact whether you like it or not.
          Sure, it is clear that it is fact because you know, how can anyone argument against right? Have a good day.

          Comment


          • #35
            Originally posted by RomuloP View Post

            Sure, it is clear that it is fact because you know, how can anyone argument against right? Have a good day.
            You could know too, just run some benchmarks.....

            Think about how paging works in windows and then tell me I'm wrong again, you wouldn't be able to.

            Comment


            • #36
              Originally posted by duby229 View Post

              You could know too, just run some benchmarks.....

              Think about how paging works in windows and then tell me I'm wrong again, you wouldn't be able to.
              It works perfectly fine as a priority scheduler with all its flaws in my experience, but you know, I do not know the truth as you, remember? I'm dumb, see? Anyway thanks for the revelation of truth! Let me process it, might one. 😉

              Comment


              • #37
                Originally posted by RomuloP View Post

                It works perfectly fine as a priority scheduler with all its flaws in my experience, but you know, I do not know the truth as you, remember? I'm dumb, see? Anyway thanks for the revelation of truth! Let me process it, might one. 😉
                I never called you dumb, that's obviously not true. Gullible maybe, because it has no mechanism to prioritize or to schedule. MS misinforms people intentionally the only thing it can do is issue time to IO or not issue time and when it can't and/or chooses to not issue time it fills the CPU integer pipelines with context switches. That's literally all it does. Like I said profile some IO bound load on WSL and see it for yourself.

                EDIT: And look at paging on Windows so you can understand why MS relies on swap.... It's directly related....
                Last edited by duby229; 01 June 2019, 08:16 AM.

                Comment

                Working...
                X