Transport-level transactions : simple consistency for complex scalable low-latency cloud applications
The classical move from single-server applications to scalable cloud services is to split the application state along certain dimensions into smaller partitions independently absorbable by a separate server in terms of size and load. Maintaining data consistency in the face of operations that cross...
Main Author: | |
---|---|
Language: | English |
Published: |
University of British Columbia
2015
|
Online Access: | http://hdl.handle.net/2429/54520 |
id |
ndltd-UBC-oai-circle.library.ubc.ca-2429-54520 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-UBC-oai-circle.library.ubc.ca-2429-545202018-01-05T17:28:24Z Transport-level transactions : simple consistency for complex scalable low-latency cloud applications Tayarani Najaran, Mahdi The classical move from single-server applications to scalable cloud services is to split the application state along certain dimensions into smaller partitions independently absorbable by a separate server in terms of size and load. Maintaining data consistency in the face of operations that cross partition boundaries imposes unwanted complexity on the application. While for most applications many ideal partitioning schemes readily exist, First-Person Shooter (FPS) games and Relational Database Management Systems (RDBMS) are instances of applications whose state can’t be trivially partitioned. For any partitioning scheme there exists an FPS/RDBMS workload that results in frequent cross-partition operations. In this thesis we propose that it is possible and effective to provide unpartitionable applications with a generic communication infrastructure that enforces strong consistency of the application’s data to simplify cross-partition communications. Using this framework the application can use a sub-optimal partitioning mechanism without having to worry about crossing boundaries. We apply our thesis to take a head-on approach at scaling our target applications. We build three scalable systems with competitive performances, used for storing data in a key/value datastore, scaling fast-paced FPS games to epic sized battles consisting of hundreds of players, and a scalable full-SQL compliant database used for storing tens of millions of items. Science, Faculty of Computer Science, Department of Graduate 2015-08-19T14:52:31Z 2015-08-19T14:52:31Z 2015 2015-09 Text Thesis/Dissertation http://hdl.handle.net/2429/54520 eng Attribution-NonCommercial-NoDerivs 2.5 Canada http://creativecommons.org/licenses/by-nc-nd/2.5/ca/ University of British Columbia |
collection |
NDLTD |
language |
English |
sources |
NDLTD |
description |
The classical move from single-server applications to scalable cloud services is to split the application state along certain dimensions into smaller partitions independently absorbable by a separate server in terms of size and load. Maintaining data consistency in the face of operations that cross partition boundaries imposes unwanted complexity on the application. While for most applications many ideal partitioning schemes readily exist, First-Person Shooter (FPS) games and Relational Database Management Systems (RDBMS) are instances of applications whose state can’t be trivially partitioned. For any partitioning scheme there exists an FPS/RDBMS workload that results in frequent cross-partition operations. In this thesis we propose that it is possible and effective to provide unpartitionable applications with a generic communication infrastructure that enforces strong consistency of the application’s data to simplify cross-partition communications. Using this framework the application can use a sub-optimal partitioning mechanism without having to worry about crossing boundaries. We apply our thesis to take a head-on approach at scaling our target applications. We build three scalable systems with competitive performances, used for storing data in a key/value datastore, scaling fast-paced FPS games to epic sized battles consisting of hundreds of players, and a scalable full-SQL compliant database used for storing tens of millions of items. === Science, Faculty of === Computer Science, Department of === Graduate |
author |
Tayarani Najaran, Mahdi |
spellingShingle |
Tayarani Najaran, Mahdi Transport-level transactions : simple consistency for complex scalable low-latency cloud applications |
author_facet |
Tayarani Najaran, Mahdi |
author_sort |
Tayarani Najaran, Mahdi |
title |
Transport-level transactions : simple consistency for complex scalable low-latency cloud applications |
title_short |
Transport-level transactions : simple consistency for complex scalable low-latency cloud applications |
title_full |
Transport-level transactions : simple consistency for complex scalable low-latency cloud applications |
title_fullStr |
Transport-level transactions : simple consistency for complex scalable low-latency cloud applications |
title_full_unstemmed |
Transport-level transactions : simple consistency for complex scalable low-latency cloud applications |
title_sort |
transport-level transactions : simple consistency for complex scalable low-latency cloud applications |
publisher |
University of British Columbia |
publishDate |
2015 |
url |
http://hdl.handle.net/2429/54520 |
work_keys_str_mv |
AT tayaraninajaranmahdi transportleveltransactionssimpleconsistencyforcomplexscalablelowlatencycloudapplications |
_version_ |
1718584882148409344 |