rel="stylesheet" type="text/css"> BeginningNext

Faban Harness Overview

The Faban harness is an infrastructure to automate running of server benchmarks as well as a container for hosting different benchmarks and allowing new benchmarks to be deployed in a rapid manner. The Faban harness provides a web interface to launch & queue runs, and extensive functionality to view, compare and graph run outputs.

Architecture

Harness Architecture Diagram

The figure above illustrates the high level architecture and components of the Faban harness. Controlling a rig is the "Master." The master contains a web server which facilitates access through the web interface to the Faban harness. It provides all the user interfaces for submitting, managing runs as well as accessing the run results. The run queue, discussed later in more detail, is the main engine controlling the runs. The log server receives pseudo real time logs from all systems in the rig. The master can also host and execute any number of benchmarks .

Faban agents run on both the driver systems and the systems under test (SUT). They allow the harness to launch drivers as well as individual commands to start, stop, reconfigure servers as well as collecting system information and statistics valuable for the benchmark run.

The master may run on any driver system or on it's separate system, It can as well run on any ot the SUT systems. However, this is not recommended as the load caused by the master can adversely affect the benchmark results.


Profiles

The Faban harness has a notation of profiles. The profiles store the previous configuration for each benchmark you've run. The configuration of your previous run will be used as the default of the subsequent run allowing the user submit new runs with minimal data entry. Only changes in the run configuration will need to be entered. The change for each run will be relatively small. Each profile can have tags. You can define tags for profile in the "Switch Profile" page. Please see Scheduling Runs for more detail on this subject.

Run Queue

Each Faban harness master and therefore each Faban rig has exactly one run queue. The run queue allows submissions of multiple runs, i.e. over the weekend or overnight. The harness will execute these runs in a first in - first out manner, one after the other. Once one run finishes, the next run will be fetched and executed until no more runs are in the queue. No two runs will be executed at the same time to avoid resource contention on the rig.

Log Server

The Faban harness master contains a log server which receives and stores log records from the master itself, agents, and possibly the SUT. This automatically interposes log records from each system in the rig for easy problem diagnostics. The log reader web interface also keeps updating the log records every ten seconds allowing the run to be easily monitored. Please see Manage Logging for more detail.

Result Storage and Analysis

Run results are created immediately after the run starts. These include run status information, system information, statistics output from tools, and the run log.  This allows for monitoring the run while running as well as post-analysis of the run results. It also provides a way to efficiently archive run results. Please see Run Results for more detail on this subject.

BeginningNext