TOFFEE

DOCUMENTATION :: TOFFEE hardware selection guide

Written by: Kiran Kankipati
Published: 03-May-2016


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 efficiency.

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
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 evalation
  • new product design/architecture evalation
  • 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 Specs TrueBench Score WAN Speeds
Raspberry Pi2 Model B 900MHz quad-core ARM Cortex-A7; 1GB RAM 2405635441 <= 10Mbps
Raspberry Pi3 Model B 1.2GHz 64-bit quad-core ARMv8; 1GB RAM 1310619137 <= 10-20Mbps
ARM Cortex-A53(ARMv8 64bit) (ODROID-C2) 1.50 GHz, Quad Core, ODROID-C2 - IoT single board computer(SBC) 949003080 <= 20-30Mbps
Intel Atom D525 1.80 GHz, Dual Core, 13 W TDP 874076069 <= 30-40Mbps
High-end Desktop:
such as Intel core i7 6700K, i7 5930k, etc
91333875 (i7-5820K)

91632198 (Xeon E3-1240 v3)
around 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).

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 data/packet processing.

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 FW-8894
Lanner FW-8894
Lanner NCA-5210 :: 1U Mid-range Modular x86 (Single CPU) Network Appliance for Next Generation Firewall, UTM and Web Security
Lanner NCA-5210
Lanner NCA-5210
Lanner NCA-5510 :: 1U High Performance x86 (Single CPU) Network Appliance for Enterprise Firewall, UTM and IPS
Lanner NCA-5510
Lanner NCA-5510

* image courtesy Lanner Electronics Inc.

A sample low-performance TOFFEE Hardware which I built:

Intel Celeron C1037U fanless hardware
Intel Celeron C1037U fanless hardware
Intel Celeron C1037U fanless hardware
Intel Celeron C1037U fanless hardware

Paid Support and consultation services: If you need further technical assistance, paid support and technical consultation in building TOFFEE based custom WAN Optimization product and in case if you are a network/datacom product manufacturer, R&D/OEM looking for product design, architecture, research and engineering services you can contact me via email: kiran.kankipati@gmail.com

Videos: Here are some of my research videos which will help you further in building your own Network Data Optimization hardware appliance.

References:


Thank you, Kiran




Back to Top