Parallel and Distributed Execution of Model Management Programs

Parallel and Distributed Execution of Model Management Programs

Parallel and Distributed Execution of Model Management Programs Sina Madani Ph.D University of York Computer Science July 2020 Abstract The engineering process of complex systems involves many stakeholders and development artefacts. Model-Driven Engineering (MDE) is an approach to development which aims to help curtail and better manage this complexity by raising the level of abstraction. In MDE, models are first-class artefacts in the development process. Such models can be used to describe artefacts of arbitrary complexity at various levels of abstraction according to the requirements of their prospective stakeholders. These models come in various sizes and formats and can be thought of more broadly as structured data. Since models are the primary artefacts in MDE, and the goal is to enhance the efficiency of the development process, powerful tools are required to work with such models at an appropriate level of abstraction. Model management tasks – such as querying, validation, comparison, transformation and text generation – are often performed using dedicated languages, with declarative constructs used to improve expressiveness. Despite their semantically constrained nature, the execution engines of these languages rarely capitalize on the optimization opportunities afforded to them. Therefore, working with very large models often leads to poor performance when using MDE tools compared to general-purpose programming languages, which has a detrimental effect on productivity. Given the stagnant single-threaded performance of modern CPUs along with the ubiquity of distributed computing, parallelization of these model management program is a necessity to address some of the scalability concerns surrounding MDE. This thesis demonstrates efficient parallel and distributed execution algorithms for model validation, querying and text generation and evaluates their effectiveness. By fully utilizing the CPUs on 26 hexa-core systems, we were able to improve performance of a complex model validation language by 122x compared to its existing sequential implementation. Up to 11x speedup was achieved with 16 cores for model query and model-to-text transformation tasks. 2 In memory of my grandfather, Asadollah Eshghifar 1928 – 2019 3 Contents Abstract ................................................................................................................................................... 2 Contents .................................................................................................................................................. 4 List of Tables ......................................................................................................................................... 10 List of Figures ........................................................................................................................................ 11 List of Listings ........................................................................................................................................ 12 Acknowledgements ............................................................................................................................... 14 Declaration ............................................................................................................................................ 15 Introduction .................................................................................................................................. 16 Project Plan ........................................................................................................................... 18 Thesis Contributions ............................................................................................................. 19 High-granularity parallel architecture ........................................................................... 19 Generalised parallelisation ........................................................................................... 20 Efficient distributed execution ...................................................................................... 21 Automatic and user-defined parallelisation ................................................................. 22 Parallel Model-to-Text Transformation ........................................................................ 22 Legacy of Tooling and Evaluation .................................................................................. 23 Thesis Structure .................................................................................................................... 23 Background ................................................................................................................................... 24 Model-Driven Engineering .................................................................................................... 24 Concepts ........................................................................................................................ 24 Modelling Framework ................................................................................................... 27 Model persistence......................................................................................................... 29 Model Editors ................................................................................................................ 30 Model Management ..................................................................................................... 31 Epsilon ........................................................................................................................... 38 Model-Driven Engineering in practice .......................................................................... 40 Motivation for Improving Performance ........................................................................ 44 Computational Paradigms ..................................................................................................... 48 Motivations ................................................................................................................... 49 Concurrency .................................................................................................................. 50 Distributed Computing .................................................................................................. 56 Automatic Parallelisation .............................................................................................. 61 4 GPU Computing ............................................................................................................. 64 Incrementality ............................................................................................................... 66 Laziness ......................................................................................................................... 68 Functional Programming ............................................................................................... 70 Asynchronous and Reactive Programming ................................................................... 72 Improving Scalability and Performance in MDE ................................................................... 75 Parallel Model-to-Model Transformations ................................................................... 75 Parallel Model Validation .............................................................................................. 78 Distributed approaches ................................................................................................. 79 Model persistence......................................................................................................... 83 Incremental approaches ............................................................................................... 86 Lazy approaches ............................................................................................................ 89 Model access optimisation ........................................................................................... 91 Reactive approaches ..................................................................................................... 92 Static analysis ................................................................................................................ 95 Database Query optimisations .............................................................................................. 98 Summary ............................................................................................................................. 101 Analysis and Hypothesis .............................................................................................................. 103 Analysis ............................................................................................................................... 103 Research Hypothesis, Objectives and Scope ...................................................................... 106 Hypothesis ................................................................................................................... 106 Objectives .................................................................................................................... 106 Scope ........................................................................................................................... 107 Motivation for targeting Epsilon ................................................................................. 108 Non-goals ...................................................................................................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    314 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us