Skip to content
Alexander K edited this page Jun 16, 2020 · 22 revisions

Common requirements

  • x86-64 CPU with SSE 4.2, AVX2, ADX and BMI2 support (Intel Broadwell and later microarchitectures). Tempesta DB also requires 2MB huge pages enabled. Check sse4_2, pse, avx2, bmi2, and adx flags respectively in your /proc/cpuinfo;
  • At least 2GB RAM;
  • RSS capable network adapter;
  • Filesystem with fallocate(2) system call (e.g. ext4, btrfs or xfs);
  • Linux Kernel with the small Tempesta FW's patch. Please see instructions to build the patched Linux kernel.

Currently Debian 9.x and 10.x are the only officially supported GNU/Linux distribution.

Virtualization

Check supported virtualization types if you want to run Tempesta FW inside a virtual machine. QEMU is the most tested VM. There were complains about VirtualBox support of necessary CPU flags from a host system.

Since Tempesta FW uses advanced CPU features, please make sure that your VM properly exports the CPU featrues. For QEMU you can do this with -cpu host command line option.

For the best Tempesta FW performance inside a virtual machine, the hardware must meet following requirements (plese check the Wiki for details):

  • VT-d and VT-x technologies must be supported by the CPU and enabled in BIOS;

  • vAPIC support in the CPU

  • SR-IOV support in the network adapter.

Kernel Configuration

Tempesta requires that the following Linux kernel configuration options are switched on:

  • CONFIG_SLUB
  • CONFIG_SECURITY
  • CONFIG_SECURITY_NETWORK
  • CONFIG_SECURITY_TEMPESTA
  • CONFIG_DEFAULT_SECURITY_TEMPESTA
  • CONFIG_DEFAULT_SECURITY="tempesta"

We suggest that CONFIG_PREEMPT_NONE is used for better throughput. However, please use CONFIG_PREEMPT_VOLUNTARY for debugging since this mode causes additional stress to synchronization of several algorithms. Also note that CONFIG_PREEMPT is not supported at all.

Prerequisite packages

  • Perl Template-Toolkit You can find the package as perl-Template-Toolkit in Fedora/CentOS or libtemplate-perl in Debian-based system.
Clone this wiki locally