Trends of Hardware Acceleration Technology in Wed Browser

HW 가속 기반 웹 고속화 기술동향

  • 이재호 (모바일서비스플랫폼연구실) ;
  • 조현우 (모바일서비스플랫폼연구실) ;
  • 김도형 (모바일서비스플랫폼연구실) ;
  • 이형석 (모바일서비스플랫폼연구실) ;
  • 윤석진 (모바일서비스플랫폼연구실) ;
  • 류철 (모바일서비스플랫폼연구실) ;
  • 조창식 (모바일서비스플랫폼연구실)
  • Published : 2016.08.01

Abstract

특정 제조사의 단말 또는 운영체제에 의존성이 없는 플랫폼 독립적인 웹은 높은 이식성, 소프트웨어의 재활용, 개발 생산성, 풍부한 개발자 존재, 유지 보수 면에서 장점을 가지나, 화려한 UI/UX를 제공하는 네이티브 응용에 비해 낮은 성능으로 웹 기반의 응용 개발 및 보급이 크게 활성화되지 못했다. 한편 데스크톱은 물론 모바일 단말의 멀티코어 기반 Graphic Processing Unit(GPU), CPU 탑재 등 HW 고사양화와 웹 응용에서도 HW 가속 기능을 활용할 수 있는 표준 제공으로 성능 제약을 극복할 수 있게 되었다. 본고에서는 GPU 발전동향을 살펴보고, 고속 렌더링 및 병렬 연산처리를 요구하는 웹 응용이 GPU기반 HW 가속 기능을 활용할 수 있는 크로노스 그룹의 그래픽 가속(Web Graphics Library: WebGL) 및 컴퓨팅(Web Computing Language: WebCL) 지원 표준 규격을 정리한다. 또한, 최근 차세대 GPU Application Programming Interface(API)로 발표된 Vulkan에 대해 알아보고, 웹 고속화 기술에 적용 가능성에 대해 전망한다.

Keywords

References

  1. W3C Recommendation 28th Oct. 2014, http://www.w3.org/TR/2014/REC-html5-20141028/
  2. 이환용, "크로노스의 이해 (경북대학교3D 융합 기술 지원센터)," 2015. 5.
  3. 벌칸 공식 사이트, https://www.khronos.org/vulkan
  4. Nvidia, Cuda http://www.nvidia.com/object/cuda_home_new. html
  5. OpenCL https://www.khronos.org/opencl/
  6. 위키피디아 사이트, https://en.wikipedia.org/wiki/List_of_Nvidia_graphics_processing_units
  7. 크로노스 그룹, WebGL, https://www.khronos.org/registry/webgl/specs/1.0/
  8. ThreeJS 공식 사이트, http://threejs.org/
  9. ThreeJS 개발 사이트, https://github.com/mrdoob/three.js
  10. SceneJS 공식 사이트, http://scenejs.org/
  11. SceneJS 사이트, https://github.com/xeolabs/scenejs
  12. PhiloGL 사이트, http://www.senchalabs.org/philogl/
  13. BabylonJS 사이트, http://www.babylonjs.com/
  14. BabylonJS 사이트, https://github.com/BabylonJS/Babylon.js/
  15. WebCL 사이트, https://www.khronos.org/webcl/
  16. T.Aarnio and M. Bourges-Sevenier, "WebCL 1.0 specification," Khronos WebCL Working Group, 2014.
  17. https://github.com/amd/Chromium-WebCL/
  18. https://github.com/crosswalk-project/
  19. https://github.com/toaarnio/webcl-firefox/
  20. https://github.com/IntelLabs/RiverTrail/
  21. https://github.com/highweb-project/
  22. https://crosswalk-project.org/documentation/tutorials/webcl.html
  23. Stream Computing, "Google blocked OpenCL on Nexus with Android 4.3", 2013. 8.1, https://streamcomputing.eu/blog/2013-08-01/google-blocked-opencl-on-android-4-3/
  24. A. Technica, "Google Goes with Vulkan as Android's Low-Overhead Graphics API," 2015. 8. 11, http://arstechnica.com/gadgets/2015/08/android-to-supportvulkan-graphics-api-the-open-answer-to-metal-and-dx12/
  25. F. Khan et al., "Using Javascript and WebCL for Numerical Computations: A Comparative Study of Native and Web Technologies," ACM SIGPLAN Notices, vol. 50, no. 2. ACM, Feb. 2014, pp. 91-102. https://doi.org/10.1145/2775052.2661090
  26. Khronos Group, "$Vulkan^{TM}$ Overview", Feb. 2016 (https://www.khronos.org/assets/uploads/developers/library/overview/vulkan-overview.pdf)
  27. T.Hector, "Vulkan: Explicit operation and consistent frame times", Imagination Blog, Dec. 7, 2015. http://blog.imgtec.com/powervr/vulkan-explicit-operation-and-consistentframe-times/
  28. T.Hector, "Vulkan: One API for all platforms", Imagination Blog, Oct. 19, 2015. http://blog.imgtec.com/powervr/vulkanone-api-for-all-platforms/
  29. T. Hector, "Vulkan: High Efficiency on Mobile," Imagination Blog, nov. 5, 2015, http://blog.imgtec.com/powervr/vulkan-high-efficiency-on-mobile
  30. The Chromium Projects, https://chromium.googlesource.com/chromium/src.git/+/master/gpu/vulkan/