How does the Linux scheduler determine if a process is I/O bound or CPU boundDetermining what process is...

What to do when the GM gives the party an overpowered item?

Can you open the door or die? v2

Is Jesus the last Prophet?

How to make this Scala method return the same generic as the input?

Why did the AvroCar fail to fly above 3 feet?

Can I use 220 V outlets on a 15 ampere breaker and wire it up as 110 V?

Can I get a photo of an Ancient Arrow?

Does the UK delegate some immigration control to the Republic of Ireland?

How to represent jealousy in a cute way?

How can I find out about the game world without meta-influencing it?

Purpose of cylindrical attachments on Power Transmission towers

Can an escape pod land on Earth from orbit and not be immediately detected?

Am I allowed to determine tenets of my contract as a warlock?

How to remove the empty page that is placed after the ToC, List of figures and List of tables

Remove the small black rectangle that appears at the end of environment

Is it possible to have battery technology that can't be duplicated?

ISP is not hashing the password I log in with online. Should I take any action?

I sent an angry e-mail to my interviewers about a conflict at my home institution. Could this affect my application?

Am I being scammed by a sugar daddy?

Are skill challenges an official option or homebrewed?

Identification: what type of connector does the pictured socket take?

Why would a car salesman tell me not to get my credit pulled again?

Changing the PK column of a data extension without completely recreating it

Fastest way from 8 to 7



How does the Linux scheduler determine if a process is I/O bound or CPU bound


Determining what process is bound to a portWhich process scheduler is my linux system using?Which process scheduler is my linux system using?Get CPU usage for single processThread process in linuxSystem CPU Time and User CPU Time Calculation for a Process in LinuxRelationship between IO scheduler and cpu/process scheduler?How to set Linux Scheduler to don’t stop a Linux process?How does Linux CFS schedule processes vs threads fairly in 2018 4.9 kernels?How does the kernel scheduler know a timeslice has passed?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







4















Adding to this question, how does the scheduler determine if a process is I/O bound or CPU bound?



Mr. Love in this article, says




"schedulers often employ complex algorithms to determine the most worthwhile process to run"




What are these complex algorithms?










share|improve this question
















bumped to the homepage by Community 1 hour ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
















  • Try searching on lwn.net, it often has good articles about the internals of the Linux kernel.

    – Gilles
    Jan 12 '16 at 21:56


















4















Adding to this question, how does the scheduler determine if a process is I/O bound or CPU bound?



Mr. Love in this article, says




"schedulers often employ complex algorithms to determine the most worthwhile process to run"




What are these complex algorithms?










share|improve this question
















bumped to the homepage by Community 1 hour ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
















  • Try searching on lwn.net, it often has good articles about the internals of the Linux kernel.

    – Gilles
    Jan 12 '16 at 21:56














4












4








4


1






Adding to this question, how does the scheduler determine if a process is I/O bound or CPU bound?



Mr. Love in this article, says




"schedulers often employ complex algorithms to determine the most worthwhile process to run"




What are these complex algorithms?










share|improve this question
















Adding to this question, how does the scheduler determine if a process is I/O bound or CPU bound?



Mr. Love in this article, says




"schedulers often employ complex algorithms to determine the most worthwhile process to run"




What are these complex algorithms?







linux process scheduling






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited May 23 '17 at 12:40









Community

1




1










asked Jan 12 '16 at 13:09









ArpithArpith

4992921




4992921





bumped to the homepage by Community 1 hour ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.







bumped to the homepage by Community 1 hour ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.















  • Try searching on lwn.net, it often has good articles about the internals of the Linux kernel.

    – Gilles
    Jan 12 '16 at 21:56



















  • Try searching on lwn.net, it often has good articles about the internals of the Linux kernel.

    – Gilles
    Jan 12 '16 at 21:56

















Try searching on lwn.net, it often has good articles about the internals of the Linux kernel.

– Gilles
Jan 12 '16 at 21:56





Try searching on lwn.net, it often has good articles about the internals of the Linux kernel.

– Gilles
Jan 12 '16 at 21:56










2 Answers
2






active

oldest

votes


















0














A CPU bound process is more likely to be preempted by the scheduler after having used all of its CPU time slice while an I/O bound process is more likely to release its CPU time slice early by performing I/Os. The scheduler being involved in the preemption has all the metrics to sort out the processes.






share|improve this answer































    0














    If you want to know the specifics, then the source code is the place to go.



    As a general principle, a compute-bound process will use its entire time-slice more often than an I/O-bound process. Processes that have recently yielded without using their entire allocation are considered more likely to do the same in the near future, and can be scheduled accordingly.



    It's important to remember that processes can and do change behaviour as they run; how long to decay the memory of past time-slices is one of the important tunables of most schedulers.



    Real schedulers have to take into account more than just the historical time-slice usage: 'nice' value and locks that block other processes are just two examples of other information that may be used.






    share|improve this answer
























      Your Answer








      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "106"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: false,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f254864%2fhow-does-the-linux-scheduler-determine-if-a-process-is-i-o-bound-or-cpu-bound%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      0














      A CPU bound process is more likely to be preempted by the scheduler after having used all of its CPU time slice while an I/O bound process is more likely to release its CPU time slice early by performing I/Os. The scheduler being involved in the preemption has all the metrics to sort out the processes.






      share|improve this answer




























        0














        A CPU bound process is more likely to be preempted by the scheduler after having used all of its CPU time slice while an I/O bound process is more likely to release its CPU time slice early by performing I/Os. The scheduler being involved in the preemption has all the metrics to sort out the processes.






        share|improve this answer


























          0












          0








          0







          A CPU bound process is more likely to be preempted by the scheduler after having used all of its CPU time slice while an I/O bound process is more likely to release its CPU time slice early by performing I/Os. The scheduler being involved in the preemption has all the metrics to sort out the processes.






          share|improve this answer













          A CPU bound process is more likely to be preempted by the scheduler after having used all of its CPU time slice while an I/O bound process is more likely to release its CPU time slice early by performing I/Os. The scheduler being involved in the preemption has all the metrics to sort out the processes.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jan 12 '16 at 13:43









          jlliagrejlliagre

          48.6k790142




          48.6k790142

























              0














              If you want to know the specifics, then the source code is the place to go.



              As a general principle, a compute-bound process will use its entire time-slice more often than an I/O-bound process. Processes that have recently yielded without using their entire allocation are considered more likely to do the same in the near future, and can be scheduled accordingly.



              It's important to remember that processes can and do change behaviour as they run; how long to decay the memory of past time-slices is one of the important tunables of most schedulers.



              Real schedulers have to take into account more than just the historical time-slice usage: 'nice' value and locks that block other processes are just two examples of other information that may be used.






              share|improve this answer




























                0














                If you want to know the specifics, then the source code is the place to go.



                As a general principle, a compute-bound process will use its entire time-slice more often than an I/O-bound process. Processes that have recently yielded without using their entire allocation are considered more likely to do the same in the near future, and can be scheduled accordingly.



                It's important to remember that processes can and do change behaviour as they run; how long to decay the memory of past time-slices is one of the important tunables of most schedulers.



                Real schedulers have to take into account more than just the historical time-slice usage: 'nice' value and locks that block other processes are just two examples of other information that may be used.






                share|improve this answer


























                  0












                  0








                  0







                  If you want to know the specifics, then the source code is the place to go.



                  As a general principle, a compute-bound process will use its entire time-slice more often than an I/O-bound process. Processes that have recently yielded without using their entire allocation are considered more likely to do the same in the near future, and can be scheduled accordingly.



                  It's important to remember that processes can and do change behaviour as they run; how long to decay the memory of past time-slices is one of the important tunables of most schedulers.



                  Real schedulers have to take into account more than just the historical time-slice usage: 'nice' value and locks that block other processes are just two examples of other information that may be used.






                  share|improve this answer













                  If you want to know the specifics, then the source code is the place to go.



                  As a general principle, a compute-bound process will use its entire time-slice more often than an I/O-bound process. Processes that have recently yielded without using their entire allocation are considered more likely to do the same in the near future, and can be scheduled accordingly.



                  It's important to remember that processes can and do change behaviour as they run; how long to decay the memory of past time-slices is one of the important tunables of most schedulers.



                  Real schedulers have to take into account more than just the historical time-slice usage: 'nice' value and locks that block other processes are just two examples of other information that may be used.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Jan 12 '16 at 13:44









                  Toby SpeightToby Speight

                  5,65011335




                  5,65011335






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Unix & Linux Stack Exchange!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f254864%2fhow-does-the-linux-scheduler-determine-if-a-process-is-i-o-bound-or-cpu-bound%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Taj Mahal Inhaltsverzeichnis Aufbau | Geschichte | 350-Jahr-Feier | Heutige Bedeutung | Siehe auch |...

                      Baia Sprie Cuprins Etimologie | Istorie | Demografie | Politică și administrație | Arii naturale...

                      Nicolae Petrescu-Găină Cuprins Biografie | Opera | In memoriam | Varia | Controverse, incertitudini...