From Batch to Stream: Automatic Generation of Online Algorithms

被引:0
|
作者
Wang, Ziteng [1 ]
Pailoor, Shankara [1 ]
Prakash, Aaryan [1 ]
Wang, Yuepeng [2 ]
Dillig, Isil [1 ]
机构
[1] Univ Texas Austin, Austin, TX 78712 USA
[2] Simon Fraser Univ, Burnaby, BC, Canada
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL | 2024年 / 8卷 / PLDI期
基金
加拿大自然科学与工程研究理事会; 美国国家科学基金会;
关键词
Program Synthesis; Online Algorithms; Incremental Computation; Stream Processing; LIBRARY;
D O I
10.1145/3656418
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Online streaming algorithms, tailored for continuous data processing, offer substantial benefits but are often more intricate to design than their offline counterparts. This paper introduces a novel approach for automatically synthesizing online streaming algorithms from their offline versions. In particular, we propose a novel methodology, based on the notion of relational function signature (RFS), for deriving an online algorithm given its offline version. Then, we propose a concrete synthesis algorithm that is an instantiation of the proposed methodology. Our algorithm uses the RFS to decompose the synthesis problem into a set of independent subtasks and uses a combination of symbolic reasoning and search to solve each subproblem. We implement the proposed technique in a new tool called Opera and evaluate it on over 50 tasks spanning two domains: statistical computations and online auctions. Our results show that Opera can automatically derive the online version of the original algorithm for 98% of the tasks. Our experiments also demonstrate that Opera significantly outperforms alternative approaches, including adaptations of SyGuS solvers to this problem as well as two of Opera's own ablations.
引用
收藏
页数:26
相关论文
共 50 条
  • [1] Online algorithms for scheduling unit length jobs on parallel-batch machines with lookahead
    Li, Wenhua
    Zhang, Zhenkun
    Yang, Sufang
    INFORMATION PROCESSING LETTERS, 2012, 112 (07) : 292 - 297
  • [2] Arc: An IR for Batch and Stream Programming
    Kroll, Lars
    Segeljakt, Klas
    Carbone, Paris
    Schulte, Christian
    Haridi, Seif
    PROCEEDINGS OF THE 17TH ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON DATABASE PROGRAMMING LANGUAGES (DBPL '19), 2019, : 53 - 58
  • [3] Cyclone: Unified Stream and Batch Processing
    Harvan, Matus
    Locher, Thomas
    Sima, Ana Claudia
    PROCEEDINGS OF 45TH INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING WORKSHOPS (ICPPW 2016), 2016, : 220 - 229
  • [4] On Atomic Batch Executions in Stream Processing
    Vidyasankar, K.
    7TH INTERNATIONAL CONFERENCE ON EMERGING UBIQUITOUS SYSTEMS AND PERVASIVE NETWORKS (EUSPN 2016)/THE 6TH INTERNATIONAL CONFERENCE ON CURRENT AND FUTURE TRENDS OF INFORMATION AND COMMUNICATION TECHNOLOGIES IN HEALTHCARE (ICTH-2016), 2016, 98 : 72 - 79
  • [5] ONLINE CORDIC ALGORITHMS
    LIN, HX
    SIPS, HJ
    IEEE TRANSACTIONS ON COMPUTERS, 1990, 39 (08) : 1038 - 1052
  • [6] Online Algorithms for Information Aggregation From Distributed and Correlated Sources
    Chau, Chi-Kin
    Khonji, Majid
    Aftab, Muhammad
    IEEE-ACM TRANSACTIONS ON NETWORKING, 2016, 24 (06) : 3714 - 3725
  • [7] Batch Tautomer Generation with MolTPC
    Will, Thorsten
    Hutter, Michael C.
    Jauch, Johann
    Helms, Volkhard
    JOURNAL OF COMPUTATIONAL CHEMISTRY, 2013, 34 (28) : 2485 - 2492
  • [8] RStream: Simple and Efficient Batch and Stream Processing at Scale
    Fino, Alessio
    Margara, Alessandro
    Cugola, Gianpaolo
    Donadoni, Marco
    Morassutto, Edoardo
    2021 IEEE INTERNATIONAL CONFERENCE ON BIG DATA (BIG DATA), 2021, : 2764 - 2774
  • [9] Online algorithms for market clearing
    Blum, Avrim
    Sandholm, Tuomas
    Zinkevich, Martin
    JOURNAL OF THE ACM, 2006, 53 (05) : 845 - 879
  • [10] Online Algorithms for Basestation Allocation
    Thangaraj, Andrew
    Vaze, Rahul
    IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS, 2014, 13 (05) : 2966 - 2975