sharon

Sharon Choy

PhD Candidate

Davis Center Room 3552D
David R. Cheriton School of Computer Science
University of Waterloo
200 University Ave. West
Waterloo, ON N2L 3G1, Canada

E-mail: [delete_this]s2choy AT uwaterloo DOT ca
Phone: (519) 888-4567 x36641

 

I am currently a PhD Candidate in the David R. Cheriton School of Computer Science at the University of Waterloo, under the supervision of Prof. Bernard Wong. I currently hold an MMath in Computer Science, and a BMath, with distinction, in Computer Science and in Combinatorics and Optimization. My research interests include distributed systems and cloud computing. Projects that I have worked on include providing transaction support for key-value stores and improving on-demand gaming.

Teaching

Countless number of terms CS 116: Introduction to Computer Science II

Fall 2013, Fall 2014 CS 115: Introduction to Computer Science I

Spring 2013 CS 454 Distributed Systems

Projects

EdgeCloud EdgeCloud

We look closely at one such application, namely, on-demand gaming (also known as cloud gaming), that has the potential to radically change the multi-billion dollar video game industry. We demonstrate through a large-scale measurement study that the current cloud computing infrastructure is unable to meet the strict latency requirements necessary for acceptable game play for many end-users, thus limiting the number of potential users for an on-demand gaming service. We further investigate the impact of augmenting the current cloud infrastructure with servers located near the end-users, such as those found in content distribution networks, and show that the user coverage significantly increases even with the addition of only a small number of servers.

CrossStitch CrossStitch

We introduce CrossStitch, which is an efficient transaction processing framework for distributed key-value storage systems. CrossStitch supports general transactions, where transactions include both computation and key accesses. It is specifically optimized for short-lived transactions that are typical of cloud-deployed web applications. In CrossStitch, a transaction is partitioned into a series of components that form a transaction chain. These components are executed and the transaction is propagated along the storage servers instead of being executed on the application server. This chained structure, in which servers only communicate with their immediate neighbours, enables CrossStitch to implement a pipelined version of two-phase commit to ensure transactional atomicity. CrossStitch is able to eliminate a significant amount of setup overhead using this structure by executing the transaction and the atomic commit protocol concurrently. Therefore, CrossStitch provides low latency and efficient transactional support for cloud storage systems. Our evaluation demonstrates that CrossStitch is a scalable and efficient transaction processing framework for web transactions.

Publications


Last modified: July 22, 2014