Software and Systems Research Seminar Series
The SaS Seminars are a permanent series of open seminars of the Division of Software and Systems (SaS) at the Department of Computer and Information Science (IDA), Linköping University. The objective of the seminars is to present outstanding research and ideas/problems relevant for SaS present and future activities. In particular, seminars cover the SaS research areas software engineering, programming environments, system software, embedded SW/HW systems, computer systems engineering, realtime systems, parallel and distributed computing, and theoretical computer science. - Two kinds of seminars are planned:
talks by invited speakers not affiliated with SaS,
internal seminars presenting lab research to whole SaS.
The speakers are expected to give a broad perspective of the presented research, adressing the audience with a general computer science background but possibly with no specific knowledge in the domain of the presented research. The normal length of a presentation is 60 minutes, including discussion.
The SaS seminars are coordinated by Christoph Kessler.
Recent / Upcoming SaS Seminars (2014)
Prof. Lasse Natvig, NTNU Trondheim, Norway
Tuesday, 16 Dec. 2014, 10:15, room Alan Turing
Prof. Jörg Keller, FernUniv. in Hagen, Germany
Tuesday, 18 Nov. 2014, 13:15, room Alan Turing
Addressing the Exascale Challenge from an Application Viewpoint
Prof. Erwin Laure, KTH/PDC, Stockholm
Tuesday, 16 Sep. 2014, 16:15, room Alan Turing
For the past thirty years, the need for ever greater supercomputer performance has driven the development of many computing technologies which have subsequently been exploited in the mass market. Delivering an exaflop (or 10^18 calculations per second) by the end of this decade is the challenge that the supercomputing community worldwide has set itself. A range of technological innovations are needed to build viable (and affordable!) exascale systems but even if they exist, there is still the question of how to program them and what applications can use them efficiently.
In this talk we report on two projects that tackle these issues: The Collaborative Research into Exascale Systemware, Tools and Applications project (CRESTA) focuses on the use of six applications with exascale potential and uses them as co-design vehicles to develop: the development environment, algorithms and libraries, user tools, and the underpinning and cross-cutting technologies required to support the execution of applications at the exascale. The applications represented in CRESTA have been chosen as a representative sample from across the supercomputing domain including: biomolecular systems, fusion energy, the virtual physiological human, numerical weather prediction and engineering. The Exascale Programming Models (EPiGRAM) project is addressing the exascale challenge by improving one of the most widely used programming models, message passing, considering also the impact of PGAS approaches. We will particularly focus on initial findings on scalability limits, and propose directions to overcome them.
Erwin Laure is Professor in Computer Science, Head of the Department for High Performance Computing (HPCViz), and Director of PDC - Center for High Performance Computing at the Royal Institute of Technology (KTH) in Stockholm, Sweden. He is the Coordinator of the EC-funded project EPiGRAM investigating programming models for exascale computing with a focus on message passing and PGAS, and actively involved in major European HPC infrastructure projects (EGI, PRACE, EUDAT) for many years. He holds a PhD in Business Administration and Computer Science from the University of Vienna, Austria. His research interests include programming environments, languages, compilers and runtime systems for parallel and distributed computing, particularly exascale computing as well as grid and cloud computing.
Optimizing OpenCL for ARM Mali GPUs
Johan Grönqvist, ARM, Lund
Monday, 1 Sep. 2014, 10:15, room Grace Hopper
The GPU architecture of ARM Mali GPUs will be presented, as well as the hardware counters that can be used to understand the performance characteristics of a kernel executing on the GPU. Following that, a workflow will be described for detecting bottlenecks and finding optimization opportunities. If there is time left, an example will be discussed in which a matrix multiplication kernel is optimized (and memory access patterns play an important role).
Johan Grönqvist is a Senior Graphics Software Engineer at ARM, Lund. His recent work involved analysing and improving compute performance on ARM GPUs. Tasks have involved the design of a 2D graphics driver, benchmarking and performance analysis, as well as implementation of the math library. For the past 18 months, he has been part of the compiler team, where he is now again focusing on performance analysis of GPUs.
Type-Based Structural Analysis for Modular Systems of Equations
Dr. Henrik Nilsson, Univ. of Nottingham, UK
Thursday, 19 June 2014, 09:00 (sharp), room John von Neumann
Descriptions of phenomena and entities in terms of systems of equations play a prominent role in many branches of science and engineering. Computers are then routinely used to facilitate the study of the object of interest. A typical example is modelling and simulation of physical systems. The systems of equations can be very large, making a modular formulation a practical necessity to allow reuse, facilitate maintenance, and so on. It then becomes desirable to know if an isolated equation system fragment is well-formed, or if it has some inherent flaw that makes it impossible to use as a part of meaningful system of equations. In this talk, I will consider structural properties of systems of equations that can help answering this question, and how to capture such properties in the type of of an equation system fragment so as to support a compositional analysis.
Dr. Henrik Nilsson is a lecturer at the School of Computer Science, The University of Nottingham, where he works in the Functional Programming Lab. His research interests include functional programming, functional programming environments, and various aspects of design, semantics, and implementation of programming languages in general, such as advanced type systems and their applications. He is also interested in modelling and simulation languages, and how such languages can be improved by using techniques developed in the declarative language community. He got a PhD in 1998 from Linköping university, where he worked at the Programming Environments Laboratory on debugging tools for lazy functional languages.
Ebba: An Embedded DSL for Bayesian Inference
Dr. Henrik Nilsson, Univ. of Nottingham, UK
Tuesday, 17 June 2014, 13:15, room Alan Turing
A probabilistic model describes a stochastic process or system in terms of a probability distribution for the outcomes given the parameters of the model. The typical situation is that the outcomes can be observed directly, whereas the parameters cannot, and thus have to be estimated based on some particular observed outcomes. Bayesian inference is a principled way to estimate parameters of probabilistic models given observed data. Roughly, exploiting Bayes theorem, the probabilistic model is "inverted", yielding a probability distribution for the parameters given the observations. A number of probabilistic programming languages exists that allow probabilistic models to be implemented in a way that models can be "inverted" automatically, allowing Bayesian inference to be carried out, typically through a probabilistic algorithm. However, these languages are stand-alone implementations. In this talk, I will investigate the possibility of an embedded implementation of such a probabilistic language supporting Bayesian inference. The starting point is Baysig, a Haskell-like language developed by OpenBrain Ltd, where a probabilistic computation is represented by a monad. A model conditioned on parameters is thus a function returning a monad, and, through the Kleisli construction, an arrow. This suggests that something like arrows might be an appropriate abstraction for building an "invertible" model, as arrows explicitly relate inputs to outputs. This was the starting point for Ebba, short for Embedded Baysig. While still very preliminary work, the initial experience with Ebba is promising.
Parallel Computer Research at DTU - Some Highlights
Dr. Sven Karlsson, DTU, Denmark
Monday, 16 June 2014, 13:15, room Alan Turing
Computer architecture activities at DTU have grown over the last five years and now include work on all levels of the software stack as well as micro-architecture and hardware realization. This talk will cover both a brief overview of all activities and some highlights from our work on parallel middle-ware, performance debugging tools, hardware realization and design.
Dr. Sven Karlsson is associate professor at the Technical University of Denmark (DTU), Department of Applied Mathematics and Computer Science, Section for Computer Science and Engineering, in Lyngby, Denmark. His research interests include programming models, parallel computers, compilers, operating systems, computer networks and computer architecture. He holds a PhD in teleinformatics from KTH, Stockholm.
Structured parallel programming models: the FastFlow experience
Dr. Marco Danelutto, Dept. of Computer Science, Univ. of Pisa, Italy
Thursday, 8 May 2014, 10:15, room Alan Turing
FastFlow is the structured parallel programming framework developed and maintained at the Univ. of Pisa and Torino. Originally aimed at providing efficient support for stream parallel computations only on shared memory multi core architectures, it has been extended (a) to cover data parallel computations and (b) to target heterogeneous machines (multi core + GPU), many core architectures (Tilera and Xeon PHI) and networked heterogeneous machines (COW/NOW). FastFlow is built on top of POSIX Pthreads and C++, and in the most recent versions exploits different C++11 features to provide enhanced programmability. Two key features distinguish FastFlow from similar programming frameworks, namely the ultra efficient, lock and fence free communication mechanisms supporting the implementation of very efficient fine grain parallel computations, and the possibility to implement "software accelerators" using spare cores (or many core attached boards) in the architecture to accelerate existing sequential code. We describe the parallel programming framework salient features and we discuss different points giving different perspectives to structured parallel programming: implementation of alternative programming models (in particular data flow) with the existing skeletons, support for management of non functional features typical of parallel programming (performance, resilience, power management, etc.), and eventually RISC-pbb, a set of parallel building blocks used in FastFlow to implement all the patterns provided and general enough to support the implementation of different parallel patterns and programming models.
Marco Danelutto is an associate professor at the University of Pisa. He has been and is active in the parallel programming model and tool area since early '90s. His research has concentrated in particular on structured parallel programming models, such as those based on algorithmic skeletons and parallel design patterns. He has been one of the main designers of P3L, the skeleton language developed in Pisa in the '90s, he contributed to the development of the Behavioural skeleton model within CoreGrid (EU FP6 NoE) and GridCOMP (EU FP6 STREP) in the early '00s and more recently he has been involved in the design and development of the FastFlow parallel programming framework (used within the FP7 STREP projects ParaPhrase and REPARA). He first introduced the techniques exploiting macro data flow technology in algorithmic skeleton framework implementation (late '90s) and the concept of autonomic manager taking care of non-functional concerns in structured parallel program execution (early '00s). He is author and co-author of about 140 papers in refereed international conferences and journals.
Dr. Alexander Kleiner, IDA, Linköping University
Thursday, 27 february 2014, 10:15, room Alan Turing
Increasingly cheaper computer technology, as well as sensor and actuator systems in robotics today are paving the way for large teams of collaborating robots. The coordination of large robot teams leads to almost intractable combinatorial problems as they were never relevant in practice before. Therefore, there exists an increasing demand for time-efficient approaches that are capable of solving heavy combinatorial problems as they appear in robotics and multi-agent systems today. Such problems arise, for example, in the application domains of manufacturing and intra-logistics where numerous mobile robots need to actively collaborate for managing transportation tasks. Also in search and rescue (SAR) robot coordination becomes computationally challenging with larger robot teams searching for either stationary or mobile targets, for example, when coordinating a team of unmanned aerial vehicles (UAVs) searching for lost hikers in the Alps. In this talk I will provide an overview on cognitive methods that I developed during the last years for facilitating successful collaboration in robot teams. I will provide examples from two target domains which are collaborative robots handling transportation tasks in intra-logistics, and teams of UAVs searching for survivors in Search and Rescue.
Alexander Kleiner is docent and university lecturer at the computer science department (IDA) at the Linköping University. He obtained his docent degree in December 2013 from the Linköping University and his Ph.D. degree (Dr. rer. nat) from the University of Freiburg in February 2008. He worked as an invited guest researcher at the Carnegie Mellon University, Pittsburgh, USA in 2010 and at the La Sapienza University, Rome, Italy in 2011. Since 2006, he is member of the executive committee of RoboCup (Rescue Simulation League) and since 2008 member of the IEEE Technical Committee on Safety Security and Rescue Robotics. He served as General Chair of the IEEE International Symposium on Safety, Security, and Rescue Robotics 2013 and program chair in 2012. His research area focuses on collaborative robotics including autonomous robot exploration, guaranteed search, simultaneous localization and mapping (SLAM), distributed task allocation, and multi-robot motion planning. He published more than 70 papers and received several scientific awards. He successfully participated in several international robot competitions where his teams won almost constantly the first prize. Besides his research and teaching activities at the university, he works as a consultant for the industry where he works on projects implementing fleets of autonomous mobile robots for solving transportation tasks in intra-logistics and production.
Previous SaS Seminars
Page responsible: Christoph Kessler
Last updated: 2014-10-17