Parallel Programming Models for Big-Data Modelling and Simulation
Chair: Prof. Marco Aldinucci, Italy
Vice-Chairs: Prof. Christoph Kessler, Sweden; Dr. Peter Kilpatrick, UK
A core challenge in Modelling and Simulation is the need to combine software expertise and domain expertise. Even starting from well-defined mathematical models, they still have to be manually coded. When parallel or distributed computation is required, the coding becomes much harder. This may impair time-to-solution, performance, and performance portability across different platforms. These problems have been traditionally addressed by trying to lift software design and development to a higher level of abstraction. In the Domain Specific Languages (DSL) approach, abstractions aim to provide domain experts with programming primitives that match specific concepts in their domain, whereas performance and portability issues are ideally moved (with various degrees of effectiveness) to development tools. Examples include Verilog and VHDL hardware description languages, MATLAB and GNU Octave for matrix programming, Mathematica and Maxima for symbolic mathematics, etc. In the general-purpose approaches, such as Model-Driven Engineering (MDE), general-purpose programming concepts are abstracted into high-level constructs enforcing extra-functional features by design, e.g. compositionality, portability, parallelizability. In this regard, the number and the quality of programming models enabling the high-level management of parallelism have steadily increased and, in some cases, these approaches have become mainstream for a range of HPC, dataintensive and Big Data workloads: streaming (e.g. Storm, S4, Infosphere stream, FastFlow), structured parallel programming and MapReduce (e.g. Hadoop, Intel TBB, OpenMP, MPI), SIMD (e.g. OpenACC, SkePU).
Prof. Marco Aldinucci is the Principal Investigator at the research group on Parallel Computing at Computer Science Department of University of Torino (alpha) and at the NVidia CUDA research centre at University of Torino. He received his PhD from University of Pisa, He has authored over 110 papers and participated in over 25 national and international research projects concerning parallel computing, autonomic computing, grid and cloud topics, including 3 EU FP6 projects, 3 EU FP7 projects (HiPEAC, Paraphrase, REPARA), 3 currently on going H2020 projects (RePhrase, HyVar, Toreador). He also participated to 3 COST Actions (Betty, Nesus, Chipset). He has been the leader at the University of Torino in 6 EU projects and Work Package leader in 3 of them.
He is the recipient of a HPC Advisory Council award 2011 and the IEEE HPCC outstanding leadership award delivered over 15 invited talks in international venues. He has organized and he has edited several conference proceedings (such as IEEE PDP and IEEE ScalCom), and special issue of journals (such as Sage IJHPCA). He is a member of HPC Advisory Council and HPC500. At University of Torino, he has been ranked 1st (over 481 lecturers) in the evaluation exercise 2009-2012 and is currently part of the Steering Committee of the PhD school in Informatics.
He participated in the design of several frameworks for parallel programming including compilers, libraries and frameworks, both in industrial and academic teams. They include ASSIST, Muskel, and FastFlow programming environments, the VirtuaLinux cloud platform, and the ETSI standard Grid Component Model (GCM).
Christoph W. Kessler is a professor for Computer Science at Linköping University, Sweden, where he leads the Programming Environment Laboratory’s research group on compiler technology and parallel computing.
Christoph Kessler received a PhD degree in Computer Science in 1994 from the University of Saarbrücken, Germany, and a Habilitation degree in 2001 from the University of Trier, Germany.
In 2001 he joined Linköping university, Sweden, as associate professor at the programming environments lab (PELAB) of the computer science department (IDA).
In 2007 he was appointed full professor at Linköping university.
His research interests include parallel programming, compiler technology, code generation, optimization algorithms, and software composition.
He has published two books, several book chapters and more than 100 scientific papers in international journals and conferences. His contributions include e.g. the OPTIMIST retargetable optimizing integrated code generator for VLIW and DSP processors, the PARAMAT approach to pattern-based automatic parallelization, the concept of multi-variant performance-aware parallel components for optimized composition, the PEPPHER component model and composition tool for heterogeneous multicore/manycore based systems, the SkePU library of tunable generic components for GPU-based systems, and the parallel programming languages Fork and NestStep.
Peter Kilpatrick is a Senior Lecturer in the School of Electronics, Electrical Engineering and Computer Science of Queen’s University Belfast, UK. He has published more than 110 peer-reviewed papers, mostly in the fields of parallel and distributed programming, programming transformation and formal modelling. He has been involved in a number of UK government, EU and industry-supported research projects, most recently the EU ParaPhrase and CACTOS projects. His current research interest centres on pattern-based parallel computing and autonomic management of non-functional concerns in parallel systems. He has held visiting positions at the University of Queensland, the Max-Planck Institute for Astrophysics (Munich) and the University of Pisa.