Chunk List: Concurrent Data Structures

01/01/2021
by   Daniel Szelogowski, et al.
0

Chunking data is obviously no new concept; however, I had never found any data structures that used chunking as the basis of their implementation. I figured that by using chunking alongside concurrency, I could create an extremely fast run-time in regards to particular methods as searching and/or sorting. By using chunking and concurrency to my advantage, I came up with the chunk list - a dynamic list-based data structure that would separate large amounts of data into specifically sized chunks, each of which should be able to be searched at the exact same time by searching each chunk on a separate thread. As a result of implementing this concept into its own class, I was able to create something that almost consistently gives around 20x-300x faster results than a regular ArrayList. However, should speed be a particular issue even after implementation, users can modify the size of the chunks and benchmark the speed of using smaller or larger chunks, depending on the amount of data being stored.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/17/2022

Performance Anomalies in Concurrent Data Structure Microbenchmarks

Recent decades have witnessed a surge in the development of concurrent d...
research
08/03/2020

The Splay-List: A Distribution-Adaptive Concurrent Skip-List

The design and implementation of efficient concurrent data structures ha...
research
06/12/2023

RIP Linked List

Linked lists have always been an excellent teaching tool in programming....
research
10/20/2017

Building Efficient Concurrent Graph Object through Composition of List-based Set

In this paper, we propose a generic concurrent directed graph (for share...
research
05/10/2022

Programming Data Structures for Large-Scale Desktop Simulations of Complex Systems

Studying complex systems requires running large-scale simulations over m...
research
11/05/2019

An Efficient Word Lookup System by using Improved Trie Algorithm

Efficiently word storing and searching is an important task in computer ...
research
11/23/2020

Searching and Sorting with O(n^2) processors in O(1) time

The proliferation of number of processing elements (PEs) in parallel com...

Please sign up or login with your details

Forgot password? Click here to reset