当前位置:主页 > 管理论文 > 移动网络论文 >

WebCL拓展模块的设计与实现

发布时间:2017-11-02 06:09

  本文关键词:WebCL拓展模块的设计与实现


  更多相关文章: WebCL 拓展功能 安全性 封装 优化


【摘要】:近年来,随着HTML5技术的不断发展,优秀的Web应用数量也不断增加,但是Web应用的性能问题限制了其竞争力。使用多核处理器的并行处理能力加速Web应用成为了突破Web应用性能瓶颈的可行的解决方案之一。Khronos组织于2014年3月发布了WebCL标准1.0版。该标准将SIMD模型引入Web领域,使得Web应用在合适的场景下可以充分使用底层计算设备的并行能力,获得性能提升。Crosswalk作为Intel公司的一个开源项目,始终对前沿的Web技术持积极态度并优先集成了基于Blink渲染引擎实现的WebCL基础模块。但是Blink-WebCL基础模块存在不足。首先,Blink-WebCL基础模块并未针对硬件之间性能的差别给出差异性解决方案,这就使得性能强大的硬件的处理能力无法被应用程序充分挖掘。其次,Blink-WebCL基础模块存在安全问题。WebCL标准中要求实现的内存对象使用前必须初始化以防止程序遗留信息泄露的功能,Blink-WebCL基础模块并未予以实现。最后,Blink-WebCL基础模块提供的WebCL原生API对Web开发人员暴露了过多底层硬件信息。这些信息增加了Web程序员使用WebCL技术的难度。针对Blink-WebCL基础模块中出现的问题,本文设计并实现了WebCL拓展模块。首先,WebCL拓展模块通过实现WebCL标准中涉及到的扩展协议,在高级硬件上提供了对half类型以及double类型的支持,提供了html中图片元素与视频元素与WebCL内存对象的绑定,提供了WebCL与WebGL之间的数据直接交互。上述功能为Blink-WebCL提供了针对硬件性能差别的差异性解决方案。通过显式查询并激活设备或平台支持的扩展协议,开发者可以通过扩展协议提供的API调用硬件提供的高级功能,以便进一步发掘高性能硬件的能力。其次,WebCL拓展模块提升了Blink-WebCL基础模块的安全性,实现了每个新创建的WebCL内存对象在使用前必须被初始化的功能。该功能消除了恶意程序读取先前运行的程序遗留下的数据的安全隐患,增加了WebCL模块的安全性。最后,WebCL拓展模块以图形图像处理领域的程序的执行流程为参考,对Blink-WebCL基础模块进行了易用性封装。该封装将平台,设备,上下文,执行队列等硬件相关的概念对Web程序员屏蔽,降低了Web程序员使用WebCL技术的难度。同时,该封装将内存对象的生命周期同程序运行所处的状态结合,实现了内存对象的自动化管理机制,将WebCL基础模块中交给程序员管理的内存分配回收工作回收,降低了内存泄露与内存操作滥用的风险。经过封装后的接口更加简单并且符合Web程序员的开发习惯。WebCL拓展模块是对Blink-WebCL基础模块的补充与强化。它为WebCL提供了针对硬件差别的差异化解决方案,部分消除了WebCL基础模块的安全隐患。同时,对WebCL接口的易用性封装使得WebCL技术便于被图形图像领域的产品使用。目前,WebCL拓展模块与WebCL基础模块一并被Crosswalk产品接受,共同为Web开发者提供并行能力。另外,本文为腾讯的Alloyimage图像处理产品以及XML3D草案的实现xml3d.js中的skinning动画部分提供了基于WebCL拓展模块的并行加速方案并取得了显著的加速效果。其中,腾讯已经将该加速方案集成进入Alloyimage产品中,对外发布供开发者使用。
【关键词】:WebCL 拓展功能 安全性 封装 优化
【学位授予单位】:中山大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP393.09
【目录】:
  • 摘要3-5
  • Abstract5-9
  • 第1章 概述9-18
  • 1.1 背景9-12
  • 1.2 国内外研究现状12-15
  • 1.3 本文的主要工作和贡献15-17
  • 1.4 论文结构介绍17-18
  • 第2章 相关技术研究18-29
  • 2.1 CROSSWALK FOR ANDROID简介18-20
  • 2.2 BLINK渲染引擎简介20-21
  • 2.3 SIMD模型简介与GPU架构介绍21-24
  • 2.4 WEBCL模型简介24-26
  • 2.5 ALLOYIMAGE与XML3D介绍26-28
  • 2.6 本章小结28-29
  • 第3章 WEBCL拓展模块需求分析29-41
  • 3.1 WEBCL标准的扩展协议概述29-30
  • 3.2 WEBCL拓展模块需求分析概述30-33
  • 3.3 WEBCL拓展部分系统功能需求分析33-34
  • 3.4 WEBCL拓展部分用例分析34-39
  • 3.5 WEBCL拓展模块领域模型39-40
  • 3.6 本章小结40-41
  • 第4章 WEBCL拓展模块总体设计41-61
  • 4.1 WEBCL拓展模块接口说明41-47
  • 4.2 WEBCL拓展模块整体架构设计47-49
  • 4.3 用例实现49-51
  • 4.4 WEBCL拓展模块静态结构设计51-60
  • 4.5 本章小结60-61
  • 第5章 WEBCL拓展模块详细设计61-79
  • 5.1 扩展协议子模块的详细设计与实现61-73
  • 5.2 安全功能子模块的详细设计与实现73-75
  • 5.3 易用性封装子模块的详细设计与实现75-78
  • 5.4 本章小结78-79
  • 第6章 WEBCL拓展模块应用79-93
  • 6.1 并行理论分析79-80
  • 6.2 案例:WEBCL拓展模块在ALLOYIMAGE图像库中的应用80-88
  • 6.3 案例:WEBCL拓展模块在XML3D.JS SKINNING动画部分的应用88-92
  • 6.4 本章小结92-93
  • 第7章 WEBCL拓展模块测试与应用93-107
  • 7.1 WEBCL拓展模块开发环境和实验环境简介93-94
  • 7.2 WEBCL扩展模块一致性测试94-97
  • 7.3 ALLOYIMAGE中滤镜的WEBCL版本的实验与结果分析97-100
  • 7.4 XML3D.JS SKINNING动画部分加速的实验与结果分析100-101
  • 7.5 实验结果深入分析与总结101-105
  • 7.6 本章小结105-107
  • 第8章 总结与展望107-109
  • 8.1 本文工作的总结107-108
  • 8.2 将来的工作108-109
  • 参考文献109-112
  • 致谢112

【参考文献】

中国期刊全文数据库 前3条

1 董荦;葛万成;陈康力;;CUDA并行计算的应用研究[J];信息技术;2010年04期

2 牛津;杨涛;王林;;网页浏览器内核的比较研究[J];微计算机应用;2009年03期

3 严国萍;戴若愚;潘晴;刘袁缘;;基于LOG算子的自适应图像边缘检测方法[J];华中科技大学学报(自然科学版);2008年03期



本文编号:1130290

资料下载
论文发表

本文链接:https://www.wllwen.com/guanlilunwen/ydhl/1130290.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户0f4bd***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com