Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3448016.3457567acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

QuiCK: A Queuing System in CloudKit

Published: 18 June 2021 Publication History

Abstract

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.

Supplementary Material

MP4 File (3448016.3457567.mp4)
We present QuiCK, a queuing system built for managing asynchronous tasks in CloudKit, Apples 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 tranactional 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.

References

[1]
Advanced Queuing in Oracle Database 20. https://docs.oracle.com/en/database/oracle/oracle-database/20/newft/advanced-queuing.html, year=2020.
[2]
Dropbox's ATF - an async task framework. https://dropbox.tech/infrastructure/asynchronous-task-scheduling-at-dropbox.
[3]
FoundationDB cross-data-center configuration. https://apple.github.io/foundationdb/configuration.html#changing-the-region-configuration, year=2020.
[4]
Kip-98 - exactly once delivery and transactional messaging. https://cwiki.apache.org/confluence/display/KAFKA/KIP-98
[6]
[8]
[10]
Transactional
[11]
Messaging.
[12]
Why is a database not the right tool for a queue based system. https://www.cloudamqp.com/blog/2015--11--23-why-is-a-database-not-the-right-tool-for-a-queue-based-system.html, 2015.
[13]
Apache Kafka Supports 200K Partitions Per Cluster. https://blogs.apache.org/kafka/entry/apache-kafka-supports-more-partitions, 2018.
[14]
Amazon SQS. https://docs.aws.amazon.com/sqs/index.html, 2020.
[15]
Apache Oozie. https://oozie.apache.org/, 2020.
[16]
FoundationDB. https://www.foundationdb.org, 2020.
[17]
Foundationdb issue - run one network thread per database. https://github.com/apple/foundationdb/issues/3336, 2020.
[18]
Getting Rid of commit_unknown_result. https://bit.ly/3flSqw5, 2020.
[19]
Managing Job Queues (Oracle Database 9.2. https://docs.oracle.com/cd/B10501_01/server.920/a96521/jobq.htm, 2020.
[20]
Microsoft Azure Storage Queues. https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-azure-and-service-bus-queues-compared-contrasted, 2020.
[21]
Oracle Database 12c: JMS Sharded Queues. https://www.oracle.com/technetwork/database/jms-wp-2533807.pdf, 2020.
[22]
Oracle Database Advanced Queuing. https://docs.oracle.com/database/121/ADQUE/, 2020.
[23]
pg_amqp. https://github.com/omniti-labs/pg_amqp, 2020.
[24]
Slony. https://www.slony.info/, 2020.
[25]
Announcing The FoundationDB Record Layer. https://www.foundationdb.org/blog/announcing-record-layer/, 2021.
[26]
C. Chrysafis, B. Collins, S. Dugas, J. Dunkelberger, M. Ehsan, S. Gray, A. Grieser, O. Herrnstadt, K. Lev-Ari, T. Lin, M. McMahon, N. Schiefer, and A. Shraer. Foundationdb record layer: A multi-tenant structured datastore. In Proceedings of the 2019 International Conference on Management of Data, SIGMOD '19, page 1787--1802, New York, NY, USA, 2019. Association for Computing Machinery.
[27]
I. Foster and C. Kesselman. Globus: A metacomputing infrastructure toolkit. International Journal of Supercomputer Applications, 11:115--128, 1996.
[28]
M. J. Litzkow, M. Livny, and M. W. Mutka. Condor-a hunter of idle workstations. In [1988] Proceedings. The 8th International Conference on Distributed, pages 104--111, 1988.
[29]
D. T. Liu and M. J. Franklin. Griddb: a data-centric overlay for scientific grids. In Proceedings of the International Conference on Very Large Data Bases, pages 600--611, 2004.
[30]
J. H. Saltzer, D. P. Reed, and D. D. Clark. End-to-end arguments in system design. ACM Trans. Comput. Syst., 2(4):277--288, Nov. 1984.
[31]
S. Shankar, A. Kini, D. J. DeWitt, and J. Naughton. Integrating databases and workflow systems. ACM SIGMOD Record, 34(3):5--11, 2005.
[32]
A. Shraer, A. Aybes, B. Davis, C. Chrysafis, D. Browning, E. Krugler, E. Stone, H. Chandler, J. Farkas, J. Quinn, J. Ruben, M. Ford, M. McMahon, N. Williams, N. Favre-Felix, N. Sharma, O. Herrnstadt, P. Seligman, R. Pisolkar, S. Dugas, S. Gray, S. Lu, S. Harkema, V. Kravtsov, V. Hong, Y. Tian, and W. L. Yih. Cloudkit: Structured Storage for Mobile Applications. Proc. VLDB Endow., 11(5):540--552, Jan. 2018.
[33]
A. Silberstein, J. Terrace, B. F. Cooper, and R. Ramakrishnan. Feeding frenzy: selectively materializing users' event feeds. In A. K. Elmagarmid and D. Agrawal, editors, Proceedings of the ACM SIGMOD International Conference on Management of Data, SIGMOD 2010, Indianapolis, Indiana, USA, June 6--10, 2010, pages 831--842. ACM, 2010.
[34]
M. Vrhovnik, H. Schwarz, S. Radeschutz, and B. Mitschang. An overview of sql support in workflow products. In 2008 IEEE 24th International Conference on Data Engineering, pages 1287--1296. IEEE, 2008.
[35]
M. Vrhovnik, H. Schwarz, O. Suhre, B. Mitschang, V. Markl, A. Maier, and T. Kraft. An approach to optimize data processing in business processes. In Proceedings of the 33rd international conference on Very large data bases, pages 615--626, 2007.
[36]
J. Zhou, M. Xu, A. Shraer, B. Namasivayam, A. Miller, E. Tschannen, S. Atherton, A. J. Beamon, R. Sears, J. Leach, D. Rosenthal, X. Dong, W. Wilson, B. Collins, D. Scherer, A. Grieser, Y. Liu, A. Moore, B. Muppana, X. Su, and V. Yadav. Foundationdb: A distributed unbundled transactional key value store. In Proceedings of the 2021 International Conference on Management of Data, SIGMOD Conference 2021, Xian, Shanxi, China, June 03 - 05, 2021. ACM, 2021.

Cited By

View all
  • (2022)FoundationDBACM SIGMOD Record10.1145/3542700.354270751:1(24-31)Online publication date: 1-Jun-2022

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGMOD '21: Proceedings of the 2021 International Conference on Management of Data
June 2021
2969 pages
ISBN:9781450383431
DOI:10.1145/3448016
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 June 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. distributed queuing systems
  2. large-scale systems
  3. mobile back-ends
  4. multi-tenant cloud services

Qualifiers

  • Research-article

Conference

SIGMOD/PODS '21
Sponsor:

Acceptance Rates

Overall Acceptance Rate 785 of 4,003 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)17
  • Downloads (Last 6 weeks)3
Reflects downloads up to 28 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2022)FoundationDBACM SIGMOD Record10.1145/3542700.354270751:1(24-31)Online publication date: 1-Jun-2022

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media