Documentation :: TOFFEE hardware selection guide
Written by: Kiran Kankipati - Published: 03-May-2016
Language :: Portuguese
When you build a WAN Optimization device with TOFFEE the entire packet processing (data optimization) takes place
in software layer or in other words more precisely Operating System kernel space. However if you have any compression or encryption hardware
accelerator hardware card the parts of the TOFFEE packet processing modules can be offloaded to hardware layer and thus improving its
But the focus and assumption in this guide is that you are using a generic computing platform such as PC/server/IoT device to build a
WAN Optimization device with TOFFEE platform, since hardware offload option is only feasible for large OEMs and other such commercial
equipment manufacturers. So it is important that based on your WAN speeds within which these TOFFEE devices are to be deployed, you need to
choose your hardware specifications as suggested in this guide.
Understanding CPU Benchmarks:
Introducing TrueBench - a high resolution CPU benchmarking system:
TrueBench is an unique benchmarking system in which the core system performance and efficiency parameters are measured at extreme high resolution in the order of several
million/billion µ-seconds for a given specific task. TrueBench is a part of The TOFFEE Project research. For more details: visit TrueBench
Applications(use-cases) of TrueBench:
- building low-latency high performance networking devices
- embedded/SoC CPU (platform) evaluation
- server and datacenter hardware evaluation
- new product design/architecture evaluation
- scientific applications (such as HPC, Super-Computers, etc)
Choosing the CPU for your TOFFEE device:
Here is a definitive guide which will help you to choose the CPU for your TOFFEE WAN Optimization device. TOFFEE source-code is highly modular.
It can scale-up or scale-down its optimization level based on your hardware and more precisely CPU processing potential. Having said that lets assume you
have enabled all optimization levels. In that context here is the table which gives an idea to choose your CPU according to your deployment specific WAN network speeds:
NOTE: This table is derived after extensive trials, testing and research over several years. And as well a co-relation between CPU's
benchmarks (such as TrueBench) single thread performance benchmarks vs standard multi-thread benchmarks vs TOFFEE's real-time performance during
extensive high-load packet processing.
|CPU / Hardware
|Raspberry Pi3 Model B
||1.2GHz 64-bit quad-core ARMv8; 1GB RAM
|ARM Cortex-A53(ARMv8 64bit) (ODROID-C2)
||1.50 GHz, Quad Core, ODROID-C2 - IoT single board computer(SBC)
|Intel Atom D525
||1.80 GHz, Dual Core, 13 W TDP
Intel Xeon E3-1240 v3
Intel core i7 6700K
||<= 700-900Mbps (1Gbps approx)
So in case if you are building your own WAN Optimization device (or in general any networking device), you can benchmark with TrueBench (as suggested
in the TrueBench website) and submit me your results (screen output).
TOFFEE-DataCenter: For the same/similar above specs, TOFFEE-DataCenter should provide only half the performance (WAN speeds) as compared to TOFFEE.
The reason being TOFFEE-DataCenter does user-space packet processing and it is lot more versatile, flexible and modular. Due to this TOFFEE-DataCenter is
capable of optimizing the data far more than TOFFEE.
Choosing the RAM/memory for your TOFFEE device:
TOFFEE device just like any typical Linux system needs just minimum
amount of RAM. The entire data processing of packets will take place in your RAM. By no means TOFFEE uses your harddisk (or any secondary storage)
space for packet processing. So whether it is Gigabit WAN or within 100Mbps speeds, choose RAM which has around 4-8GB of overall capacity.
However to achieve maximum optimal performance especially for high-speed WAN links, I highly recommend you to choose RAM with maximum speed.
Such as DDR4 (with 2.8GHz or so). This gives the best CPU<>Memory bus interconnect speeds and improves your packet processing capabilities
of your TOFFEE device. This is also sometimes applicable not just TOFFEE hardware build, but any such network devices which deals with real-time
Choosing server hardware for Gigabit speeds (1G/10G and so on):Here are some examples:
Lanner FW-8894 :: 1U High Performance x86 (Dual CPU) Network Appliance for Enterprise Firewall, UTM and IPS
Lanner NCA-5210 :: 1U Mid-range Modular x86 (Single CPU) Network Appliance for Next Generation Firewall, UTM and Web Security
Lanner NCA-5510 :: 1U High Performance x86 (Single CPU) Network Appliance for Enterprise Firewall, UTM and IPS
* image courtesy Lanner Electronics Inc.
A sample low-performance TOFFEE Hardware which I built:
Intel Celeron C1037U fanless hardware