The TOFFEE Project

DOCUMENTATION 》 TOFFEE hardware selection guide

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 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 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 Specs TrueBench Score WAN Speeds
Raspberry Pi3 Model B 1.2GHz 64-bit quad-core ARMv8; 1GB RAM 1,310,619,137 <= 5-10Mbps
ARM Cortex-A53(ARMv8 64bit) (ODROID-C2) 1.50 GHz, Quad Core, ODROID-C2 - IoT single board computer(SBC) 949,003,080 <= 10-20Mbps
Intel Atom D525 1.80 GHz, Dual Core, 13 W TDP 874,076,069 <= 20-30Mbps
High-end Server:
Intel Xeon E3-1240 v3
91,632,198 <= 300-600Mbps
High-end Desktop:
Intel core i7 6700K
44,200,382 <= 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 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


Suggested Topics:

TOFFEE - WAN Optimization


💎 TOFFEE-MOCHA new bootable ISO: Download
💎 TOFFEE Data-Center Big picture and Overview: Download PDF

Recommended Topics:

TOFFEE-DataCenter WAN Optimization software development - Update: 13-Aug-2016 ↗
Saturday' 13-Mar-2021
Earlier the TOFFEE is intended to work on IoT devices, Satellite Networks, branch office/SOHO deployments. In most cases the users may deploy just one or couple of TOFFEE devices per site. But in the case of TOFFEE-DataCenter, users can scale-up deploying the same in multiple servers in a sort of distributed cluster computing scenario. Besides the core TOFFEE-DataCenter components (such as packet processing engine/framework), I need to do lot of changes in its Graphical User Interface (GUI) too to address these new requirements.

Demo TOFFEE_DataCenter WAN Optimization VM (in VirtualBox) Test Setup ↗
Saturday' 13-Mar-2021
Demo TOFFEE_DataCenter WAN Optimization VM (in VirtualBox) Test Setup

TOFFEE-Butterscotch Bandwidth saver software development - Update: 17-Nov-2016 ↗
Saturday' 13-Mar-2021
Here is my second software development update of TOFFEE-Butterscotch. In the previous update (28-Oct-2016) I discussed about the Alerts, etc. Whereas in my first TOFFEE-Butterscotch news update I have introduced about TOFFEE-Butterscotch research, project specifications, use-cases, etc.

WAN Optimization Network Stack Architecture - Linux Kernel vs Intel DPDK vs Custom Packet Forward ↗
Saturday' 13-Mar-2021

Introducing TOFFEE-Fudge - Network Packet Generator ↗
Saturday' 13-Mar-2021
TOFFEE Fudge is a simple intuitive Network Packet Generator which can be used to create custom test synthetic Network Packets and can be used in various applications such as networking research, network infrastructure troubleshooting, ethical hacking, as a network software development tool and so on.

A study on WAN Optimization Techniques ↗
Saturday' 13-Mar-2021
There are various techniques with which one can optimize their WAN Network Data. Any long distance communication can be considered as WAN Network. A decade ago any network connecting two countries, considered as a WAN network, and a network within a city as MAN and soon. But these days in general any long distance communication is considered as WAN Network. Such as your Mobile communication networks, Satellite networks, Space Networks (Deep space networks), Trans-Atlantic cable networks, etc.

Introducing TOFFEE-DataCenter ↗
Saturday' 13-Mar-2021
TOFFEE TOFFEE Data-Center is specifically meant for Data Center, Cluster Computing, HPC applications. TOFFEE is built in Linux Kernel core. This makes it inflexible to adapt according to the hardware configuration. It does sequential packet processing and does not scale up well in large multi-core CPU based systems (such as Intel Xeon servers, Core i7 Extreme Desktop systems,etc). Apart from this since it is kernel based, if there is an issue in kernel, it may crash entire system. This becomes a challenge for any carrier grade equipment (CGE) hardware build.

TEST CASES :: TEST RESULTS :: TOFFEE-Mocha-1.0.32 asymmetric constant packet delay feature ↗
Saturday' 13-Mar-2021

TOFFEE (and TOFFEE-DataCenter) optimized Satellite (inflight/marine/defense) ISP Networks ↗
Saturday' 13-Mar-2021
TOFFEE Optimized Satellite ISP Network: TOFFEE/TOFFEE-DataCenter can be used to optimize Satellite Networks (Satellite based Internet Networks, VoIP, Data, private leased-links) as shown. Ground station transponders can be connected via array of TOFFEE Devices and in the remote CPE can have dedicated or inbuilt TOFFEE with which you can establish a WAN Optimized Satellite Network Tunnel as shown.

Optimization of network data (WAN Optimization) at various levels ↗
Saturday' 13-Mar-2021
WAN Network data can be optimized at various levels depending upon the network applications, protocols, topology and use-cases. So the amount of data you can optimize will depend on the strategy you choose to optimize. Such as: Network Packet level optimization, Session level optimization, File level optimization, etc.

Featured Educational Video:
Watch on Youtube - [8613//1] x254 Kernel Init Code without Kernel Module - Kernel Programming Tip #linode ↗

iPerf Network Optimization - WAN Optimization Demo ↗
Saturday' 13-Mar-2021

Internet optimization through TOFFEE-DataCenter WAN Optimization Demo ↗
Saturday' 13-Mar-2021

Building my own CDN - choosing a web-hosting to deploy my CDN - Update: 28-July-2016 ↗
Saturday' 13-Mar-2021
The TOFFEE Project website is hosted on Inmotion Hosting. And so I am looking for alternate hosting provider to build my first CDN node. My plan is to make multiple sub-domains of my website such as, and point each of this corresponding subdomain(s) to various alternative web hosting servers geographically spread across the world. Sometimes choosing the same vendor for multiple CDN nodes may result multiple servers existing in the data-center. And this becomes an issue if there is some catastrophic network disaster.

TOFFEE-DataCenter - First Live Demo and software development - Update: 26-Aug-2016 ↗
Saturday' 13-Mar-2021
Today I have done a test setup so that I can able to connect my Android Samsung Tab via TOFFEE DataCenter. Below is my complete test topology of my setup. For demo (and research/development) context I configured TOFFEE DataCenter in engineering debug mode. So I do not need two devices for this purpose.

MySQL Database Network Data - WAN Acceleration ↗
Saturday' 13-Mar-2021
Here is a quick demo of TOFFEE WAN Optimization optimizing MySQL Data transfers of a MySQL Client to Server Remote Access.

Research :: Optimization of network data (WAN Optimization) at various levels:
Network File level network data WAN Optimization

Learn Linux Systems Software and Kernel Programming:
Linux, Kernel, Networking and Systems-Software online classes

Hardware Compression and Decompression Accelerator Cards:
TOFFEE Architecture with Compression and Decompression Accelerator Card

TOFFEE-DataCenter on a Dell Server - Intel Xeon E5645 CPU:
TOFFEE-DataCenter screenshots on a Dual CPU - Intel(R) Xeon(R) CPU E5645 @ 2.40GHz - Dell Server