Thanks to Edoardo Martelli, Stefan Stancu and Adam Krajewski Paolina Doncheva Thanks to Edoardo Martelli, Stefan Stancu and Adam Krajewski 26/08/2015
CERN data centre the heart of CERN’s scientific, administrative, and computing infrastructure all IT services, use equipment based in the data centre including email, scientific data management and videoconferencing the performance of the devices deployed in the network is essential for providing high quality network services highlight distributed processing and network role in it Lots of data and distributed processing -> reliable, high-performance network is crucial
Testing devices network performance tests that emulate real-life traffic patterns from the Data Centre evaluating the throughput, the fairness and the buffering capabilities in a DUT using a set of custom scripts to inject traffic consisting of a large number of TCP flows DUT (device under test) all the nodes in cluster A communicate to all the other nodes in cluster B establishing multiple connections through the DUT
Traffic generation iperf performance measurement tool to generate the traffic The network traffic in the test environment can be ran in three different topologies: pairs, partial-mesh and full-mesh. configurable parameters: connection count: number of connections established between nodes connection direction - can be configured to be either unidirectional or bidirectional
Current environment’s architecture 40 servers generating traffic monitor only global interface bitrates more detailed look into the traffic flows needed! Current environment’s architecture The test environment enables to provision two pools of 20 servers each, which are called nodes. Agent module is deployed on every node and it handles traffic generation and simple reporting tasks. The whole test is orchestrated by the Central module that handles all the test logic and only pushes the remote command execution to agents installed on servers Both components are pure Python projects (Agent: its main purpose is to accelerate execution of remote commands (i.e. for running traffic). The communication with the agent is made possible using XMLRPC API provided by Python's standard xmlrpclib module The CENTRAL module is the core of the test environment. This module handles all the test logic (i.e. calculating the pairs of server to run traffic between) and only pushes the remote command execution to agents installed on servers. Central provides a convenient CLI which can be used to drive the test including provisioning of the servers and running the traffic itself. ) developing a flow visualization framework, that will enable real-time monitoring of flows (e.g. throughput) and allow visualizing the monitored information at different level of detail
Flow visualizer architecture Python PostgreSQL REST DB AGENT running iperf source IP destination IP flow id bandwidth timestamp JavaScript iperf is installed on every node and the agent gets detailed flow statistics from iperf and push those into the database (where the statistics get visualized)
Paolina Doncheva – CERN openlab 28/08/2014 Paolina Doncheva – CERN openlab