You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ The Synch framework provides a large set of highly efficient concurrent data-str
20
20
In terms of concurrent queues, the Synch framework provides the SimQueue [2,10] wait-free queue implementation that is based on the PSim combining object, the CC-Queue, DSM-Queue and H-Queue [1] blocking queue implementations based on the CC-Synch, DSM-Synch and H-Synch combining objects. A blocking queue implementation based on the CLH locks [5,6] and the lock-free implementation presented in [7] are also provided.
21
21
Since v2.4.0, the Synch framework provides the LCRQ [11,12] queue implementation. In terms of concurrent stacks, the Synch framework provides the SimStack [2,10] wait-free stack implementation that is based on the PSim combining object, the CC-Stack, DSM-Stack and H-Stack [1] blocking stack implementations based on the CC-Synch, DSM-Synch and H-Synch combining objects. Moreover, the lock-free stack implementation of [8] and the blocking implementation based on the CLH locks [5,6] are provided. The Synch framework also provides concurrent queue and stacks implementations (i.e. OsciQueue and OsciStack implementations) that achieve very high performance using user-level threads [3]. Since v3.1.0, the Synch framework provides stack and queue implementations (i.e. FC-Stack and FC-Queue) based on the implementation of flat-combining provided by the Synch framework.
22
22
23
-
Since version 3.4.0, the Synch framework includes three array-based concurrent heap implementations: CC-Heap, DSM-Heap, and H-Heap. These implementations are based on the CC-Synch, DSM-Synch and H-Synch [1] combining objects, respectively. Currently, the CC-Heap, DSM-Heap and H-Heap do not release any memory when the heap shrinks. However, support for releasing memory during heap shrinking is planned in future releases.
23
+
Since version 3.4.0, the Synch framework includes four array-based concurrent heap implementations: CC-Heap, DSM-Heap, H-Heap and FC-Heap. CC-Heap, DSM-Heap and H-Heap are based on the CC-Synch, DSM-Synch and H-Synch [1] combining objects, while FC-Heap is based on flat-combining [14]. Currently, all the provided heap implementations do not release any memory when the heap shrinks. However, support for releasing memory during heap shrinking is planned in future releases.
24
24
25
25
Furthermore, the Synch framework provides a few scalable lock implementations, i.e. the MCS queue-lock presented in [9] and the CLH queue-lock presented in [5,6]. Finally, the Synch framework provides two example-implementations of concurrent hash-tables. More specifically, it provides a simple implementation based on CLH queue-locks [5,6] and an implementation based on the DSM-Synch [1] combining technique.
26
26
@@ -32,7 +32,8 @@ The following table presents a summary of the concurrent data-structures offered
32
32
|| Osci [3]|
33
33
|| Oyama [4]|
34
34
|| FC: a new implementation of flat-combining [14]|
35
-
| Concurrent Heaps | CC-Heap, DSM-Heap and H-Heap based on the techniques of [1]|
35
+
| Concurrent Heaps | CC-Heap, DSM-Heap and H-Heap based on the techniques of [1]|
36
+
|| FC-Heap based on flat-combining [14]|
36
37
| Concurrent Queues | CC-Queue, DSM-Queue and H-Queue [1]|
37
38
|| SimQueue [2,10]|
38
39
|| OsciQueue [3]|
@@ -187,6 +188,7 @@ The following table shows the memory reclamation characteristics of the provided
187
188
|| LF-Stack [8]| Hazard Pointers (not provided by Synch) |
188
189
|| FC-Stack [14]| Supported |
189
190
| Concurrent Heaps | CC-Heap, DSM-Heap and H-Heap | Not supported yet |
0 commit comments