Skip to main content
Log in

Improving Application Launch Performance on Solid State Drives

  • Regular Paper
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

Abstract

Application launch performance is of great importance to system platform developers and vendors as it greatly affects the degree of users’ satisfaction. The single most effective way to improve application launch performance is to replace a hard disk drive (HDD) with a solid state drive (SSD), which has recently become affordable and popular. A natural question is then whether or not to replace the traditional HDD-aware application launchers with a new SSD-aware optimizer. We address this question by analyzing the inefficiency of the HDD-aware application launchers on SSDs and then proposing a new SSD-aware application prefetching scheme, called the Fast Application STarter (FAST). The key idea of FAST is to overlap the computation (CPU) time with the SSD access (I/O) time during an application launch. FAST is composed of a set of user-level components and system debugging tools provided by Linux OS (operating system). Hence, FAST can be easily deployed in any recent Linux versions without kernel recompilation. We implement FAST on a desktop PC with an SSD running Linux 2.6.32 OS and evaluate it by launching a set of widely-used applications, demonstrating an average of 28% reduction of application launch time as compared to PC without a prefetcher.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Larus J. Spending Moore’s dividend. Commun. ACM, 2009, 52(5): 62–69.

    Article  Google Scholar 

  2. Microsoft. Support and Q&A for solid-state drives. http://blogs.msdn.com/e7/archive/2009/05/05/support-and-q-a-for-solid-state-drives-and.aspx, May 2009.

  3. Dunn M, Reddy A L N. A new I/O scheduler for solid state devices. Technical Report TAMU-ECE-2009-02, Department of Electrical and Computer Engineering, Texas A&M University, 2009.

  4. Apple Inc. Launch time performance guidelines. http://developer.apple.com/documentation/Performance/Conceptual/LaunchTime/LaunchTime.pdf, April 2006.

  5. Nadgir N. Reducing application startup time in the Solaris 8 OS. http://developers.sun.com/solaris/articles/reducing_app.html, January 2002.

  6. Colitti L. Analyzing and improving GNOME startup time. In Proc. the 5th System Administration and Network Engineering Conference, May 2006, pp.1–11.

  7. Jo H, Kim H, Jeong J, Lee J, Maeng S. Optimizing the startup time of embedded systems: A case study of digital TV. IEEE Trans. Consumer Electron., 2009, 55(4): 2242–2247.

    Article  Google Scholar 

  8. Park C, Kim K, Jang Y, Hyun K. Linux bootup time reduction for digital still camera. In Proc. the Linux Symposium, July 2006, pp.239–248.

  9. Kaminaga H. Improving Linux startup time using software resume. In Proc. the Linux Symposium, July 2006, pp.25–34.

  10. Microsoft. Windows PC accelerators. http://www.microsoft.com/whdc/system/sysperf/perfaccel.mspx, May 2012.

  11. Esfahbod B. Preload — An adaptive prefetching daemon [Master’s Thesis]. Graduate Department of Computer Science, University of Toronto, Canada, 2006.

  12. Russinovich M E, Solomon D. Microsoft Windows Internals. Microsoft Press (4th edition), December 2004, pap.458–462.

  13. Hubert B. On faster application startup times: Cache stuffing, seek profiling, adaptive preloading. In Proc. the Linux Symposium, July 2005, pp.245–248.

  14. Prefetch: Linux solution for prefetching necessary data during application and system startup. http://code.google.com/p/prefetch/, August 2007.

  15. Chen F, Koufaty D A, Zhang X. Understanding intrinsic characteristics and system implications of flash memory based solid state drives. In Proc. the 11th ACM SIGMETRICS International Joint Conference on Measurement and Modeling of Computer Systems, June 2009, pp.181–192.

  16. Dirik C, Jacob B. The performance of PC solid-state disks (SSDs) as a function of bandwidth, concurrency, device architecture, and system organization. In Proc. the 36th International Symposium on Computer Architecture, June 2009, pp.279–289.

  17. Kim H, Ahn S. BPLRU: A buffer management scheme for improving random writes in flash storage. In Proc. the 6th USENIX Conference on File and Storage Technologies, February 2008, Article No.16.

  18. Kim J, Oh Y, Kim E, Choi J, Lee D, Noh S H. Disk schedulers for solid state drivers. In Proc. the 7th ACM International Conference on Embedded Software, October 2009, pp.295–304.

  19. Bhadkamkar M, Guerra J, Useche L, Burnett S, Liptak J, Rangaswami R, Hristidis V. BORG: Block-reORGanization for self-optimizing storage systems. In Proc. the USENIX Conference on File and Storage Technologies, February 2009, pp.183–196.

  20. Li Z, Chen Z, Srinivasan S M, Zhou Y. C-Miner: Mining block correlations in storage systems. In Proc. the 3rd USENIX Conference on File and Storage Technologies, March 31-April 2, 2004, pp.173–186.

  21. Hsu W W, Smith A J, Young H C. The automatic improvement of locality in storage systems. ACM Trans. Comput. Syst., 2005, 23(4): 424–473.

    Article  Google Scholar 

  22. Axboe J. Block IO tracing. http://www.kernel.org/git/?p=linux/kernel/git/axboe/blktrace.git;a=blob;f=README, September 2006.

  23. Wine User Guide. http://www.winehq.org/docs/wineusr-guide/index, 8 May 2012.

  24. Papathanasiou A E, Scott M L. Energy efficient prefetching and caching. In Proc. the USENIX Annual Technical Conference, June 2004, p.22.

  25. Curewitz K M, Krishnan P, Vitter J S. Practical prefetching via data compression. SIGMOD Rec., 1993, 22(2): 257–266.

    Article  Google Scholar 

  26. Kotz D, Ellis C S. Practical prefetching techniques for parallel file systems. In Proc. the 1st International Conference on Parallel and Distributed Information Systems, December 1991, pp.182–189.

  27. Vellanki V, Chervenak A L. A cost-benefit scheme for high performance predictive prefetching. In Proc. the ACM/IEEE Conference on Supercomputing, November 1999, Article No. 50.

  28. Wu F, Xi H, Xu C. On the design of a new Linux readahead framework. SIGOPS Oper. Syst. Rev., 2008, 42(5): 75–84.

    Article  Google Scholar 

  29. Pai R, Pulavarty B, Cao M. Linux 2.6 performance improvement through readahead optimization. In Proc. the Linux Symposium, July 2004, pp.393–403.

  30. Mowry T C, Demke A K, Krieger O. Automatic compilerinserted I/O prefetching for out-of-core applications. In Proc. the 2nd USENIX Symposium on Operating Systems Design and Implementation, October 1996, pp.3–17.

  31. VanDeBogart S, Frost C, Kohler E. Reducing seek overhead with application-directed prefetching. In Proc. the USENIX Annual Technical Conference, June 2009, p.24.

  32. Yang C K, Mitra T, Chiueh T C. A decoupled architecture for application-specific file prefetching. In Proc. the FREENIX Track: USENIX Annual Technical Conference, June 2002, pp.157–170.

  33. Chang F, Gibson G A. Automatic I/O hint generation through speculative execution. In Proc. the 3rd USENIX Symposium on Operating Systems Design and Implementation, February 1999, pp.1–14.

  34. Cao P, Felten E W, Karlin A R, Li K. A study of integrated prefetching and caching strategies. In Proc. the ACM SIGMETRICS Joint International Conference on Measurement and Modeling of Computer Systems, May 1995. pp.188–197.

  35. Gill B S, Modha D S. SARC: Sequential prefetching in adaptive replacement cache. In Proc. the USENIX Annual Technical Conference, April 2005, pp.293–308.

  36. Patterson R H, Gibson G A, Ginting E, Stodolsky D, Zelenka J. Informed prefetching and caching. In Proc. the 15th ACM Symposium on Operating Systems Principles, December 1995, pp.79–95.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sangsoo Park.

Additional information

This research was supported by RP-Grant 2010 of Ewha Womans University.

An earlier version of this paper was presented at the USENIX Conference on File and Storage Technologies (FAST) 2011 under the title “FAST: Quick application launch on solid-state drives.”

Rights and permissions

Reprints and permissions

About this article

Cite this article

Joo, Y., Ryu, J., Park, S. et al. Improving Application Launch Performance on Solid State Drives. J. Comput. Sci. Technol. 27, 727–743 (2012). https://doi.org/10.1007/s11390-012-1259-3

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11390-012-1259-3

Keywords

Navigation