forked from SWI-Prolog/packages-semweb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWORKPLAN
54 lines (37 loc) · 1.57 KB
/
WORKPLAN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
---+ Concurrent RDF workplan
* Establish triple-GC [OK]
* Establish expansion of triple hash-tables [OK]
* Remove old locking code. [OK]
* Establish compatible broadcasting [OK]
* Duplicate suppression by maintaining a table of duplicate
answers. [OK]
* Deal with subPropertyOf predicate clouds [OK]
* Deal with rdf_update/4,5. [OK]
* Optimize the following tables in GC (i.e., by cloning older
objects into new ones):
- resource-db
- predicate-db
- graph-db
* Concurrent load: not that we are already loading some graph [UNTESTED]
and make a concurrent load wait for completion by the other
thread.
* Randomized Test framework (test_subprop.pl).
- Randomly mutating graphs [OK]
- Stress testing
- Run controlled tests concurrently in transactions? [OK]
* rdf_gc [OK]
- Erased triples that cannot really be deleted because a transaction/snapshot
blocks this.
- Nothing will change if oldest generation doesn't change.
* Reachability matrices
- Transaction-specific matrices must be invalidated after completion
of the transaction.
- Flag them as invalid by setting died to GEN_PREHIST? [OK]
- Implement matrix-GC. [OK]
* Ordering of literal values should be based on SPARQL literal ordering.
================
Issues
================
* After loading P6 rewrite: old: 1209415 duplicates, now 8!?
* Deadlock: lookupAtom() --> GC --> free_node_data() --> PL_unregister_atom()
Can be fixed using atomic incr/decr for PL_unregister_atom(). [OK (GCC)]