DISK POWER MANAGEMENT SIMULATOR
Dynamic power
management saves power by shutting down idle devices. The tool presented
here compares a set of DPM algorithms for controlling power states of
hard disk drives.
The algorithms
have been described in "Quantitative Comparison of Power Management
Algorithms" by Yung-Hsiang Lu et
al. The paper appeared in Proceedings of the conference on Design,
automation and test in Europe. The user is encouraged to read the
paper before using the tool.
The tool has
three fold uses. First it can be used to learn a set of scheduling
algorithms used by hard disks to schedule track accesses. The first part
of tool demonstrate the order in which tracks would be accessed for
three different Disk Scheduling algorithms: FCFS (First Come, First
Served), S.S.T.F (Shortest Seek Time First), and
C-Look. A brief
description of these algorithms is presented here.
For these set of experiments, no power management algorithms are used.
The second part of tool demonstrates the working of DPM algorithms. The
algorithms presented are Fixed Timeout, ATO1, ATO2, ATO3 and Exponential
Average. Different scheduling algorithms can be used while performing
simulations for each of these. For example the user can see how power
management algorithm ATO1 performs if disk scheduling algorithm used is
S.S.T.F or if another disk scheduling algorithm, SCAN is used. Finally,
a performance comparison of any two DPM algorithms can be
seen.
Following are the
steps to use this software
- Step 1: Select disk
parameters
Disk paraneters such as Power consumed when disk
is active are used for Energy calculations and determining performance
parameters like minimum sleep time required for disk to conserve
energy. Disk parameters can be selected in two ways: * By
selecting a disk model: When a disk modl is selected the
table reflects all parameters for that disk model. * By
inputting a new set of values. When the option "User Defined" is
selcted, the values entered in parameter table will be used for all
simulations.
- Step 2: Enter Head starting Track Number
The starting position of head can be specified. Any
scheduling algorithm will start scheduling assuming this start
value.
- Step 3: Enter Disk Access Track Numbers
(0-600)
A set of track numbers that need to be accessed
should be specified. Track accesses requests are assumed to be buffered
in a buffer of size of four.
- Step 4 : Enter time intervals between accesses
Between any two set of track accesses, a time interval can
be specified where the disk is idle.
Instead of
entering values as specified in Step 1-4, experiment can also be performed
clicking "Autofill" button, to fetch default values.
- Step 5: Start the execution
The execution can
be started by clicking the "Go" button. This would simulate track
accesses for all scheduling algortihms and compute the energy
requirements of each.
- Step 6 : Choose Power Management algorithm The
second stage of simulator reflects the effect of Power management
algortihms. The algortihm can be chosen from the select box. A
choice of fixed timeout, Adaptive timeout 1, and Adaptive timeout 2 and
Fixed timeout are provided.
- Step 7: Enter parameters for Fixed Timeout
Different timeout values can be specified to see the
effect on Fixed timeout algorithm. The algorithm will wait for time
specified in timeout interval before scheduling disk spin-down. Also, a
choice of disk scheduling algorithms is provided for scheduling track
accesses and hence the active time.
- Step 8: Enter parameters for ATO1: Different values
of alpha, beta and roe can be specified for varying timeout adaptively.
ATO1 adapts its timeout values based on an acceptable or unacceptable
disk shut down. In case of acceptable spin down, timeout is decreased
with a factor or beta and in case of an unacceptable spin down,
timeout value is increased by alpha.
- Step 8: Enter parameters for ATO2: ATO2 adjust
timeout asymmetrically, increasing by 1 sec and decreasing by half.
Values of roe can be specified to estimate acceptable and unacceptable
spin-downs.
- Step 8: Enter parameters for ATO3:ATO3 adjusts
timeout by looking at the busy time period before every idle period. If
busy period is small, timeout decreases, if busy period in large,
timeout increases. Initial timeout value can be entered by user.
- Step 9: Enter parameters for Exponential
Average:Exponential Average uses predicted and actual lengths
of previous idle preiod to predict the lenths of current idle period
- View results : For each power management algorithm
simulated, set of performance parameters can be viewd such as, Number of
shutdowns, Number of wrong shutdowns
- Step 10: Performance Metrics: Any two set or all
Power Management algorithms can be compared for their performance using
graphs by clicking "Performance Metrics". Algorithms can be compared in
terms of "Energy Gained", "Total Weight Delay", "Average Weight Delay",
"Maximum weight sequence" for long and short time windows ( Window sizes
can be specified by user).
Additionaly, a graph plots for each
compared algorithm,the longest shutdown sequence in which the time
between two adjacent shutdowns is shorter than a threshold.
To start using simulation click on
"Simulation" tab above
DISK SCHEDULING ALGORITHMS
A hard disk drive is a collection of
plates called platters. The surface of each platter is divided into
circular tracks. Further more, each track is divided into
smaller pieces called sectors. Disk I/O is done sector by sector. A
group of tracks that are positioned on top of each other form a
cylinder. There is a head connected to an arm for each surface,
which handles all I/O operations.
For each I/O request, first head
is selected. It is then moved over the destination track. The disk
is then rotated to position the desired sector under the head= and
finally, the read/write operation is performed.
There are two objectives for any disk
scheduling algorithm: 1. Maximize the throughput - the average
number of requests satisfied per time unit. 2. Minimize the
response time - the average time that a request must wait before it
is satisfied.
Some of the disk scheduling algorithms
are explained below.
- FCFS (First Come, First Served)
- perform operations in order requested
- no reordering of work queue
- no starvation: every request is serviced
- poor performance
- SSTF (Shortest Seek Time First)
- after a request, go to the closest request in the work
queue, regardless of direction
- reduces total seek time compared to FCFS
- Disadvantages
- starvation is possible; stay in one area of the
disk if very busy
- switching directions slows things down
- SCAN
- go from the outside to the inside servicing requests and
then back from the outside to the inside servicing requests.
- repeats this over and over.
- reduces variance compared to SSTF.
- LOOK
- like SCAN but stops moving inwards (or outwards) when no
more requests in that direction exist.
- C-SCAN (circular scan)
- moves inwards servicing requests until it reaches the
innermost cylinder; then jumps to the outside cylinder of the
disk without servicing any requests.
- repeats this over and over.
- variant: service requests from inside to outside, and then
skip back to the innermost cylinder.
- C-LOOK
- moves inwards servicing requests until there are no more
requests in that direction, then it jumps to the outermost
outstanding requests.
- repeast this over and over.
- variant: service requests from inside to outside, then skip
back to the innermost request.
|
|