3.3 Atomic Snapshot Register - KeonYeong/LKY GitHub Wiki

Snap Shot Introduce :

Using one shared memory, threads can update their values interested without locks. Moreover wait-free is implemented using stamped snap shot.


Updating:

When Update is begun, Thread must scan all datas and take a 'snap shot'. During this procedure if some values are modified, starts from beginning again and check. If same value is modified again then just return the old snap shot. If not, get the new snap shot and return it. After all scanning, thread update its value.


Graph of performance:

First graph is the performance produced under local system. updateNum_local

Next graph is the performance produced under server. updateNum_server


Result:

On local system, usable core is 2 (threads runnable are limited 2), and up to run 1, 2 performance seems to increase but after 4, performance starts to decrease. On server, performance shows decreasing slowly


return