XXX, 您好 登录 注册 登出
首页 / 新闻中心 / 新闻详情

中科驭数将在国际电子设计自动化大会报告专用加速器技术,敬请关注!

发布日期:2019-05-17

摘要:驭数科技(YUSUR)联合中科院计算所推出的KPU系列的第一款主打产品 Conflux加速板卡,主要面向金融领域。YUSUR不仅提供加速板卡,还提供全栈式的解决方案,目前支持Python进行调用硬件资源,在未来将能够完美对接常见的流式处理系统,来大规模加速金融领域的流式应用。本文介绍其中一个技术ShuntFlow来解决硬件化导致灵活性不高的问题。

流式计算的特征

大数据时代,数据计算已经渗透到了各行各业。业务沉淀数据,数据计算产生新的业务价值,数据计算正不断地以这种方式推动业务向前发展。流式计算作为大数据计算重要的模式之一,也因此得到了越来越多的关注。流式计算适用于无需对数据进行存储,并且随着时间的流逝,数据中蕴藏的价值也会随之衰减,往往越新到达的数据越具有价值。与传统计算相比,流式计算具备以下特点:

1.无边界:数据到达、处理和向后传递均是持续不断的。

2.瞬时性和有限持久性:通常情况下,原始数据单遍扫描,计算结果等数据只能在有限时间内保存。

金融计算领域有大量典型的流式计算应用,涵盖了包括用户行为分析、实时营销、个性化推荐、实时风控、实时反欺诈等多个计算场景。以实时金融风控场景为例,需要流式计算系统实时分析海量的用户行为数据,根据既定的规则计算出相应的指标,并与风险模型进行匹配,第一时间判断风险等级、发现异常事件,并作为相应的风险控制措施,自动告警通知、改变业务流程。

驭数科技(YUSUR),经过大量研究调研,抽离出了金融实时风险监控中的复杂计算模以及耗时操作,发现滑动窗聚合(sliding window aggregations,SWAGs)是里面最常见的基本计算模式。SWAGs,具有两个最基本的参数window size 和 slide,分别代表窗口大小和滑动距离。举例说明,如下图,SUM(3,1),代表每滑动一个数据项,计算过去3个数据之和,类似于数字信号处理的一个滤波操作。

现有的流式处理系统,例如Apache Storm、Spark Streaming、Flink等,支持通过GPU来加速计算,但是仍然存在巨大的加速潜力。驭数科技(YUSUR)联合中科院计算所推出的KPU系列的第一款主打产品 Conflux加速板卡,主要面向金融领域。YUSUR不仅提供加速板卡,还提供全栈式的解决方案,目前支持Python进行调用硬件资源,在未来将能够完美对接常见的流式处理系统,来大规模加速金融领域的流式应用。本文介绍其中一个技术ShuntFlow来解决硬件化导致灵活性不高的问题。

加速器原理

本文主要介绍如何巧妙的解决Conflux在加速滑动窗聚合操作(SWAGs)过程中,面临的最为常见的问题,如何支持任意的滑动窗大小。这在CPU或者GPU上很容易办到,但是要想在FPGA上面使实现的计算核(kernel)支持任意大小的窗口大小是一件比较难的事情,有可能需要重新设计kernel。

针对这个问题,我们提出了ShuntFlow,一个巧妙的规则使一个刚性实现的计算核(只能支持固定窗口大小)能够支持任意的窗口大小。

为了更加容易的理解我们的方法,我们将采用案例的方式进行说明:

1. 假设硬件只能支持窗口大小为3的SUM操作

2. 需要求解SUM(9,1)

根据ShunfFlow规则:

第一步,split: 将超过加速器处理的SWAGs划分为若干个能够支持处理的sub-SWAGs。特别的,我们将SUM(9,1)划分为3个SUM(3,1)。然后,我们只需要计算一次SUM(3,1),保留其输出,等待下一步的操作。

第二步,merge: 根据特定的merge算法,合并sub-SWAGs得到最后的输出。在我们的这个例子中,只需要将SUM(3,1)输出,分别偏移0,3,6个单位,然后进行合并(这里就是进行SUM求和操作),如图所示,只需要简单的论证,我们就可以知道,最后得到的输出就是SUM(9,1)的输出结果。

 

针对ShuntFlow规则,我们提出新的加速器架构设计,如图所示,相比于传统的加速器结构,主要加入Dispatcher和Merge单元来支持我们提出的方法。

性能优异,通过在Altera Arria 10 AX115N FPGA 150MHz实现了我们提出架构,在性能和延迟方面都大大高出最新的CPU和GPU实现的方案,性能是CPU的65.4倍,GPU的11.9倍。

上述工作将在今年的DAC会议上进行口头报告题目:《ShuntFlow:An Efficient and Scalable Dataflow Accelerator Architecture for Stream Application》。美国计算机协会/电子工程师协会设计自动化会议,IEEE/ACM Design, Automation Conference (DAC) 是集成电路设计自动化领域的顶级国际年会,反映了该领域学术界和产业界的最新进展。DAC会议投稿数量多,竞争非常激烈,论文录用率很低。中国计算机学会学术工作委员会将DAC评定为电子设计自动化领域的A类会议。