Scalaris 0.9.0 released

13 views
Skip to first unread message

Nico Kruber

unread,
Feb 29, 2016, 2:37:10 PM2/29/16
to scal...@googlegroups.com
We are happy to announce the next major release release of Scalaris. Version
0.9.0 (codename "Vriesea scalaris").
Most notable differences changes are the new C++ API, a new generic
DataNucleus storage back-end for Scalaris, a YCSB Scalaris adapter, the
support for different replication factors, and major performance improvements
in the replica repair layer. Additionally, we optimised several other
components, fixed a few bugs, and made Scalaris more suitable for large scale
deployments. A complete changelog is provided below.


Binary packages for various Linux distributions should be available soon in
our usual repositories:
* The latest stable version is available in our main repository:
http://download.opensuse.org/repositories/home:/scalaris/
* Git snapshots are available in this repository:
http://download.opensuse.org/repositories/home:/scalaris:/svn/

For more instructions on how to use the prebuilt packages, see
http://scalaris.zib.de/faq.html#prebuild-packages


Scalaris' Java-API (in different versions) is also available in our maven
repository at: https://scalaris-team.github.io/scalaris/maven
For help setting up this repository, please refer to
http://scalaris.zib.de/faq.html#java-api


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=<dir>"
- change erlang_js detection to "configure --enable-erlang-js=<dir>"
- 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 <test suite>:<group name>_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

--
kru...@zib.de PGP key: 20F2724BDAEA9E59
signature.asc
Reply all
Reply to author
Forward
0 new messages