Skip to content

ale93p/namb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

namb logo namb

Circle CI GitHub tag (latest SemVer pre-release)

NAMB (Not only A Micro-Benchmark) is a parametrizable and automatically generated benchmark application for Data Stream Processing Systems (DSP).

Features

  • Simple YAML-based configuration for parameters definition

  • Automatic application generation, no need to manually touch the platform APIs

  • Ready-to-use python script to deploy the benchmark application

  • Supported platforms:

    platform version
    Apache Flink Maven Central with version prefix filter
    Apache Storm Maven Central with version prefix filter
    Apache Heron Maven Central with version prefix filter

Requirements

  • Java 8 and maven environment
  • Python 3

Quick Start

N.B. We assume a local deployment of a DSP platform is previously configured and running.
For this quickstart we consider running NAMB on Apache Flink.

  1. Clone the repository in a local folder and move in it

  2. Compile the project:

    python3 namb.py build

    or directly with maven:

    mvn clean install
  3. Prepare NAMB environment

    • Copy the default NAMB configuration file to the main configuration folder:
    cp conf/defaults/workflow_schema.yml conf/namb.yml
    • Copy the platform-specific configurations to the main configuratino folder:
    cp conf/defaults/flink-benchmark.yml conf/flink-benchmark.yml

    More info on how to ustomize the configuration files see doc/configurations

  4. Run the benchmark application:

    python3 namb.py flink

    Use -h for more options and infos.

Publications

[pagliari2019workflow] A. Pagliari, F. Huet, G. Urvoy-Keller, "Towards a High-Level Description for Generating Stream Processing Benchmark Applications", IEEE BigData, 3rd IEEE BPOD Workshop, 2019

[pagliari2020namb] A. Pagliari, F. Huet, G. Urvoy-Keller, "NAMB: A Quick and Flexible Stream Processing Application Prototype Generator", IEEE/ACM CCGrid 2020