1 improving energy for mobile computers through process migration logging chuck weddle m.s. student...
TRANSCRIPT
1
Improving Energy for Mobile Computers Through Process Migration Logging
Chuck WeddleM.S. Student
April 22, 2004
Willard ThompsonPh.D. Student
2
Introduction
Research GoalsDesignImplementationResults and MeasurementsAnalysisConclusionsSummary
3
Research Goals
Initial HypothesisGiven process caching, process logging, and a multi-level queue scheduling (optimized for process migration), is there a measurable difference in efficiency over current process migration models, for improving power consumption for mobile clients?
4
Research Goals
Modified HypothesisGiven process migration that uses process logging, is there a measurable improvement in efficiency over process migration without process logging, for improving power consumption?
5
Design
JPM System
- JPM Process
- JPM Daemon
6
Design
JPM Process
JPM Migrate Class
JPM process
JPM Migrate Class
JPM process
JPM daemonRegister
Suspend
7
Design
JPM Daemon
- PPS, Pre-Process Scheduler- PS, Process Logger- PE, Process Execution- PM, Process Monitor- IJPM, Inter-JPM Daemon Communicator
JPM daemon
PPS
PS PM
IJPM
PE
Shared Memory
JPM daemon
PPS
PS PM
IJPM
PE
Shared Memory
8
Implementation
JPM Process - Migrate Class
- Encapsulates logic that implements the communication protocol between the process to be migrated and the JPM Daemon PPS.
- Handles socket communication logic
- Defines framework methods that can be overridden by the process programs that allow the process programs to plug into the JPM system.
9
Implementation
JPM Process – Example// Java Process Migration (JPM)// // Charles Weddle & Willard Thompson // @ Florida State University//// copywrite 2004, all rights reserved
import edu.fsu.jpm.jpmp.Migrate;
public class example extends Migrate {
public static void main (String args[]) { example mp = new example(); mp.setProcessName("Example"); mp.execute(new example()); }
10
Implementation
JPM Process – Example public void run() {
try {
}
catch (InterruptedException exception) {
exception.printStackTrace();
}
}
protected void suspendProcess () {
// prepare THIS process for migration, if needed.
}
}
11
Implementation
JPM Daemon – Representation
- JpmCommand
- JpmNode
- JpmProcess
- JpmProcessBlock
JPM daemon
PPS
PS PM
IJPM
PE
Shared Memory
12
Implementation
JPM Daemon jpmd-ijpm & jpmd-ijpm-
nodemgr
- Java RMI used to implement communication protocol between the jpmd-ijpm and jpmd-ijpm-nodemgr.
- JpmIjpmIf & JpmIjpmImpl RMI Remote Interface and Implementation.
- Nodes are “well known”.
JPM daemon
PPS
PS PM
IJPM
PE
Shared Memory
13
Implementation
JPM Daemon – Shared Memory Queues
- Nodes Queue
- Pre-Processes Queue
- Process Blocks Queue
- Migrated Process Blocks Queue
JPM daemon
PPS
PS PM
IJPM
PE
Shared Memory
14
Implementation
JPM Daemon – Process Monitor
JPM daemon
PPS
PS PM
IJPM
PE
Shared Memory
15
Implementation
JPM Experiment
- Built to facilitate experimentation of the JPM system.
16
Implementation
Constraints
- Time, 12 Week Project – 1 Year Idea- JPM System “Well-Known” Nodes- JPM Process Byte Size- JPM Process Round Trip Completion- Java RMI
17
Results and Measurements
Organized into three categories1. Network Efficiency2. Disk I/O3. CPU Utilization
Nine experiments run for each category300 runs for each experiment
18
Results and Measurements
Nine types of experiments run:1. Pre-processor off2. Pre-processor on; Process logger off3. Pre-processor on; Log block size 3K4. Pre-processor on; Log block size 5K5. Pre-processor on; Log block size 7K6. Pre-processor on; Log block size 9K7. Pre-processor on; Log block size 11K8. Pre-processor on; Log block size 13K9. Pre-processor on; Log block size 15K
19
Results and Measurements
Packets Received and Transmitted
0
1
2
3
4
5
6
7
1 2 3 4 5 6 7 8 9
Experiment
Packets
R/T
per
seco
nd
Received Transmitted
20
Results and Measurements
Bytes Received and Transmitted
0
200
400
600
800
1000
1200
1 2 3 4 5 6 7 8 9
Experiment
Byte
s R
/T p
er
seco
nd
Received Transmitted
21
Results and Measurements
Transactions
02
46
810
1214
16
1 2 3 4 5 6 7 8 9
Experiment
T/R
/W p
er
seco
nd
Transactions Reads Writes
22
Results and Measurements
Bytes Read/Written
0
100
200
300
400
500
600
1 2 3 4 5 6 7 8 9
Experiment
Byte
s R
/W p
er
seco
nd
Reads Writes
23
Results and Measurements
User and System CPU Utilization
0
20
40
60
80
100
1 2 3 4 5 6 7 8 9
Experiment
Perc
en
t
User System
24
Results and Measurements
Exp
.
Blocks
Proc.Migrated
PBS
DelayInterval
p1
p2
p3
1 0 0 5120 1000 0 0 0
2 300 300 5120 1000 84 87 119
3 169 300 3072 1000 102 101 97
4 124 300 5120 1000 111 91 98
5 183 300 7168 1000 103 94 103
6 130 300 9216 1000 98 106 96
7 109 300 11264 1000 84 114 102
8 98 300 13312 1000 118 87 95
9 76 300 15360 1000 104 93 103
25
Results and Measurements
Each of the 300 runs consisted of an random instantiation of one of the following processes: ProcOne (p1): Writes out a set of even numbers, where
each number is delayed by a .5 second. ProcTwo (p2): Simulates interactions of a customer
account, where each action is made every second. ProcThree (p3): Randomizes an array of elements and
sorts them using selectionsort every second.
26
Analysis
Network efficiency performed as expectedDisk I/O and CPU Utilization had no notable changesThe drop off in all of the charts except for the CPU chart is from the Pre-processor going from off to onPerhaps having more control in isolating our experiment may have helped
27
Conclusions
Still premature to arrive at any solid conclusions of whether or not process migration would improve mobile computing efficiencyNetwork efficiency was probably accurate since we had more control over the network medium
28
Summary
Research GoalsExperimentsResultsAnalysis and Conclusions
29
References[CT95] C. Tait, et. al., “Intelligent File Hoarding for Mobile Computers", ACM Conference on Mobile Computing and Networking (Mobicom ’95), 1995.
[DM00] D. Milojicic, “Process Migration”, ACM Computing Surveys, Vol. 32, No. 3, pp. 241 – 299, 2000.
[EP02] E. Pinheiro, et al., “Dynamic Cluster Reconfiguration for Power and Performance”, Kluwer Academic Publishers, 2002. [JH01] J. Hom, U. Kremer, “Energy Management of Virtual Memory on Diskless Devices”, In Proceedings of the Workshop on Compilers and Operating Systems for Low Power, September 2001. [JM02] J. McCann, “Ubiquitous Computing and the Need for a New Operating System Architecture”, DSEG Imperial College, 2002. [KB03] K. Barr, K. Asanovic, “Energy Aware Lossless Data Compression”, Proceedings of MobiSys 2003: The First International Conference on Mobile Systems, Applications, and Services, 2003. [MA03] M. Angles Moncusi, et. al., “A Modified Dual-Priority Scheduling Algorithm for Hard Real-Time Systems to Improve Energy Savings”, Kluwer Academic Publishers, Norwell, MA, USA, 2003. [MF03] M. Franz, “A Fresh Look at Low-Power Mobile Computing”, Kluwer Academic Publishers, Norwell, MA, USA, pp. 209 – 219, 2003.
[MG01] M. Golm, J. Kleinoder, “Ubiquitous Computing and the Need for a New Operating System Architecture”, University of Erlangen-Nurnberg, 2001. [MN94] M. Nuttall, “A Brief Survey of Systems Providing Process or Object Migration Facilities”, Operating Systems Review, Vol. 28, No. 4, pp. 64 - 80, 1994. [MS95] M. Seltzer, K. Smith, “File System Logging Versus Clustering: A Performance Comparison”, USENIX, pp. 249 - 264, 1995. [NA01] N. AbouGhazaleh, et al., “Toward the Placement of Power Management Points in Real Time Applications”, In Porceedings of the Workshop on Compilers and Operating Systems for Low Power (COLP'01), September 2001.
[PS98] P. Smith, N. Hutchinson, “Heterogeneous Process Migration: The Tui System", Software and Practice and Experience", Vol. 28, No. 6, pp. 611 - 639, 1998. [RL98] R. Lawrence, “A Survey of Process Migration Mechanisms”, University of Manitoba, 1998. [SL01] S. Li, et. al., “Low Power Operating System for Heterogeneous Wireless Communication System”, 10th International Conference on Parallel Architectures and Compilation Techniques (PACT'01), Barcelona, Spain, September 2001.
[SP96] S. Pope, “Application Migration for Mobile Computers”, 3rd International Workshop on Services in Distributed and Networked Environments (SDNE 96), 1996. [TS03] T. Sato, I. Arita, “Constructive Timing Violation for Improving Energy Efficiency”, Kluwer Academic Publishers, Norwell, MA, USA, pp. 137 – 153, 2003.