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;
}
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
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.
add a comment |
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
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
add a comment |
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
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
linux process scheduling
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
add a comment |
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
add a comment |
2 Answers
2
active
oldest
votes
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.
add a comment |
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.
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
add a comment |
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.
add a comment |
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.
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.
answered Jan 12 '16 at 13:43
jlliagrejlliagre
48.6k790142
48.6k790142
add a comment |
add a comment |
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.
add a comment |
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.
add a comment |
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.
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.
answered Jan 12 '16 at 13:44
Toby SpeightToby Speight
5,65011335
5,65011335
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
Try searching on lwn.net, it often has good articles about the internals of the Linux kernel.
– Gilles
Jan 12 '16 at 21:56