Show simple item record

dc.contributor.authorMcKenzie, Marlon
dc.date.accessioned2015-09-11 14:45:33 (GMT)
dc.date.available2015-09-11 14:45:33 (GMT)
dc.date.issued2015-09-11
dc.date.submitted2015
dc.identifier.urihttp://hdl.handle.net/10012/9659
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.language.isoenen
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.titleCreating a Concurrent In-Memory B-Tree Optimized for NUMA Systemsen
dc.typeMaster Thesisen
dc.pendingfalse
dc.subject.programElectrical and Computer Engineeringen
uws-etd.degree.departmentElectrical and Computer Engineeringen
uws-etd.degreeMaster of Applied Scienceen
uws.typeOfResourceTexten
uws.peerReviewStatusUnrevieweden
uws.scholarLevelGraduateen


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record


UWSpace

University of Waterloo Library
200 University Avenue West
Waterloo, Ontario, Canada N2L 3G1
519 888 4883

All items in UWSpace are protected by copyright, with all rights reserved.

DSpace software

Service outages