Name Mode Size
axiom-ethtap 040000
axiom-info 040000
axiom-init 040000
axiom-netperf 040000
axiom-ping 040000
axiom-rdma-dbg 040000
axiom-rdma 040000
axiom-recv 040000
axiom-run 040000
axiom-send 040000
axiom-traceroute 040000
axiom-utility 040000
axiom-whoami 040000
axiom_common_library 040000
debian 040000
include 040000
tests 040000
.gitignore 100644 1 kb
COPYING 100644 18 kb
Makefile 100644 1 kb
README 100644 4 kb
common.mk 100644 3 kb
configure.mk 100644 6 kb
simple.mk 100644 1 kb
README
AXIOM NIC applications =============================================================================== This repository contains the following user space application: * axiom-init + axiom-init is the main daemon running on all nodes of the cluster. It runs the discovery algorithm, sets the routing table and handles control messages. It will be run automatically by the system or through axiom-startup.sh script. ``` example: # in n-1 nodes axiom-init & # in the master node axiom-init -m & ``` * axiom-ethtap + axiom-ethtap is another deamon that can run on each nodes in the cluster to map the ethernet frames over AXIOM messages. It creates a virtual ethernet device on top of AXIOM device. It will be run automatically by the system or through axiom-startup.sh script. ``` example: # start axiom-ethtap with 4 threads axiom-ethtap -n 4 ``` * axiom-info + print informations (node-id, interfaces, routing, etc.) about AXIOM NIC ``` example: # print all information axiom-info ``` ``` # print nodeid axiom-info -n ``` ``` # print routing table axiom-info -r ``` * axiom-whoami + print the node-id set after the discovery phase ``` example: axiom-whoami ``` * axiom-ping + estimate the round trip time (RTT) between two nodes ``` example: # Estimate RTT with target node 2. Send a ping message every 0.5 seconds. axiom-ping -d 2 -i 0.5 ``` ``` # Estimante RTT with target node 2. Send 10 ping message every 0.2 seconds. axiom-ping -d 2 -c 10 -i 0.2 ``` * axiom-netperf + estimate the throughput between two nodes ``` example: # start server on one node with 8 threads axiom-netperf -s -n 8 # Estimate the throughput with targat node 3, sending 512 KBytes of data # using RAW messages. axiom-netperf -d 3 -l 512K -t raw ``` ``` # Estimate the throughput with targat node 3, sending 2 MBytes of data. # using LONG messages and 2 sending threads. axiom-netperf -d 3 -l 2M -t long -n 2 ``` * axiom-traceroute + print the hops needed to reach a specified target node ``` example: # Print the hops needed to reach the node 1 axiom-traceroute -d 1 ``` * axiom-[send|recv] + send/receive Axiom RAW/LONG data to/from a node ``` examples: # receive RAW message axiom-recv -t raw ``` ``` # receive LONG message axiom-recv -t long ``` ``` # send RAW data to node (node_id=4) with a specified payload axiom-send -t raw -d 4 112 43 0 57 33 ``` ``` # send RAW data to a neighbour directly connected on a local # interface (if_id=1) with a specified payload axiom-send -t raw -d 1 --neighbour 67 52 1 0 1 0 ``` ``` # send LONG data to node (node_id=0) with a specified payload axiom-send -t long -d 0 112 43 0 57 33 ``` * axiom-rdma + use RDMA features (remote write, remote read) of Axiom NIC ``` examples: # dump local RDMA zone (starting from offset 0 to 1023) axiom-rdma -m d -s 1k ``` ``` # store in the local RDMA zone (starting from offset 1024 to 2043) # the bytes ( 1, 2, 3, 4) repeated many times to fill the size # specified axiom-rdma -m s -o 1k -s 1k 1 2 3 4 ``` ``` # write 3072 bytes in the RDMA zone of node 3 (offset 2048) reading # from the local RDMA zone (offset 1024) axiom-rdma -m w -n 3 -o 1k -O 2k -s 3k ``` ``` # read 4096 bytes in the RDMA zone of node 2 (offset 7168) reading # from the local RDMA zone (offset 0) axiom-rdma -m r -n 2 -O 7k -s 4k ``` * axiom-run + spawn application on multiple nodes ``` # run ls on remote node 1 (-n) and redirect (-r) the stdin/stdout/stderr axiom-run -n 1 -r ls ``` ``` # run ls on all nodes, redirect (-r) the stdin/stdout/stderr and print # the node id in each line (-i) axiom-run -r -i ls ```