View
215
Download
0
Category
Tags:
Preview:
Citation preview
Energy Efficiency through Burstiness
Athanasios E. Papathanasiou and Michael L. ScottUniversity of Rochester, Computer Science Department
Rochester, NY 14623, U.S.A.
(WMCSA'03) 5th IEEE Workshop on Mobile Computing Systems and Applications
Presented by Hsu Hao Chen
Introduction Smoothness:
OS resource management policies traditionally employ buffering
Maximize overall throughput and minimize the latency of individual requests.
A little energy efficiency Burstiness:
Can improve energy efficiency Without a significant impact on performance
Linux File System Behavior(1/2)
CD copy (1359 sec) Disk Idle Time: 1191 seconds 92%: shorter then 5 seconds
Linux File System Behavior(2/2)
MP3 playback (300 sec) Disk Idle Time: 292 seconds 66%: shorter than 8 seconds 6% only: longer than 16 second
breakeven time
Disk Energy Savings vs. Memory Size
Example: MPEG playback 64~496MB memory increase 3.4% disk energy savings
Design Guidelines(1/3) Maximize idle phases
Aggressive, Speculative Prefetching With hints to improve accuracy
Bursty Periodic Update
Coordinating across applications Arrange for all applications to run out of data at the
same time Prefetch daemon
Design Guidelines(2/3)
User Space
Kernel Space
Application layer
Memory Management
Coordi natedActi vi ty
Hard Disk
Read Requests Wri te Requests
Hi nts
Prefetchd Kupdated
kswapd
Pages
Design Guidelines(3/3) Maintaining responsiveness
Responsiveness may be decreased because of Increased disk congestion due to burstiness Latency penalty for disk power-up
Solution: Preactivate disk Monitor application progress and file system cache state
Data consumption and production rates Initiate prefetch cycle before applications run out of data
Interactive responsiveness Prioritized disk queues
Required to service quickly unpredicted demand misses during periods of high disk congestion
Prototype(1/5) Epoch-based algorithm in the basic memory
management mechanisms of the Linux kernel
Each epoch consists of two phases: Request generation phase Idle phase
Prototype(2/5) Request generation phase
Flush all dirty buffers Predict future data accesses Compute the amount of memory that can b
e used Prefetching Storing new data
Free the required amount of memory Prefetch
Prototype(3/5) Idle phase
Estimate time to next request Disk spin-down
Predicted idle time is higher than the disk’s break-even time
New epoch triggered by A new prefetching cycle has to be initiated A demand miss took place One or more dirty buffers have expired and it is tim
e for them to be flushed Low system memory
Prototype(4/5) The Prefetch Cache
Prefetch cache size Large enough to contain all predicted data accesses Without causing eviction of useful data
Type of first miss determines prefetch cache size for next epoch Compulsory Miss Prefetch Miss Eviction Miss
Prototype(5/5)
Update Policy Update daemon
Flushes all dirty buffers once per minute. Modified openopen system call
Postpone write-behind until the file is closed Application without strict reliability constraints
Examples: Copying of a file or MP3 encoding of a CD track
Experimental Evaluation(1/7) Dell Inspiron 4100 Laptop
512MB of memory Hitachi DK23DA hard disk
Workload scenarios MPEG Playback (two 76MB files) Concurrent MPEG Playback and MP3 encoding
MPEG Player Input: two 76MB files MP3 Encoder Input: 10 WAV files (626MB) MP3 Encoder Output: 10 MP3 files (42.9MB)
Power management policy: Linux: 10 second fixed threshold Bursty: Predictive algorithm that monitors application progre
ss and file system cache state
Experimental Evaluation(2/7)
Cumulative distribution of disk idle time intervals during MPEG playback
Experimental Evaluation(3/7)
Distribution of disk idle time intervals during concurrent MPEG playback and MP3 encoding
Recommended