  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.
