/LSEQ

Primary LanguageJavaGNU Lesser General Public License v3.0LGPL-3.0

LSEQ: CRDT for sequences

This framework allows the developper to configure underlying components of its allocation strategy and to measure the size of identifiers generated (see package module). Available components are divided in 4 categories:

  • Base: Double or Constant (parameter departure base)
  • Boundary: Double or Constant (parameter departure boundary)
  • Allocation strategies: Beginning (boundary+) or Ending (boundary-) (parameters base, boundary)
  • Strategy Choice: Single, Round-Robin or Random (parameter(s) allocation strategie(s))

Of course, the framework also allows to develop custom components.

Run

The frameworks gives two examples of launching:

  • On synthetic sequences (Front, Queue, Both or Random)
  • On Wikipedia pages

Once again, custom synthetic sequences can be added, and other kinds of real collaborative edited documents complying with the provided interface can be added.

Synthetic Documents Experiments

Table 1. Boundary setup with a single boundary+ strategy and constant base=210, boundary=10.
nbInsert FRONT QUEUE RANDOM
id lenght id bit-lenght id lenght id bit-lenght id lenght id bit-lenght
AVG MAX AVG MAX AVG MAX AVG MAX AVG MAX AVG MAX
100 19.3 39 193.3 390 1 1 10 10 2.43 5 24.3 50
1000 197.2 397 1972.4 3970 2.92 5 29.2 50 3.63 7 36.3 70
5000XXXX12.5425 125.422504.51045100
10000XXXX24.6249 246.24904.871148.7110
50000XXXX121.7243 121724305.731357.3130
100000XXXXXX XX6.091460.8140
Table 2. Doubled base setup experiment. Parameters are boundary+ strategy and base=24+depth, boundary=10.
nbInsert FRONT QUEUE RANDOM
id lenght id bit-lenght id lenght id bit-lenght id lenght id bit-lenght
AVG MAX AVG MAX AVG MAX AVG MAX AVG MAX AVG MAX
10020.2641365.2610253.19 419.91262.01511.38 35
1000197.4740427336.583426 6.35849.78683.247 20.4456
5000XXXX8.6910 77.9954.04927.181
10000XXXX9.6911 91.641104.41030.495
50000XXXX11.9613 126.261435.241338.4143
100000XXXX12.9714 143.31615.61342143
500000XXXX15.417 186.672216.421550.9180
Table 3. Round-Robin setup experiment. Both boundary+ and boundary- are employed with constant base=210 and boundary=10.
nbInsert FRONT QUEUE RANDOM
id lenght id bit-lenght id lenght id bit-lenght id lenght id bit-lenght
AVG MAX AVG MAX AVG MAX AVG MAX AVG MAX AVG MAX
1001.97219.72011 10102.2422.140
10005.931059.31004.83 948.3903.51734.1 70
500025.4250254.250023.6 47235.74704.25942.5 90
1000049.399849498047.5 95475.49504.621046.2 100
50000XXXXXX XX5.461154.6110
100000XXXXXX XX5.821358.2130
Table 4. LSEQ setup experiment. Random strategy choice with a doubled base. Strategies : boundary+ and boundary- with base=24+depth, boundary=10.
nbInsert FRONT QUEUE RANDOM
id lenght id bit-lenght id lenght id bit-lenght id lenght id bit-lenght
AVG MAX AVG MAX AVG MAX AVG MAX AVG MAX AVG MAX
1003.25420.4264.05 727.73562.16412.4 26
10007.77967.1817.72 965.93813.35721.3 56
50009.361086.69511.04 13113.51434.131028 95
1000010.6212105.512612.02 13128.31434.51031.23 95
5000012.4614134.516114.11 16164.92005.351139.47 110
10000013.2615148.318015.06 16182.52005.711243.2 126
50000015.4217189.322116.3 17207.52216.541452.2 161
1M16.3818208.924317 18221.82436.91556.31 180