Using formal verification to evaluate the execution time of Spark applications

被引:3
|
作者
Baresi, L. [1 ]
Bersani, M. M. [1 ]
Marconi, F. [1 ]
Quattrocchi, G. [1 ]
Rossi, M. [2 ]
机构
[1] Politecn Milan, Dipartimento Elettron Informaz & Bioingn, Via Golgi 42, I-20133 Milan, Italy
[2] Politecn Milan, Dipartimento Meccan, Via Masa 1, I-20156 Milan, Italy
基金
欧盟地平线“2020”;
关键词
Formal verification; Big data; Metric temporal logic; Timed automata; MODEL-CHECKING; SATISFIABILITY; AUTOMATA; TOOL;
D O I
10.1007/s00165-020-00505-4
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Apache Spark is probably the most widely adopted framework for developing big-data batch applications and for executing them on a cluster of (virtual) machines. In general, the more resources (machines) one uses, the faster applications execute, but there is currently no adequate means to determine the proper size of a Spark cluster given time constraints, or to foresee execution times given the number of employed machines. One can only run these applications and use her/his experience to size the cluster and predict expected execution times. Wrong estimation of execution times can lead to costly overruns and overly long executions, thus calling for analytic sizing/prediction techniques that provide precise time guarantees. This paper addresses this problem by proposing a solution based on model-checking. The approach exploits a directed acyclic graph (DAG) to abstract the structure of the execution flows of Spark programs, annotates each node (Spark stage) with execution-related data, and formulates the identification of the global execution time as a reachability problem. To avoid the well-known state space explosion problem, the paper also proposes a technique to reduce the size of generated abstract models. This results in a significant decrease in used memory and/or verification time making our approach feasible for predicting the execution time of Spark applications given the resources available. The benefits of the proposed reduction technique are evaluated by using both timed automata and constraint LTL over clocks logic to formally encode and analyze generated models. The approach is also successfully validated on some realistic case studies. Since the optimization is not Spark-specific, we claim that it can be applied to a wide range of applications whose underlying model can be abstracted as a DAG.
引用
收藏
页码:33 / 70
页数:38
相关论文
共 50 条
  • [1] Formal Verification of a Trusted Execution Environment-Based Architecture for IoT Applications
    Gomes Valadares, Dalton Cezane
    de Carvalho Cesar Sobrinho, Alvaro Alvares
    Perkusich, Angelo
    Gorgonio, Kyller Costa
    IEEE INTERNET OF THINGS JOURNAL, 2021, 8 (23) : 17199 - 17210
  • [2] Formal Verification of Database Applications Using Predicate Abstraction
    Alam M.I.
    Halder R.
    SN Computer Science, 2021, 2 (3)
  • [3] Formal verification of compiler transformations for speculative real-time execution
    Younis, MF
    Tsai, G
    Marlowe, TJ
    Stoyen, AD
    AUTOMATICA, 1998, 34 (08) : 939 - 952
  • [4] Formal Verification of AUTOSAR Watchdog Manager Module Using Symbolic Execution
    Ahmed, Mazen
    Safar, Mona
    2018 30TH INTERNATIONAL CONFERENCE ON MICROELECTRONICS (ICM), 2018, : 240 - 243
  • [5] Selection of formal verification heuristics for parallel execution
    Safe G.P.
    Coelho Jr. C.
    Vieira L.F.M.
    Val C.G.D.
    Nacif J.A.
    Fernandes A.O.
    International Journal on Software Tools for Technology Transfer, 2012, 14 (1) : 95 - 108
  • [6] Formal Verification of a Distributed Algorithm for Task Execution
    Nath, Amar
    Niyogi, Rajdeep
    COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2020, PT V, 2020, 12253 : 120 - 131
  • [7] Formal Verification of a Mechanical Ventilator using UPPAAL
    Cuartas, Jaime
    Cortes, David
    Betancourt, Joan S.
    Aranda, Jesus
    Garcia, Jose I.
    Valencia, Andres M.
    Ortiz, James
    PROCEEDINGS OF THE 9TH ACM SIGPLAN INTERNATIONAL WORKSHOP ON FORMAL TECHNIQUES FOR SAFETY-CRITICAL SYSTEMS, FTSCS 2023, 2023, : 2 - 13
  • [8] Towards the Formal Verification of Data-Intensive Applications Through Metric Temporal Logic
    Marconi, Francesco
    Bersani, Marcello M.
    Erascu, Madalina
    Rossi, Matteo
    FORMAL METHODS AND SOFTWARE ENGINEERING, ICFEM 2016, 2016, 10009 : 193 - 209
  • [9] Using formal verification to evaluate human-automation interaction: A review
    Bolton, Matthew L.
    Bass, Ellen J.
    Siminiceanu, Radu I.
    IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2013, 43 (03) : 488 - 503
  • [10] Using Formal Verification to Evaluate Human-Automation Interaction: A Review
    Bolton, Matthew L.
    Bass, Ellen J.
    Siminiceanu, Radu I.
    IEEE TRANSACTIONS ON SYSTEMS MAN CYBERNETICS-SYSTEMS, 2013, 43 (03): : 488 - 503