Skip to content

LightJason/Benchmark

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

LightJason - Benchmark

Docker

This repository contains a benchmarking suite for the LightJason multi-agent framework. We try to keep the structure of a Java Microbenchmark Harness and adapted for the structure of a multi-agent system. Additional information of benchmarking can be found

For our benchmark scenarios we are using our docker container with the shellcommand benchmark, that allows to run the scenario defintion

Scenario Configuration

A scenario will be defined by a YAML file and a set of ASL++ files, which contains the agent code. The main structure of the YAML is:

# main definition
global:
    
    # statistic definition (default summary)
    statistic: summary | descriptive

    # warum-up runs of the runtime
    warmup: 5
    # number of runs of the simulation
    runs: 15
    # number of iteration on each run
    iterations: 3
    
    # logging rate in milliseconds of memory, zero disables logging
    memorylograte: 2500
    # alive message in milliseconds to show a message on screen
    alive: 480000

    # output json will be formated
    prettyprint: true | false


# runtime definition for agent execution
runtime:
    
    # type of the runtime (parameter t shows the possibility of setting threads)
    type: synchronized | workstealing | fixedsize(t) | cached | scheduled(t) | single
    # number of thread which are used, not all runtimes uses this value (default 1)
    threads: 3
    
    # neighborhood action type for an agent
    neighborhood: leftright


# agent definition
agent:

    # constants / variables of an agent
    constant:
        MaxCount: 5

    # agent sources, which are stored relative to the configuration file
    source:
    
        # first agent script with a list of agent counts for each run
        agent1.asl: [1, 2, 5, 10, 15, 30, 100, 200, 500, 1000, 5000, 10000, 50000, 100000, 500000]
        
        # second agent script with a formula for calculating agent count, "i" defines the run with is started with 1 
        agent2.asl: "i^2"

Data Output

The result of a run is a JSON file with the statistic values of the runs. The statistic structure is defined of the statistic configuration.