Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Koenraad De Bosschere is active.

Publication


Featured researches published by Koenraad De Bosschere.


ACM Transactions on Computer Systems | 1999

RecPlay: a fully integrated practical record/replay system

Michiel Ronsse; Koenraad De Bosschere

This article presents a practical solution for the cyclic debugging of nondeterministic parallel programs. The solution consists of a combination of record/replay with automatic on-the-fly data race detection. This combination enables us to limit the record phase to the more efficient recording of the synchronization operations, while deferring the time-consuming data race detection to the replay phase. As the record phase is highly efficient, there is no need to switch it off, hereby eliminating the possibility of Heisenbugs because tracing can be left on all the time. This article describes an implementation of the tools needed to support RecPlay.


conference on object oriented programming systems languages and applications | 2003

How java programs interact with virtual machines at the microarchitectural level

Lieven Eeckhout; Andy Georges; Koenraad De Bosschere

Java workloads are becoming increasingly prominent on various platforms ranging from embedded systems, over general-purpose computers to high-end servers. Understanding the implications of all the aspects involved when running Java workloads, is thus extremely important during the design of a system that will run such workloads. In other words, understanding the interaction between the Java application, its input and the virtual machine it runs on, is key to a succesful design. The goal of this paper is to study this complex interaction at the microarchitectural level, e.g., by analyzing the branch behavior, the cache behavior, etc. This is done by measuring a large number of performance characteristics using performance counters on an AMD K7 Duron microprocessor. These performance characteristics are measured for seven virtual machine configurations, and a collection of Java benchmarks with corresponding inputs coming from the SPECjvm98 benchmark suite, the SPECjbb2000 benchmark suite, the Java Grande Forum benchmark suite and an open-source raytracer, called Raja with 19 scene descriptions. This large amount of data is further analyzed using statistical data analysis techniques, namely principal components analysis and cluster analysis. These techniques provide useful insights in an understandable way.From our experiments, we conclude that (i) the behavior observed at the microarchitectural level is primarily determined by the virtual machine for small input sets, e.g., the SPECjvm98 s1 input set; (ii) the behavior can be quite different for various input sets, e.g., short-running versus long-running benchmarks; (iii) for long-running benchmarks with few hot spots, the behavior can be primarily determined by the Java program and not the virtual machine, i.e., all the virtual machines optimize the hot spots to similarly behaving native code; (iv) in general, the behavior of a Java application running on one virtual machine can be significantly different from running on another virtual machine. These conclusions warn researchers working on Java workloads to be careful when using a limited number of Java benchmarks or virtual machines since this might lead to biased conclusions.


Communications of The ACM | 2003

Record/replay for nondeterministic program executions

Michiel Ronsse; Koenraad De Bosschere; Mark Christiaens; Jacques Chassin de Kergommeaux; Dieter Kranzlmüller

Controlling the nondeterministic features within multithreaded and highly responsive applications enables the continued use of all traditional software development techniques.


conference on object-oriented programming systems, languages, and applications | 2002

Sifting out the mud: low level C++ code reuse

Bjorn De Sutter; Bruno De Bus; Koenraad De Bosschere

More and more computers are being incorporated in devices where the available amount of memory is limited. This contrasts with the increasing need for additional functionality and the need for rapid application development. While object-oriented programming languages, providing mechanisms such as inheritance and templates, allow fast development of complex applications, they have a detrimental effect on program size. This paper introduces new techniques to reuse the code of whole procedures at the binary level and a supporting technique for data reuse. These techniques benefit specifically from program properties originating from the use of templates and inheritance. Together with our previous work on code abstraction at lower levels of granularity, they achieve additional code size reductions of up to 38% on already highly optimized and compacted binaries, without sacrificing execution speed. We have incorporated these techniques in Squeeze++, a prototype link-time binary rewriter for the Alpha architecture, and extensively evaluate them on a suite of 8 real-life C++ applications. The total code size reductions achieved post link-time (i.e. without requiring any change to the compiler) range from 27 to 70%, averaging at around 43%.


Software - Practice and Experience | 1996

Blackboard-based extensions in Prolog

Koenraad De Bosschere; Paul Tarau

This paper presents the embedding of blackboard communication primitives in Prolog. Blackboard communication is a simple but powerful form of communication that is based upon the availability of a global data structure that can be accessed by any process in a controlled way. This results in a parallel language that exploits coarse-grained application parallelism and that is related to the Linda framework. This paper contains a description of the blackboard communication primitives at the language and at the implementation level, and it is illustrated with several programming examples.


international conference on coordination models and languages | 2000

On Timed Coordination Languages

Jean-Marie Jacquet; Koenraad De Bosschere; Antonio Brogi

Although very simple and elegant, Linda-style coordination models lack the notion of time, and are therefore not able to precisely model real-life coordination applications, featuring time-outs and soft real-time constraints. This paper aims at introducing time in these models. To that end, we consider two notions of time, relative time and absolute time, and, for each notion, two types of features. On the one hand, with respect to relative time, we describe two extensions: (i) a delay mechanism to postpone the execution of communication primitives, and (ii) explicit deadlines on the validity of tuples and on the duration of suspension of communication operations. On the other hand, for absolute time, we introduce: (iii) a wait primitive capable of waiting till an absolute point of time, and (iv) time intervals, both on tuples in the data store and on communication operations. The resulting four coordination models are analyzed and compared both from the semantics viewpoint and from the implementation viewpoint. Moreover, a few programming examples suggest their practical interest.


languages, compilers, and tools for embedded systems | 2001

Combining Global Code and Data Compaction

Bjorn De Sutter; Bruno De Bus; Koenraad De Bosschere; Saumya K. Debray

Computers are increasingly being incorporated in devices with a limited amount of available memory. As a result research is increasingly focusing on the automated reduction of program size. Existing literature focuses on either data or code compaction or on highly language dependent techniques. This paper shows how combined code and data compaction can be achieved using a link-time code compaction system that reasons about the use of both code and data addresses. The analyses proposed rely only on fundamental properties of linked code and are therefore generally applicable. The combined code and data compaction is implemented in SQUEEZE, a link-time program compaction system, and evaluated on SPEC2000, MediaBench and C++ programs, resulting in total binary program size reductions of 23.6%-46.6%. This compaction involves no speed trade-off, as the compacted programs are on average about 8% faster.


Journal of Logic Programming | 1999

LogiMOO: An extensible multi-user virtual world with natural language control

Paul Tarau; Koenraad De Bosschere; Veronica Dahl; Stephen Rochefort

Abstract LogiMOO is a BinProlog-based Virtual World running under Netscape and Internet Explorer for distributed group-work over the INTERNET and user-crafted virtual places, virtual objects and agents. LogiMOO is implemented on top of a multi-threaded blackboard-based logic programming system (BinProlog) featuring Linda-style coordination. Remote and local blackboards support transparent distribution of data and processing over TCP/IP links, while threads ensure high-performance local client-server dynamics. Embedding in Netscape provides advanced VRML and HTML frame-based navigation and multi-media support, while LogiMOO handles virtual presence and acts as a very high-level multi-media object broker. User-friendliness is achieved through a controlled English interface written in terms of Assumption Grammars. Its language coverage is extensible in that the user can incorporate new nouns, verbs and adjectives as needed by changes in the world. Immediate evaluation of world knowledge by the parser yields representations which minimize the unknowns allowing us to deal with advanced Natural Language constructs like anaphora and relativization efficiently. We take advantage of the simplicity of our controlled language to provide as well an easy adaptation to other natural languages than English, with English-like representations as a universal interlingua.


Future Generation Computer Systems | 1994

On the semantics of mLog

Jean-Marie Jacquet; Koenraad De Bosschere

Abstract The paper aims at a semantic study of the integration of blackboards in logic programming. To that end, a new logic programming framework involving Linda-like primitives is proposed first. It is dedicated to no particular logic language but rather focuses on the key concepts and control operators. As natural consequences, it subsumes existing concrete proposals [2,4,6] and provides a general framework well-suited for their semantic analysis. Five semantics are described and compared. They range in the operational, declarative and denotational types and are issued both from the logic programming and the imperative traditions. They are composed of two operational semantics, describing respectively the success/failure sets, and various failures, of two declarative semantics, extending the classical Herbrand interpretation and immediate consequence operator, and of one denotational semantics, defined compositionally and on the basis of process-like histories. The mathematical tools mainly used are complete lattices and complete metric spaces.


european pvm mpi users group meeting on recent advances in parallel virtual machine and message passing interface | 1999

MPL*: Efficient Record/Play of Nondeterministic Features of Message Passing Libraries

Jacques Chassin de Kergommeaux; Michiel Ronsse; Koenraad De Bosschere

A major source of problems when debugging message passing programs is the nondeterministic behavior of the promiscuous receive and nonblocking test operations. This prohibits the use of cyclic debugging techniques because the intrusion caused by a debugger is often large enough to change the order in which processes interact. This paper describes the solutions we propose to efficiently record and replay the nondeterministic features of message passing libraries (MPL) like MPI or PVM. It turns out that for promiscuous receive operations it is sufficient to keep track of the sender of the message, and for nonblocking test-operations to keep track of the number of failed tests. The proposed solutions have been implemented for an existing MPI-library, and performance measurements reveal that the time overhead of both record and replay executions is very low with respect to the (nondeterministic) original execution while the size of the log files remains very small.

Collaboration


Dive into the Koenraad De Bosschere's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Paul Tarau

University of North Texas

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Bart Demoen

Katholieke Universiteit Leuven

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Jacques Chassin de Kergommeaux

École nationale supérieure d'informatique et de mathématiques appliquées de Grenoble

View shared research outputs
Researchain Logo
Decentralizing Knowledge