Intel® Benchmark Install and Test Tool (Intel® BITT) Tools

Download Entire Article

Download Intel® Benchmark Install and Test Tool (Intel® BITT) Tools [PDF 994KB]

Download Binary

Download Intel® BITT Files [TAR 39KB]

Abstract

Intel® Benchmark Install and Test Tool (Intel® BITT) provides tools to install, configure, run, and analyze benchmark programs on small test clusters. The"installCli" tool is used to install tar files on a cluster. "monCli" is used to monitor performance of the cluster nodes and provides options to start monitoring, stop monitoring and generate cpu, disk i/o, memory and network performance plots for the nodes and cluster. "hadoopCli" provides an automated Hadoop test environment.

Introduction

Intel® Benchmark Install and Test Tool (Intel® BITT) provides tools to install, configure, run, and analyze benchmark programs on small test clusters. The "installCli" tool is used to install tar files on a cluster. "monCli" is used to monitor performance of the cluster nodes and provides options to start monitoring, stop monitoring and generate cpu, disk i/o, memory and network performance plots for the nodes and cluster. "hadoopCli" provides automated Hadoop test environment. The Intel® BITT templates enable configurable plot generation. Intel® BITT command scripts enable configurable scripts to control monitoring actions. Benchmark configuration is implemented by using XML files. Configurable properties include the location of installation, monitoring directories, monitoring sampling duration, the list of the cluster nodes, and the list of the tar files that need to be installed. Intel® BITT is implemented by using python and it uses gnuplot to generate performance plots. Intel® BITT currently runs on Linux.

Intel® BITT Features

Benchmark Install and Test Tool provides the following tools:

  • installCli: It is used to install a specified list of tar files to a specified list of nodes
  • monCli: It is used to monitor performance metrics locally and/or remotely. It can be used to monitor the performance of a cluster. The tool currently supports sar and iostat monitoring tools.
  • hadoopCli: It is used to install, configure and test Hadoop clusters.


Intel® BITT is implemented in an object-oriented fashion. It can be extended to support other performance monitoring tools such as vmstat and mpstat if it is needed. The toolkit includes the following building blocks:

  • Xml parser : I parses the xml properties that include name, value and description fields. The install and monitor configuration is defined by using xml properties. Tool-specific options are passed through command line options.
  • Log file parser: Log files in the form of table which contains rows and columns are parsed and csv files are generated for each column. The column items on each row are separated by using whitespace. The column header names are used to create csv file names.
  • Plot generator: gnuplot is used to plot the contents of the csv files by using templates. The templates define the list of csv files that are used as inputs to generate the plots. The templates also define label and titles of the plots.
  • Sar monitoring tool
  • Iostat monitoring tool
  • Vtune monitoring tool
  • Emon monitoring tool
  • installCli is used to install bitt
  • monCli is used to monitor local or cluster nodes
  • hadoopCli is implemented by using the building clocks defined above and it is used to create and test Hadoop clusters.


Intel® BITT tools are installed in the following directory structure

  • Cmd : used to store scripts to run performance tools
  • Templates: used to store the templates used by the plot generator
  • Conf: used to store xml configuration files
  • Scripts: used to store Intel® BITT scripts
  • Samples show how to use Intel® BITT to create new monitoring tools


The following sections explain 3 Intel® BITT use cases.
Appendix A, B, C, D, E, F, and G includes Intel® BITT installation guide and detailed configuration and test examples.

Local Monitoring Use Case:

"monCli" is used to monitor performance. If you are testing a benchmark program on a single node you can use this tool to monitor cpu, memory, device and network utilization metrics. The tool generates the utilization plots at the end of monitor cycle.

The following describes the steps that should be used to test a benchmark program locally:

  • Create a benchmark test configuration file that defines the following properties:
    • monDir: This is where the log files and the generated csv and png files are stored.
    • monResults: This is where the tar file of the monitoring data is stored.
    • monInterval: This defines the number of seconds for each sampling period.
    • monCount: This defines the number of samples. 0 means the monitoring will continue until it is stopped.
    • gnuCmd: defines the path to the gnuplot that will be used to generate plots in the form of *.png files
    • bittHome: defines the root directory of bitt scripts
    • Example: Please see "bm.xml" in the "conf" directory.
  • Run the following command to clean up the monitoring and results directories
    • ./monCli -r clean
  • Start running the benchmark program
  • Start running iostat
    • ./monCli -m iostat -a run -s run_iostat.sh
  • Start running sar
    • ./monCli -m sar -a run -s run_sar.sh
  • Wait until the benchmark program is completed or it is executed for a significant amount of time
  • Stop iostat by running the following command
    • ./monCli -m iostat -a kill
  • Stop sar by running the following command
    • ./monCli -m sar -a kill
  • Generate csv files for all the fields found in iostat log file by running the following command
    • ./monCli -m iostat -a csv
  • Generate csv files for all the fields found in sar log file by running the following command
    • ./monCli -m sar -a csv -s run_sar_gen.sh
  • Generate plots for all the defined iostat templates
    • ./monCli -m iostat -a plot -t iostat
  • Generate plots for all the defines sar templates
    • ./monCli -m sar -a plot -t cpu
    • ./monCli -m sar -a plot -t dev
    • ./monCli -m sar -a plot -t mem
    • ./monCli -m sar -a plot -t nw
    • ./monCli -m sar -a plot -t nw3
  • Generate a tar file that you can upload to your laptop to view monitoring data including easy to read plots
    • ./monCli -r tar

Cluster Monitoring Use Case

The following describes the steps to monitor clusters:

  • Create a Intel® BITT installation configuration file to install Intel® BITT into all the nodes of a cluster by defining the following properties:
    • cloudInstallDir : is a directory where Intel® BITT will be installed on all nodes. This is typically a directory at "/tmp" or "/usr/local".
    • cloudTarList: Is a file that defines the list of the tar files that will be installed at the cloud install directory.
    • cloudNodeList: It is a file that specifies the cluster nodes
    • monDir: It is a directory where the monitoring data is saved on the cluster nodes
    • monResults: It is a directory where the tar file of the monitoring data is created on the cluster nodes
    • monInterval: the sampling time in seconds
    • monCount: the number of samples where "0" means the sampling will continue until the monitoring is stopped by using "monCli"
    • monSummary: the summary directory where the cluster monitoring information will be collected
  • install Intel® BITT by using the following command
    • ./installCli -c ../conf/bmInstall.xml
  • Clean the monitoring directories before you start monitoring by using the following command
    • ./monCli -r clean -c ../conf/bmInstall.xml
  • Start iostat monitoring at the cluster nodes
    • ./monCli -m iostat -a run -s run_iostat.sh -c ../conf/bmInstall.xml
  • Start sar monitoring at the cluster nodes
    • ./monCli -m sar -a run -s run_sar.sh -c ../conf/bmInstall.xml
  • Start running your benchmark at the cluster nodes
  • Stop iostat at the end your benchmark execution or after a specified time period by using the following command
    • ./monCli -m iostat -a kill -c ../conf/bmInstall.xml
  • Stop sar at the end your benchmark execution or after a specified time period by using the following command
    • ./monCli -m sar -a kill -c ../conf/bmInstall.xml
  • Generate csv files for iostat by using the following command
    • ./monCli -m iostat -a csv -c ../conf/bmInstall.xml
  • Generate csv files for sar by using the following command
    • ./monCli -m sar -a csv -s run_sar_gen.sh -c ../conf/bmInstall.xml
  • Plot node utilization metrics by using the following commands
    • ./monCli -m iostat -a plot -t iostat -c ../conf/bmInstall.xml
    • ./monCli -m sar -a plot -t cpu -c ../conf/bmInstall.xml
    • ./monCli -m sar -a plot -t mem -c ../conf/bmInstall.xml
    • ./monCli -m sar -a plot -t dev -c ../conf/bmInstall.xml
    • ./monCli -m sar -a plot -t io -c ../conf/bmInstall.xml
  • Create a monitoring data tar file for each node by using the following command
    • ./monCli -r tar -c ../conf/bmInstall.xml
  • Collect all the tar files to the head node where you are running Intel® BITT cli commands by using the following command:
    • ./monCli -r collect -c ../conf/bmInstall.xml
    • The command above will store the cluster monitoring data at the directory specified by "monSummary" directory.
  • You can also create cluster metrics by using the following commands:
    • ./monCli -r average -m sar -t cpu -c ../conf/bmInstall.xml
    • ./monCli -r throughput -m sar -t dev -c ../conf/bmInstall.xml
    • ./monCli -r throughput -m sar -t mem -c ../conf/bmInstall.xml
    • ./monCli -r throughput -m sar -t nw -c ../conf/bmInstall.xml
    • ./monCli -r throughput -m iostat -t iostat -c ../conf/bmInstall.xml

Hadoop Install and Test Use Case

The following describes the steps to install, configure and test Hadoop clusters:

  • Create a hadoop installation configuration file
  • Install hadoop by using the following command
    • ./hadoopCli -a install -c ../conf/hadoopCloudConf.xml
  • Format namenode by using the following command
    • ./hadoopCli -a format -c ../conf/hadoopCloudConf.xml
  • Start Hadoop by using the following command
    • ./hadoopCli -a start -c ../conf/hadoopCloudConf.xml
  • Generate 1T byte test data by using the following command
    • ./hadoopCli -a data -c ../conf/hadoopCloudConf.xml
  • Clean monitoring directories by following the following command
    • ./monCli -r clean -s ../conf/hadoopCloudConf.xml
  • Start monitoring tools by using the following commands:
    • ./monCli -m iostat -a run -c ../conf/hadoopCloudConf.xml -s run_iostat.sh
    • ./monCli -m sar -a run -c ../conf/hadoopCloudConf.xml -s run_sar.sh
  • Starte running terasort benchmark by using the following command
    • ./hadoopCli -a run -c ../conf/hadoopCloudConf.xml
  • Stop monitoring at the end of benchmark execution by using the following commands
    • ./monCli -a iostat -r kill -c ../conf/hadoopCloudConf.xml
    • ./monCli -a sar -r kill -c ../conf/hadoopCloudConf.xml
  • Generate csv files and then generate node utilization plots by using the following commands
    • ./monCli -m iostat -a csv -c ../conf/hadoopCloudConf.xml
    • ./monCli -m sar -a csv -c ../conf/hadoopCloudConf.xml -s run_sar_gen.sh
    • ./monCli -m iostat -a plot -t iostat -c ../conf/hadoopCloudConf.xml
    • ./monCli -m iostat -a plot -t iostat2 -c ../conf/hadoopCloudConf.xml
    • ./monCli -m sar -a plot -t cpu -c ../conf/hadoopCloudConf.xml
    • ./monCli -m sar -a plot -t dev -c ../conf/hadoopCloudConf.xml
    • ./monCli -m sar -a plot -t mem -c ../conf/hadoopCloudConf.xml
    • ./monCli -m sar -a plot -t nw -c ../conf/hadoopCloudConf.xml
  • Create the monitoring data tar files at the nodes and then copy them to the node where you are running Intel® BITT command line interface by using the following commands
    • ./monCli -r tar -c ../conf/hadoopCloudConf.xml
    • ./monCli -r collect -c ../conf/hadoopCloudConf.xml
  • Stop Hadoop by using the following command
    • ./hadoopCli -a stop -c ../conf/hadoopCloudConf.xml
  • Create cluster directory at the monSummary directory by using the following command
    • ./monCli -r cluster -c ../conf/hadoopCloudConf.xml
  • Create cluster metrics by using the following commands
    • ./monCli -r average -m sar -t cpu -c ../conf/hadoopCloudConf.xml
    • ./monCli -r throughput -m sar -t mem -c ../conf/hadoopCloudConf.xml
    • ./monCli -r throughput -m sar -t dev -c ../conf/hadoopCloudConf.xml
    • ./monCli -r throughput -m sar -t nw -c ../conf/hadoopCloudConf.xml
    • ./monCli -r throughput -m iostat -t iostat -c ../conf/hadoopCloudConf.xml
    • ./monCli -r average -m iostat -t iostat2 -c ../conf/hadoopCloudConf.xml


The script "mycli.sh" that runs all the above commands can be found in Intel® BITT package. This script will first install and configure Hadoop, then it will start Hadoop and then generate test data. It will start monitoring and terasort benchmark execution. The script will generate the node and cluster plots at the end of the benchmark execution and transfer the test results to the node where the script is executed.

Categorias:
There are downloads available under the What If Pre-Release License Agreement license. Download
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.