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.
? Tutorial for this page

Thilo Kielmann

dblp:k/ThiloKielmann · DBLP profile ↗
← Back
53ranked-venue papers
10as first author
0since 2021 · last 2018
0000-0002-5966-7550ORCID · verified

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

Systems, architecture and hardware · 40 · 9 first-authorApplied, interdisciplinary, general and emerging computing · 4Software engineering, systems software and programming languages · 2Computer networks · 1Databases, data management, data science and information retrieval · 1Graphics, computer vision, multimedia, augmented reality and games · 1

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
Cloud and datacenter computing · 40% Distributed systems · 29% Storage systems · 9%
Computer networks
3 papers
Content delivery and video streaming · 44% Internet architecture and protocols · 31% Network optimization and economics · 19%
Interdisciplinary, comprehensive, and emerging computing
1 paper
Bioinformatics and computational biology · 100%

Topics — the 28 heaviest of 33, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Distributed systems
grid computing
0.462011
Collective Receiver-Initiated Multicast for Grid Applications · IEEE Trans. Parallel Distributed Syst. 2011
User-friendly and reliable grid computing based on imperfect middleware · SC 2007
MOB: zero-configuration high-throughput multicasting for grid applications · HPDC 2007
Cloud and datacenter computing › virtualization › virtual machine management
virtual machine image management
0.422014
Squirrel: scatter hoarding VM image contents on IaaS compute nodes · HPDC 2014
Scalable virtual machine deployment using VM image caches · SC 2013
Cloud and datacenter computing › cloud service models
infrastructure as a service
0.222014
Squirrel: scatter hoarding VM image contents on IaaS compute nodes · HPDC 2014
Scalable virtual machine deployment using VM image caches · SC 2013
Storage systems › data reduction
data deduplication
0.212014
Squirrel: scatter hoarding VM image contents on IaaS compute nodes · HPDC 2014
Memory systems
cache
0.212013
Scalable virtual machine deployment using VM image caches · SC 2013
Cloud and datacenter computing
virtualization
0.212013
Scalable virtual machine deployment using VM image caches · SC 2013
Content delivery and video streaming
peer-assisted content distribution
0.112011
Collective Receiver-Initiated Multicast for Grid Applications · IEEE Trans. Parallel Distributed Syst. 2011
Bioinformatics and computational biology › systems biology › computational developmental biology
developmental biology modeling
0.112009
Executing multicellular differentiation: quantitative predictive modelling of C.elegans vulval development · Bioinform. 2009
Bioinformatics and computational biology › systems biology
petri net modeling
0.112009
Executing multicellular differentiation: quantitative predictive modelling of C.elegans vulval development · Bioinform. 2009
Internet architecture and protocols
multicast
0.112007
MOB: zero-configuration high-throughput multicasting for grid applications · HPDC 2007
Network optimization and economics
resource allocation
0.112005
Balanced Multicasting: High-throughput Communication for Grid Applications · SC 2005
High-performance computing
data transfer
0.112005
Balanced Multicasting: High-throughput Communication for Grid Applications · SC 2005
Distributed systems › grid computing
grid middleware
0.112005
The Grid Application Toolkit: Toward Generic and Easy Application Programming Interfaces for the Grid · Proc. IEEE 2005
Interconnection networks and networks-on-chip
multicast
0.112005
Balanced Multicasting: High-throughput Communication for Grid Applications · SC 2005
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
load balancing
0.012001
Efficient load balancing for wide-area divide-and-conquer applications · PPoPP 2001
Parallel and multicore computing
parallel programming models
0.012001
Efficient Java RMI for parallel programming · ACM Trans. Program. Lang. Syst. 2001
Distributed systems
remote procedure call
0.012001
Efficient Java RMI for parallel programming · ACM Trans. Program. Lang. Syst. 2001
Parallel and multicore computing › load balancing › dynamic load balancing
work stealing
0.012001
Efficient load balancing for wide-area divide-and-conquer applications · PPoPP 2001
Bioinformatics and computational biology › gene regulation
gene regulatory network
0.012009
Executing multicellular differentiation: quantitative predictive modelling of C.elegans vulval development · Bioinform. 2009
Bioinformatics and computational biology › gene regulation
microRNA regulation
0.012009
Executing multicellular differentiation: quantitative predictive modelling of C.elegans vulval development · Bioinform. 2009
High-performance computing › collective communication
MPI collective communication
0.011999
MagPIe: MPI's Collective Communication Operations for Clustered Wide Area Systems · PPoPP 1999
High-performance computing
cluster computing
0.012007
MOB: zero-configuration high-throughput multicasting for grid applications · HPDC 2007
Distributed systems
fault tolerance
0.012007
User-friendly and reliable grid computing based on imperfect middleware · SC 2007
Interconnection networks and networks-on-chip
inter-cluster communication
0.012007
MOB: zero-configuration high-throughput multicasting for grid applications · HPDC 2007
Network management and operations › network monitoring › performance monitoring
bandwidth monitoring
0.012005
Balanced Multicasting: High-throughput Communication for Grid Applications · SC 2005
Internet architecture and protocols
traffic shaping
0.012005
Balanced Multicasting: High-throughput Communication for Grid Applications · SC 2005

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

receiver-initiated multicast · 0.2bittorrent-inspired protocol · 0.2snapshot · 0.2deduplication · 0.2compression · 0.2copy-on-write · 0.2network monitoring · 0.1application-level traffic shaping · 0.1petri net modeling · 0.1in silico simulation · 0.1tree structures · 0.1tree structure · 0.1middleware abstraction · 0.1monitoring-based tree computation · 0.1balanced multicasting · 0.1integrated connectivity and security · 0.0native compilation · 0.0compile-time type specialization · 0.0
YearPublicationVenuePosition
2018 MemEFS: A network-aware elastic in-memory runtime distributed file system
Alexandru Uta, Ove Danner, Cas van der Weegen, Ana-Maria Oprescu, Andreea Sandu, Stefania Costache 0002, Thilo Kielmann
Future Gener. Comput. Syst.7
2016 Towards Resource Disaggregation - Memory Scavenging for Scientific Workloads
abstract
Compute clusters, consisting of many, uniformly built nodes, are used to run a large spectrum of different workloads, like tightly coupled (MPI) jobs, MapReduce, or graph-processing data-analytics applications, each of which with their own resource requirements. Many studies consistently highlight two types of under-utilized cluster resources: memory (up to 50%) and network. In this work, we take a step towards (software) resource disaggregation, and therefore increased resource utilization, by designing a memory scavenging technique that makes unused memory available to applications on other cluster nodes. We implement this technique in MemFSS, an in-memory distributed file system. The scavenging MemFSS extends its storage space by taking advantage of the unused memory and bandwidth of cluster nodes already running other tenants' applications. Our experiments show that our memory scavenging approach incurs negligible overhead (below 10%) for most tenant applications, while the compute resource comsumption of MemFSS applications is largely reduced (by 17%-74%).
Alexandru Uta, Ana-Maria Oprescu, Thilo Kielmann
CLUSTER3
2016 Overcoming data locality: An in-memory runtime file system with symmetrical data distribution
Alexandru Uta, Andreea Sandu, Thilo Kielmann
Future Gener. Comput. Syst.3
2015 Scalable In-Memory Computing
abstract
Data-intensive scientific workflows are composed of many tasks that exhibit data precedence constraints leading to communication schemes expressed by means of intermediate files. In such scenarios, the storage layer is often a bottleneck, limiting overall application scalability, due to large volumes of data being generated during runtime at high I/O rates. To alleviate the storage pressure, applications take advantage of in-memory runtime distributed file systems that act as a fast, distributed cache, which greatly enhances I/O performance.In this paper, we present scalability results for MemFS, a distributed in-memory runtime file system. MemFS takes an opposite approach to data locality, by scattering all data among the nodes, leading to well balanced storage and network traffic, and thus making the system both highly per formant and scalable. Our results show that MemFS is platform independent, performing equally well on both private clusters and commercial clouds. On such platforms, running on up to 1024 cores, MemFS shows excellent horizontal scalability (using more nodes), while the vertical scalability (using more cores per node) is only limited by the network b and with. Further more, for this challenge we show how MemFS is able to scale elastically, at runtime, based on the application storage demands. In our experiments, we have successfully used up to 1TB memory when running a large instance of the Montage workflow.
Alexandru Uta, Andreea Sandu, Stefania Costache 0002, Thilo Kielmann
CCGRID4
2015 MemEFS: An Elastic In-memory Runtime File System for eScience Applications
abstract
Data-intensive scientific workflows exhibit inter-task dependencies that generate file-based communication schemes. In such scenarios, traditional disk-based storage systems often limit overall application performance and scalability. To overcome the storage bottleneck, in-memory runtime distributed file systems speed up application I/O. Such systems are deployed statically onto a fixed number of compute nodes and act as a distributed, fast I/O cache for the runtime generated data. Such static deployment schemes have two major drawbacks. First, the user is faced with the sometimes difficult task of estimating the size of the generated data, as the application would fail otherwise. Second, because applications exhibit significant variability of the data footprint and of the achieved parallelism during their runtime, this deployment scheme also leads to severe resource under-utilization. To address these limitations, we present MemEFS, an elastic in-memory runtime distributed file system. MemEFS is able to scale elastically, based on application storage demands, by acquiring or releasing resources when needed. Our evaluation shows that, while generating modest runtime overheads, MemEFS is able to increase the resource utilization efficiency by up to 65%.
Alexandru Uta, Andreea Sandu, Stefania Costache 0002, Thilo Kielmann
e-Science4
2015 Kangaroo: A Tenant-Centric Software-Defined Cloud Infrastructure
abstract
Applications on cloud infrastructures acquire virtual machines (VMs) from providers when necessary. The current interface for acquiring VMs from most providers, however, is too limiting for the tenants, in terms of granularity in which VMs can be acquired (e.g., small, medium, large, etc.), while giving very limited control over their placement. The former leads to VM underutilization, and the latter has performance implications, both translating into higher costs for the tenants. In this work, we leverage nested virtualization and a networking overlay to tackle these problems. We present Kangaroo, an Open Stack-based virtual infrastructure provider, and IPOPsm, a virtual networking switch for communication between nested VMs over different infrastructure VMs. In addition, we design and implement Skippy, the realization of our proposed virtual infrastructure API for programming Kangaroo. Our benchmarks show that through careful mapping of nested VMs to infrastructure VMs, Kangaroo achieves up to an order of magnitude better performance, with only half the cost on Amazon EC2. Further, Kangaroo's unified Open Stack API allows us to migrate an entire application between Amazon EC2 and our local Open Nebula deployment within a few minutes, without any downtime or modification to the application code.
Kaveh Razavi, Ana Ion, Genc Tato, Kyuho Jeong, Renato J. O. Figueiredo, Guillaume Pierre, Thilo Kielmann
IC2E7
2015 Prebaked µVMs: Scalable, Instant VM Startup for IaaS Clouds
abstract
IaaS clouds promise instantaneously available resources to elastic applications. In practice, however, virtual machine (VM) start up times are in the order of several minutes, or at best, several tens of seconds, negatively impacting the elasticity of applications like Web servers that need to scale out to handle dynamically increasing load. VM start up time is strongly influenced by booting the VM's operating system. In this work, we propose using so-called prebaked uVMs to speed up VM start up. Uvms are snapshots of minimal VMs that can be quickly resumed and then configured to application needs by hot-plugging resources. To serve uVMs, we extend our VM boot cache service, Squirrel, allowing to store uVMs for large numbers of VM images on the hosts of a data center. Our experiments show that uVMs can start up in less than one second on a standard file system. Using 1000+ VM images from a production cloud, we show that the respective uVMs can be stored in a compressed and deduplicated file system within 50GB storage per host, while starting up within 2 -- 3 seconds on average.
Kaveh Razavi, Gerrit Van Der Kolk, Thilo Kielmann
ICDCS3
2014 MemFS: An in-memory runtime file system with symmetrical data distribution
abstract
MemFS is a fully-symmetrical, in-memory distributed runtime file system. Its design is based on uniformly distributing file stripes across the storage nodes belonging to an application by means of a distributed hash function, purposefully sacrificing data locality for balancing both network traffic and memory consumption. This way, reading and writing files can benefit from full network bisection bandwidth, while data distribution is balanced across the storage servers.
Alexandru Uta, Andreea Sandu, Thilo Kielmann
CLUSTER3
2014 Squirrel: scatter hoarding VM image contents on IaaS compute nodes
abstract
In IaaS clouds, virtual machines are booted on demand from user-provided disk images. Both the number of virtual machine images (VMIs) and their large size(GBs), challenge storage and network transfer solutions, and lead to perceivably slow VM startup times. In previous work, we proposed using small VMI caches (O(100MB)) that contain those parts of a VMI that are actually needed for booting. Here, we present Squirrel, a fully replicated storage architecture that exploits deduplication, compression, and snapshots from the ZFS file system, and lets us keep large quantities of VMI caches on all compute nodes of a data center with modest storage requirements. (Much like rodents cache precious food in many distributed places.) Our evaluation shows that we can store VMI caches for all 600+ community images of Windows Azure, worth 16.4TB of raw data, within 10GB of disk space and 60MB of main memory on each compute node of our DAS-4 cluster. Extrapolation to several thousands of images predicts the scalability of our approach.
Kaveh Razavi, Ana Ion, Thilo Kielmann
HPDC3
2014 Autoscaling Web Applications in Heterogeneous Cloud Infrastructures
abstract
Improving resource provisioning of heterogeneous cloud infrastructures is an important research challenge. The wide diversity of cloud-based applications and customers with different QoS requirements have recently exhibited the weaknesses of current provisioning systems. Today's cloud infrastructures provide provisioning systems that dynamically adapt the computational power of applications by adding or releasing resources. Unfortunately, these scaling systems are fairly limited:(i) They restrict themselves to a single type of resource, (ii)they are unable to fulfill QoS requirements in face of spiky workload, and (iii) they offer the same QoS level to all their customers, independent of customer preferences such as different levels of service availability and performance. In this paper, we present an autoscaling system that overcomes these limitations by exploiting heterogeneous types of resources, and by defining multiple levels of QoS requirements. The proposed system selects a resource scaling plan according to both workload and customer requirements. Our experiments conducted on both public and private infrastructures show significant reductions in QoS-level violations when faced with highly variable workloads.
Hector Fernandez, Guillaume Pierre, Thilo Kielmann
IC2E3
2013 Scalable virtual machine deployment using VM image caches
abstract
In IaaS clouds, VM startup times are frequently perceived as slow, negatively impacting both dynamic scaling of web applications and the startup of high-performance computing applications consisting of many VM nodes. A significant part of the startup time is due to the large transfers of VM image content from a storage node to the actual compute nodes, even when copy-on-write schemes are used. We have observed that only a tiny part of the VM image is needed for the VM to be able to start up. Based on this observation, we propose using small caches for VM images to overcome the VM startup bottlenecks. We have implemented such caches as an extension to KVM/QEMU. Our evaluation with up to 64 VMs shows that using our caches reduces the time needed for simultaneous VM startups to the one of a single VM.
Kaveh Razavi, Thilo Kielmann
SC2
2012 Topic 9: Parallel and Distributed Programming
Sergei Gorlatch, Rizos Sakellariou, Marco Danelutto, Thilo Kielmann
Euro-Par4
2011 Towards Collaborative Editing of Structured Data on Mobile Devices
abstract
The age of collaborative editing applications on mobile devices is upon us. However, such applications traditionally rely on centralized servers and thus do not operate in fully decentralized environments. This is a problem on mobile devices where network partitions are the norm due to mobility. Furthermore, such systems typically use either a fixed schema for the data, which makes them inflexible to change and leads to abuse of structured data fields for purposes other than the original intent, or else are based on XML, which limits data to document oriented data stores or else makes querying much more cumbersome for developers and users. In contrast, our Interdroid Versioned Database system provides distributed, fully decentralized, compact, relational, versioned databases for Android powered mobile phones. It offers application designers a unique set of tools for easily building decentralized collaborative applications on Android powered mobile devices using familiar Content Provider and SQL like interfaces. Unfortunately, this system requires that the structure of the database and the user interface (UI) used to edit records in the database to be written at compile time. What users would like is to beable to define and adapt the structure of the data at runtime. What developers would like is a system which makes building structured applications, including editing UI even easier than it is with our prior work. In this paper we present an extension to our Interdroid Versioned Database system which adds the ability to define a Content Provider using an Avro schema, as well as a generic editing interface for instances of that schema. We demonstrate how this system allows us to create powerful data oriented applications at either compile or runtime using an example "ToDo" application, and detail how this work will serve as a basis for our future work on merging shared structured data.
Nicholas Palmer, Emilian Miron, Roelof Kemp, Thilo Kielmann, Henri E. Bal
Mobile Data Management (1)4
2011 Collective Receiver-Initiated Multicast for Grid Applications
abstract
Grid applications often need to distribute large amounts of data efficiently from one cluster to multiple others (multicast). Existing sender-initiated methods arrange nodes in optimized tree structures, based on external network monitoring data. This dependence on monitoring data severely impacts both ease of deployment and adaptivity to dynamically changing network conditions. In this paper, we present Robber, a collective, receiver-initiated, high-throughput multicast approach inspired by the BitTorrent protocol. Unlike BitTorrent, Robber is specifically designed to maximize the throughput between multiple cluster computers. Nodes in the same cluster work together as a collective that tries to steal data from peer clusters. Instead of using potentially outdated monitoring data, Robber automatically adapts to the currently achievable bandwidth ratios. Within a collective, nodes automatically tune the amount of data they steal remotely to their relative performance. Our experimental evaluation compares Robber to BitTorrent, to Balanced Multicasting, and to its predecessor MOB. Balanced Multicasting optimizes multicast trees based on external monitoring data, while MOB uses collective, receiver-initiated multicast with static load balancing. We show that both Robber and MOB outperform BitTorrent. They are competitive with Balanced Multicasting as long as the network bandwidth remains stable, and outperform it by wide margins when bandwidth changes dynamically. In large environments and heterogeneous clusters, Robber outperforms MOB.
Mathijs den Burger, Thilo Kielmann
IEEE Trans. Parallel Distributed Syst.2
2010 Dynamic Load-Balanced Multicast for Data-Intensive Applications on Clouds
abstract
Data-intensive parallel applications on clouds need to deploy large data sets from the cloud's storage facility to all compute nodes as fast as possible. Many multicast algorithms have been proposed for clusters and grid environments. The most common approach is to construct one or more spanning trees based on the network topology and network monitoring data in order to maximize available bandwidth and avoid bottleneck links. However, delivering optimal performance becomes difficult once the available bandwidth changes dynamically. In this paper, we focus on Amazon EC2/S3 (the most commonly used cloud platform today) and propose two high performance multicast algorithms. These algorithms make it possible to efficiently transfer large amounts of data stored in Amazon S3 to multiple Amazon EC2 nodes. The three salient features of our algorithms are (1) to construct an overlay network on clouds without network topology information, (2) to optimize the total throughput dynamically, and (3) to increase the download throughput by letting nodes cooperate with each other. The two algorithms differ in the way nodes cooperate: the first `non-steal' algorithm lets each node download an equal share of all data, while the second `steal' algorithm uses work stealing to counter the effect of heterogeneous download bandwidth. As a result, all nodes can download files from S3 quickly, even when the network performance changes while the algorithm is running. We evaluate our algorithms on EC2/S3, and show that they are scalable and consistently achieve high throughput. Both algorithms perform much better than having each node downloading all data directly from S3.
Tatsuhiro Chiba, Mathijs den Burger, Thilo Kielmann, Satoshi Matsuoka
CCGRID3
2010 Bag-of-Tasks Scheduling under Budget Constraints
abstract
Commercial cloud offerings, such as Amazon's EC2, let users allocate compute resources on demand, charging based on reserved time intervals. While this gives great¿exibility to elastic applications, users lack guidance for choosing between multiple offerings, in order to complete their computations within given budget constraints. In this work, we present BaTS, our budget-constrained scheduler. BaTS can schedule large bags of tasks onto multiple clouds with different CPU performance and cost, minimizing completion time while respecting an upper bound for the budget to be spent. BaTS requires no a-priori information about task completion times, and learns to estimate them at runtime. We evaluate BaTS by emulating different cloud environments on the DAS-3 multi-cluster system. Our results show that BaTS is able to schedule within a user-defined-budget (if such a schedule is possible at all.) At the expense of extra compute time, significant cost savings can be achieved when comparing to a cost-oblivious round-robin scheduler.
Ana-Maria Oprescu, Thilo Kielmann
CloudCom2
2010 What Is the Price of Simplicity? - A Cross-Platform Evaluation of the SAGA API
Mathijs den Burger, Ceriel J. H. Jacobs, Thilo Kielmann, André Merzky, Ole Weidner, Hartmut Kaiser
Euro-Par (1)3
2010 Parallel and Distributed Programming
Thilo Kielmann, Andrea Clematis, Sergei Gorlatch, Alexey L. Lastovetsky
Euro-Par (2)1
2009 Introduction
Felix Wolf 0001, Andy D. Pimentel, Luiz De Rose, Soonhoi Ha, Thilo Kielmann, Anna Sikora
Euro-Par5
2009 Optimizing Deadline-Driven Bulk Data Transfers in Overlay Networks
abstract
Deadline-driven bulk data transfers frequently occur in overlay networks running data-intensive, distributed workflow applications, such as grid and cloud environments. What distinguishes such transfers from other Internet traffic is that overlay nodes should cooperate towards the common goal of delivering all inter-dependent data timely, rather than follow individual, selfish goals. For such scenarios, we propose scheduling transfers in overlays in a globally optimal manner with respect to minimizing overall network congestion. Our optimization jointly addresses routing of transfers within the overlay and the time-domain scheduling of transfer bandwidths. We formally define and address the associated problem, the bulk data routing and transfer(BDRT) and present a linear programming-based solution to it, optimal in both routing and time domains. We additionally explore alternative approaches based on heuristic routing strategies, both oblivious and time-domain optimized. We evaluate these solutions via both PlanetLab trace-driven simulations and Internet transfer experiments, on the Intrigger wide-area grid and PlanetLab. Evaluation shows that our approach finds optimal solutions, based on estimations of job arrival times, deadlines and transfer volumes.
Andrei Agapi, Sebastien Soudan, Marcelo Pasin, Pascale Vicat-Blanc Primet, Thilo Kielmann
ICCCN5
2009 eyeDentify: Multimedia Cyber Foraging from a Smartphone
abstract
The recent introduction of smartphones has resulted in an explosion of innovative mobile applications. The computational requirements of many of these applications, however, can not be met by the smartphone itself. The compute power of the smartphone can be enhanced by distributing the application over other compute resources. Existing solutions comprise of a light weight client running on the smartphone and a heavy weight compute server running on, for example, a cloud. This places the user in a dependent position, however, because the user only controls the client application. In this paper, we follow a different model, called cyber foraging, that gives users full control over all parts of the application. We have implemented the model using the Ibis middleware. We evaluate the model using an innovative application in the domain of multimedia computing, and show that cyber foraging increases the application's responsiveness and accuracy whilst decreasing its energy usage.
Roelof Kemp, Nicholas Palmer, Thilo Kielmann, Frank J. Seinstra, Niels Drost, Jason Maassen, Henri E. Bal
ISM3
2009 Executing multicellular differentiation: quantitative predictive modelling of C.elegans vulval development
abstract
MOTIVATION: Understanding the processes involved in multi-cellular pattern formation is a central problem of developmental biology, hopefully leading to many new insights, e.g. in the treatment of various diseases. Defining suitable computational techniques for development modelling, able to perform in silico simulation experiments, is an open and challenging problem. RESULTS: Previously, we proposed a coarse-grained, quantitative approach based on the basic Petri net formalism, to mimic the behaviour of the biological processes during multicellular differentiation. Here, we apply our modelling approach to the well-studied process of Caenorhabditis elegans vulval development. We show that our model correctly reproduces a large set of in vivo experiments with statistical accuracy. It also generates gene expression time series in accordance with recent biological evidence. Finally, we modelled the role of microRNA mir-61 during vulval development and predict its contribution in stabilizing cell pattern formation.
Nicola Bonzanni, Elzbieta Krepska, K. Anton Feenstra, Wan J. Fokkink, Thilo Kielmann, Henri E. Bal, Jaap Heringa
Bioinform.5
2009 Executing multicellular differentiation: quantitative predictive modelling of C.elegans vulval development
abstract
Bioinformatics 25(16), 2049–2056 We regret that Figure 5 on page 4 of this paper was incorrect and should appear as below.
Nicola Bonzanni, Elzbieta Krepska, K. Anton Feenstra, Wan J. Fokkink, Thilo Kielmann, Henri E. Bal, Jaap Heringa
Bioinform.5
2009 The HPC basic profile and SAGA: standardizing compute grid access in the open grid forum
abstract
Abstract After seven years of life the Open Grid Forum (OGF), previously the Global Grid Forum, is beginning to produce standards that meet the needs of the community and that are being adopted by commercial and open source software providers. Accessing computational resources, specifically high performance computing (HPC) resources, is a usage scenario that predates the emergence of the Grid, is well understood within the community, and is represented in numerous gathered use cases in different areas of Grid computing. Building on this consensus the HPC Profile Working Group was established within the OGF to standardize access to HPC resources. Its first specification, the HPC Basic Profile 1.0 has been developed and has established interoperability within the community. Alongside the development of this protocol, another group within the OGF, the Simple API for Grid Applications (SAGA) working group has been defining a programmatic interface relevant to application developers that encompasses access to compute resources. This paper examines the relationship between the ‘standard’ protocol of the HPC Basic Profile and the programmatic interface of SAGA to access compute resources and assesses how well these address the problems faced by the community of users and application developers. Copyright © 2009 John Wiley & Sons, Ltd.
Thilo Kielmann, Steven J. Newhouse, Marty Humphrey
Concurr. Comput. Pract. Exp.2
2008 HITP: A Transmission Protocol for Scalable High-Performance Distributed Storage
Pierpaolo Giacomin, Alessandro Bassi, Frank J. Seinstra, Thilo Kielmann, Henri E. Bal
Euro-Par4
2007 Topic 13 High-Performance Networks
Thilo Kielmann, Pascale Vicat-Blanc Primet, Tomohiro Kudoh, Bruce Lowekamp
Euro-Par1
2007 Persistent Fault-Tolerance for Divide-and-Conquer Applications on the Grid
Gosia Wrzesinska, Ana-Maria Oprescu, Thilo Kielmann, Henri E. Bal
Euro-Par3
2007 MOB: zero-configuration high-throughput multicasting for grid applications
abstract
Grid applications often need to distribute large amounts of data efficiently from one cluster to multiple others (multicast). Existing methods usually arrange nodes in optimized tree structures, based on external network monitoring data. This dependence on monitoring data, however, severely impacts both ease of deployment and adaptivity to dynamically changing network conditions.
Mathijs den Burger, Thilo Kielmann
HPDC2
2007 User-friendly and reliable grid computing based on imperfect middleware
abstract
Writing grid applications is hard. First, interfaces to existing grid middleware often are too low-level for application programmers who are domain experts rather than computer scientists. Second, grid APIs tend to evolve too quickly for applications to follow. Third, failures and configuration incompatibilities require applications to use different solutions to the same problem, depending on the actual sites in use.
Rob van Nieuwpoort, Thilo Kielmann, Henri E. Bal
SC2
2006 Special Issue: Adaptive Grid Middleware
Thilo Kielmann, Wilson Rivera
Concurr. Comput. Pract. Exp.1
2006 Middleware adaptation with the Delphoi service
abstract
Abstract Grid middleware needs to adapt to changing resources for a large variety of operations. Currently, however, there is only low‐level information available about Grid resources, coming from various but functionally isolated monitoring and information systems. In this paper, we present the Delphoi service. It provides a unified interface to the necessary information, and also matches the abstraction level needed by middleware services to adapt their behavior. We describe Delphoi's architecture, the information it provides, and we evaluate the quality of its performance information. Delphoi has been developed as part of the EC‐funded GridLab project and is currently being deployed on the project's testbed for adding adaptivity to GridLab's middleware services. Copyright © 2006 John Wiley & Sons, Ltd.
Jason Maassen, Rob van Nieuwpoort, Thilo Kielmann, Kees Verstoep, Mathijs den Burger
Concurr. Comput. Pract. Exp.3
2006 Grid Applications: From Early Adopters to Mainstream Users
Thilo Kielmann
J. Grid Comput.1
2005 Topic 6 - Grid and Cluster Computing: Models, Middleware and Architectures
Craig A. Lee, Thilo Kielmann, Laurent Lefèvre, João Gabriel Silva
Euro-Par2
2005 Balanced Multicasting: High-throughput Communication for Grid Applications
abstract
Many grid applications need to transfer large amounts of data between the geographically distributed sites of a grid environment. Network heterogeneity between these sites makes throughput optimization of data transfers to multiple sites (multicast) hard or even impossible. We present a technique called balanced multicasting that uses monitoring information for both bandwidth capacity and achievable bandwidth to compute balanced multicast trees at runtime that use application-level traffic shaping at the sender side to avoid self-induced congestion. Our experimental evaluation shows that our approach outperforms existing multicast strategies by large margins.
Mathijs den Burger, Thilo Kielmann, Henri E. Bal
SC2
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.6
2005 The Grid Application Toolkit: Toward Generic and Easy Application Programming Interfaces for the Grid
abstract
Core Grid technologies are rapidly maturing, but there remains a shortage of real Grid applications. One important reason is the lack of a simple and high-level application programming toolkit, bridging the gap between existing Grid middleware and application-level needs. The Grid Application Toolkit (GAT), as currently developed by the EC-funded project GridLab, provides this missing functionality. As seen from the application, the GAT provides a unified simple programming interface to the Grid infrastructure, tailored to the needs of Grid application programmers and users. A uniform programming interface will be needed for application developers to create a new generation of "Grid-aware" applications. The GAT implementation handles both the complexity and the variety of existing Grid middleware services via so-called adaptors. Complementing existing Grid middleware, GridLab also provides high-level services to implement the GAT functionality. We present the GridLab software architecture, consisting of the GAT, environment-specific adaptors, and GridLab services. We elaborate the concepts underlying the GAT and outline the corresponding application programming interface. We present the functionality of GridLab's high-level services and demonstrate how a dynamic Grid application can easily benefit from the GAT. All GridLab software is open source and can be downloaded from the project Web site.
Gabrielle Allen, Kelly Davis, Tom Goodale, Andrei Hutanu, Hartmut Kaiser, Thilo Kielmann, André Merzky, Rob van Nieuwpoort, Alexander Reinefeld, Florian Schintke, Thorsten Schütt, Edward Seidel, Brygg Ullmer
Proc. IEEE6
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
HPDC5
2003 CCJ: object-based message passing and collective communication in Java
abstract
Abstract CCJ is a communication library that adds MPI‐like message passing and collective operations to Java. Rather than trying to adhere to the precise MPI syntax, CCJ aims at a clean integration of communication into Java's object‐oriented framework. For example, CCJ uses thread groups to support Java's multithreading model and it allows any data structure (not just arrays) to be communicated. CCJ is implemented entirely in Java, on top of RMI, so it can be used with any Java virtual machine. The paper discusses three parallel Java applications that use collective communication. It compares the performance (on top of a Myrinet cluster) of CCJ, RMI and mpiJava versions of these applications and also compares their code complexity. A detailed performance comparison between CCJ and mpiJava is given using the Java Grande Forum MPJ benchmark suite. The results show that neither CCJ's object‐oriented design nor its implementation on top of RMI impose a performance penalty on applications compared to their mpiJava counterparts. The source of CCJ is available from our Web site http://www.cs.vu.nl/manta. Copyright © 2003 John Wiley & Sons, Ltd.
Arnold Nelisse, Jason Maassen, Thilo Kielmann, Henri E. Bal
Concurr. Comput. Pract. Exp.3
2003 Editorial
Thilo Kielmann
J. Grid Comput.1
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.1
2001 Early Experiences with the EGrid Testbed
abstract
The Testbed and Applications working group of the European Grid Forum (EGrid) is actively building and experimenting with a grid infrastructure connecting several research-based supercomputing sites located in Europe. The paper reports on our first feasibility study: running a self-migrating version of the Cactus simulation code across the European grid testbed, including "live" remote data visualization and steering from different demonstration booths at Supercomputing 2000, in Dallas, TX. We report on the problems that had to be resolved for this endeavour and identify open research challenges for building production-grade grid environments.
Gabrielle Allen, Thomas Dramlitsch, Tom Goodale, Gerd Lanfermann, Thomas Radke, Edward Seidel, Thilo Kielmann, Kees Verstoep, Zoltán Balaton, Péter Kacsuk, Ferenc Szalai, Jörn Gehring, Axel Keller, Achim Streit, Ludek Matyska, Miroslav Ruda, Ales Krenek, Harald Knipp, André Merzky, Alexander Reinefeld, Florian Schintke, Bogdan Ludwiczak, Jarek Nabrzyski, Juliusz Pukacki, Hans-Peter Kersken, Giovanni Aloisio, Massimo Cafaro, Wolfgang Ziegler, Michael Russell
CCGRID7
2001 Efficient load balancing for wide-area divide-and-conquer applications
abstract
Divide-and-conquer programs are easily parallelized by letting the programmer annotate potential parallelism in the form of spawn and sync constructs. To achieve efficient program execution, the generated work load has to be balanced evenly among the available CPUs. For single cluster systems, Random Stealing (RS) is known to achieve optimal load balancing. However, RS is inefficient when applied to hierarchical wide-area systems where multiple clusters are connected via wide-area networks (WANs) with high latency and low bandwidth.
Rob van Nieuwpoort, Thilo Kielmann, Henri E. Bal
PPoPP2
2001 Parallel application experience with replicated method invocation
abstract
Abstract We describe and evaluate a new approach to object replication in Java, aimed at improving the performance of parallel programs. Our programming model allows the programmer to define groups of objects that can be replicated and updated as a whole, using reliable, totally‐ordered broadcast to send update methods to all machines containing a copy. The model has been implemented in the Manta highperformance Java system. We evaluate system performance both with microbenchmarks and with a set of five parallel applications. For the applications, we also evaluate ease of programming, compared to RMI implementations. We present performance results for a Myrinet‐based workstation cluster as well as for a wide‐area distributed system consisting of four such clusters. The microbenchmarks show that updating a replicated object on 64 machines only takes about three times the RMI latency in Manta. Applications using Manta's object replication mechanism perform at least as fast as manually optimized versions based on RMI, while keeping the application code as simple as with naive versions that use shared objects without taking locality into account. Using a replication mechanism in Manta's runtime system enables several unmodified applications to run efficiently even on the wide‐area system. Copyright © 2001 John Wiley & Sons, Ltd.
Jason Maassen, Thilo Kielmann, Henri E. Bal
Concurr. Comput. Pract. Exp.2
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.4
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.1
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.5
2000 Satin: Efficient Parallel Divide-and-Conquer in Java
Rob van Nieuwpoort, Thilo Kielmann, Henri E. Bal
Euro-Par2
2000 Bandwidth-Efficient Collective Communication for Clustered Wide Area Systems
abstract
Metacomputing infrastructures couple multiple clusters (or MPPs) via wide-area networks. A major problem in programming parallel applications for such platforms is their hierarchical network structure: latency and bandwidth of WANs often are orders of magnitude worse than those of local networks. Our goal is to optimize MPI's collective operations for such platforms. In this paper we focus on optimized utilization of the (scarce) wide-area bandwidth. We use two techniques: selecting suitable communication graph shapes, and splitting messages into multiple segments that are sent in parallel over different WAN links. To determine the best graph shape and segment size, we introduce a performance model called parameterized LogP (P-LogP), a hierarchical extension of the LogP model that covers messages of arbitrary length. With P-LogP, the optimal segment size and the best broadcast tree shape can be determined at runtime. (For conciseness, we restrict our discussion to the broadcast operation). An experimental performance evaluation shows that the new broadcast has significantly improved performance (for large messages) and that there is a close match between the theoretical model and the measured completion times.
Thilo Kielmann, Henri E. Bal, Sergei Gorlatch
IPDPS1
2000 Wide-area parallel programming using the remote method invocation model
abstract
Java's support for parallel and distributed processing makes the language attractive for metacomputing applications, such as parallel applications that run on geographically distributed (wide-area) systems. To obtain actual experience with a Java-centric approach to metacomputing, we have built and used a high-performance wide-area Java system, called Manta. Manta implements the Java Remote Method Invocation (RMI) model using different communication protocols (active messages and TCP/IP) for different networks. The paper shows how wide-area parallel applications can be expressed and optimized using Java RMI. Also, it presents performance results of several applications on a wide-area system consisting of four Myrinet-based clusters connected by ATM WANs. We finally discuss alternative programming models, namely object replication, JavaSpaces, and MPI for Java. Copyright © 2000 John Wiley & Sons, Ltd.
Rob van Nieuwpoort, Jason Maassen, Henri E. Bal, Thilo Kielmann, Ronald Veldema
Concurr. Pract. Exp.4
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
PPoPP1
1998 Behaviour Specification of Parallel Active Objects
Tom Holvoet, Thilo Kielmann
Parallel Comput.2
1997 Coordination Patterns for Parallel Computing
Bernd Freisleben, Thilo Kielmann
COORDINATION2
1996 Designing a Coordination Model for Open Systems
Thilo Kielmann
COORDINATION1