CSched: Real-time disk scheduling with concurrent I/O requests

 
Thread Tools Search this Thread
Special Forums News, Links, Events and Announcements UNIX and Linux RSS News CSched: Real-time disk scheduling with concurrent I/O requests
# 1  
Old 01-25-2011
CSched: Real-time disk scheduling with concurrent I/O requests

HPL-2011-11 CSched: Real-time disk scheduling with concurrent I/O requests - Staelin, Carl; Amir, Gidi; Ben-Ovadia, David; Dagan, Ram; Melamed, Michael; Staas, Dave
Keyword(s): real-time disk scheduling, storage systems
Abstract: We present a new real-time disk scheduling algorithm, {\em Concurrent Scheduler} or {\em CSched}, which maximizes throughput for modern storage devices while providing real-time access guarantees, with computational costs of $O(\log n)$. To maximize performance it ensures request concurrency at the ...
Full Report

More...
Login or Register to Ask a Question

Previous Thread | Next Thread

7 More Discussions You Might Find Interesting

1. AIX

Difference between concurrent and enhanced concurrent VG

Hi, What are the differences between concurrent and enhanced concurrent VGs.? Any advantages of enhanced concurrent VG over normal concurrent vg Regards, Siva (2 Replies)
Discussion started by: ksgnathan
2 Replies

2. Shell Programming and Scripting

Converting real time to epoch time

# date +%s -d "Mon Feb 11 02:26:04" 1360567564 # perl -e 'print scalar localtime(1360567564), "\n";' Mon Feb 11 02:26:04 2013 the epoch conversion is working fine. but one of my application needs 13 digit epoch time as input 1359453135154 rather than 10 digit epoch time 1360567564... (3 Replies)
Discussion started by: vivek d r
3 Replies

3. Linux

cifs.upcall issue, requests new kerberos service ticket all the time

This is more of an annoyance than an actual production issue. I've set it up so that each user's home directory is mounted to an immediate subdirectory of $HOME when they login, (and umounts when they log out to keep /proc/mounts a manageable size). My issue comes in when my login scripts... (0 Replies)
Discussion started by: thmnetwork
0 Replies

4. Shell Programming and Scripting

Shell script to convert epoch time to real time

Dear experts, I have an epoch time input file such as : - 1302451209564 1302483698948 1302485231072 1302490805383 1302519244700 1302492787481 1302505299145 1302506557022 1302532112140 1302501033105 1302511536485 1302512669550 I need the epoch time above to be converted into real... (4 Replies)
Discussion started by: aismann
4 Replies

5. Programming

Time scheduling

Hello !!! i am trying to create a command scheduler (written in C). Basically i would like to do what the "at" command does , but without using "at" or "cron". I have tried using getitimer but i do not know how can i shcedule multiple commands. Any ideas ??? (2 Replies)
Discussion started by: mcnikolas
2 Replies

6. AIX

Adjust disk scheduling priority for a process?

Hi all! Some dumb administrator run the weekly backup "by hand" on our AIX 5.3 server, which we use to deploy Websphere applications, during work hours. Using the server while the backup is taking place is almost imposible. Both the disks are working at 100% and it's almost unusable. Asking the... (2 Replies)
Discussion started by: shandrio
2 Replies

7. Solaris

Real time problems

Hi friends, I am new to solaris and looking for a job, when ever i attend interview i get most of the questions on real time problems, every one sak me the same questions what are the problems you face daily.. and what are the types? i know few like, disk extension,swap memory increasing,... (2 Replies)
Discussion started by: kurva
2 Replies
Login or Register to Ask a Question
IONICE(1)							   User Commands							 IONICE(1)

NAME
ionice - set or get process I/O scheduling class and priority SYNOPSIS
ionice [-c class] [-n level] [-t] -p PID... ionice [-c class] [-n level] [-t] -P PGID... ionice [-c class] [-n level] [-t] -u UID... ionice [-c class] [-n level] [-t] command [argument...] DESCRIPTION
This program sets or gets the I/O scheduling class and priority for a program. If no arguments or just -p is given, ionice will query the current I/O scheduling class and priority for that process. When command is given, ionice will run this command with the given arguments. If no class is specified, then command will be executed with the "best-effort" scheduling class. The default priority level is 4. As of this writing, a process can be in one of three scheduling classes: Idle A program running with idle I/O priority will only get disk time when no other program has asked for disk I/O for a defined grace period. The impact of an idle I/O process on normal system activity should be zero. This scheduling class does not take a priority argument. Presently, this scheduling class is permitted for an ordinary user (since kernel 2.6.25). Best-effort This is the effective scheduling class for any process that has not asked for a specific I/O priority. This class takes a priority argument from 0-7, with a lower number being higher priority. Programs running at the same best-effort priority are served in a round-robin fashion. Note that before kernel 2.6.26 a process that has not asked for an I/O priority formally uses "none" as scheduling class, but the I/O scheduler will treat such processes as if it were in the best-effort class. The priority within the best-effort class will be dynamically derived from the CPU nice level of the process: io_priority = (cpu_nice + 20) / 5. For kernels after 2.6.26 with the CFQ I/O scheduler, a process that has not asked for an I/O priority inherits its CPU scheduling class. The I/O priority is derived from the CPU nice level of the process (same as before kernel 2.6.26). Realtime The RT scheduling class is given first access to the disk, regardless of what else is going on in the system. Thus the RT class needs to be used with some care, as it can starve other processes. As with the best-effort class, 8 priority levels are defined denoting how big a time slice a given process will receive on each scheduling window. This scheduling class is not permitted for an ordinary (i.e., non-root) user. OPTIONS
-c, --class class Specify the name or number of the scheduling class to use; 0 for none, 1 for realtime, 2 for best-effort, 3 for idle. -n, --classdata level Specify the scheduling class data. This only has an effect if the class accepts an argument. For realtime and best-effort, 0-7 are valid data (priority levels), and 0 represents the highest priority level. -p, --pid PID... Specify the process IDs of running processes for which to get or set the scheduling parameters. -P, --pgid PGID... Specify the process group IDs of running processes for which to get or set the scheduling parameters. -t, --ignore Ignore failure to set the requested priority. If command was specified, run it even in case it was not possible to set the desired scheduling priority, which can happen due to insufficient privileges or an old kernel version. -h, --help Display help text and exit. -u, --uid UID... Specify the user IDs of running processes for which to get or set the scheduling parameters. -V, --version Display version information and exit. EXAMPLES
# ionice -c 3 -p 89 Sets process with PID 89 as an idle I/O process. # ionice -c 2 -n 0 bash Runs 'bash' as a best-effort program with highest priority. # ionice -p 89 91 Prints the class and priority of the processes with PID 89 and 91. NOTES
Linux supports I/O scheduling priorities and classes since 2.6.13 with the CFQ I/O scheduler. AUTHORS
Jens Axboe <jens@axboe.dk> Karel Zak <kzak@redhat.com> SEE ALSO
ioprio_set(2) AVAILABILITY
The ionice command is part of the util-linux package and is available from https://www.kernel.org/pub/linux/utils/util-linux/. util-linux July 2011 IONICE(1)