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...

Full description

Bibliographic Details
Main Author: Tayarani Najaran, Mahdi
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