Announcement

Collapse
No announcement yet.

RIFS-ES Linux Kernel Scheduler Released

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

  • es_mode is excellent under load btw (at least for my workflow):

    e.g. updating system (compiling kde) and reading PDF files via PDF-XChange (wine) - the scrolling is smooth [accelerated smoothing has to be disabled otherwise there are graphical glitches]
    this with compiz-fusion enabled !


    with es_mode disabled - scrolling is stuttering A LOT ^^

    Comment


    • Originally posted by kernelOfTruth View Post
      es_mode is excellent under load btw (at least for my workflow):

      e.g. updating system (compiling kde) and reading PDF files via PDF-XChange (wine) - the scrolling is smooth [accelerated smoothing has to be disabled otherwise there are graphical glitches]
      this with compiz-fusion enabled !


      with es_mode disabled - scrolling is stuttering A LOT ^^
      I have decided testing a self-decaying model.

      Comment


      • Originally posted by kernelOfTruth View Post
        es_mode is excellent under load btw (at least for my workflow):

        e.g. updating system (compiling kde) and reading PDF files via PDF-XChange (wine) - the scrolling is smooth [accelerated smoothing has to be disabled otherwise there are graphical glitches]
        this with compiz-fusion enabled !


        with es_mode disabled - scrolling is stuttering A LOT ^^
        These days I have spent my time on EEVDF paper and the source code of BFS. Seems that BFS has designing problem and maybe relased to the hiccup of video you have mentioned before. BFS is a EDF scheduler actually because the VE key has been removed and can cause starvation on IO-bound task. The positive lag of a task can be O(n). When a task is just forked, the VE of a task value is the VirtualTime(VT) of the rq. Then the VirtualDeadline(VD) of the task is calculated base on thre VE. When a timeslice expired the VD will become the VE and the VD is being calculated base on the VE. Each time the scheduler will select a task which has the lowest VD to run on the CPU.Now the VD calculation in BFS is base on the real_time and loss the meaning of VE.By VD and VE, the scheduler can know that how urgent a task is and make sure the task is being scheduled fairly. The BFS scheduler doesn't have VE calculation and the VD in BFS cannot make sure that the task is being fairly scheduled.

        Comment


        • Originally posted by Paradox Uncreated View Post
          Rifs seem to need hotpluggable cpus. For audio it is worse than regular scheduler. Needs more than 2ms latency here. Regular kernel does 1ms. BFS has overall a bit lower latencies, but stable audio streams is about 1ms there too. (click-free, and less jitter on lower latencies. 0.3ms almost doable on onboard audiocard, without RT-threads.) I also have done 0.3ms latency on firewire audiocard, with RT-threads, on regular kernel.

          Peace Be With You.
          You also need to debug WHY that occurs though; problem with the scheduler, or problem with the audio layer?

          All schedulers have to try and handle two separate issues: Throughput and Bandwidth. The issue I've always had with "fair schedulers" is that while they do a good job of lowing overall latencies, they don't do well in terms of process Throughput, especially when lots of processes are running.

          The Windows scheduler actually does a decent job, once you understand Windows is NOT a real-time OS. In laymans terms: The process with the highest priority that is not I/O blocked will always run. A lot of done by the OS to adjust process priority (wait time, foreground/background, etc.), but all around, it ensures the highest priority tasks run without starving the rest out.

          Comment


          • Originally posted by Paradox Uncreated View Post
            There is a lot of people online who say "windows is good" "windows is better" "windows is more professional". When it comes down to actual fact, linux beats it in most departments. The only thing it has going is more software.

            And to say that the windows scheduler, or MS at all, is made with a sensible mind, I know very well is untrue. You remind me of people, who say, don`t tweak, don`t stop the services etc. There are so many of them! And yet if you do this, windows will perform much better. On linux, you talk about max 0.1ms difference if you turn off all the daemons ubuntu is runnning. On windows turning off services = a world of difference. Do you call THAT a good scheduler? And not only is it sensitive to small tasks running, but you have to set them all to idle priority, for cpu2 not to choke cpu1 at high load. And it`s been that way for years. Microsoft doesn`t have the mind to see it. And all these stupid error msgs and policies they implement, that only bloats the system. You can turn off 200 things, and your system will only get better. That is MS.

            Peace Be With You.
            Note you are totally focused on LATENCY, and not THROUGHPUT. The Windows scheduler is essentially priority based: The highest priority thread that is not I/O blocked is ALWAYS run. Period. Now, Windows does a LOT behind the scenes to dynamically adjust priority, but at its heart, its a priority based scheduler. So if you have 100,000 low priority tasks running and one high-priority task, guess which one is getting the most CPU time? (This is especially notable on Vista/7, where foreground tasks get a priority boost over background tasks. As a result, you don't see system services making as big an impact as they did on XP).

            On a scheduler that focuses on latency however, those 100,000 low priority tasks are going to ensure that one high-priority task takes a LOT longer to actually finish. But hey, you get 0.1ms latency across the board!

            Windows is not a real-time OS, and has never been intended for that use. The Windows scheduler is designed to maximize throughput, not minimize latency.

            Comment


            • Originally posted by Paradox Uncreated View Post
              There is a lot of people online who say "windows is good" "windows is better" "windows is more professional". When it comes down to actual fact, linux beats it in most departments. The only thing it has going is more software.
              I use Linux full time and doesn't use Windows anymore.
              But Windows got great stuff.

              Visual Studio beats any other IDE out of the water.
              .NET framework is comprehensive and awesome.
              C# is great.
              Active Directory and Group Policy are great.
              Then there is DirectX with graphics, audio, input handling, network, etc.

              Windows 7 is very stable. WDDM is great.
              You can change device driver or reload drivers without even logout and the drivers can do all cool stuff that you cant on Linux.

              Comment


              • Originally posted by Paradox Uncreated View Post
                I have msvc60 here. And also some later express ide`s. Once you got them running, they are ok, but I have seen more intuitive ide`s.
                msvc60 isn't a IDE, it is a library.
                What IDE is more intuitive?
                Visual Studio hands down beats everything.
                Eclipse, NetBeans, etc cant measure up to Visual Studio.

                Originally posted by Paradox Uncreated View Post
                You can load and unload module drivers with modprobe. And if you are stuck on windows XP, because your software isn`t supported more, and it isn`t opensource, you have to use XP, with drivers from 2001. HAHAHA. The whole drivermess on windows, downloading installing, versions etc is not on linux.
                Yeah you can load/unload kernel modules with modprobe, but that doesn't matter, you still cant reload the graphics driver without reload X.org.

                If you use software on Linux that isn't supported anymore, then you're still stuck with Linux 2.4 and old drivers from 1998.

                With Windows XP at least you use the latest GeForce drivers from 2012 despite it being from 2001. You can't do that with Linux.

                Originally posted by Paradox Uncreated View Post
                And direct3d was never better than OpenGL. As for directx, or asio on windows, I can do lower latencies on Linux.
                DirectX is a whole stack solution that covers all your needs with great documentation and support. It is easy to learn and you can develop using one coherent API instead learning and using a dozen incoherent ones.


                Originally posted by Paradox Uncreated View Post
                Maybe a point in that some subsystems of linux, aren`t that welldeveloped yet. Particulary if you do professional audio, jack and ladspa and similar stuff could be better intergrated, or replaced system wide with better solutions.
                The drivers suck too. Most audio drivers implement only the bare minimum needed for playback, none of the advanced features are supported.

                Comment


                • Originally posted by Paradox Uncreated View Post
                  msvc60 = Microsoft Visual C 6.0. An old version of microsofts IDE.
                  Actually for more intuitive IDEs I think you have to go back to amiga days.
                  As for IDE`s on linux, I have never used one. Gedit has suited me fine so far.

                  But you know, I have no interest in this discussion. Advanced computers users will always prefer linux.
                  You go with your windows.

                  Peace Be With You.
                  I don't even use Windows.
                  I use Linux. I prefer Linux and like it better.
                  But you come around spitting shit that Windows sucks, when in fact it is a decent operating system that in some ways is better than Linux (and in some ways worse).

                  Comment


                  • Originally posted by Paradox Uncreated View Post
                    I have msvc60 here. And also some later express ide`s. Once you got them running, they are ok, but I have seen more intuitive ide`s.
                    MSVC 6.0 is ancient by today's standards. Nothing comes close to Visual Studio. Even most Linux guys would admit that much.

                    You can load and unload module drivers with modprobe. And if you are stuck on windows XP, because your software isn`t supported more, and it isn`t opensource, you have to use XP, with drivers from 2001. HAHAHA. The whole drivermess on windows, downloading installing, versions etc is not on linux.
                    XP is still supported by 99.99% of all SW programs out there. Its not like the underlying OS has changed that much. Now, if developers choose to use Vista/7 only API calls, thats their business decision to make.

                    And direct3d was never better than OpenGL. As for directx, or asio on windows, I can do lower latencies on Linux.
                    1: D3D is easier to code with by a long shot.
                    2: ASIO is perfectly capable of <1ms latencies.
                    3: Latencies don't matter if you sacrifice throughput.

                    Comment


                    • Originally posted by Paradox Uncreated View Post
                      Rifs seem to need hotpluggable cpus. For audio it is worse than regular scheduler. Needs more than 2ms latency here. Regular kernel does 1ms. BFS has overall a bit lower latencies, but stable audio streams is about 1ms there too. (click-free, and less jitter on lower latencies. 0.3ms almost doable on onboard audiocard, without RT-threads.) I also have done 0.3ms latency on firewire audiocard, with RT-threads, on regular kernel.

                      Peace Be With You.
                      RIFS prefer interactivity more than throughput. The problem you have mention is not only related to latency, it is also related to throughput. When you play an MP3 file, the player has to do a lot of stuff work e.g decoding & decompressing. RIFS tries to lower the latency on average user experience. So the benchmark has only done part of the view.

                      Comment

                      Working...
                      X