Published February 29, 2016 | Version 0.9.0

Scalaris 0.9.0

  • 1. Zuse Institute Berlin

Description

Scalaris 0.9.0 (codename "Vriesea scalaris") - February 29, 2016

(partly supported by the EU project IES Cities http://iescities.eu/)

Packaging:

  • add a libscalaris-dev[el] package with the C++ API (rpm, deb)
  • Maven: let Maven also create a source jar file for the Java-API
  • Maven: allow proper snapshot versions for the maven repository at https://scalaris-team.github.io/scalaris/maven

API:

  • CPP-API: provide a new C++ client library
  • DataNucleus: provide a new storage back-end for Scalaris
  • add a Scalaris adapter for YCSB
  • new functions in all APIs for generic routing table operations

Business Logic:

  • rrepair: considerably improve the set reconciliation algorithms' performance and run more processes in parallel
  • rrepair: further reduce the reconciliation costs
  • rrepair: re-use left-over failure probability from phase 1 for phase 2
  • rrepair: increase accuracy in several formulaes of the set reconciliation algorithms
  • rrepair: support creating multiple Merkle trees for fewer message rounds (rr_merkle_num_trees configuration variable)
  • rrepair: remove support for aligning bit sizes (no improvements there)
  • transactions: speed up write ops when the transaction log already contains a read op on the same key
  • RM: optimise the traffic of state exchanges during ring maintenance
  • RT: improve routing parallelism by handling more messages in the routing process itself instead of inside the dht_node process
  • RT: improve performance along the routing path
  • support for dynamic replication factors given by the replication_factor configuration variable
  • pid_groups: shuffle pids in find_a/1 for more better distributed (parallel) requests

Infrastructure:

  • pid_groups: group names are now atoms instead of strings (allows faster access)
  • scalarisctl: do not set any default Erlang scheduler flags (allow changes through the ERL_SCHED_FLAGS environment variable)
  • extend the example scripts for running Scalaris on a SLURM cluster
  • add SLURM scripts for running Basho Bench
  • use configure to select the routing table type (--with-rt=rt_chord)
  • change hanoidb detection to configure --enable-hanoidb=
  • change erlang_js detection to configure --enable-erlang-js=
  • dht_node_monitor: switch messages on/off via configuration variable dht_node_monitor
  • msg_delay: remove extraneous error messages for trigger messages of killed processes
  • prbr: allow write_filter to return value to qwrite calling process
  • update yaws to version 2.0.2
  • support for Erlang R14B04 up to 18.2.3 and current otp master

Tests:

  • allow running single test groups via make :_GROUP

Tools:

  • gen_component: allow processes to provide their own start functions
  • trace_mpath: write whole message of log_info to the tex output

Bugs:

  • fix cleanup of some special cases with transactions
  • fix several math issues and increase the math functions' performance
  • fix some errors which occurred in large scale deployments
  • fix several warnings reported by Coverity Scan
  • fix numerous more bugs

Files

scalaris-0.9.0.zip

Files (17.3 MB)

Name Size Download all
md5:b94318e9f96241ccb1ee181b7d3a23a5
17.3 MB Preview Download

Additional details

Related works