Home > Storage > PowerFlex > White Papers > Optimizing High Frequency Trading with Real Time Insights using Dell PowerFlex and NVIDIA - White Paper > Nano installation
Nano can run on one or more servers, and the results can be aggregated across all the servers. The throughput and latency measurements are taken directly from kdb+/q and the results include read/mmap allocation, creation and ingest of data. For more information about nano, go to https://github.com/KxSystems/nano.
To install nano, first the required pre-requisites like yq and iostat to be installed.
sudo wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64
sudo chmod a+x /usr/local/bin/yq
base)root@node2:/home/core# yq --version
yq (https://github.com/mikefarah/yq/) version v4.42.1
Next, iostat is installed
sudo apt install sysstat -y
The steps to install nano are as follows:
1. Clone the nano repository first
(base) root@node2:/home/core/nano2# git clone https://github.com/KxSystems/nano.git
(base) root@node2:/home/core/nano2# cd nano/
(base) root@node1:/home/core/nano2/nano# ls
build flush mthread.sh README.md src config hostlist multihost.sh results startnano.sh Dockerfile logs partitions runSeveral.sh version.yaml
2. It is assumed the kdb+ license and q are set up correctly as mentioned earlier. Next, set up the environment variables as follows:
export KDB_K4LICENSE_B64=$(base64 /root/q/k4.lic)
export QHOME=/home/core/q
export PATH=$PATH:$QHOME/l64
export QBIN=/home/core/q/l64/q
3. To store the data generated by nano, one of the PowerFlex volumes is mapped to the compute node.
(base) root@node2:/home/core/nano2/nano# lsblk
sda 8:0 0 1.5T 0 disk
sdb 8:16 0 1.5T 0 disk
scinia 251:0 0 1T 0 disk /home/core/fio
scinib 251:16 0 2T 0 disk /home/core/nano
scinic 251:32 0 1.2T 0 disk /home/core/kdb
nvme0n1 259:1 0 447.1G 0 disk
├─nvme0n1p1 259:2 0 512M 0 part /boot/efi
└─nvme0n1p2 259:3 0 446.6G 0 part /var/snap/firefox/common/host-hunspell
4. To set up the configuration parameters, edit the /config/env file. In this case, the DBSIZE variable is changed to DBSIZE=full, rest of the configuration is not changed. There are options to set the DBSize as tiny and small that generates 40 GB and 164 GB respectively. Setting the DBSize parameter to full generates about 820 GB of data. This data is used to carry out other nano tests.
(base) root@node2:/home/core/nano2/nano# nano config/env
# Mainly for testing, you can generate small or tiny data
export DBSIZE=full
5. Next, source this environment file by source ./config/env
In the partition file, put the entry /home/core/nano where the data that is generated by the nano tool would be stored.
(base) root@node1:/home/core/nano2/nano# cat partitions
/home/core/nano