论文部分内容阅读
可扩展标记语言(Extensible Markup Language,简称XML)是一种简单的、与平台无关的结构化数据的描述语言,已被广泛采用,并成为国际标准。XrML(Extensible Rights Markup Language)是一种基于XML扩展的权限描述语言,主要应用于数字版权管理(Digital Rights Management,简称DRM)。XML处理包括解析、转换、传输等,解析是其中的一个关键步骤。XrML语法遵从XML语法规范,本文所要研究的对XrML数据的解析不涉及语义,其等同于对一般XML数据的解析。在DRM系统中,XrML描述的用户信息和权限描述信息都需要采用加密手段来进行保护。考虑到这些信息的数据量较小,符合超椭圆曲线密码(Hyperellitpic Curve Cryptography, HECC)的密钥短而加密强度高的特点,适合采用HECC进行加密。XML解析和HECC加密都是计算密集型操作,计算复杂度高,如何通过并行化提高处理性能是一个富有挑战性的问题。本文针对这一问题开展了系统、深入的研究,主要研究成果如下: 1)提出了一种混合并行XML解析方法,该方法同时采用了事件级数据并行和不同阶段的流水线并行。与其他方法相比,该方法的优势在于:在预处理阶段,设计了一种准确快速的XML事件边界识别预处理方法,并采用SIMD指令加速预处理;在事件解析阶段,采用多线程并行解析根据事件边界划分得到的数据块;在整体上,设计了一种新的混合并行XML解析方法,实现高效的XML解析。在8核Intel Xeon X7560 CPU、Linux操作系统的机器上做的实验结果表明,与现有方法相比,该方法能达到更快的解析速度且具有更好的可扩展性。 2)提出了一种超椭圆曲线密码算法并行化实现方法,并设计了一种新的超椭圆曲线密码处理器并行结构,该结构支持多核的分散控制和协作机制。处理器由多个具有相同结构的核组成,每个核包括一个控制器、一个寄存器和一个运算单元。每个核的控制器独立控制自己的运算单元,使得多个运算单元可以并行执行。核之间通过寄存器共享机制进行通信,协作完成复杂运算,避免了其它方法中只采用单个寄存器文件导致的写竞争。本文设计了两种运算单元结构。一种是每个运算单元执行简单两操作数指令:乘法(AB)、平方(A2)和加法(A+B),另一种是每个运算单元执行自定义多操作数指令A(B+C)+D,并在指令产生过程和执行时对指令进行灵活配置。该设计可实现核之间的指令级并行和不同指令执行阶段的流水线并行。实验结果表明,与其它方法相比,本文提出的方法可以实现更快的超椭圆曲线密码点乘运算,具有更高的性能。