Abstract
The performance and characteristics of the storage devices used in embedded systems can have a great influence on the overall end user experience. When building embedded systems or designing new storage device components, it is important for the designers to be able to evaluate how storage devices of different characteristics will affect the overall system performance. Storage device emulation enables a system's performance to be evaluated with simulated storage devices that are not yet available. In storage device emulation, the emulated storage device appears to the operating system (OS) as a real storage device and its service timings are determined by a disk model, which simulates the behavior of the target storage device. In the conventional storage device emulators, because the OS is running continuously in the real-time domain, the amount of time that the emulators can spend on processing each I/O request is limited by the service time of each corresponding I/O request. This timing constraint can make emulating high-speed storage devices a challenge for the conventional storage device emulators. In this article, we propose an OS state pausing approach to storage device emulation that can overcome the timing constraints faced by the conventional storage device emulators. By pausing the state of the OS while the storage device emulator is busy, the proposed emulator can spend as much time as it needs for processing each I/O request without affecting the performance of the emulated storage device as perceived by the OS. This allows the proposed storage device emulator to emulate storage devices that would otherwise be challenging or even impossible for the conventional storage device emulators. In addition, the main task of storage device emulation is offloaded to an external computer to minimize the impact of the emulation workload on the target machine. The proposed storage device emulator is implemented with the Linux OS1 on an embedded system development board. Experimental results show that the full-system performance benchmarks measured with the proposed storage device emulator are within 2% differences compared to the results of the reference system.
- Nitin Agrawal, Leo Arulraj, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2012. Emulating goliath storage systems with David. Trans. Storage 7, 4 (February 21012), Article 12, 21 pages. DOI:http://doi.acm.org/10.1145/2078861.2078862 Google Scholar
Digital Library
- John S. Bucy, Jiri Schindler, Steven W. Schlosser, and Gregory R. Ganger. 2008. The DiskSim Simulation Environment Version 4.0 Reference Manual. CMU-PDL-08-101, Parallel Data Laboratory, Carnegie Mellon University.Google Scholar
- M. D. Canon, D. H. Fritz, J. H. Howard, T. D. Howell, M. F. Mitoma, and J. Rodriquez-Rosell. 1980. A virtual machine emulator for performance evaluation. Commun. ACM 23, 2 (February 1980), 71--80. DOI:http://doi.acm.org/10.1145/358818.358821 Google Scholar
Digital Library
- Li-Pin Chang. 2010. A hybrid approach to NAND-flash-based solid-state disks. IEEE Trans. Comput. 59, 10 (October 2010), 1337--1349. DOI:http://dx.doi.org/10.1109/TC.2010.14 Google Scholar
Digital Library
- Yuan-Hao Chang, Po-Liang Wu, Tei-Wei Kuo, and Shih-Hao Hung. 2012. An adaptive file-system-oriented FTL mechanism for flash-memory storage systems. ACM Trans. Embed. Comput. Syst. 11, 1 (April 2012), Article 9, 19 pages. DOI:http://doi.acm.org/10.1145/2146417.2146426 Google Scholar
Digital Library
- In Hwan Doh, Jongmoo Choi, Donghee Lee, and Sam H. Noh. 2007. Exploiting non-volatile RAM to enhance flash file system performance. In Proceedings of the 7th ACM & IEEE international conference on Embedded software (EMSOFT’’07). ACM, New York, NY, 164--173. DOI:http://doi.acm.org/10.1145/1289927.1289955 Google Scholar
Digital Library
- David Eklov, Nikos Nikoleris, David Black-Schaffer, and Erik Hagersten. 2011. Cache pirating: Measuring the curse of the shared cache. In Proceedings of the 2011 International Conference on Parallel Processing (ICPP’11). IEEE Computer Society, Washington, DC, 165--175. DOI:http://dx.doi.org/10.1109/ICPP.2011.15 Google Scholar
Digital Library
- Gregory R. Ganger and Yale N. Patt. 1998. Using system-level models to evaluate I/O subsystem designs. IEEE Trans. Comput. 47, 6 (June 1998), 667--678. DOI:http://dx.doi.org/10.1109/12.689646 Google Scholar
Digital Library
- Jeff Gibson, Robert Kunz, David Ofelt, Mark Horowitz, John Hennessy, and Mark Heinrich. 2000. FLASH vs. (Simulated) FLASH: closing the simulation loop. SIGARCH Comput. Archit. News 28, 5 (November 2000), 49--58. DOI:http://doi.acm.org/10.1145/378995.379000 Google Scholar
Digital Library
- Thomas Gleixner and Ingo Molnar. 2006. Hrtimers - subsystem for high-resolution kernel timers. (Jan. 2006). Retrieved July 10, 2013 from https://www.kernel.org/doc/Documentation/timers/hrtimers.txt.Google Scholar
- Thomas Gleixner and Douglas Niehaus. 2006. Hrtimers and beyond: Transforming the Linux time subsystems. In Proceedings of the Linux Symposium. 333--346.Google Scholar
- Thomas Gleixner. 2007. High resolution timers and dynamic ticks design notes. Retrieved July 10, 2013 from https://www.kernel.org/doc/Documentation/timers/highres.txt.Google Scholar
- Intel. 2013. Intel 64 and IA-32 architectures software developer's manual. Order Number: 325462-048US. Intel Corporation.Google Scholar
- Anthony Gutierrez, Joseph Pusdesris, Ronald G. Dreslinski, Trevor Mudge, Chander Sudanthi, Christopher D. Emmons, Mitchell Hayenga, and Nigel Paver. 2014. Sources of error in full-system simulation. In Proceedings of the 2014 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS’14). 23--25. DOI:10.1109/ISPASS.2014.6844457Google Scholar
Cross Ref
- Sitaram Iyer and Peter Druschel. 2001. Anticipatory scheduling: A disk scheduling framework to overcome deceptive idleness in synchronous I/O. SIGOPS Oper. Syst. Rev. 35, 5 (October 2001), 117--130. DOI:http://doi.acm.org/10.1145/502059.502046 Google Scholar
Digital Library
- John Linwood Griffin, Steven W. Schlosser, Gregory R. Ganger, and David F. Nagle. 2000. Modeling and performance of MEMS-based storage devices. SIGMETRICS Perform. Eval. Rev. 28, 1 (June 2000), 56--65. DOI:http://doi.acm.org/10.1145/345063.339354 Google Scholar
Digital Library
- John Linwood Griffin, Jiri Schindler, Steven W. Schlosser, John S. Bucy, and Gregory R. Ganger. 2002. Timing-accurate storage emulation. In Proceedings of the 1st USENIX Conference on File and Storage Technologies (FAST’02). USENIX Association, Berkeley, CA, 6. Google Scholar
Digital Library
- Diwaker Gupta, Kenneth Yocum, Marvin McNett, Alex C. Snoeren, Amin Vahdat, and Geoffrey M. Voelker. 2006. To infinity and beyond: time-warped network emulation. In Proceedings of the 3rd Conference on Networked Systems Design & Implementation - Volume 3 (NSDI’’06), Vol. 3. USENIX Association, Berkeley, CA, 7. Google Scholar
Digital Library
- Libav. 2014. Open source audio and video processing tools. Retrieved June 2014 from http://libav.org/.Google Scholar
- Linux Kernel. 2013a. Mainline Linux kernel source code. Retrieved from https://www.kernel.org/.Google Scholar
- Linux Kernel. 2013b. Linux kernel archive version 3.10. Retrieved from https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.10.tar.bz2.Google Scholar
- Linux Kernel. 2014. ftrace - Function Tracer. Retrieved from https://www.kernel.org/doc/Documentation/trace/ftrace.txt.Google Scholar
- Hyojun Kim, Nitin Agrawal, and Cristian Ungureanu. 2012. Revisiting storage for smartphones. Trans. Storage 8, 4 (December 2012), Article 14, 25 pages. DOI:http://doi.acm.org/10.1145/2385603.2385607 Google Scholar
Digital Library
- Ying-Chieh Lee, Chin-Ting Kuo, and Li-Pin Chang. 2012. Design and implementation of a virtual platform of solid-state disks. IEEE Embed. Syst. Lett. 4, 4 (December 2012), 90--93. DOI:http://dx.doi.org/10.1109/LES.2012.2213795 Google Scholar
Digital Library
- Linaro. 2014. Linaro 13.11 nano build. Retrieved from http://www.linaro.org/downloads/1311.Google Scholar
- Kaoutar El Maghraoui, Gokul Kandiraju, Joefon Jann, and Pratap Pattnaik. 2010. Modeling and simulating flash based solid-state disks for operating systems. In Proceedings of the first joint WOSP /SIPEW International Conference on Performance Engineering (WOSP/SIPEW’10). ACM, New York, NY, 15--26. DOI:http://doi.acm.org/10.1145/1712605.1712611 Google Scholar
Digital Library
- Mendel Rosenblum, Stephen A. Herrod, Emmett Witchel, and Anoop Gupta. 1995. Complete computer system simulation: The SimOS approach. IEEE Parallel Distrib. Technol. 3, 4 (December 1995), 34--43. DOI:http://dx.doi.org/10.1109/88.473612 Google Scholar
Digital Library
- Mendel Rosenblum, Edouard Bugnion, Scott Devine, and Stephen A. Herrod. 1997. Using the SimOS machine simulator to study complex computer systems. ACM Trans. Model. Comput. Simul. 7, 1 (January 1997), 78--103. DOI:http://doi.acm.org/10.1145/244804.244807 Google Scholar
Digital Library
- John Stultz, Nishanth Aravamudan, and Darren Hart. 2005. We are not getting any younger: A new approach to time and timers. In Proceedings of the Linux Symposium. 219--232.Google Scholar
- Chandramohan A. Thekkath, John Wilkes, and Edward D. Lazowska. 1994. Techniques for file system simulation. Softw. Pract. Exper. 24, 11 (November 1994), 981--999. DOI:http://dx.doi.org/10.1002/spe.4380241102 Google Scholar
Digital Library
- Avishay Traeger, Erez Zadok, Nikolai Joukov, and Charles P. Wright. 2008. A nine year study of file system and storage benchmarking. Trans. Storage 4, 2 (May 2008), Article 5, 56 pages. DOI:http://doi.acm.org/10.1145/1367829.1367831 Google Scholar
Digital Library
- S. Y. Wang, C. L. Chou, and C. C. Lin. 2007. The Design and Implementation of the NCTUns Network Simulation Engine. Simul. Model. Pract. Theory, 15 (2007), 57--81. DOI:http://dx.doi.org/10.1016/j.simpat.2006.09.013Google Scholar
Cross Ref
- Emmett Witchel and Mendel Rosenblum. 1996. Embra: Fast and flexible machine simulation. SIGMETRICS Perform. Eval. Rev. 24, 1 (May 1996), 68--79. DOI:http://doi.acm.org/10.1145/233008.233025 Google Scholar
Digital Library
- Charles P. Wright, Nikolai Joukov, Devaki Kulkarni, Yevgeniy Miretskiy, and Erez Zadok. 2005. Auto-pilot: A platform for system software benchmarking. In Proceedings of the Annual Conference on USENIX Annual Technical Conference (ATEC’05). USENIX Association, Berkeley, CA, 53. Google Scholar
Digital Library
- Charles P. Wright and Erez Zadok. 2007. The Auto-pilot Benchmarking Suite Version 2.4. Retrieved from http://www.filesystems.org/project-autopilot.html.Google Scholar
- Chin-Hsien Wu. 2010. A self-adjusting flash translation layer for resource-limited embedded systems. ACM Trans. Embed. Comput. Syst. 9, 4 (April 2010), Article 31, 26 pages. DOI:http://doi.acm.org/10.1145/1721695.1721697 Google Scholar
Digital Library
- Wikipedia. 2014a. Apple A7. Retrieved from http://en.wikipedia.org/wiki/Apple_A7.Google Scholar
- Wikipedia. 2014b. Noop scheduler. Retrieved from http://en.wikipedia.org/wiki/Noop_scheduler.Google Scholar
- Xilinx. 2013. Zynq-7000 All Programmable SoC Technical Reference Manual UG585 (v1.6.1). Xilinx.Google Scholar
- Xilinx. 2014. The official Linux kernel from Xilinx. Retrieved from https://github.com/xilinx.Google Scholar
- Jinsoo Yoo, Youjip Won, and Joongwoo Hwang. 2013. VSSIM: Virtual machine based SSD simulator. In Proceedings of the IEEE 29th Symposium on Mass Storage Systems and Technologies (MSST’13).Google Scholar
Cross Ref
- ZedBoard. 2014. ZedBoard Documentations. Retrieved from http://www.zedboard.org/product/zedboard.Google Scholar
- Omer Zilberberg, Shlomo Weiss, and Sivan Toledo. 2013. Phase-change memory: An architectural perspective. ACM Comput. Surv. 45, 3 (July 2013), Article 29, 33 pages. DOI:http://doi.acm.org/10.1145/2480741.2480746 Google Scholar
Digital Library
Index Terms
A Storage Device Emulator for System Performance Evaluation
Recommendations
Implementation and Performance Evaluation of an Object-Based Storage Device
SNAPI '07: Proceedings of the Fourth International Workshop on Storage Network Architecture and Parallel I/OsObject-based Storage System (OBSS) has led to a new wave in network storage area .Object-based Storage Device (OSD) which is the cornerstone of OBSS plays a decisive role in the performance of the whole OBSS. This paper describes how we implemented an ...
LSM-tree managed storage for large-scale key-value store
SoCC '17: Proceedings of the 2017 Symposium on Cloud ComputingKey-value stores are increasingly adopting LSM-trees as their enabling data structure in the backend storage, and persisting their clustered data through a file system. A file system is expected to not only provide file/directory abstraction to organize ...






Comments