CN104615437A - 一种基于gpu的软件体系架构及uml和adl结合描述的方法 - Google Patents

一种基于gpu的软件体系架构及uml和adl结合描述的方法 Download PDF

Info

Publication number
CN104615437A
CN104615437A CN201510077040.0A CN201510077040A CN104615437A CN 104615437 A CN104615437 A CN 104615437A CN 201510077040 A CN201510077040 A CN 201510077040A CN 104615437 A CN104615437 A CN 104615437A
Authority
CN
China
Prior art keywords
gpu
filtrator
data
cpu
data stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510077040.0A
Other languages
English (en)
Inventor
卢晓伟
张清
周勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201510077040.0A priority Critical patent/CN104615437A/zh
Publication of CN104615437A publication Critical patent/CN104615437A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于GPU的软件体系架构及UML和ADL结合描述的方法,属于软件体系架构技术领域,一种基于GPU的软件体系架构,采用管道和过滤器模式进行建模,过滤器包括数据流预处理过滤器、数据流减负过滤器、CPU端加载引擎过滤器、GPU端加载引擎过滤器、数据流处理过滤器以及可视化过滤器;原始数据流通过管道依次经过数据流预处理过滤器、数据流减负过滤器、CPU端加载引擎过滤器、GPU端加载引擎过滤器、数据流处理过滤器;数据流处理过滤器将数据结果给GPU端加载引擎过滤器、再传输给CPU端加载引擎过滤器;CPU端加载引擎过滤器将数据结果输入到可视化过滤器。本发明将UML和ADL结合使用,结合两者的优势,更好的搭建基于GPU的软件体系架构。

Description

一种基于GPU的软件体系架构及UML和ADL结合描述的方法
技术领域
 本发明涉及一种软件体系架构技术领域,具体地说是一种基于GPU的软件体系架构及UML和ADL结合描述的方法。
背景技术
GPU(Graphic Processing Unit),中文翻译为“图形处理器”。GPU是显卡的“心脏”,也就相当于CPU在电脑中的作用。GPU具有相当高的内存带宽,以及大量的执行单元,它可帮助CPU进行一些复杂的计算工作,使显卡减少了对CPU的依赖。
传统上,GPU的应用被局限于处理图形渲染计算任务,无疑是对计算资源的极大浪费。随着GPU可编程性的不断提高,利用GPU完成通用计算的研究渐渐活跃起来。将GPU用于图形渲染以外领域的计算成为GPGPU(General-purpose computing on graphics processing units,基于GPU的通用计算)。GPGPU计算通常采用CPU+GPU异构模式,由CPU负责执行复杂逻辑处理和事务管理等不适合数据并行的计算,由GPU负责计算密集型的大规模数据并行计算。这种利用GPU强大处理能力和高带宽弥补CPU性能不足的计算方式在发掘计算机潜在的性能,在成本和性价比方面有显著优势。但是传统的GPGPU受硬件可编程和开发方式的制约,应用领域受到了限制,开发难度也很大。
2007年,由NVIDIA推出的CUDA(Compute Unified Device Architecture,统一计算设备架构), 这一编程接口弥补了传统GPGPU的不足。利用CUDA编程接口, 可以用C语言直接调用GPU资源, 而无需将其映射到图形API, 为GPU的非图形编程普及消除了障碍。
CUDA模型将CPU作为主机(Host),GPU作为协处理器(co-processor)或设备(device).两者协同工作。CPU负责进行逻辑性强的事物处理和串行计算,GPU则专注于执行高度线程化的并行处理任务。CPU、GPU各自拥有相互独立的存储器地址空间:主机端内存和设备端显存。一旦确定了程序中的并行计算函数(kernel),就考虑把这部分计算交给GPU。
通用软件体系架构包括处理构件、数据构件和连接构件,处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。软件体系架构的建模模式中最典型的是管道和过滤器(Pipes and Filters)模式。管道和过滤器模式中的每个处理构件都有两个接口,输入接口和输出接口,分别用于读取数据构件的数据和输出数据构件的数据,读取的数据经过处理之后会被置于输出接口之中。这种模式的处理构件称作过滤器(Filters)。连接构件称为管道(Pipes),它是把一个过滤器的输出传送给另一个过滤器作为输入数据,数据构件即为数据流。
当前比较流行的软件体系架构描述方法有两种,一种是可视化描述,一种是形式化描述。可视化描述以统一建模语言(UML)为代表,这种方法清楚直观,也比较易懂;形式化描述以体系结构描述语言(ADL)为代表,既然是语言,那么描述就比较严格准确。两者在描述软件体系结构方面具有很强的互补性。
UML,英文全称Unified Modeling Language,又称统一建模语言或标准建模语言,是用来对软件密集系统进行可视化建模的一种语言。UML是一个标准的图形表示法,它仅仅是由一组符号组成的。UML应用非常广泛,可以对各种系统进行建模。另外,UML还提供了丰富的视图和图表,常用的有用例图、类图、构件图等,这些图可以从不同的视角来反应系统的状态。
ADL是一种形式化语言,它在底层语义模型的支持下,为软件的概念体系结构建模提供了具体语法和框架。ADL强调的是概念体系结构,它通常要包含形式化的语义理论,并以此来刻画体系结构的底层框架。ADL的语法、语义严格精确,是一种发展很快的体系结构描述方法,目前主要的ADL有C2、Unicon、Aesop、Wright、SADL和xADL等。
如何将UML和ADL结合使用,结合两者的优势,更好的搭建基于GPU的软件体系架构,是目前迫切需要解决的问题。
发明内容
本发明的技术任务是提供一种将UML和ADL结合使用,结合两者的优势,更好的搭建基于GPU的软件体系架构的一种基于GPU的软件体系架构及UML和ADL结合描述的方法。
本发明的技术任务是按以下方式实现的,
一种基于GPU的软件体系架构,基于GPU的软件体系架构采用管道和过滤器模式进行建模,过滤器包括数据流预处理过滤器、数据流减负过滤器、CPU端加载引擎过滤器、GPU端加载引擎过滤器、数据流处理过滤器以及可视化过滤器;
每个过滤器都主要由三部分组成:数据处理中心、数据输入接口和数据输出接口,数据输入接口负责接收输入的数据给数据处理中心,数据处理中心负责处理数据,数据输出接口负责将处理后的数据传输出去;
原始数据流通过管道依次经过数据流预处理过滤器、数据流减负过滤器、CPU端加载引擎过滤器、GPU端加载引擎过滤器、数据流处理过滤器;
数据流处理过滤器将最终的数据结果传输给GPU端加载引擎过滤器、由GPU端加载引擎过滤器再传输给CPU端加载引擎过滤器;
CPU端加载引擎过滤器将数据结果通过管道输入到可视化过滤器,可视化过滤器将可视化的数据结果传输给CPU端加载引擎过滤器。
  一种基于GPU的软件体系架构,原始数据流指需要处理的原始时间序列数据流。
   一种基于GPU的软件体系架构, 数据流预处理过滤器负责通过预处理算法,对原始数据流进行筛选操作;数据流减负过滤器负责当系统中数据流超负荷时,执行减负模式去丢弃一部分未加工的数据的属性或者是数据项;CPU端加载引擎过滤器主要有两个方面的功能,一是负责CPU与外界的交互,二是负责CPU端和GPU端的初始化操作;GPU端加载引擎过滤器负责与CPU端的交互;数据流处理过滤器是整个系统的计算核心,负责加速数据流概要抽取方法和数据流挖掘算法;可视化过滤器负责把最终处理的数据结果以规范的形式展示出来。
  一种基于GPU的软件体系架构,数据流预处理过滤器的筛选操作包括填补缺失值、平滑噪声、去除异常值、去除冗余数据、数据规范化和维度规约;CPU端加载引擎过滤器所指的外界包括数据源、GPU或客户端,与外界的交互操作包括加载原始数据流到内存、加载用户设置,CPU端和GPU端的初始化操作包括CPU端内存的分配、GPU端显存的分配;数据流处理过滤器中,加速数据流概要抽取方法包括sketch中的hash计算、小波中的小波分解,加速聚类中的k-means算法。
一种UML和ADL结合描述的方法,对上述的任意一种基于GPU的软件体系架构,使用 UML和ADL结合进行描述;一种基于GPU的软件体系架构的可视化描述采用可视化建模工具Rational Rose 2003支持UML建立其体系结构模型,一种基于GPU的软件体系架构的数据输入接口及数据输出接口的接口类的软件描述采用CPU加载存储(CPU Load Store)和GPU加载存储(GPU Load Store)两个接口类,CPU加载存储负责CPU与数据流资源、GPU以及客户端的通信,GPU加载存储负责GPU与CPU之间的交互通信;速度调整(Speed Adjustment)类、预处理(Pretreatment)类、减负(Load Shedding)类、初始化(Initialization)类和可视化(Visualization)类均依赖于接口类CPU加载存储;CPU加载存储和GPU加载存储两个接口类互相依赖;计算类依赖于GPU加载存储以及抽象类模型库和概要抽取,即计算(Calculation)类在执行的时候需要调用抽象类模型库(Model Library)和概要抽取(Synopsis Extraction)中的信息;
一种基于GPU的软件体系架构的形式化描述采用ADL描述,选用基于XML的xADL 2.0语言去描述系统的体系结构。xADL 2.0和其它的ADLs一样,在xADL 2.0中,对体系结构的描述主要由四个方面组成,分别是构件、连接件、接口和配置。
所述的一种UML和ADL结合描述的方法,查询处理(Query Processing)类、聚类(Clustering)、分类(Classification)、频繁项集挖掘(Frequent itemsets Mining)类、相关性分析(Correlation Analysis)类均依赖于模型库(Model Library),哈尔小波(Haar Wavelet)类、抽样(Sampling)类、略图(Sketch)类、直方图(Histogram)类、微集群概要(Micro-cluster Summarization)类均依赖于概要抽取(Synopsis Extraction)。
所述的一种UML和ADL结合描述的方法,CPU端加载引擎过滤器提供CPU加载存储接口的服务,GPU端加载引擎过滤器提供GPU加载存储接口的服务,可视化过滤器提供用户界面接口的服务;
CPU缓冲包括内存管理器及内存,GPU缓冲包括显存控制器及显存;
数据流资源、CPU缓冲需要CPU加载存储接口中提供的服务;数据流预处理过滤器、数据流减负过滤器、CPU端加载引擎过滤器需要CPU缓冲中提供的服务;数据流处理过滤器完成数据的计算处理,数据流处理过滤器需要GPU缓冲、模型库和概要抽取中提供的服务;GPU缓冲需要GPU加载存储接口中提供的服务。
本发明的一种基于GPU的软件体系架构及UML和ADL结合描述的方法具有以下优点:
1、基于GPU的软件体系架构采用管道和过滤器模式进行建模,构建合理,数据处理速度更快,系统的稳定性高;
2、软件体系架构中,可视化描述清楚直观,以UML为代表;形式化描述严格精确,以ADL为代表,本发明采用UML和ADL相结合的方法来描述软件体系架构,充分发挥了各自的优点;
3、基于XML的xADL 2.0语言去描述系统的体系结构;xADL 2.0是一个具有高可扩展性的软件体系结构描述语言,描述体系结构的不同方面;
4、采用可视化建模工具Rational Rose 2003支持UML建立其体系结构模型;方便直观。
附图说明
    下面结合附图对本发明进一步说明。
附图1为一种基于GPU的软件体系架构的结构框图;
附图2为一种UML和ADL结合描述的方法的类图。
具体实施方式
  参照说明书附图和具体实施例对本发明的一种基于GPU的软件体系架构及UML和ADL结合描述的方法作以下详细地说明。
实施例1:
本发明的一种基于GPU的软件体系架构,基于GPU的软件体系架构采用管道和过滤器模式进行建模,过滤器包括数据流预处理过滤器、数据流减负过滤器、CPU端加载引擎过滤器、GPU端加载引擎过滤器、数据流处理过滤器以及可视化过滤器;
每个过滤器都主要由三部分组成:数据处理中心、数据输入接口和数据输出接口,数据输入接口负责接收输入的数据给数据处理中心,数据处理中心负责处理数据,数据输出接口负责将处理后的数据传输出去;
原始数据流通过管道依次经过数据流预处理过滤器、数据流减负过滤器、CPU端加载引擎过滤器、GPU端加载引擎过滤器、数据流处理过滤器;
数据流处理过滤器将最终的数据结果传输给GPU端加载引擎过滤器、由GPU端加载引擎过滤器再传输给CPU端加载引擎过滤器;
CPU端加载引擎过滤器将数据结果通过管道输入到可视化过滤器,可视化过滤器将可视化的数据结果传输给CPU端加载引擎过滤器。
实施例2:
本发明的一种基于GPU的软件体系架构,基于GPU的软件体系架构采用管道和过滤器模式进行建模,过滤器包括数据流预处理过滤器、数据流减负过滤器、CPU端加载引擎过滤器、GPU端加载引擎过滤器、数据流处理过滤器以及可视化过滤器;
每个过滤器都主要由三部分组成:数据处理中心、数据输入接口和数据输出接口,数据输入接口负责接收输入的数据给数据处理中心,数据处理中心负责处理数据,数据输出接口负责将处理后的数据传输出去;
原始数据流通过管道依次经过数据流预处理过滤器、数据流减负过滤器、CPU端加载引擎过滤器、GPU端加载引擎过滤器、数据流处理过滤器;
数据流处理过滤器将最终的数据结果传输给GPU端加载引擎过滤器、由GPU端加载引擎过滤器再传输给CPU端加载引擎过滤器;
CPU端加载引擎过滤器将数据结果通过管道输入到可视化过滤器,可视化过滤器将可视化的数据结果传输给CPU端加载引擎过滤器。
原始数据流指需要处理的原始时间序列数据流。
数据流预处理过滤器负责通过预处理算法,对原始数据流进行筛选操作;数据流减负过滤器负责当系统中数据流超负荷时,执行减负模式去丢弃一部分未加工的数据的属性或者是数据项;CPU端加载引擎过滤器主要有两个方面的功能,一是负责CPU与外界的交互,二是负责CPU端和GPU端的初始化操作;GPU端加载引擎过滤器负责与CPU端的交互;数据流处理过滤器是整个系统的计算核心,负责加速数据流概要抽取方法和数据流挖掘算法;可视化过滤器负责把最终处理的数据结果以规范的形式展示出来。
数据流预处理过滤器的筛选操作包括填补缺失值、平滑噪声、去除异常值、去除冗余数据、数据规范化和维度规约;CPU端加载引擎过滤器所指的外界包括数据源、GPU或客户端,与外界的交互操作包括加载原始数据流到内存、加载用户设置,CPU端和GPU端的初始化操作包括CPU端内存的分配、GPU端显存的分配;数据流处理过滤器中,加速数据流概要抽取方法包括sketch中的hash计算、小波中的小波分解,加速聚类中的k-means算法。
实施例3:
本发明的一种UML和ADL结合描述的方法,对上述的任意一种基于GPU的软件体系架构,使用 UML和ADL结合进行描述;一种基于GPU的软件体系架构的可视化描述采用可视化建模工具Rational Rose 2003支持UML建立其体系结构模型,一种基于GPU的软件体系架构的数据输入接口及数据输出接口的接口类的软件描述采用CPU加载存储(CPU Load Store)和GPU加载存储(GPU Load Store)两个接口类,CPU加载存储负责CPU与数据流资源、GPU以及客户端的通信,GPU加载存储负责GPU与CPU之间的交互通信;速度调整(Speed Adjustment)类、预处理(Pretreatment)类、减负(Load Shedding)类、初始化(Initialization)类和可视化(Visualization)类均依赖于接口类CPU加载存储;CPU加载存储和GPU加载存储两个接口类互相依赖;计算类依赖于GPU加载存储以及抽象类模型库和概要抽取,即计算(Calculation)类在执行的时候需要调用抽象类模型库(Model Library)和概要抽取(Synopsis Extraction)中的信息;
一种基于GPU的软件体系架构的形式化描述采用ADL描述,选用基于XML的xADL 2.0语言去描述系统的体系结构。
实施例4:
本发明的一种UML和ADL结合描述的方法,对上述的任意一种基于GPU的软件体系架构,使用 UML和ADL结合进行描述;一种基于GPU的软件体系架构的可视化描述采用可视化建模工具Rational Rose 2003支持UML建立其体系结构模型,一种基于GPU的软件体系架构的数据输入接口及数据输出接口的接口类的软件描述采用CPU加载存储(CPU Load Store)和GPU加载存储(GPU Load Store)两个接口类,CPU加载存储负责CPU与数据流资源、GPU以及客户端的通信,GPU加载存储负责GPU与CPU之间的交互通信;速度调整(Speed Adjustment)类、预处理(Pretreatment)类、减负(Load Shedding)类、初始化(Initialization)类和可视化(Visualization)类均依赖于接口类CPU加载存储;CPU加载存储和GPU加载存储两个接口类互相依赖;计算类依赖于GPU加载存储以及抽象类模型库和概要抽取,即计算(Calculation)类在执行的时候需要调用抽象类模型库(Model Library)和概要抽取(Synopsis Extraction)中的信息;
一种基于GPU的软件体系架构的形式化描述采用ADL描述,选用基于XML的xADL 2.0语言去描述系统的体系结构。
所述的一种UML和ADL结合描述的方法,查询处理(Query Processing)类、聚类(Clustering)、分类(Classification)、频繁项集挖掘(Frequent itemsets Mining)类、相关性分析(Correlation Analysis)类均依赖于模型库(Model Library),哈尔小波(Haar Wavelet)类、抽样(Sampling)类、略图(Sketch)类、直方图(Histogram)类、微集群概要(Micro-cluster Summarization)类均依赖于概要抽取(Synopsis Extraction)。
CPU端加载引擎过滤器提供CPU加载存储接口的服务,GPU端加载引擎过滤器提供GPU加载存储接口的服务,可视化过滤器提供用户界面接口的服务;
CPU缓冲包括内存管理器及内存,GPU缓冲包括显存控制器及显存;
数据流资源、CPU缓冲需要CPU加载存储接口中提供的服务;数据流预处理过滤器、数据流减负过滤器、CPU端加载引擎过滤器需要CPU缓冲中提供的服务;数据流处理过滤器完成数据的计算处理,数据流处理过滤器需要GPU缓冲、模型库和概要抽取中提供的服务;GPU缓冲需要GPU加载存储接口中提供的服务。
基于XML的xADL 2.0语言系统描述如下:
<!- - Namespace declaration - - >
<?xml version = “1.0” encoding = “UTF-8” ?>
……
<types:archStructure xsi:type = “types:ArchStructure”>
<!- - Component: LoadShedding Description- - >
<types:component instance:id =“LoadSheddingComp” xsi:type =“types:Component”>
<types:description xsi:type =“instance:Des”>LoadShedding</types:description>
<types:interface instance:id = “LoadSheddingRight” xsi:type= “types:Interface”>
<types:description xsi:type = “instance:Des”>LoadShedding.Right </types:description>
<types:direction xsi:type = “instance:Direction”>out</types:direction>
<types:type xlink:type = “simple” xlink:href = “ #tRightType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href = “#tLoadShedding”/>
</types:component>
<!- - Component: CPULoadEngine Description- - >
<types:component instance:id = “CPULoadEngineComp” xsi:type =“types:Component”>
<types:description xsi:type =“instance:Des”>CPULoadEngine</types:description>
<types:interface instance:id = “CPULoadEngineLeft” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Des”>CPULoadEngine.Left </types:description>
<types:direction xsi:type = “instance:Direction”>in</types:direction>
<types:type xlink:type = “simple” xlink:href = “ #tLeftType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href =“#tCPULoadEngine” />
</types:component>
<!- - Connector: Con1(LoadShedding - CPULoadEngine)Description- - >
<types:connector instance:id = “Con1” xsi:type = “types:Connector”>
<types:description xsi:type = “instance:Des” > pipe Operator</types:description>
<types:interface instance:id = “Con1Left” xsi:type =“types:Interface”>
<types:description xsi:type =“instance:Des”>Con1.Left</types:description>
<types:direction xsi:type =“instance:Direction:>in</types:direction>
<types:type xlink:type = “simple” xlink:href = “#tLeftType”/>
</types:interface>
<types:interface instance:id = “Con1Right” xsi:type =“types:Interface”>
<types:description xsi:type =“instance:Des”>Con1.Right</types:description>
<types:direction xsi:type =“instance:Direction:>out</types:direction>
<types:type xlink:type = “simple” xlink:href = “#tRightType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href= “#tCon1” />
</types:connector>
<!- - Link: LoadShedding - Con1 Description- - >
<types:link instance:id = “link1” xsi:type = “types:Link”>
<types:description xsi:type=“instance:Des”>LoadShedding-Con1</types:description>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#Con1Left” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “# LoadSheddingRight” xsi:type =“instance:XMLLink” xlink:type = “simple”/>
</types:point>
</types:link>
<!- - Link: CPULoadEngine - Con1 Description- - >
<types:link instance:id = “link2” xsi:type = “types:Link”>
<types:description xsi:type = “instance:Des”>CPULoadEngine-Con1</types: description>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#Con1Right” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#CPULoadEngineLeft” xsi:type =“instance:XMLLink” xlink:type = “simple”/>
</types:point>
</types:link>
</types:archStructure>
……
软件体系结构中,可视化描述清楚直观,以UML为代表;形式化描述严格精确,以ADL为代表。本发明采用UML和ADL相结合的方法来描述软件体系结构,充分发挥了各自的优点。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

Claims (7)

1.一种基于GPU的软件体系架构,其特征在于基于GPU的软件体系架构采用管道和过滤器模式进行建模,过滤器包括数据流预处理过滤器、数据流减负过滤器、CPU端加载引擎过滤器、GPU端加载引擎过滤器、数据流处理过滤器以及可视化过滤器;
每个过滤器都主要由三部分组成:数据处理中心、数据输入接口和数据输出接口,数据输入接口负责接收输入的数据给数据处理中心,数据处理中心负责处理数据,数据输出接口负责将处理后的数据传输出去;
原始数据流通过管道依次经过数据流预处理过滤器、数据流减负过滤器、CPU端加载引擎过滤器、GPU端加载引擎过滤器、数据流处理过滤器;
数据流处理过滤器将最终的数据结果传输给GPU端加载引擎过滤器、由GPU端加载引擎过滤器再传输给CPU端加载引擎过滤器;
CPU端加载引擎过滤器将数据结果通过管道输入到可视化过滤器,可视化过滤器将可视化的数据结果传输给CPU端加载引擎过滤器。
2.根据权利要求1所述的一种基于GPU的软件体系架构,其特征在于原始数据流指需要处理的原始时间序列数据流。
3.   根据权利要求1所述的一种基于GPU的软件体系架构,其特征在于数据流预处理过滤器负责通过预处理算法,对原始数据流进行筛选操作;数据流减负过滤器负责当系统中数据流超负荷时,执行减负模式去丢弃一部分未加工的数据的属性或者是数据项;CPU端加载引擎过滤器主要有两个方面的功能,一是负责CPU与外界的交互,二是负责CPU端和GPU端的初始化操作;GPU端加载引擎过滤器负责与CPU端的交互;数据流处理过滤器是整个系统的计算核心,负责加速数据流概要抽取方法和数据流挖掘算法;可视化过滤器负责把最终处理的数据结果以规范的形式展示出来。
4.根据权利要求3所述的一种基于GPU的软件体系架构,其特征在于数据流预处理过滤器的筛选操作包括填补缺失值、平滑噪声、去除异常值、去除冗余数据、数据规范化和维度规约;CPU端加载引擎过滤器所指的外界包括数据源、GPU或客户端,与外界的交互操作包括加载原始数据流到内存、加载用户设置,CPU端和GPU端的初始化操作包括CPU端内存的分配、GPU端显存的分配;数据流处理过滤器中,加速数据流概要抽取方法包括sketch中的hash计算、小波中的小波分解,加速聚类中的k-means算法。
5.一种UML和ADL结合描述的方法,其特征在于对权利要求1-4中任意一种基于GPU的软件体系架构,使用 UML和ADL结合进行描述;一种基于GPU的软件体系架构的可视化描述采用可视化建模工具Rational Rose 2003支持UML建立其体系结构模型,一种基于GPU的软件体系架构的数据输入接口及数据输出接口的接口类的软件描述采用CPU加载存储和GPU加载存储两个接口类,CPU加载存储负责CPU与数据流资源、GPU以及客户端的通信,GPU加载存储负责GPU与CPU之间的交互通信;速度调整类、预处理类、减负类、初始化类和可视化类均依赖于接口类CPU加载存储;CPU加载存储和GPU加载存储两个接口类互相依赖;计算类依赖于GPU加载存储以及抽象类模型库和概要抽取,即计算类在执行的时候需要调用抽象类模型库和概要抽取中的信息;
一种基于GPU的软件体系架构的形式化描述采用ADL描述,选用基于XML的xADL 2.0语言去描述系统的体系结构。
6.根据权利要求5所述的一种UML和ADL结合描述的方法,其特征在于查询处理类、聚类、分类、频繁项集挖掘类、相关性分析类均依赖于模型库,哈尔小波类、抽样类、略图类、直方图类、微集群概要类均依赖于概要抽取。
7.根据权利要求5所述的一种UML和ADL结合描述的方法,其特征在于CPU端加载引擎过滤器提供CPU加载存储接口的服务,GPU端加载引擎过滤器提供GPU加载存储接口的服务,可视化过滤器提供用户界面接口的服务;
CPU缓冲包括内存管理器及内存,GPU缓冲包括显存控制器及显存;
数据流资源、CPU缓冲需要CPU加载存储接口中提供的服务;数据流预处理过滤器、数据流减负过滤器、CPU端加载引擎过滤器需要CPU缓冲中提供的服务;数据流处理过滤器完成数据的计算处理,数据流处理过滤器需要GPU缓冲、模型库和概要抽取中提供的服务;GPU缓冲需要GPU加载存储接口中提供的服务。
CN201510077040.0A 2015-02-12 2015-02-12 一种基于gpu的软件体系架构及uml和adl结合描述的方法 Pending CN104615437A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510077040.0A CN104615437A (zh) 2015-02-12 2015-02-12 一种基于gpu的软件体系架构及uml和adl结合描述的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510077040.0A CN104615437A (zh) 2015-02-12 2015-02-12 一种基于gpu的软件体系架构及uml和adl结合描述的方法

Publications (1)

Publication Number Publication Date
CN104615437A true CN104615437A (zh) 2015-05-13

Family

ID=53149899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510077040.0A Pending CN104615437A (zh) 2015-02-12 2015-02-12 一种基于gpu的软件体系架构及uml和adl结合描述的方法

Country Status (1)

Country Link
CN (1) CN104615437A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105549932A (zh) * 2015-12-11 2016-05-04 中国航空工业集团公司西安航空计算技术研究所 一种图形处理器主机驱动软件结构
CN106371917A (zh) * 2016-08-23 2017-02-01 清华大学 面向实时频繁项集挖掘的加速系统及方法
CN108228158A (zh) * 2018-01-18 2018-06-29 东南大学 一种基于本体的架构行为模式识别方法
CN109656532A (zh) * 2018-12-12 2019-04-19 中国航空工业集团公司西安航空计算技术研究所 一种基于uml的面向gpu片元着色任务调度方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101373432A (zh) * 2008-09-26 2009-02-25 中国科学院软件研究所 一种基于中间件的组件系统性能预测方法和系统
CN103106639A (zh) * 2013-01-29 2013-05-15 广东科学技术职业学院 一种原型体数据加速系统和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101373432A (zh) * 2008-09-26 2009-02-25 中国科学院软件研究所 一种基于中间件的组件系统性能预测方法和系统
CN103106639A (zh) * 2013-01-29 2013-05-15 广东科学技术职业学院 一种原型体数据加速系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周勇: "基于并行计算的数据流处理方法研究", 《中国博士学位论文全文数据库》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105549932A (zh) * 2015-12-11 2016-05-04 中国航空工业集团公司西安航空计算技术研究所 一种图形处理器主机驱动软件结构
CN105549932B (zh) * 2015-12-11 2018-08-21 中国航空工业集团公司西安航空计算技术研究所 一种图形处理器主机驱动装置
CN106371917A (zh) * 2016-08-23 2017-02-01 清华大学 面向实时频繁项集挖掘的加速系统及方法
CN106371917B (zh) * 2016-08-23 2019-07-02 清华大学 面向实时频繁项集挖掘的加速系统及方法
CN108228158A (zh) * 2018-01-18 2018-06-29 东南大学 一种基于本体的架构行为模式识别方法
CN108228158B (zh) * 2018-01-18 2021-03-19 东南大学 一种基于本体的架构行为模式识别方法
CN109656532A (zh) * 2018-12-12 2019-04-19 中国航空工业集团公司西安航空计算技术研究所 一种基于uml的面向gpu片元着色任务调度方法
CN109656532B (zh) * 2018-12-12 2022-03-15 中国航空工业集团公司西安航空计算技术研究所 一种基于uml的面向gpu片元着色任务调度方法

Similar Documents

Publication Publication Date Title
Fabian et al. The paraview coprocessing library: A scalable, general purpose in situ visualization library
Kepner et al. Graphs, matrices, and the GraphBLAS: Seven good reasons
US8229726B1 (en) System for application level analysis of hardware simulations
DE102018005169A1 (de) Prozessoren und verfahren mit konfigurierbaren netzwerkbasierten datenflussoperatorschaltungen
DE102018126650A1 (de) Einrichtung, verfahren und systeme für datenspeicherkonsistenz in einem konfigurierbaren räumlichen beschleuniger
Chen et al. Using OpenCL to evaluate the efficiency of CPUs, GPUs and FPGAs for information filtering
Guo et al. Coupled ensemble flow line advection and analysis
CN104915322A (zh) 一种卷积神经网络硬件加速方法及其axi总线ip核
CN104391679A (zh) 一种非规则流中高维数据流的gpu处理方法
CN104615437A (zh) 一种基于gpu的软件体系架构及uml和adl结合描述的方法
CN104317751A (zh) 一种gpu上数据流处理系统及其数据流处理方法
CN103106183A (zh) 基于mapreduce的大规模稀疏矩阵乘法运算的方法
CN104615945A (zh) 一种基于多gpu破解设备的密码破解方法和系统
EP3633529A1 (en) Systemc model generation method and systemc model generation program
PT105174A (pt) Instrumento e método para processamento contínuo de dados usando processadores massivamente paralelos
DE112022001140T5 (de) Durchführung einer matrixwertangabe
Gurumani et al. High-level synthesis of multiple dependent CUDA kernels on FPGA
Pagot et al. Efficient parallel vectors feature extraction from higher‐order data
CN109471893A (zh) 网络数据的查询方法、设备及计算机可读存储介质
CN102541811B (zh) 基于按需计算的分析因子的数据分析装置及方法
CN104142810A (zh) 一种形成节点导纳矩阵的并行方法
CN102999323B (zh) 一种生成目标代码的方法、数据处理的方法及装置
Verma et al. Statistical Visualization of Big Data Through Hadoop Streaming in RStudio
Garcia et al. An incremental approach for real-time Big Data visual analytics
CN103310125A (zh) 基于gpgpu和多核cpu硬件的高性能元基因组数据分析系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150513