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. A simulation from public publication records: the people listed were not invited and did not agree to review.

Rutger F. H. Hofman

dblp:52/6203 · DBLP profile ↗
← Back
27ranked-venue papers
1as first author
0since 2021 · last 2020
—ORCID · none

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

Systems, architecture and hardware · 24 · 1 first-authorSecurity and privacy · 2Software engineering, systems software and programming languages · 2

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.

Computer architecture, parallel and distributed computing, and storage systems
11 papers
Parallel and multicore computing · 40% GPUs and heterogeneous computing · 28% Distributed systems · 11%
Software engineering, system software, and programming languages
2 papers
Compilers and program optimization · 50% Runtime systems and virtual machines · 50%

Topics — the 21 heaviest of 27, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Parallel and multicore computing › data-parallel programming
mapreduce
0.422014
Scaling MapReduce Vertically and Horizontally · SC 2014
Glasswing: accelerating mapreduce on multi-core and many-core clusters · HPDC 2014
GPUs and heterogeneous computing
CPU-GPU heterogeneous computing
0.212014
Scaling MapReduce Vertically and Horizontally · SC 2014
Parallel and multicore computing
parallel programming models
0.132001
Efficient Java RMI for parallel programming · ACM Trans. Program. Lang. Syst. 2001
Source-level global optimizations for fine-grain distributed shared memory systems · PPoPP 2001
Sensitivity of Parallel Applications to Large Differences in Bandwidth and Latency in Two-Layer Interconnects · HPCA 1999
Interconnection networks and networks-on-chip
cluster interconnect
0.122004
Cluster communication protocols for parallel-programming systems · ACM Trans. Comput. Syst. 2004
Challenging Applications on Fast Networks · HPCA 1998
Memory systems › shared memory
distributed shared memory
0.122001
Source-level global optimizations for fine-grain distributed shared memory systems · PPoPP 2001
Performance Evaluation of the Orca Shared-Object System · ACM Trans. Comput. Syst. 1998
Distributed systems › distributed system architecture › communication architecture
grid network
0.012004
Wide-Area Communication for Grids: An Integrated Solution to Connectivity, Performance and Security Problems · HPDC 2004
Distributed systems › distributed communication
wide-area communication
0.012004
Wide-Area Communication for Grids: An Integrated Solution to Connectivity, Performance and Security Problems · HPDC 2004
Parallel and multicore computing › parallel programming models and runtimes
parallel programming frameworks
0.022004
Evaluating Design Alternatives for Reliable Communication on High-Speed Networks · ASPLOS 2000
Cluster communication protocols for parallel-programming systems · ACM Trans. Comput. Syst. 2004
Distributed systems
remote procedure call
0.012001
Efficient Java RMI for parallel programming · ACM Trans. Program. Lang. Syst. 2001
Interconnection networks and networks-on-chip
network interface
0.012000
Evaluating Design Alternatives for Reliable Communication on High-Speed Networks · ASPLOS 2000
Parallel and multicore computing › parallel computing › parallel communication
user-level communication
0.012000
Evaluating Design Alternatives for Reliable Communication on High-Speed Networks · ASPLOS 2000
High-performance computing › collective communication
MPI collective communication
0.011999
MagPIe: MPI's Collective Communication Operations for Clustered Wide Area Systems · PPoPP 1999
Memory systems
non-uniform memory access
0.011999
Sensitivity of Parallel Applications to Large Differences in Bandwidth and Latency in Two-Layer Interconnects · HPCA 1999
Parallel and multicore computing › parallel computing
parallel application performance
0.011999
Sensitivity of Parallel Applications to Large Differences in Bandwidth and Latency in Two-Layer Interconnects · HPCA 1999
Memory systems › cache coherence
cache coherence protocol
0.011998
Performance Evaluation of the Orca Shared-Object System · ACM Trans. Comput. Syst. 1998
High-performance computing › cluster computing
network of workstations
0.011998
Challenging Applications on Fast Networks · HPCA 1998
Distributed systems › fault tolerance
reliable communication
0.012000
Evaluating Design Alternatives for Reliable Communication on High-Speed Networks · ASPLOS 2000
Distributed systems
grid computing
0.011999
MagPIe: MPI's Collective Communication Operations for Clustered Wide Area Systems · PPoPP 1999
Distributed systems
group communication
0.011998
Performance Evaluation of the Orca Shared-Object System · ACM Trans. Comput. Syst. 1998
Distributed systems › distributed coordination
message ordering
0.011998
Performance Evaluation of the Orca Shared-Object System · ACM Trans. Comput. Syst. 1998
Parallel and multicore computing › parallel programming models
message passing
0.011998
Challenging Applications on Fast Networks · HPCA 1998

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

mapreduce · 0.2OpenCL · 0.2GPU parallelism · 0.2integrated connectivity and security · 0.1microbenchmarking · 0.1static analysis · 0.1object-graph aggregation · 0.1computation migration · 0.1access-check batching · 0.1performance measurement · 0.0native compilation · 0.0compile-time type specialization · 0.0
YearPublicationVenuePosition
2020 Accelerating Overlapping Community Detection: Performance Tuning a Stochastic Gradient Markov Chain Monte Carlo Algorithm
Ismail El-Helw, Rutger F. H. Hofman, Henri E. Bal
Euro-Par2
2016 Towards Fast Overlapping Community Detection
abstract
Accelerating sequential algorithms in order to achieve high performance is often a nontrivial task. However, there are certain properties that can exacerbate this process and make it particularly daunting. For example, building an efficient parallel solution for a data-intensive algorithm requires a deep analysis of the memory access patterns and data reuse potential. Attempting to scale out the computations on clusters of machines introduces further complications due to network speed limitations. In this context, the optimization landscape can be extremely complex owing to the large number of trade-off decisions. In this paper, we discuss our experience designing two parallel implementations of an existing data-intensive machine learning algorithm that detects overlapping communities in graphs. The first design uses a single GPU to accelerate the computations of small data sets. We employed a code generation strategy in order to test and identify the best performing combination of optimizations. The second design uses a cluster of machines to scale out the computations for larger problem sizes. We used a mixture of MPI, RDMA and pipelining in order to circumvent networking overhead. Both these efforts bring us closer to understanding the complex relationships hidden within networks of entities.
Ismail El-Helw, Rutger F. H. Hofman, Henri E. Bal
CCGrid2
2014 Glasswing: accelerating mapreduce on multi-core and many-core clusters
abstract
The impact and significance of parallel computing techniques is continuously increasing given the current trend of incorporating more cores in new processor designs. However, many Big Data systems fail to exploit the abundant computational power of multi-core CPUs and GPUs to their full potential. We present Glasswing, a scalable MapReduce framework that employs a configurable mixture of coarse- and fine-grained parallelism to achieve high performance on multi-core CPUs and GPUs. We experimentally evaluated the performance of five MapReduce applications and show that Glasswing outperforms Hadoop on a 64-node multi-core CPU cluster by a factor between 1.8 and 4, and by a factor from 20 to 30 on a 16-node GPU cluster.
Ismail El-Helw, Rutger F. H. Hofman, Henri E. Bal
HPDC2
2014 Scaling MapReduce Vertically and Horizontally
abstract
Glass wing is a MapReduce framework that uses OpenCL to exploit multi-core CPUs and accelerators. However, compute device capabilities may vary significantly and require targeted optimization. Similarly, the availability of resources such as memory, storage and interconnects can severely impact overall job performance. In this paper, we present and analyze how MapReduce applications can improve their horizontal and vertical scalability by using a well controlled mixture of coarse- and fine-grained parallelism. Specifically, we discuss the Glass wing pipeline and its ability to overlap computation, communication, memory transfers and disk access. Additionally, we show how Glass wing can adapt to the distinct capabilities of a variety of compute devices by employing fine-grained parallelism. We experimentally evaluated the performance of five MapReduce applications and show that Glass wing outperforms Hadoop on a 64-node multi-core CPU cluster by factors between 1.2 and 4, and factors from 20 to 30 on a 23-node GPU cluster. Similarly, we show that Glass wing is at least 1.5 times faster than GPMR on the GPU cluster.
Ismail El-Helw, Rutger F. H. Hofman, Henri E. Bal
SC2
2011 Profiling Energy Consumption of VMs for Green Cloud Computing
abstract
The Green Clouds project in the Netherlands investigates a system-level approach towards greening High-Performance Computing (HPC) infrastructures and clouds. In this paper we present our initial results in profiling virtual machines with respect to three power metrics, i.e. power, power efficiency and energy, under different high performance computing workloads. We built a linear power model that represents the behavior of a single work node and includes the contribution from individual components, i.e. CPU, memory and HDD, to the total power consumption of a single work node. Our results could be part of a power characterization module integrated into clusters' monitoring systems, future Green Clouds energy-savvy scheduler would use this monitoring system to support system-level optimization.
Qingwen Chen, Paola Grosso, Karel van der Veldt, Cees T. A. M. de Laat, Rutger F. H. Hofman, Henri E. Bal
DASC5
2007 A Secure Jailing System for Confining Untrusted Applications
Guido van 't Noordende, Ádám Balogh, Rutger F. H. Hofman, Frances M. T. Brazier, Andrew S. Tanenbaum
SECRYPT3
2006 A Platform for RFID Security and Privacy Administration (Awarded Best Paper!)
Melanie R. Rieback, Georgi Gaydadjiev, Bruno Crispo, Rutger F. H. Hofman, Andrew S. Tanenbaum
LISA4
2005 NETIBIS: an efficient and dynamic communication system for heterogeneous grids
abstract
Grids are more heterogeneous and dynamic than traditional parallel or distributed systems, both in terms of processors and of interconnects. A grid communication system must handle many issues: first, it must run on networks that are not yet determined when the application is launched, including user-space interconnects; second, it must transparently run on different networks at the same time; third, it should yield performance close to that of specialized communication systems. In this paper, we present NETIBIS, a new Java communication system that provides a uniform interface for any underlying inter-cluster or intracluster network. NETIBIS solves the heterogeneity issues posed by grid computing by dynamically constructing network protocol stacks out of drivers, self-contained building blocks for flexible configuration, with limited functionality per driver. We describe the design and implementation of the major NETIBIS drivers for serialization, multicast, reliability, and various underlying networks. We also describe various optimizations for performance, like layer collapsing for the GMdriver. We evaluate the performance of NETIBIS on several platforms, including a European grid.
Olivier Aumage, Rutger F. H. Hofman, Henri E. Bal
CCGRID2
2005 Ibis: a flexible and efficient Java-based Grid programming environment
abstract
Abstract In computational Grids, performance‐hungry applications need to simultaneously tap the computational power of multiple, dynamically available sites. The crux of designing Grid programming environments stems exactly from the dynamic availability of compute cycles: Grid programming environments (a) need to beportableto run on as many sites as possible, (b) they need to beflexibleto cope with different network protocols and dynamically changing groups of compute nodes, while (c) they need to provideefficient(local) communication that enables high‐performance computing in the first place. Existing programming environments are either portable (Java), or flexible (Jini, Java Remote Method Invocation or (RMI)), or they are highly efficient (Message Passing Interface). No system combines all three properties that are necessary for Grid computing. In this paper, we present Ibis, a new programming environment that combines Java's ‘run everywhere’ portability both with flexible treatment of dynamically available networks and processor pools, and with highly efficient, object‐based communication. Ibis can transfer Java objects very efficiently by combining streaming object serialization with a zero‐copy protocol. Using RMI as a simple test case, we show that Ibis outperforms existing RMI implementations, achieving up to nine times higher throughputs with trees of objects. Copyright © 2005 John Wiley & Sons, Ltd.
Rob van Nieuwpoort, Jason Maassen, Gosia Wrzesinska, Rutger F. H. Hofman, Ceriel J. H. Jacobs, Thilo Kielmann, Henri E. Bal
Concurr. Pract. Exp.4
2005 Object combining: a new aggressive optimization for object intensive programs
abstract
Abstract Object combining tries to put objects together that have roughly the same life times in order to reduce strain on the memory manager and to reduce the number of pointer indirections during a program's execution. Object combining works by appending the fields of one object to another, allowing allocation and freeing of multiple objects with a single heap (de)allocation. Unlike object inlining, which will only optimize objects where one has a (unique) pointer to another, our optimization also works if there is no such relation. Object inlining also directly replaces the pointer by the inlined object's fields. Object combining leaves the pointer in place to allow more combining. Elimination of the pointer accesses is implemented in a separate compiler optimization pass. Unlike previous object inlining systems, reference field overwrites are allowed and handled, resulting in much more aggressive optimization. Our object combining heuristics also allow unrelated objects to be combined, for example, those allocated inside a loop; recursive data structures (linked lists, trees) can be allocated several at a time and objects that are always used together can be combined. As Java explicitly permits code to be loaded at runtime and allows the new code to contribute to a running computation, we do not require a closed‐world assumption to enable these optimizations (but it will increase performance). The main focus of object combining in this paper is on reducing object (de)allocation overhead, by reducing both garbage collection work and the number of object allocations. Reduction of memory management overhead causes execution time to be reduced by up to 35%. Indirection removal further reduces execution time by up to 6%. Copyright © 2005 John Wiley & Sons, Ltd.
Ronald Veldema, Ceriel J. H. Jacobs, Rutger F. H. Hofman, Henri E. Bal
Concurr. Pract. Exp.3
2004 Wide-Area Communication for Grids: An Integrated Solution to Connectivity, Performance and Security Problems
Alexandre Denis 0001, Olivier Aumage, Rutger F. H. Hofman, Kees Verstoep, Thilo Kielmann, Henri E. Bal
HPDC3
2004 Cluster communication protocols for parallel-programming systems
abstract
Clusters of workstations are a popular platform for high-performance computing. For many parallel applications, efficient use of a fast interconnection network is essential for good performance. Several modern System Area Networks include programmable network interfaces that can be tailored to perform protocol tasks that otherwise would need to be done by the host processors. Finding the right trade-off between protocol processing at the host and the network interface is difficult in general. In this work, we systematically evaluate the performance of different implementations of a single, user-level communication interface. The implementations make different architectural assumptions about the reliability of the network and the capabilities of the network interface. The implementations differ accordingly in their division of protocol tasks between host software, network-interface firmware, and network hardware. Also, we investigate the effects of alternative data-transfer methods and multicast implementations, and we evaluate the influence of packet size. Using microbenchmarks, parallel-programming systems, and parallel applications, we assess the performance of the different implementations at multiple levels. We use two hardware platforms with different performance characteristics to validate our conclusions. We show how moving protocol tasks to a relatively slow network interface can yield both performance advantages and disadvantages, depending on specific characteristics of the application and the underlying parallel-programming system.
Kees Verstoep, Raoul Bhoedjang, Tim Rühl, Henri E. Bal, Rutger F. H. Hofman
ACM Trans. Comput. Syst.5
2003 Run-time optimizations for a Java DSM implementation
abstract
Abstract Jackal is a fine‐grained distributed shared memory implementation of the Java programming language. Jackal implements Java's memory model and allows multithreaded Java programs to run unmodified on distributed‐memory systems. This paper focuses on Jackal's run‐time system, which implements a multiple‐writer, home‐based consistency protocol. Protocol actions are triggered by software access checks that Jackal's compiler inserts before object and array references. To reduce access‐check overhead, the compiler exploits source‐level information and performs extensive static analysis to optimize, lift, and remove access checks. We describe optimizations for Jackal's run‐time system, which mainly consists of discovering opportunities to dispense with flushing of cached data. We give performance results for different run‐time optimizations, and compare their impact with the impact of one compiler optimization. We find that our run‐time optimizations are necessary for good Jackal performance, but only in conjunction with the Jackal compiler optimizations described by Veldema et al. As a yardstick, we compare the performance of Java applications run on Jackal with the performance of equivalent applications that use a fast implementation of Java's Remote Method Invocation instead of shared memory. Copyright © 2003 John Wiley & Sons, Ltd.
Ronald Veldema, Rutger F. H. Hofman, Raoul Bhoedjang, Henri E. Bal
Concurr. Comput. Pract. Exp.2
2002 Programming environments for high-performance Grid computing: the Albatross project
Thilo Kielmann, Henri E. Bal, Jason Maassen, Rob van Nieuwpoort, Lionel Eyraud-Dubois, Rutger F. H. Hofman, Kees Verstoep
Future Gener. Comput. Syst.6
2001 Source-level global optimizations for fine-grain distributed shared memory systems
abstract
This paper describes and evaluates the use of aggressive static analysis in Jackal, a fine-grain Distributed Shared Memory (DSM) system for Java. Jackal uses an optimizing, source-level compiler rather than the binary rewriting techniques employed by most other fine-grain DSM systems. Source-level analysis makes existing access-check optimizations (e.g., access-check batching) more effective and enables two novel fine-grain DSM optimizations: object-graph aggregation and automatic computation migration.
Ronald Veldema, Rutger F. H. Hofman, Raoul Bhoedjang, Ceriel J. H. Jacobs, Henri E. Bal
PPoPP2
2001 Sensitivity of parallel applications to large differences in bandwidth and latency in two-layer interconnects
Aske Plaat, Henri E. Bal, Rutger F. H. Hofman, Thilo Kielmann
Future Gener. Comput. Syst.3
2001 Network performance-aware collective communication for clustered wide-area systems
Thilo Kielmann, Henri E. Bal, Sergei Gorlatch, Kees Verstoep, Rutger F. H. Hofman
Parallel Comput.5
2001 Efficient Java RMI for parallel programming
abstract
Java offers interesting opportunities for parallel computing. In particular, Java Remote Method Invocation (RMI) provides a flexible kind of remote procedure call (RPC) that supports polymorphism. Sun's RMI implementation achieves this kind of flexibility at the cost of a major runtime overhead. The goal of this article is to show that RMI can be implemented efficiently, while still supporting polymorphism and allowing interoperability with Java Virtual Machines (JVMs). We study a new approach for implementing RMI, using a compiler-based Java system called Manta. Manta uses a native (static) compiler instead of a just-in-time compiler. To implement RMI efficiently, Manta exploits compile-time type information for generating specialized serializers. Also, it uses an efficient RMI protocol and fast low-level communication protocols.A difficult problem with this approach is how to support polymorphism and interoperability. One of the consequences of polymorphism is that an RMI implementation must be able to download remote classes into an application during runtime. Manta solves this problem by using a dynamic bytecode compiler, which is capable of compiling and linking bytecode into a running application. To allow interoperability with JVMs, Manta also implements the Sun RMI protocol (i.e., the standard RMI protocol), in addition to its own protocol.We evaluate the performance of Manta using benchmarks and applications that run on a 32-node Myrinet cluster. The time for a null-RMI (without parameters or a return value) of Manta is 35 times lower than for the Sun JDK 1.2, and only slightly higher than for a C-based RPC protocol. This high performance is accomplished by pushing almost all of the runtime overhead of RMI to compile time. We study the performance differences between the Manta and the Sun RMI protocols in detail. The poor performance of the Sun RMI protocol is in part due to an inefficient implementation of the protocol. To allow a fair comparison, we compiled the applications and the Sun RMI protocol with the native Manta compiler. The results show that Manta's null-RMI latency is still eight times lower than for the compiled Sun RMI protocol and that Manta's efficient RMI protocol results in 1.8 to 3.4 times higher speedups for four out of six applications.
Jason Maassen, Rob van Nieuwpoort, Ronald Veldema, Henri E. Bal, Thilo Kielmann, Ceriel J. H. Jacobs, Rutger F. H. Hofman
ACM Trans. Program. Lang. Syst.7
2000 Evaluating Design Alternatives for Reliable Communication on High-Speed Networks
abstract
We systematically evaluate the performance of five implementations of a single, user-level communication interface. Each implementation makes different architectural assumptions about the reliability of the network hardware and the capabilities of the network interface. The implementations differ accordingly in their division of protocol tasks between host software, network-interface firmware, and network hardware. Using microbenchmarks, parallel-programming systems, and parallel applications, we assess the performance impact of different protocol decompositions. We show how moving protocol tasks to a relatively slow network interface yields both performance advantages and disadvantages, depending on the characteristics of the application and the underlying parallel-programming system. In particular, we show that a communication system that assumes highly reliable network hardware and that uses network-interface support to process multicast traffic performs best for all applications.
Raoul Bhoedjang, Kees Verstoep, Tim Rühl, Henri E. Bal, Rutger F. H. Hofman
ASPLOS5
1999 Sensitivity of Parallel Applications to Large Differences in Bandwidth and Latency in Two-Layer Interconnects
abstract
This paper studies application performance on systems with strongly non-uniform remote memory access. In current generation NUMAs the speed difference between the slowest and fastest link in an interconnect-the "NUMA gap"-is typically less than an order of magnitude, and many conventional parallel programs achieve good performance. We study how different NUMA gaps influence application performance, up to and including typical wide-area latencies and bandwidths. We find that for gaps larger than those of current generation NUMAs, performance suffers considerably (for applications that were designed for a uniform access interconnect). For many applications, however, performance can be greatly improved with comparatively simple changes: traffic over slow links can be reduced by making communication patterns hierarchical-like the interconnect. We find that in four out of our six applications the size of the gap can be increased by an order of magnitude or more without severely impacting speedup. We analyze why the improvements are needed, why they work so well, and how much non-uniformity they can mask.
Aske Plaat, Henri E. Bal, Rutger F. H. Hofman
HPCA3
1999 MagPIe: MPI's Collective Communication Operations for Clustered Wide Area Systems
abstract
Writing parallel applications for computational grids is a challenging task. To achieve good performance, algorithms designed for local area networks must be adapted to the differences in link speeds. An important class of algorithms are collective operations, such as broadcast and reduce. We have developed MAGPIE, a library of collective communication operations optimized for wide area systems. MAGPIE's algorithms send the minimal amount of data over the slow wide area links, and only incur a single wide area latency. Using our system, existing MPI applications can be run unmodified on geographically distributed systems. On moderate cluster sizes, using a wide area latency of 10 milliseconds and a bandwidth of 1 MByte/s, MAGPIE executes operations up to 10 times faster than MPICH, a widely used MPI implementation; application kernels improve by up to a factor of 4. Due to the structure of our algorithms, MAGPIE's advantage increases for higher wide area latencies.
Thilo Kielmann, Rutger F. H. Hofman, Henri E. Bal, Aske Plaat, Raoul Bhoedjang
PPoPP2
1998 Challenging Applications on Fast Networks
abstract
Parallel computing on clusters of workstations is attractive because of the low costs in comparison to MPPs, but the speed of the local area network limits the class of applications that can be run efficiently. Fortunately, faster network technology is becoming available for the next generation of workstation clusters. This paper studies the effect of running challenging applications that communicate heavily on three types of modern interconnects: 100 Mbit/s Fast Ethernet, 155 Mbit/s ATM, and 1.28 Gbit/s Myrinet. Experimental results show that even challenging communication-intensive applications can achieve acceptable performance on workstation clusters, but only if the communication software has been designed and tuned for high performance.
Koen Langendoen, Rutger F. H. Hofman, Henri E. Bal
HPCA2
1998 Performance Evaluation of the Orca Shared-Object System
abstract
Orca is a portable, object-based distributed shared memory (DSM) system. This article studies and evaluates the design choices made in the Orca system and compares Orca with other DSMs. The article gives a quantitative analysis of Orca's coherence protocol (based on write-updates with function shipping), the totally ordered group communication protocol, the strategy for object placement, and the all-software, user-space architecture. Performance measurements for 10 parallel applications illustrate the trade-offs made in the design of Orca and show that essentially the right design decisions have been made. A write-update protocol with function shipping is effective for Orca, especially since it is used in combination with techniques that avoid replicating objects that have a low read/write ratio. The overhead of totally ordered group communication on application performance is low. The Orca system is able to make near-optimal decisions for object placement and replication. In addition, the article compares the performance of Orca with that of a page-based DSM (TreadMarks) and another object-based DSM (CRL). It also analyzes the communication overhead of the DSMs for several applications. All performance measurements are done on a 32-node Pentium Pro cluster with Myrinet and Fast Ethernet networks. The results show that Orca programs send fewer messages and less data than the TreadMarks and CRL programs and obtain better speedups.
Henri E. Bal, Raoul Bhoedjang, Rutger F. H. Hofman, Ceriel J. H. Jacobs, Koen Langendoen, Tim Rühl
ACM Trans. Comput. Syst.3
1997 Performance of a High-Level Parallel Language on a High-Speed Network
Henri E. Bal, Raoul Bhoedjang, Rutger F. H. Hofman, Ceriel J. H. Jacobs, Koen Langendoen, Tim Rühl, Kees Verstoep
J. Parallel Distributed Comput.3
1995 A toolkit for parallel functional programming
abstract
Abstract Our toolkit for the design and implementation of parallel functional programs supports the stepwise development of parallel programs from a high level sequential specification to an optimised parallel implementation. The toolkit is used as follows: The algorithm to be implemented is specified in a functional language. The program is debugged and tested using an interpreter. The program is compiled for a sequential machine. Its performance is analysed and improved. Annotation‐driven transformations are applied to the program to indicate parallel tasks. Simulations at task level, basic block level and bus transaction level make it possible to analyse the parallel performance of the program at three levels of detail. When the performance is optimised using the simulators, the program is executed on a genuine parallel machine. Several programs have been developed with the toolkit. A program that simulates tidal flow in an estuary of the North sea is presented as a case study to demonstrate the merits of the toolkit when developing complex parallel programs. The toolkit not only supports the design of parallel applications, it also allows the study of important concepts in parallel computer architecture. These include the behaviour of cached memory systems, bus protocols, scheduling algorithms and memory management algorithms.
Pieter H. Hartel, Rutger F. H. Hofman, Koen Langendoen, Henk L. Muller, Willem G. Vree, Louis O. Hertzberger
Concurr. Pract. Exp.2
1993 Experience with a clustered parallel reduction machine
Marcel Beemster, Pieter H. Hartel, Louis O. Hertzberger, Rutger F. H. Hofman, Koen Langendoen, L. L. Li, R. Milikowski, Willem G. Vree, Hendrik Pieter Barendregt, J. C. Mulder
Future Gener. Comput. Syst.4
1992 Distributed hierarchical scheduling with explicit grain size control
Rutger F. H. Hofman, Willem G. Vree
Future Gener. Comput. Syst.1