1 Improving Energy for Mobile Computers Through Process Migration Logging Chuck Weddle M.S. Student April 22, 2004 Willard Thompson Ph.D. Student
2 Introduction Research Goals Design Implementation Results and Measurements Analysis Conclusions Summary
3 Research Goals Initial Hypothesis Given 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 Hypothesis Given 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 daemon Register 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 PPSPSPM IJPM PE Shared Memory JPM daemon PPSPSPM 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 PPSPSPM 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 PPSPSPM 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 PPSPSPM IJPM PE Shared Memory
14 Implementation JPM Daemon – Process Monitor JPM daemon PPSPSPM 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 categories 1. Network Efficiency 2. Disk I/O 3. CPU Utilization Nine experiments run for each category 300 runs for each experiment
18 Results and Measurements Nine types of experiments run: 1. Pre-processor off 2. Pre-processor on; Process logger off 3. Pre-processor on; Log block size 3K 4. Pre-processor on; Log block size 5K 5. Pre-processor on; Log block size 7K 6. Pre-processor on; Log block size 9K 7. Pre-processor on; Log block size 11K 8. Pre-processor on; Log block size 13K 9. Pre-processor on; Log block size 15K
19 Results and Measurements
20 Results and Measurements
21 Results and Measurements
22 Results and Measurements
23 Results and Measurements
24 Results and Measurements Exp. Blocks Proc. Migrated PBS Delay Interval p1 p2 p
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 expected Disk I/O and CPU Utilization had no notable changes The drop off in all of the charts except for the CPU chart is from the Pre-processor going from off to on Perhaps 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 efficiency Network efficiency was probably accurate since we had more control over the network medium
28 Summary Research Goals Experiments Results Analysis and Conclusions
29 References [CT95] C. Tait, et. al., “Intelligent File Hoarding for Mobile Computers", ACM Conference on Mobile Computing and Networking (Mobicom ’95), [DM00] D. Milojicic, “Process Migration”, ACM Computing Surveys, Vol. 32, No. 3, pp. 241 – 299, [EP02] E. Pinheiro, et al., “Dynamic Cluster Reconfiguration for Power and Performance”, Kluwer Academic Publishers, [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 [JM02] J. McCann, “Ubiquitous Computing and the Need for a New Operating System Architecture”, DSEG Imperial College, [KB03] K. Barr, K. Asanovic, “Energy Aware Lossless Data Compression”, Proceedings of MobiSys 2003: The First International Conference on Mobile Systems, Applications, and Services, [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, [MF03] M. Franz, “A Fresh Look at Low-Power Mobile Computing”, Kluwer Academic Publishers, Norwell, MA, USA, pp. 209 – 219, [MG01] M. Golm, J. Kleinoder, “Ubiquitous Computing and the Need for a New Operating System Architecture”, University of Erlangen-Nurnberg, [MN94] M. Nuttall, “A Brief Survey of Systems Providing Process or Object Migration Facilities”, Operating Systems Review, Vol. 28, No. 4, pp , [MS95] M. Seltzer, K. Smith, “File System Logging Versus Clustering: A Performance Comparison”, USENIX, pp , [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 [PS98] P. Smith, N. Hutchinson, “Heterogeneous Process Migration: The Tui System", Software and Practice and Experience", Vol. 28, No. 6, pp , [RL98] R. Lawrence, “A Survey of Process Migration Mechanisms”, University of Manitoba, [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 [SP96] S. Pope, “Application Migration for Mobile Computers”, 3rd International Workshop on Services in Distributed and Networked Environments (SDNE 96), [TS03] T. Sato, I. Arita, “Constructive Timing Violation for Improving Energy Efficiency”, Kluwer Academic Publishers, Norwell, MA, USA, pp. 137 – 153, 2003.