In-network computation has been widely used to accelerate data-intensive distributed applications. Some computational tasks, traditional performed on servers, are offloaded to the network (i.e. programmable switches). However, the computational capacity of programmable switches is limited to simple integer arithmetic operations while many of applications require on-the-fly floating-point operations. To address this issue, prior approaches either adopt a float-to-integer method or directly offload computational tasks to the local CPUs of switches, incurring accuracy loss and delayed processing. To this end, we propose NetFC, a table-lookup method to achieve on-the-fly in-network floating-point arithmetic operations nearly without accuracy loss. NetFC adopts a divide-and-conquer mechanism that converts the original huge table into several much small tables together with some integer operations. NetFC adopts a scaling-factor mechanism for computational accuracy improvement, and a prefix-based lossless table compression method to reduce the memory overhead. We use different types of datasets to evaluate NetFC. The experimental results show that the average accuracy of NetFC can be as high as up to 99.94% at worst with only 448KB memory consumption. Furthermore, we integrate NetFC into Sonata for detecting Slowloris attack, yielding significant decrease of detection delay.
翻译:网络内计算已被广泛用于加速数据密集型分布应用。一些计算任务,传统上是在服务器上完成的,通常都是在服务器上完成的。但是,程序化开关的计算能力仅限于简单的整数算术操作,而许多应用程序需要在飞行上浮动点操作。为了解决这个问题,以前的办法要么采用浮动到整点方法,要么直接将计算任务卸载到本地交换器的中央控制器上,造成准确性损失和延迟处理。为此,我们提议NetFC, 一种在网络浮动点计算操作中实现实时的表查看方法,几乎没有准确性损失。 NetFC 采用了将原大表转换成几个大表和一些整点操作的分解和化机制。 NetFC 采用了一个缩放- 因素机制来提高计算准确性, 以及一个基于前方位的无损表压缩方法来减少记忆中位。 我们使用不同种类的数据集来评价NetFCT。 实验结果显示, NetFC 浮动点算算算算术的平均准确性方法几乎没有准确性损失。 NetFC 4-94 快速的内存测为最差 。