Creating a Concurrent In-Memory B-Tree Optimized for NUMA Systems

dc.contributor.authorMcKenzie, Marlon
dc.date.accessioned2015-09-11T14:45:33Z
dc.date.available2015-09-11T14:45:33Z
dc.date.issued2015-09-11
dc.date.submitted2015
dc.description.abstractThe size of main memory is becoming larger. With the number of Central Processing Unit (CPU) cores ever increasing in modern systems, with each of them being able to access memory, the organization of memory becomes more important. In multicore systems, there are two main architectures for memory organization with respect to the cores - Symmetric Multi-Processor (SMP) and Non-Uniform Memory Architecture (NUMA). Prior work has focused on the improvement of the performance of B-Trees in highly concurrent and distributed environments, as well as in memory, for shared-memory mul- tiprocessors. However, little focus has been given to the performance of main memory B-Trees for NUMA systems. This work focuses on improving the performance of B-Trees contained in main memory of NUMA systems by introducing modifications that consider its storage in the physically distributed main memory of the NUMA system. The work in this thesis makes the following contributions to the development of a distributed B-Tree, specifically in a NUMA environment, modified from a B-Tree originally designed for high concurrency: • It introduces replication of internal nodes of the tree and shows how this can improve its overall performance in a NUMA environment. • It introduces NUMA-aware locking procedures with the aim of managing contention and exploiting locality of lock requests with reference to previous client operation request locations. • It introduces changes in the granularity of locking, starting from the original locking of every node to the locking of certain levels of nodes, showing the tradeoff between the granularity of locking and the performance of the tree based on the workload. • It considers the combination of the different techniques, with the aim of finding the combination which performs well overall for varying read-heavy workloads and number of client threads.en
dc.identifier.urihttp://hdl.handle.net/10012/9659
dc.language.isoenen
dc.pendingfalse
dc.publisherUniversity of Waterloo
dc.subjectB-Treeen
dc.subjectin-memoryen
dc.subjectdistributed computingen
dc.subjectconcurrency controlen
dc.subjectlockingen
dc.subjectlock-freeen
dc.subjectNUMAen
dc.subjectreplicationen
dc.subject.programElectrical and Computer Engineeringen
dc.titleCreating a Concurrent In-Memory B-Tree Optimized for NUMA Systemsen
dc.typeMaster Thesisen
uws-etd.degreeMaster of Applied Scienceen
uws-etd.degree.departmentElectrical and Computer Engineeringen
uws.peerReviewStatusUnrevieweden
uws.scholarLevelGraduateen
uws.typeOfResourceTexten

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
McKenzie_Marlon.pdf
Size:
1.49 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
6.17 KB
Format:
Item-specific license agreed upon to submission
Description: