Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Hans-Wolfgang Loidl

dblp:l/HWLoidl · DBLP profile ↗
← Back
22ranked-venue papers
4as first author
0since 2021 · last 2016
0000-0001-6318-1732ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 10 · 3 first-authorSoftware engineering, systems software and programming languages · 8 · 1 first-authorTheory of computation · 4

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
2 papers
Program analysis · 93% Programming languages and type systems · 7%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Parallel and multicore computing · 46% Memory systems · 23% Distributed systems · 23%

Topics — the 7 heaviest of 9, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program analysis › resource analysis
amortized analysis
0.222010
Static determination of quantitative resource usage for higher-order programs · POPL 2010
"Carbon Credits" for Resource-Bounded Computations Using Amortised Analysis · FM 2009
Program analysis
type-based analysis
0.112010
Static determination of quantitative resource usage for higher-order programs · POPL 2010
Memory systems › shared memory
distributed shared memory
0.112008
Evaluating a High-Level Parallel Language (GpH) for Computational GRIDs · IEEE Trans. Parallel Distributed Syst. 2008
Distributed systems
grid computing
0.112008
Evaluating a High-Level Parallel Language (GpH) for Computational GRIDs · IEEE Trans. Parallel Distributed Syst. 2008
Parallel and multicore computing › parallel computing › parallel programming languages
parallel language implementation
0.112008
Evaluating a High-Level Parallel Language (GpH) for Computational GRIDs · IEEE Trans. Parallel Distributed Syst. 2008
Parallel and multicore computing
parallel programming models
0.112008
Evaluating a High-Level Parallel Language (GpH) for Computational GRIDs · IEEE Trans. Parallel Distributed Syst. 2008
Programming languages and type systems › type systems › substructural type systems
linear types
0.012010
Static determination of quantitative resource usage for higher-order programs · POPL 2010

Methods — techniques the papers use, named apart from their topics

amortised analysis · 0.2type inference · 0.1amortized analysis · 0.1scalability analysis · 0.1performance evaluation · 0.1
YearPublicationVenuePosition
2016 HPC-GAP: engineering a 21st-century high-performance computer algebra system
abstract
Summary Symbolic computation has underpinned a number of key advances in Mathematics and Computer Science. Applications are typically large and potentially highly parallel, making them good candidates for parallel execution at a variety of scales from multi‐core to high‐performance computing systems. However, much existing work on parallel computing is based around numeric rather than symbolic computations. In particular, symbolic computing presents particular problems in terms of varying granularity and irregular task sizes that do not match conventional approaches to parallelisation. It also presents problems in terms of the structure of the algorithms and data. This paper describes a new implementation of the free open‐source GAP computational algebra system that places parallelism at the heart of the design, dealing with the key scalability and cross‐platform portability problems. We provide three system layers that deal with the three most important classes of hardware: individual shared memory multi‐core nodes, mid‐scale distributed clusters of (multi‐core) nodes and full‐blown high‐performance computing systems, comprising large‐scale tightly connected networks of multi‐core nodes. This requires us to develop new cross‐layer programming abstractions in the form of new domain‐specific skeletons that allow us to seamlessly target different hardware levels. Our results show that, using our approach, we can achieve good scalability and speedups for two realistic exemplars, on high‐performance systems comprising up to 32000 cores, as well as on ubiquitous multi‐core systems and distributed clusters. The work reported here paves the way towards full‐scale exploitation of symbolic computation by high‐performance computing systems, and we demonstrate the potential with two major case studies. © 2016 The Authors.Concurrency and Computation: Practice and ExperiencePublished by John Wiley & Sons Ltd.
Reimer Behrends, Kevin Hammond, Vladimir Janjic, Olexandr Konovalov, Steve Linton, Hans-Wolfgang Loidl, Patrick Maier 0001, Philip W. Trinder
Concurr. Comput. Pract. Exp.6
2016 PAEAN: Portable and scalable runtime support for parallel Haskell dialects
abstract
Abstract Over time, several competing approaches to parallel Haskell programming have emerged. Different approaches support parallelism at various different scales, ranging from small multicores to massively parallel high-performance computing systems. They also provide varying degrees of control, ranging from completely implicit approaches to ones providing full programmer control. Most current designs assume a shared memory model at the programmer, implementation and hardware levels. This is, however, becoming increasingly divorced from the reality at the hardware level. It also imposes significant unwanted runtime overheads in the form of garbage collection synchronisation etc. What is needed is an easy way to abstract over the implementation and hardware levels, while presenting a simple parallelism model to the programmer. The PArallEl shAred Nothing runtime system design aims to provide a portable and high-level shared-nothing implementation platform for parallel Haskell dialects. It abstracts over major issues such as work distribution and data serialisation, consolidating existing, successful designs into a single framework. It also provides an optional virtual shared-memory programming abstraction for (possibly) shared-nothing parallel machines, such as modern multicore/manycore architectures or cluster/cloud computing systems. It builds on, unifies and extends, existing well-developed support for shared-memory parallelism that is provided by the widely used GHC Haskell compiler. This paper summarises the state-of-the-art in shared-nothing parallel Haskell implementations, introduces the PArallEl shAred Nothing abstractions, shows how they can be used to implement three distinct parallel Haskell dialects, and demonstrates that good scalability can be obtained on recent parallel machines.
Jost Berthold, Hans-Wolfgang Loidl, Kevin Hammond
J. Funct. Program.2
2015 Editorial of Special Issue Trends in Functional Programming 2011/12
Hans-Wolfgang Loidl, Ricardo Peña-Marí
Comput. Lang. Syst. Struct.1
2014 High-Performance Computer Algebra: A Hecke Algebra Case Study
Patrick Maier 0001, Daria Livesey, Hans-Wolfgang Loidl, Philip W. Trinder
Euro-Par3
2014 SICSA multicore challenge editorial preface
abstract
This special issue reports on the SICSA multicore challenge, which commenced in 2010 and remains \nan ongoing activity. The aim is to produce a comparative evaluation of a range of standard parallel \nprogramming tools and techniques on a representative set of parallelizable problems, executing on \ncommodity multicore platforms. \nIn this introductory article, we outline contemporary multicore computing trends that give rise to \nthe challenge in Section 2. Then, we describe the specific motivation for the challenge in Section 3. \nWe summarize the parallelizable problem selected for implementation in the second challenge \nphase, the N-body problem, and studied in the papers in this special issue in Section 4. Finally \nin Section 5, we summarize the participation in challenge activities to date and give an overview of \nthe papers that were produced by challenge participants that appear in this particular special issue. \nWe intend this special issue to present the main lessons learnt from the challenge, providing \nmaterial of general relevance for multicore application developers and researchers.
Hans-Wolfgang Loidl, Jeremy Singer
Concurr. Comput. Pract. Exp.1
2014 Parallel Haskell implementations of the N-body problem
abstract
SUMMARY This paper provides an assessment of high‐level parallel programming models for multi‐core programming by implementing two versions of the n‐body problem. We compare three different parallel programming models on the basis of parallel Haskell, differing in the ways how potential parallelism is identified and managed. We assess the performance of each implementation, discuss the sequential and parallel tuning steps leading to the final versions and draw general conclusions on the suitability of high‐level parallel programming models for multi‐core programming. We achieve speed‐ups of up to 7.2 for the all‐pairs algorithm and up to 6.5 for the Barnes–Hut algorithm on an 8‐core machine. Copyright © 2013 John Wiley & Sons, Ltd.
Prabhat Totoo, Hans-Wolfgang Loidl
Concurr. Comput. Pract. Exp.2
2013 Resource analyses for parallel and distributed coordination
abstract
SUMMARY Predicting the resources that are consumed by a program component is crucial for many parallel or distributed systems. In this context, the main resources of interest are execution time, space and communication/synchronisation costs. There has recently been significant progress in resource analysis technology, notably in type‐based analyses and abstract interpretation. At the same time, parallel and distributed computing are becoming increasingly important. This paper synthesises progress in both areas to survey the state‐of‐the‐art in resource analysis for parallel and distributed computing. We articulate a general model of resource analysis and describe parallel/distributed resource analysis together with the relationship to sequential analysis. We use three parallel or distributed resource analyses as examples and provide a critical evaluation of the analyses. We investigate why the chosen analysis is effective for each application and identify general principles governing why the resource analysis is effective. Copyright © 2011 John Wiley & Sons, Ltd.
Philip W. Trinder, M. I. Cole, Kevin Hammond, Hans-Wolfgang Loidl, Greg J. Michaelson
Concurr. Comput. Pract. Exp.4
2013 Easy composition of symbolic computation software using SCSCP: A new Lingua Franca for symbolic computation
Steve Linton, Kevin Hammond, Olexandr Konovalov, Christopher Brown 0002, Philip W. Trinder, Hans-Wolfgang Loidl, Peter Horn, Dan Roozemond
J. Symb. Comput.6
2011 Comparing High Level MapReduce Query Languages
Robert J. Stewart 0001, Philip W. Trinder, Hans-Wolfgang Loidl
APPT3
2010 Seq no more: better strategies for parallel Haskell
abstract
We present a complete redesign of evaluation strategies, a key abstraction for specifying pure, deterministic parallelism in Haskell. Our new formulation preserves the compositionality and modularity benefits of the original, while providing significant new benefits. First, we introduce an evaluation-order monad to provide clearer, more generic, and more efficient specification of parallel evaluation. Secondly, the new formulation resolves a subtle space management issue with the original strategies, allowing parallelism (sparks) to be preserved while reclaiming heap associated with superfluous parallelism. Related to this, the new formulation provides far better support for speculative parallelism as the garbage collector now prunes unneeded speculation. Finally, the new formulation provides improved compositionality: we can directly express parallelism embedded within lazy data structures, producing more compositional strategies, and our basic strategies are parametric in the coordination combinator, facilitating a richer set of parallelism combinators.
Simon Marlow, Patrick Maier 0001, Hans-Wolfgang Loidl, Mustafa Aswad, Philip W. Trinder
Haskell3
2010 Static determination of quantitative resource usage for higher-order programs
abstract
We describe a new automatic static analysis for determining upper-bound functions on the use of quantitative resources for strict, higher-order, polymorphic, recursive programs dealing with possibly-aliased data. Our analysis is a variant of Tarjan's manual amortised cost analysis technique. We use a type-based approach, exploiting linearity to allow inference, and place a new emphasis on the number of references to a data object. The bounds we infer depend on the sizes of the various inputs to a program. They thus expose the impact of specific inputs on the overall cost behaviour.
Steffen Jost, Kevin Hammond, Hans-Wolfgang Loidl, Martin Hofmann 0001
POPL3
2009 "Carbon Credits" for Resource-Bounded Computations Using Amortised Analysis
Steffen Jost, Hans-Wolfgang Loidl, Kevin Hammond, Norman Scaife, Martin Hofmann 0001
FM2
2008 Scheduling Light-Weight Parallelism in ArTCoP
Jost Berthold, Abyd Al Zain, Hans-Wolfgang Loidl
PADL3
2008 Evaluating a High-Level Parallel Language (GpH) for Computational GRIDs
abstract
Computational GRIDs potentially offer low-cost, readily available, and large-scale high-performance platforms. For the parallel execution of programs, however, computational GRIDs pose serious challenges: they are heterogeneous and have hierarchical and often shared interconnects, with high and variable latencies between clusters. This paper investigates whether a programming language with high-level parallel coordination and a distributed shared memory (DSM) model can deliver good and scalable performance on a range of computational GRID configurations. The high-level language Glasgow parallel Haskell (GpH) abstracts over the architectural complexities of the computational GRID, and we have developed GRID-GUM2, a sophisticated grid-specific implementation of GpH, to produce the first high-level DSM parallel language implementation for computational Grids. We report a systematic performance evaluation of GRID-GUM2 on combinations of high/low and homogeneous/heterogeneous computational GRIDS. We measure the performance of a small set of kernel parallel programs representing a variety of application areas, two parallel paradigms, and ranges of communication degree and parallel irregularity. We investigate GRID-GUM2's performance scalability on medium-scale heterogeneous and high-latency computational GRIDs and analyze the performance with respect to the program characteristics of communication frequency and degree of irregular parallelism.
Abdallah Al Zain, Philip W. Trinder, Greg J. Michaelson, Hans-Wolfgang Loidl
IEEE Trans. Parallel Distributed Syst.4
2007 A program logic for resources
David Aspinall 0001, Lennart Beringer, Martin Hofmann 0001, Hans-Wolfgang Loidl, Alberto Momigliano
Theor. Comput. Sci.4
2006 Preface
abstract
This special issue comprises selected papers answering an open call issued after the Third Workshop on Applied Semantics (APPSEM05), held in Frauenchiemsee, Germany, September 12-15.This was the final workshop of the thematic network on Applied Semantics (APPSEM-II), funded by the IST programme of the European Union, which was held from January 2003 to June 2006.In total the workshop featured 20 short presentations, 14 full presentations and three invited talks, given by Chris Hankin, Imperial College London; John O'Leary, Intel Portland; and Joe Stoy, Bluespec.The workshop was attended by 53 participants, and included a discussion session on industry applications as well as a steering committee meeting.The call for papers for this special issue was primarily directed to the workshop speakers but also open to other submissions within the range of themes covered by APPSEM-II.The call resulted in 12 submissions, which were refereed by three experts each in their respective fields.After careful programme committee discussions the present five papers were selected for publication in this special issue.Three of these papers had been presented at the workshop in their preliminary form.
Martin Hofmann 0001, Hans-Wolfgang Loidl
Theor. Comput. Sci.2
2002 The Virtual Shared Memory Performance of a Parallel Graph Reduce
abstract
This paper assesses the costs of maintaining a virtual shared heap in our parallel graph reducer (GUM), which implements a parallel functional language. GUM performs automatic and dynamic resource management for both work and data. We introduce extensions to the original design of GUM, aiming at a more flexible memory management and communication mechanism to deal with high-latency systems. We then present measurements of running GUM on a Beowulf cluster, evaluating the overhead of dynamic distributed memory management and the effectiveness of the new memory management and communication mechanisms.
Hans-Wolfgang Loidl
CCGRID1
2002 Implementing Declarative Parallel Bottom-Avoiding Choice
abstract
Non-deterministic choice supports efficient parallel speculation, but unrestricted non-determinism destroys the referential transparency of purely-declarative languages by removing unfoldability and it bears the danger of wasting resources on unnecessary computations. While numerous choice mechanisms have been proposed that preserve unfoldability, and some concurrent implementations exist, we believe that no compiled parallel implementation has previously been constructed This paper presents the design, semantics, implementation and use of a family of bottom-avoiding choice operators for Glasgow parallel Haskell. The subtle semantic properties of our choice operations are described, including a careful classification using an existing framework, together with a discussion of operational semantics issues and the pragmatics of distributed memory implementation. The expressiveness of our choice operators is demonstrated by constructing a branch and bound search, a merge and a speculative conditional. Their effectiveness is demonstrated by comparing the parallel performance of the speculative search with naive and 'perfect' implementations. Their efficiency is assessed by measuring runtime overhead and heap consumption.
André Rauber Du Bois, Robert F. Pointon, Hans-Wolfgang Loidl, Philip W. Trinder
SBAC-PAD3
2002 Parallel and Distributed Haskells
abstract
Parallel and distributed languages specify computations on multiple processors and have a computation language to describe the algorithm, i.e. what to compute, and a coordination language to describe how to organise the computations across the processors. Haskell has been used as the computation language for a wide variety of parallel and distributed languages, and this paper is a comprehensive survey of implemented languages. We outline parallel and distributed language concepts and classify Haskell extensions using them. Similar example programs are used to illustrate and contrast the coordination languages, and the comparison is facilitated by the common computation language. A lazy language is not an obvious choice for parallel or distributed computation, and we address the question of why Haskell is a common functional computation language.
Philip W. Trinder, Hans-Wolfgang Loidl, Robert F. Pointon
J. Funct. Program.2
2000 The Multi-architecture Performance of the Parallel Functional Language GP H (Research Note)
Philip W. Trinder, Hans-Wolfgang Loidl, Ed. Barry Jr., Kei Davis, Kevin Hammond, Ulrike Klusik, Simon L. Peyton Jones, Álvaro J. Rebón Portillo
Euro-Par2
1999 Engineering parallel symbolic programs in GPH
abstract
We investigate the claim that functional languages offer low-cost parallelism in the context of symbolic programs on modest parallel architectures. In our investigation we present the first comparative study of the construction of large applications in a parallel functional language, in our case in Glasgow Parallel Haskell (GPH). The applications cover a range of application areas, use several parallel programming paradigms, and are measured on two very different parallel architectures. On the applications level the most significant result is that we are able to achieve modest wall-clock speedups (between factors of 2 and 10) over the optimised sequential versions for all but one of the programs. Speedups are obtained even for programs that were not written with the intention of being parallelised. These gains are achieved with a relatively small programmer-effort. One reason for the relative ease of parallelisation is the use of evaluation strategies, a new parallel programming technique that separates the algorithm from the co-ordination of parallel behaviour. On the language level we show that the combination of lazy and parallel evaluation is useful for achieving a high level of abstraction. In particular we can describe top-level parallelism, and also preserve module abstraction by describing parallelism over the data structures provided at the module interface (‘data-oriented parallelism’). Furthermore, we find that the determinism of the language is helpful, as is the largely implicit nature of parallelism in GPH. Copyright © 1999 John Wiley & Sons, Ltd.
Hans-Wolfgang Loidl, Philip W. Trinder, Kevin Hammond, Sahalu B. Junaidu, Richard G. Morgan, Simon L. Peyton Jones
Concurr. Pract. Exp.1
1998 Algorithms + Strategy = Parallelism
abstract
The process of writing large parallel programs is complicated by the need to specify both the parallel behaviour of the program and the algorithm that is to be used to compute its result. This paper introduces evaluation strategies : lazy higher-order functions that control the parallel evaluation of non-strict functional languages. Using evaluation strategies, it is possible to achieve a clean separation between algorithmic and behavioural code. The result is enhanced clarity and shorter parallel programs. Evaluation strategies are a very general concept: this paper shows how they can be used to model a wide range of commonly used programming paradigms, including divide-and-conquer parallelism, pipeline parallelism, producer/consumer parallelism, and data-oriented parallelism. Because they are based on unrestricted higher-order functions, they can also capture irregular parallel structures. Evaluation strategies are not just of theoretical interest: they have evolved out of our experience in parallelising several large-scale parallel applications, where they have proved invaluable in helping to manage the complexities of parallel behaviour. Some of these applications are described in detail here. The largest application we have studied to date, Lolita, is a 40,000 line natural language engineering system. Initial results show that for these programs we can achieve acceptable parallel performance, for relatively little programming effort.
Philip W. Trinder, Kevin Hammond, Hans-Wolfgang Loidl, Simon L. Peyton Jones
J. Funct. Program.3