The TOFFEE Project
HOMEDOCUMENTATIONUPDATESVIDEOSRESEARCHDOWNLOADSPONSORSCONTACT


DOCUMENTATION 》 TOFFEE with Hardware Compression and Decompression Accelerator Cards

You can build a basic TOFFEE WAN Optimization hardware completely in software layer (i.e its networking data-plane and control-plane). And if you are a product manufacturer you can make commercial WAN Optimization products with TOFFEE with software layer alone. And if you choose to improve its performance, you can use any third-party PCIe Compression Accelerator cards.

Here is the TOFFEE system architecture with and without hardware accelerator card (i.e Hardware offload). Hardware offload will greatly reduce the load on general purpose CPU (which is your software/OS layer) and the core data optimization operation such as loss-less compression (sometimes even encryption) is done within a dedicated Hardware Accelerator card (or chip) as shown below.
TOFFEE Architecture with Compression and Decompression Accelerator Card

In this case TOFFEE will work as an WAN Optimization framework. With this framework you can architect your entire commercial WAN Optimization product series. You need to modify TOFFEE Linux kernel modules (and APIs) so that it no longer choose kernel's LZ77, LZO or LZ4 software compression libraries (which is CPU bound), instead point to the hardware accelerator card vendor provided kernel's driver/library APIs. This makes packet data compression within TOFFEE Linux Kernel module CPU bound to dedicated co-processor hardware compression accelerator card bound.

It is a well known fact that Linux Kernel's Kernel modules are not great at scaling with multiple CPU Processor Cores. So in a systems architecture point of having more CPU cores in a TOFFEE WAN Optimization device gives no significant advantage. The per-core CPU performance is what required for a workload like TOFFEE packet data optimization. So if architect a high-end WAN Optimization device you need to consider hardware acceleration offload if feasible.

For example: Here is a general purpose AHA AHA363PCIE0301G 5Gbs GZIP Compression/Decompression Accelerator Card. Typical applications (or use-cases) of this card could be Storage Arrays, Load Balancers, WAN Optimization, Web Servers, Data Analytics, etc.
Comtech AHA AHA363PCIE0301G 5Gbs GZIP Compression/Decompression Accelerator Card
Image courtesy/link: https://images-na.ssl-images-amazon.com/images/I/61kMl1v4BmL._SL1500_.jpg



Intel FPGA PAC D5005 High-end Drop-in Accelerator: Here is yet another but general purpose FPGA Accelerator card can be used for processing high-bandwidth Network and Storage Data Processing (hardware offload). Read the complete article here.
Intel FPGA PAC D5005 On HPE ProLiant DL380 Gen10
Image courtesy/link: https://www.servethehome.com/wp-content/uploads/2019/08/Intel-FPGA-PAC-D5005-on-HPE-ProLiant-DL380-Gen10.jpg
Intel FPGA PAC D5005
Image courtesy/link: https://www.servethehome.com/wp-content/uploads/2019/08/Intel-FPGA-PAC-D5005-Diagram.jpg


References:



Suggested Topics:


TOFFEE - WAN Optimization


Categories

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


Recommended Topics:

TOFFEE-Mocha WAN Emulation software development - Update: 17-June-2016 ↗
Friday' 10-Jul-2020
Now I supported and finished complete GUI support of these parameters so that you can configure, store, reboot and the same will restore upon reboot. Besides I complete the TOFFEE-Mocha Big-Picture page. The Big picture is an interface where you can find all the configuration (or settings) of the TOFFEE-Mocha. This is almost similar to CISCO device show all command but in graphical representation. Sometimes a network admin can also print the Big Picture page and paste it near to the device to refer its settings.

Introducing TOFFEE-Fudge - Network Packet Generator ↗
Friday' 10-Jul-2020
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.

TOFFEE-Butterscotch Bandwidth saver software development - Update: 28-Oct-2016 ↗
Friday' 10-Jul-2020
Here is my first software development update of TOFFEE-Butterscotch. In my first TOFFEE-Butterscotch news update I have introduced about TOFFEE-Butterscotch research, project specifications, use-cases, etc. Introducing TOFFEE-Butterscotch Alerts: These are simple packet counters which corresponds to the filter type. For example if the incoming TCP-SYN packets are blocked then its corresponding alert counter will increment whenever such a packet arrives and gets filtered (dropped).

TOFFEE-DataCenter - First Live Demo and software development - Update: 26-Aug-2016 ↗
Friday' 10-Jul-2020
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.

TOFFEE-Mocha WAN Emulation software development - Update: 19-July-2016 ↗
Friday' 10-Jul-2020
Today I refined the first page consolidated report graphs. TOFFEE-Mocha (unlike TOFFEE) is a WAN Emulator, so the graphs are supposed to highlight this purpose and should display the overall network activity. Unlike TOFFEE, the TOFFEE-Mocha report should contain in general what is received versus what is sent across the wire. In case if the packet drop feature is enabled, you should see few missing bytes and packets. Similarly in future I may support packet duplication feature, in that case you may see more packets/bytes sent versus the packets/bytes actually received.

TOFFEE-Mocha WAN Emulation software development - Update: 16-June-2016 ↗
Friday' 10-Jul-2020
I started TOFFEE-Mocha WAN Emulation software development on 1-June-2016. I took the existing TOFFEE components as a base. Although the TOFFEE-Mocha is entirely an independent fresh Open-Source WAN Emulation solution. Ever since I am in the process of defining and inventing features. So far I come up with the most important feature which is expected to be present in any WAN Emulation software is the packet delay option.

Watch on Youtube - [470//0] 156 VLOG - Introducing TOFFEE-Butterscotch - Save and Optimize your Internet bandwidth ↗


TOFFEE-Mocha WAN Emulation software development - Update: 17-June-2016 ↗
Friday' 10-Jul-2020
Now I supported and finished complete GUI support of these parameters so that you can configure, store, reboot and the same will restore upon reboot. Besides I complete the TOFFEE-Mocha Big-Picture page. The Big picture is an interface where you can find all the configuration (or settings) of the TOFFEE-Mocha. This is almost similar to CISCO device show all command but in graphical representation. Sometimes a network admin can also print the Big Picture page and paste it near to the device to refer its settings.

TOFFEE-Butterscotch Bandwidth saver software development - Update: 28-Oct-2016 ↗
Friday' 10-Jul-2020
Here is my first software development update of TOFFEE-Butterscotch. In my first TOFFEE-Butterscotch news update I have introduced about TOFFEE-Butterscotch research, project specifications, use-cases, etc. Introducing TOFFEE-Butterscotch Alerts: These are simple packet counters which corresponds to the filter type. For example if the incoming TCP-SYN packets are blocked then its corresponding alert counter will increment whenever such a packet arrives and gets filtered (dropped).

Introducing TOFFEE-Fudge - Network Packet Generator ↗
Friday' 10-Jul-2020
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.

Benchmark Raspberry Pi and other embedded SoC with TrueBench ↗
Friday' 10-Jul-2020
TrueBench is an unique open-source 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. With TrueBench Raspberry Pi 3, Raspberry Pi 2B and Raspberry Pi 2 are benchmarked and you can do a comparative analysis with standard mainstream x86 devices.



Featured Educational Video:
Watch on Youtube - [4063//0] 311 - Setting up a Linux Container with LXC on Ubuntu - Live Demo ↗

TOFFEE-Mocha WAN Emulation software development - Update: 17-June-2016 ↗
Friday' 10-Jul-2020
Now I supported and finished complete GUI support of these parameters so that you can configure, store, reboot and the same will restore upon reboot. Besides I complete the TOFFEE-Mocha Big-Picture page. The Big picture is an interface where you can find all the configuration (or settings) of the TOFFEE-Mocha. This is almost similar to CISCO device show all command but in graphical representation. Sometimes a network admin can also print the Big Picture page and paste it near to the device to refer its settings.

TOFFEE-Butterscotch Bandwidth saver software development - Update: 28-Oct-2016 ↗
Friday' 10-Jul-2020
Here is my first software development update of TOFFEE-Butterscotch. In my first TOFFEE-Butterscotch news update I have introduced about TOFFEE-Butterscotch research, project specifications, use-cases, etc. Introducing TOFFEE-Butterscotch Alerts: These are simple packet counters which corresponds to the filter type. For example if the incoming TCP-SYN packets are blocked then its corresponding alert counter will increment whenever such a packet arrives and gets filtered (dropped).

Introducing TOFFEE-Fudge - Network Packet Generator ↗
Friday' 10-Jul-2020
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.

Benchmark Raspberry Pi and other embedded SoC with TrueBench ↗
Friday' 10-Jul-2020
TrueBench is an unique open-source 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. With TrueBench Raspberry Pi 3, Raspberry Pi 2B and Raspberry Pi 2 are benchmarked and you can do a comparative analysis with standard mainstream x86 devices.



Watch on Youtube - [407//0] 158 VLOG - TOFFEE WAN Optimization Software Development live update - 6-Nov-2016 ↗

TOFFEE-Mocha WAN Emulation software development - Update: 17-June-2016 ↗
Friday' 10-Jul-2020
Now I supported and finished complete GUI support of these parameters so that you can configure, store, reboot and the same will restore upon reboot. Besides I complete the TOFFEE-Mocha Big-Picture page. The Big picture is an interface where you can find all the configuration (or settings) of the TOFFEE-Mocha. This is almost similar to CISCO device show all command but in graphical representation. Sometimes a network admin can also print the Big Picture page and paste it near to the device to refer its settings.



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