Using a Virtual Machine Monitor to Slow Down CPU Speed for Embedded Time-Sensitive Software Testing
スポンサーリンク
概要
- 論文の詳細を見る
The use of time-sensitive software has been popular for embedded systems like mobile phones and portable video players. Embedded software is usually developed in parallel with real hardware devices due to a tight time-to-market constraint, and therefore it is quite difficult to verify the sensory responsiveness of time-sensitive applications such as GUIs and multimedia players. To verify the responsiveness, it is useful for developers to observe the softwares behavior in a test environment in which the software runs in real time rather than in simulation time. To provide such a test environment, we need a mechanism that slows down the CPU speed of test machines because test machines are usually equipped with high-end desktop CPUs. A CPU slowdown mechanism needs to provide various CPU speeds, keep a constant CPU speed in the short term, and be sensitive toward hardware interrupts. Although there are a couple of ways of slowing down CPU speed, they do not satisfy all the above requirements. This paper describes FoxyLargo that smoothly slows down CPU speed with a virtual machine monitor (VMM). FoxyLargo carefully schedules a virtual machine (VM) to provide an illusion that the VM is running slowly from the viewpoint of time-sensitive applications. For this purpose, FoxyLargo combines three techniques: 1) fine-grained, 2) interrupt-sensitive, and 3) clock-tick based VM scheduling. We applied our techniques to Xen VMM, and conducted three experiments. The experimental results show that FoxyLargo adequately meet all the above requirements. Also, we successfully reproduced the decoding behavior of an MPEG player. This result demonstrates that FoxyLargo can reproduce the behavior of real applications.
著者
関連論文
- 「手段」としての仮想マシン技術の研究(平成21年度論文賞の受賞論文紹介)
- Reducing Security Policy Size for Internet Servers in Secure Operating Systems
- Filtering False Positives Based on Server-Side Behaviors
- Windows PC をグリッド環境で利用するための軽量 Linux バイナリ実行システム
- User-level Enforcement of Appropriate Background Process Execution
- TCP Reassembler for Layer7-Aware Network Intrusion Detection/Prevention Systems(Dependable Computing)
- Using a Virtual Machine Monitor to Slow Down CPU Speed for Embedded Time-Sensitive Software Testing
- Using a Virtual Machine Monitor to Slow Down CPU Speed for Embedded Time-Sensitive Software Testing
- A State-Aware Protocol Fuzzer Based on Application-Layer Protocols
- Clustering Performance Anomalies Based on Similarity in Processing Time Changes
- MashCache: Taming Flash Crowds by Using Their Good Features
- Lightweight Recovery from Kernel Failures Using Phase-based Reboot
- Lightweight Recovery from Kernel Failures Using Phase-based Reboot
- MashCache: Taming Flash Crowds by Using Their Good Features
- Using Fault Injection to Analyze the Scope of Error Propagation in Linux
- Honeyguide: A VM Migration-Aware Network Topology for Saving Energy Consumption in Data Center Networks
- Automatically Checking for Session Management Vulnerabilities in Web Applications
- DiscNice: User-level Regulation of Disk Bandwidth