Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I am working on a left-right concurrency control with multiple threads. You shard your data and define a merge operation that is commutative so you can always merge data of different threads. By sharding data by thread each thread can always read and write to its own shard without synchronization or contention.

I also have a global snapshot per thread which is the aggregated data across all threads that is local to a thread.

So it requires 4× the memory per thread but it is extremely performant due to each thread is independent of every other thread



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: