ecp-veloc / redset Goto Github PK
View Code? Open in Web Editor NEWLow-level distributed erasure coding library to protect datasets of MPI applications
License: MIT License
Low-level distributed erasure coding library to protect datasets of MPI applications
License: MIT License
I've packaged redset for the gentoo overlay guru but our CI failed at testing it
https://bugs.gentoo.org/784668
Build log: https://784668.bugs.gentoo.org/attachment.cgi?id=701421
Test log: https://784668.bugs.gentoo.org/attachment.cgi?id=701424
REDSET 0.0.5 ABORT: rank 1 on localhost: Number of partner replicas (1) must be in range [1,1) with 1 ranks in set @ /var/tmp/portage/sys-cluster/redset-0.0.5/work/redset-0.0.5/src/redset_partner.c:116
Both XOR and PARTNER require at least two processes in each redundancy group. Currently the code segfaults if the user gives a failure group such that some process ends up in a redundancy group of size 1. To be helpful, we should print and return an error instead. With SCR, we would automatically fallback to SINGLE in such cases. That could be another option.
See SCR v3.0rc2 project: https://github.com/LLNL/scr/projects/3
Tests seem to cause the issue:
/tmp/veloc/redset/test/test_config.c:66:35: error: ‘REDSET_KEY_CONFIG_DEBUG’ undeclared (first use in this function); did you mean ‘REDSET_KEY_CONFIG_GROUP’?
66 | if (kvtree_util_get_int(config, REDSET_KEY_CONFIG_DEBUG, &cfg_debug) !=
| ^~~~~~~~~~~~~~~~~~~~~~~
In
Line 11 in 638c650
the test assume that
${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 2 -N2 ./redset_test
is generically valid, however -N
is not a documented option of mpiexec and seems to mostly be an srun
or so option to specify how many ranks per node to use. It fails eg if RESOURCE_MANAGER=NONE
is used and OpenMPI is the mpi stack.
See SCR v3.0 project: https://github.com/LLNL/scr/projects/4
More tests to be added to redset:
chown()
, and check that proper group is restored after rebuilding a deleted file.Resolve issues noted in:
See SCR v3.0 project: https://github.com/llnl/scr/projects/2
Intel has an open-source library supporting vectorized functions to compute RS GF(2^8) math:
https://01.org/intel%C2%AE-storage-acceleration-library-open-source-version
https://github.com/intel/isa-l
This is licensed under BSD-3. It looks like it may also support processors other than just Intel, including PowerPC. This could offer a performance boost for our internal RS encoding.
For example, the gf_vect_mul function here:
https://github.com/intel/isa-l/blob/master/include/gf_vect_mul.h
might plug in for:
redset/src/redset_reedsolomon_common.c
Line 768 in 638c650
This will take some developer time to make the switch, and it adds a dependency. Also, if we are bottlenecked by storage or network bandwidth, reducing encode/decode time may not improve overall performance by much. So some work should be done to investigate before taking this on.
Looks like my Mac is picky about including HOST_NAME_MAX (see https://stackoverflow.com/questions/30084116/host-name-max-undefined-after-include-limits-h). It needs to be fixed in the CMake.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.