QuiCK: A Queuing System in CloudKit

We present QuiCK, a queuing system built for managing asynchronous tasks in CloudKit, Apple's storage backend service. QuiCK stores queued messages along with user data in CloudKit, and supports CloudKit's tenancy model including isolation, fair resource allocation, observability, and tenant migration. QuiCK is built on the FoundationDB Record Layer, an open source transactional DBMS. It employs massive two-level sharding, with tens of billions of queues on the first level (separately storing the queued items for each user of every CloudKit app), and hundreds of queues on a second level (one per FoundationDB cluster used by CloudKit). Our evaluation demonstrates that QuiCK scales linearly with additional consumer resources, effectively avoids contention, provides fairness across CloudKit tenants, and executes deferred tasks with low latency.

[1]  Bernhard Mitschang,et al.  An Overview of SQL Support in Workflow Products , 2008, 2008 IEEE 24th International Conference on Data Engineering.

[2]  Alexander Shraer,et al.  CloudKit: Structured Storage for Mobile Applications , 2018, Proc. VLDB Endow..

[3]  Bernhard Mitschang,et al.  An Approach to Optimize Data Processing in Business Processes , 2007, VLDB.

[4]  Jerome H. Saltzer,et al.  End-to-end arguments in system design , 1984, TOCS.

[5]  Alexander Shraer,et al.  FoundationDB: A Distributed Unbundled Transactional Key Value Store , 2021, SIGMOD Conference.

[6]  Alexander Shraer,et al.  FoundationDB Record Layer: A Multi-Tenant Structured Datastore , 2019, SIGMOD Conference.

[7]  Raghu Ramakrishnan,et al.  Feeding frenzy: selectively materializing users' event feeds , 2010, SIGMOD Conference.

[8]  Ian T. Foster,et al.  Globus: a Metacomputing Infrastructure Toolkit , 1997, Int. J. High Perform. Comput. Appl..

[9]  David J. DeWitt,et al.  Integrating databases and workflow systems , 2005, SGMD.

[10]  Miron Livny,et al.  Condor-a hunter of idle workstations , 1988, [1988] Proceedings. The 8th International Conference on Distributed.