All for one and one for all - the three musketeers of network processing


Switching ASIC vs CPU vs FPGA

At A6Labs we’ve adopted the philosophy of using the best technology for the task rather than making the task fit the technology we already use. There are plenty of counter arguments to having multiple technologies in a product but we believe that to work at the forefront of what is possible we must use the best solution for the problem.

Athos

Programmable Switching Application Specific Integrated Circuit (ASIC). Lightning fast, fairly quick to catch on, specialising in the elite art of packet processing the ASIC is a microchip that can be programmed to perform all kinds of manipulations on packet data (see day in the life of a packet). It can alter the contents of a packet, adding, removing and translating portions before sending the packet on its way, steering it towards its next destination. It speaks the language of P4, a programming language developed specifically for network processing.

Programmable switch chips are a comparatively recent development, market players are Broadcom and Intel (the later having purchased Barefoot Networks in 2019). The technology has been a market disrupter allowing far more flexible network processing than traditional network switches can facilitate.

Porthos

The Field Programmable Gate Array (FPGA). ‘Slower’ than its ASIC partner but infinitely flexible. This microchip can turn its hand to anything but is particularly good at performing many repetitive tasks in parallel and interfacing to an unlimited range of other electronics. Being so flexible it is trickier to program than its colleagues and uses a lesser known languages of VHDL or Verilog.

The FPGA market is dominated by two companies, Intel and Xilinx. As well as the telecoms market FPGA’s are used in AI, signal processing, broadcast and financial trading amongst many other applications. FPGA’s have been around for over 40 years steadily growing in complexity and capability. Traditionally, they suffer from extended development times and a limited set of skilled developers. Both Intel and Xilinx have made attempts to address this using ‘high level’ programming languages more widely know in the developer community. Additionally both now include significant intellectual property with their development tools to enable common functions such as talking to memory chips without relying on the developer to implement these basic functions themselves.

Aramis

The Central Processing Unit (CPU) or colloquially the x86. Present in every home computer. Given any single task it is likely that the ASIC will be able to perform it faster and the FPGA will be able to perform more of them concurrently but this tech compliments the other two with its ability to perform very complex tasks in an almost limitlessly flexible way. Knowledge of how to program it is widely understood and doing so is fast and the results quickly modified.

Again Intel dominate the market and are a household name but AMD also have a significant presence. Lesser know ARM produce designs for CPU’s without actually manufacturing the chips themselves. ARM based chips are present in many mobile phones, and other household electronics particularly where power consumption is important. 

Our three musketeers of the microchip world can be brought together to tackle the most challenging of network processing problems. Hurrah.

Comments

Popular posts from this blog

A day in the life of a packet

The value of network monitoring in an encrypted world