Journal of Computer Science and Technology

, Volume 27, Issue 4, pp 727–743 | Cite as

Improving Application Launch Performance on Solid State Drives

  • Yongsoo Joo
  • Junhee Ryu
  • Sangsoo Park
  • Kang G. Shin
Regular Paper

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.

Keywords

application launch performance I/O prefetch solid state drive 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    Larus J. Spending Moore’s dividend. Commun. ACM, 2009, 52(5): 62–69.CrossRefGoogle Scholar
  2. [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. [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.Google Scholar
  4. [4]
    Apple Inc. Launch time performance guidelines. http://developer.apple.com/documentation/Performance/Conceptual/LaunchTime/LaunchTime.pdf, April 2006.
  5. [5]
    Nadgir N. Reducing application startup time in the Solaris 8 OS. http://developers.sun.com/solaris/articles/reducing_app.html, January 2002.
  6. [6]
    Colitti L. Analyzing and improving GNOME startup time. In Proc. the 5th System Administration and Network Engineering Conference, May 2006, pp.1–11.Google Scholar
  7. [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.CrossRefGoogle Scholar
  8. [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.Google Scholar
  9. [9]
    Kaminaga H. Improving Linux startup time using software resume. In Proc. the Linux Symposium, July 2006, pp.25–34.Google Scholar
  10. [10]
    Microsoft. Windows PC accelerators. http://www.microsoft.com/whdc/system/sysperf/perfaccel.mspx, May 2012.
  11. [11]
    Esfahbod B. Preload — An adaptive prefetching daemon [Master’s Thesis]. Graduate Department of Computer Science, University of Toronto, Canada, 2006.Google Scholar
  12. [12]
    Russinovich M E, Solomon D. Microsoft Windows Internals. Microsoft Press (4th edition), December 2004, pap.458–462.Google Scholar
  13. [13]
    Hubert B. On faster application startup times: Cache stuffing, seek profiling, adaptive preloading. In Proc. the Linux Symposium, July 2005, pp.245–248.Google Scholar
  14. [14]
    Prefetch: Linux solution for prefetching necessary data during application and system startup. http://code.google.com/p/prefetch/, August 2007.
  15. [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.Google Scholar
  16. [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.Google Scholar
  17. [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.Google Scholar
  18. [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.Google Scholar
  19. [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.Google Scholar
  20. [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.Google Scholar
  21. [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.CrossRefGoogle Scholar
  22. [22]
  23. [23]
  24. [24]
    Papathanasiou A E, Scott M L. Energy efficient prefetching and caching. In Proc. the USENIX Annual Technical Conference, June 2004, p.22.Google Scholar
  25. [25]
    Curewitz K M, Krishnan P, Vitter J S. Practical prefetching via data compression. SIGMOD Rec., 1993, 22(2): 257–266.CrossRefGoogle Scholar
  26. [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.Google Scholar
  27. [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.Google Scholar
  28. [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.CrossRefGoogle Scholar
  29. [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.Google Scholar
  30. [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.Google Scholar
  31. [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.Google Scholar
  32. [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.Google Scholar
  33. [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.Google Scholar
  34. [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.Google Scholar
  35. [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.Google Scholar
  36. [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.Google Scholar

Copyright information

© Springer Science+Business Media, LLC & Science Press, China 2012

Authors and Affiliations

  • Yongsoo Joo
    • 1
  • Junhee Ryu
    • 2
  • Sangsoo Park
    • 1
  • Kang G. Shin
    • 1
    • 3
  1. 1.Department of Computer Science and EngineeringEwha Womans UniversitySeoulKorea
  2. 2.Department of Computer Science and EngineeringSeoul National UniversitySeoulKorea
  3. 3.Department of Electrical Engineering and Computer ScienceUniversity of MichiganAnn ArborU.S.A.

Personalised recommendations