DOI QR코드

DOI QR Code

FastIO: High Speed Launching of Smart TV Apps

FastIO: 스마트 TV 앱의 고속 구동 기법

  • 이철희 (한양대학교 컴퓨터소프트웨어학과) ;
  • 황태호 (한양대학교 컴퓨터소프트웨어학과) ;
  • 원유집 (한양대학교 컴퓨터소프트웨어학과) ;
  • 이성진 (한양대학교 컴퓨터소프트웨어학과)
  • Received : 2014.12.23
  • Accepted : 2016.04.07
  • Published : 2016.07.15

Abstract

Smart TV uses Webkit as a web browser engine to provide contents such as web surfing, VOD watching, and games. Webkit uses web resources, such as HTML, CSS, JavaScript, and images, in order to run applications. At the start of an application, Webkit loads resources to the memory and creates DOM tree and render tree, which is a time consuming process. However, DOM tree and render tree created by the smart TV application do not change over time because the smart TV application uses web resources stored in a disk. If DOM tree and render tree can be stored and reused, it is possible to reduce loading time of an application. In this paper, we propose FastIO technique that selectively adds persistency to dynamically allocated memory. FastIO reduces overall application loading time by eliminating the process of loading resources from storage, parsing the HTML documents, and creating DOM tree and render tree. Comparison of the application resource loading times indicates that the web browser with FastIO is 7.9x, 44.8x, and 2.9x faster than the legacy web browser in an SSD, Ramdisk, and eMMC environment, respectively.

스마트 TV는 콘텐츠를 제공하기 위해 웹 브라우저로 웹킷을 사용한다. 웹킷은 앱을 실행하기 위해 HTML, CSS, 자바스크립트, 이미지와 같은 웹 자원을 사용한다. 따라서 애플리케이션이 시작될 때 웹킷은 메모리로 자원을 적재하고 돔트리와 렌더트리를 생성한다. 하지만 스마트 TV 앱은 웹 자원을 디스크에 저장하기 때문에 돔트리와 렌더트리는 변하지 않는다. 그러므로 만약 돔트리와 렌더트리를 재사용할 수 있다면 앱의 로딩 시간을 단축할 수 있다. 본 논문은 동적으로 할당 받은 메모리에 영속성을 부여하는 기법인 FastIO를 제시하고 웹킷 기반의 웹 브라우저에 적용하였다. 따라서 웹 자원을 스토리지로부터 메모리로 적재하고 in-memory 구조로 변환하는 과정을 제거 하였다. 실험 결과로 돔트리와 렌더트리가 생성 과정까지의 시간을 비교하였고, FastIO를 적용한 웹 브라우저가 기존 웹 브라우저보다 SSD, Ramdisk, eMMC에서 7.9배, 44.8배, 2.9배의 속도가 향상되었다.

Keywords

Acknowledgement

Grant : 차세대 메모리 기반의 스마트 디바이스용 임베디드 시스템 소프트웨어

Supported by : 한국산업기술평가관리원

References

  1. S. Y. Lee, T. Park, and W. Hong, "Advanced Smart TV 2.0 System and Services based on HTML5," Journal of Convergence Information Technology, Vol. 8, No. 14, pp. 172-180 Sep. 2013.
  2. A. Charland and B. LeRoux, "Mobile Application Development: Web vs. Native," Communications of the ACM, Vol. 54, No. 5, pp. 49-53, 2011. https://doi.org/10.1145/1941487.1941504
  3. Webkit Open Source Project. [Online]. Available: http://webkit.org/
  4. W3C Standards. [Online]. Available: http://www.w3.org/standards/
  5. K. Kim, H. M. Yang, C. G. Kim, and S. D. Kim, "A Parallel Approach to Mobile Web Browsing," Mobile Computing, Applications, and Services, Vol. 95, pp. 338-344, 2012. https://doi.org/10.1007/978-3-642-32320-1_22
  6. D. Kim, C. Lee, S. Lee, and W. W. Ro, "Parallelized sub-resource loading for web rendering engine," Journal of Systems Architecture, Vol. 59, No. 9, pp. 785-793, 2013. https://doi.org/10.1016/j.sysarc.2013.05.016
  7. C. G. Jones, R. Liu, L. Meyerovich, K. Asanovic, and R. Bodik, "Parallelizing the web browser," Proc. of the First USENIX Workshop on Hot Topics in Parallelism, Mar. 2009.
  8. C. Cascaval, S. Fowler, P. Montesinos-Ortego, W. Piekarski, M. Reshadi, B. Robatmili, and V. Bhavsar, "Zoomm: a parallel web browser engine for multicore mobile devices," ACM SIGPLAN Notices, Vol. 48, No. 8, pp. 271-280, Feb. 2013. https://doi.org/10.1145/2517327.2442543
  9. K. Zhnag, L. Wang, and B. B. Zhu, "Smart caching for web browsers," Proc. of the 19th international conference on World wide web, Apr. 2010.
  10. A. Dearle, J. Rosenberg, F. Henskens, F. Vaughan, and K. Maciunas, "An examination of operating system support for persistent object systems," Proc. of the 25th Annual Hawaii International Conference on System Sciences, Jan. 1992.
  11. J. Rosenberg, A. Dearle, D. Hulse, A. Lindstrom, and S. Norris, "Operating system support for persistent and recoverable computation," Communications of the ACM, Vol. 39, No. 9, pp. 62-69, Sept. 1996. https://doi.org/10.1145/234215.234472
  12. J. Guerra, L. Marmol, D. Campello, C. Crespo, R. Rangaswami, and J. Wei, "Software Persistent Memory," Proc. of the USENIX Annual Technical Conference (ATC' 12), Jun. 2012.
  13. R.F. Freitas and W.W. Wilcke, "Storage-class memory: The next storage system technology," IBM Journal of Research and Development, Vol. 52, No. 4.5, pp. 439-447, Jul. 2008. https://doi.org/10.1147/rd.524.0439
  14. H. Volos and M. Swift, "Mnemosyne: Lightweight persistent memory," Proc. of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Mar. 2011.
  15. J. Coburn, A. Caulfield, A. Akel, L. Grupp, R. Gupta, R. Jhala, and S. Swanson, "Nv-heaps: making persistent objects fast and safe with next-generation, non-volatile memories," Proc. of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Mar. 2011.
  16. J. Gray, "Google Chrome: The Making of a Cross-Platform Browser," Linux Journal, Vol. 2009, No. 1, Sep. 2009.
  17. M. Allen, Palm WebOS, O'Reilly, 2009.
  18. J. Eliot, and B. Moss, "Working with persistent objects: To swizzle or not to swizzle," Software Engineering, IEEE Transactions on, Vol. 18, No. 8, pp. 657-673, Aug. 1992. https://doi.org/10.1109/32.153378
  19. H. Shacham, M. Page, B. Pfaff, E.J. Goh, N. Modadugu, and D. Boneh, "On the effectiveness of addressspace randomization," Proc. of the 11th ACM conference on Computer and communications security, Oct. 2004.