Flock 0.3.0 (2022-01-01)
New Features
- Full support for NEXMark Benchmark (Query 0 - 13) on AWS Lambda
- The original benchmark was adopted and extended by the Apache Foundation for their use in Beam, a system intended to provide a general API for a variety of streaming systems. To make things a bit more dynamic, they changed the size of the windows to be merely ten seconds, rather than the minutes and hours the original specification sets. They also added more queries, for example, q1 - q8 are from original NEXMark queries, q0 and q9 - q13 are from Apache Beam. We follow the Beam implementation, as it is the most widely adopted one.
- Full support for YSB Benchmark on AWS Lambda
- A new command-line tool:
flock-cli
$ flock-cli -h
Flock 0.2.0
UMD Database Group
Command Line Interactive Contoller for Flock
USAGE:
flock-cli [OPTIONS] <SUBCOMMAND>
OPTIONS:
-c, --config <FILE> Sets a custom config file
-h, --help Print help information
--log-level <log-level> Log level [default: info] [possible values: error, warn, info,
debug, trace, off]
--silent Suppress all output
--trace Log ultra-verbose (trace level) information
-V, --version Print version information
SUBCOMMANDS:
fsql The terminal-based front-end to Flock
help Print this message or the help of the given subcommand(s)
lambda The AWS Lambda Tool for Flock
nexmark The NEXMark Benchmark Tool
upload Uploads a function code to AWS S3
ysb The Yahoo! Streaming Benchmarks Tool
$ flock-cli nexmark run -h
flock-cli-nexmark-run
Runs the NEXMark Benchmark
USAGE:
flock-cli nexmark run [OPTIONS]
OPTIONS:
-a, --async-type
Runs the NEXMark benchmark with async function invocations
-e, --events-per-second <events per second>
Runs the NEXMark benchmark with a number of events per second [default: 1000]
-g, --generators <data generators>
Runs the NEXMark benchmark with a number of data generators [default: 1]
-h, --help
Print help information
--log-level <log-level>
Log level [default: info] [possible values: error, warn, info, debug, trace, off]
-m, --memory-size <memory size>
Sets the memory size (MB) for the worker function [default: 128]
-q, --query <query number>
Sets the NEXMark benchmark query number [default: 3] [possible values: 0, 1, 2, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13]
-s, --seconds <duration>
Runs the NEXMark benchmark for a number of seconds [default: 20]
--silent
Suppress all output
-t, --data-sink-type <data sink type>
Runs the NEXMark benchmark with a data sink type [default: blackhole] [possible values:
sqs, s3, dynamodb, efs, blackhole]
--trace
Log ultra-verbose (trace level) information
Codebase
sudo docker run --rm -v $PWD:/tmp aldanial/cloc /tmp/benchmarks /tmp/flock /tmp/flock-function /tmp/playground /tmp/scripts /tmp/flock_bench.sh
263 text files.
260 unique files.
106 files ignored.
github.com/AlDanial/cloc v 1.89 T=0.16 s (998.2 files/s, 274774.4 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
CSV 2 0 0 21314
Rust 86 1864 3401 12344
JSON 8 0 0 2696
SQL 51 28 126 748
TOML 6 46 20 233
Bourne Shell 2 16 39 115
Python 1 24 24 95
Markdown 1 22 0 64
-------------------------------------------------------------------------------
SUM: 157 2000 3610 37609
-------------------------------------------------------------------------------