Unpacking
=========

Since you got to this point, you unpacked correctly already.

Hardware
========

RIFT environment is heavily multi-threaded and can generate serious CPU loads.
It is recommended to get a reasonably higher-end CPU with at least 4 cores to
run any larger topology.

Currently, the OSX release is noticably faster than Linux.

File Descriptors
================

RIFT environment needs lots of file descriptors when running larger topologies. Please
use ulimit to set your shell environment to largest number possible. 4096 is recommended 
for larger topologies. 

On Linux, to increase the limit of file descriptors you may use /etc/security/limits.conf.

On OSX, some releases may need additional work to allow enough file descriptors per 
process, e.g. https://blog.dekstroza.io/ulimit-shenanigans-on-osx-el-capitan/ outlines patches
that may be needed on El Capitan.

UDP Kernel Options
==================

RIFT environment generates large numbers of UDP packets when running larger topologies.

Tunning UDP sockets can be very helpful.

    OSX
    ===

    sudo sysctl -w net.inet.udp.maxdgram=128000
    sudo sysctl -w net.inet.udp.sendspace=4096000
    sudo sysctl -w net.inet.udp.recvspace=4096000
    sudo sysctl -w net.local.stream.sendspace=4096000
    sudo sysctl -w net.local.stream.recvspace=4096000

    Linux
    =====

    sysctl -w net.core.rmem_max=26214400

    Otherwise depending on Linux version check "man 7 udp" to see whether you can
    make UDP more responsive.

Basic Validation
================

The `.../scripts` directory contains a `basicvalidation.sh` script that will 
verify that *RIFT* can run successfully after the installation or indicate 
potential problems to be fixed. 

(--) Redis
==========

REDIS (http://www.redis.io) installation is highly recommended. CLI has
restricted functionality only without Redis and analytics are not present.

All RIFT daemons take optional Redis URL as input so the server may be located
at an arbitrary place. Currently all RIFT node instances write to the same 
server. 

Observe that REDIS analytics may put up to a doubled strain on the hardware,
i.e. doubling number of cores is recommended or alternaly REDIS should be
hosted off the machine running RIFT environment (which will incur delay
penalties and with that e.g. very fast flooding will "skip" versions 
written to Redis albeit everything will be consistent eventually).

REDIS version 3.x is recommended, 2.x should work but is untested. 

(--) Thrift
===========

Optionally, to run provided *Thrift* client scripts or compile the included schemas, 
build your own clients, you will need to install *Thrift* on your system. The 
version used to compile **RIFT** schemas and build servers was `1.0.0-dev` but any 
recent version should work. 
