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

Peter M. W. Knijnenburg

dblp:36/410 · DBLP profile ↗
← Back
23ranked-venue papers
9as first author
0since 2021 · last 2007
—ORCID · none

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

Systems, architecture and hardware · 17 · 4 first-authorTheory of computation · 6 · 5 first-authorSoftware engineering, systems software and programming languages · 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.

Software engineering, system software, and programming languages
1 paper
Operating systems · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Processor architecture and microarchitecture · 77% Embedded and real-time systems · 23%

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

TopicWeightPapersLastEvidence papers
Operating systems › system architecture
hardware-software interface
0.112006
Predictable Performance in SMT Processors: Synergy between the OS and SMTs · IEEE Trans. Computers 2006
Operating systems › resource management › process management › CPU scheduling
thread scheduling
0.112006
Predictable Performance in SMT Processors: Synergy between the OS and SMTs · IEEE Trans. Computers 2006
Processor architecture and microarchitecture › multithreading
simultaneous multithreading
0.112006
Predictable Performance in SMT Processors: Synergy between the OS and SMTs · IEEE Trans. Computers 2006
Embedded and real-time systems
worst-case execution time analysis
0.012006
Predictable Performance in SMT Processors: Synergy between the OS and SMTs · IEEE Trans. Computers 2006

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

instruction fetch policy · 0.1
YearPublicationVenuePosition
2007 Interactive presentation: Feasibility of combined area and performance optimization for superscalar processors using random search
abstract
When designing embedded systems, one needs to make decisions concerning the different components that will be included in a microprocessor. An important issue is the chip area vs. performance trade-off. In this paper the authors investigate the relationship between chip area and performance for superscalar microprocessors. The authors investigate the feasibility to obtain a suitable configuration by searching. The authors show that the approach gives a good configuration after 100 to 150 iterations using a simple random search algorithm. This shows the feasibility of the approach, in particular when more sophisticated search algorithms are employed as we plan in future work
Sven van Haastregt, Peter M. W. Knijnenburg
DATE2
2006 On the impact of data input sets on statistical compiler tuning
abstract
In recent years, several approaches have been proposed to use profile information in compiler optimization. This profile information can be used at the source level to guide loop transformations as well as in the backend to guide low level optimizations. At the same time, profile guided library generators have been proposed also, like Atlas, Spiral, or FFTW, that tune their routines for the underlying hardware. These approaches have led to excellent performance improvements. However, a possible drawback of these approaches is that applications are optimized using a single or a limited set of data inputs. It is well known that programs can exhibit vastly differing behaviors for different inputs. Therefore, it is not clear whether the performance numbers reported are still valid for other input than the input used to optimize the program. In this paper, we address this problem for a specific statistical compiler tuning method. We use three different platforms and several SPECint2000 benchmarks. We show that when we tune the compiler using train data, we obtain a compiler setting that still performs well for reference data. These results suggest that profile guided optimization may be more stable than is sometimes believed and that a limited number of train data sets are sufficient to obtain a well optimized program for all inputs
Masayo Haneda, Peter M. W. Knijnenburg, Harry A. G. Wijshoff
IPDPS2
2006 UFS: a global trade-off strategy for loop unrolling for VLIW architectures
abstract
Abstract Embedded systems are increasingly expected to provide good performance at low cost. As the characteristics of compiled code can have an impact on the overall cost of an embedded system, a compilation strategy must be cost aware as well as achieve high performance. As one major factor for system cost is memory size, code size becomes an important issue in code generation. Thus, cost‐effective optimization strategies that are able to perform a good trade‐off between code size and performance improvement are needed. In this paper, we propose a novel method based on Integer Linear Programming for computing efficient unroll factors for collections of loop nests with control over code size and side‐effects of the transformation. We define a notion of trade‐off between code size and performance. Experiments on the Philips Trimedia show that our method achieves excellent trade‐offs. Copyright © 2006 John Wiley & Sons, Ltd.
Karine Heydemann, François Bodin, Peter M. W. Knijnenburg, Laurent Morin
Concurr. Comput. Pract. Exp.3
2006 Special Issue: 10th International Workshop on Compilers for Parallel Computers (CPC 2003)
abstract
This special issue of Concurrency and Computation: Practice and Experience is devoted to a selection of papers presented at the 10th International Workshop on Compilers for Parallel Computers (CPC 2003), held in Amsterdam, 8-10 January 2003.During this workshop, a total of 36 papers were presented and eight of these were selected for this special issue.The goal of CPC is to bring together researchers in the compiler area in an informal atmosphere to discuss their current research and to foster collaboration.CPC was first organized in Oxford, U.K. in 1989.During that time, the workshop was focused on high-performance computing issues, such as data distribution, high-performance Fortran (HPF) and other parallel Fortran dialects, automatic parallelization, sparse matrix computations, etc.In most, if not all, of the papers Fortran was used as the source language.This remained the case for the next couple of workshops, held in Paris (1990) and Vienna (1992).To give a flavor of the changing focus of CPC, in Delft (1993) 38% of the papers dealt with HPF or some related parallel Fortran dialect.In Malaga (1995) 31% of papers did so, in Aachen (1996) 30%, in Linköping (1998) 19%, in Aussois (2000) 11%, in Edinburgh (2001) 8%, and in Amsterdam (2003) only 2%.At the same time, we have witnessed a steady increase in papers that deal with Very Long Instruction Word (VLIW), Java, Integer Linear Programming (ILP) scheduling issues, embedded systems, etc.It is safe to say that CPC is a continuously changing and adapting workshop and continues to provide a forum for present-day research.The program of the 2003 installment reflects the diverse research topics in compiler construction, ranging from 'classical' parallelizing compilers and program analysis to optimizations specific for embedded systems, performance analysis for large-scale applications and systems to automatic code generation from high-level mathematical specifications, and so on.This diversity reflects the central role the compiler is playing in the present-day computer arena.Modern systems, be they largescale supercomputers or embedded systems, require cutting-edge compiler technology for them to be efficiently programmable.The first paper in this special issue is authored by Yoshida and proposes an overlapping task assignment scheme for hierarchical coarse-grain parallel processing.This paper can be seen as a 'classical' paper on high-performance computing.
Peter M. W. Knijnenburg
Concurr. Comput. Pract. Exp.1
2006 Predictable Performance in SMT Processors: Synergy between the OS and SMTs
abstract
Current operating systems (OS) perceive the different contexts of simultaneous multithreaded (SMT) processors as multiple independent processing units, although, in reality, threads executed in these units compete for the same hardware resources. Furthermore, hardware resources are assigned to threads implicitly as determined by the SMT instruction fetch (Ifetch) policy, without the control of the OS. Both factors cause a lack of control over how individual threads are executed, which can frustrate the work of the job scheduler. This presents a problem for general purpose systems, where the OS job scheduler cannot enforce priorities, and also for embedded systems, where it would be difficult to guarantee worst-case execution times. In this paper, we propose a novel strategy that enables a two-way interaction between the OS and the SMT processor and allows the OS to run jobs at a certain percentage of their maximum speed, regardless of the workload in which these jobs are executed. In contrast to previous approaches, our approach enables the OS to run time-critical jobs without dedicating all internal resources to them so that non-time-critical jobs can make significant progress as well and without significantly compromising overall throughput. In fact, our mechanism, in addition to fulfilling OS requirements, achieves 90 percent of the throughput of one of the best currently known fetch policies for SMTs.
Francisco J. Cazorla, Peter M. W. Knijnenburg, Rizos Sakellariou, Enrique Fernández, Alex Ramírez, Mateo Valero
IEEE Trans. Computers2
2005 Architectural support for real-time task scheduling in SMT processors
abstract
In Simultaneous Multithreaded (SMT) architectures most hardware resources are shared between threads. This provides a good cost/performance trade-off which renders these architectures suitable for use in embedded systems. However, since threads share many resources, they also interfere with each other. As a result, execution times of applications become highly unpredictable and dependent on the context in which an application is executed. Obviously, this poses problems if an SMT is to be used in a real-time system.In this paper, we propose two novel hardware mechanisms that can be used to reduce this performance variability. In contrast to previous approaches, our proposed mechanisms do not need any information beyond the information already known by traditional job schedulers. Nor do they require extensive profiling of workloads to determine optimal schedules. Our mechanisms are based on dynamic resource partitioning. The OS level job scheduler needs to be slightly adapted in order to provide the hardware resource allocator some information on how this resource partitioning needs to be done. We show that our mechanisms provide high stability for SMT architectures to be used in real-time systems: the real time benchmarks we used meet their deadlines in more than 98% of the cases considered while the other thread in the workload still achieves high throughput.
Francisco J. Cazorla, Peter M. W. Knijnenburg, Rizos Sakellariou, Enrique Fernández, Alex Ramírez, Mateo Valero
CASES2
2005 Generating new general compiler optimization settings
abstract
Finding nearly optimal optimization settings for modern compilers which can utilize a large number of optimizations is a combinatorially exponential problem. In this paper, we investigate whether in the presence of many optimization choices random generation of compiler settings can be used to obtain well performing compiler settings. We apply this random generation of compiler setting to gcc 3.3.1 which implements 54 optimizations. Our results show that this technique can be used to obtain a setting which exceeds the performance of the default optimization settings O1, O2, and O3 for each program in the SPECint95 benchmark suite. We also apply this technique to obtain a general setting which is suitable for many programs. This setting performs equally well as the default settings using significantly less options. Finally, we compare our setting with the default settings of gcc and analyze the difference.
Masayo Haneda, Peter M. W. Knijnenburg, Harry A. G. Wijshoff
ICS2
2004 Implicit vs. Explicit Resource Allocation in SMT Processors
abstract
In a simultaneous multithreaded (SMT) architecture, the front end of a superscalar is adapted in order to be able to fetch from several threads while the back end is shared among the threads. In this paper, we describe different resource sharing models in SMT processors. We show that explicit resource allocation can improve SMT performance. In addition, it enables SMTs to solve other QoS requirements, not realizable before.
Francisco J. Cazorla, Peter M. W. Knijnenburg, Rizos Sakellariou, Enrique Fernández, Alex Ramírez, Mateo Valero
DSD2
2004 Feasibility of QoS for SMT
Francisco J. Cazorla, Peter M. W. Knijnenburg, Rizos Sakellariou, Enrique Fernández, Alex Ramírez, Mateo Valero
Euro-Par2
2004 The effect of cache models on iterative compilation for combined tiling and unrolling
abstract
Abstract Iterative compilation, where we search for the best program transformation based on profile feedback information, has been highly successful in determining good program optimizations, typically outperforming all static approaches. However, this benefit has come at a price, namely, a large number of executions of the target program which in many cases is unacceptable. This paper is concerned with reducing the number of program executions needed by iterative compilation by incorporating static models. We examine how static models may be incorporated into a purely iterative approach by developing several characterized heuristics. We empirically explore the tradeoff between reducing the number of executions required and the ultimate performance achieved for differing parameters or slack factors. We focus on tiling and unrolling as transformations and cache models as a test case for the feasibility of this approach. We show that a highly accurate model, used as a filter to profiling and appropriately parameterized, can reduce the number of executions by 50%. We also show that using a simple model to rank transformations and profiling, only those with the highest ranking can reduce the number of executions even further up to 70%, in cases where there is only a limited number of profiles available. We conclude that a production compiler might perform best using the last approach, gaining the benefit of iterative compilation at a much reduced cost. Copyright © 2004 John Wiley & Sons, Ltd.
Peter M. W. Knijnenburg, Toru Kisuki, Kyle A. Gallivan, Michael F. P. O'Boyle
Concurr. Comput. Pract. Exp.1
2003 Combined Selection of Tile Sizes and Unroll Factors Using Iterative Compilation
Peter M. W. Knijnenburg, Toru Kisuki, Michael F. P. O'Boyle
J. Supercomput.1
2002 Integrating Loop and Data Transformations for Global Optimization
Michael F. P. O'Boyle, Peter M. W. Knijnenburg
J. Parallel Distributed Comput.2
2001 Cache Models for Iterative Compilation
Peter M. W. Knijnenburg, Toru Kisuki, Kyle A. Gallivan
Euro-Par1
1999 OCEANS - Optimising Compilers for Embedded Applications
Michel Barreteau, François Bodin, Zbigniew Chamski, Henri-Pierre Charles, Christine Eisenbeis, John R. Gurd, Jan Hoogerbrugge, William Jalby, Toru Kisuki, Peter M. W. Knijnenburg, Paul van der Mark, Andy Nisbet, Michael F. P. O'Boyle, Erven Rohou, André Seznec, Elena Stöhr, Menno Treffers, Harry A. G. Wijshoff
Euro-Par11
1998 OCEANS: Optimising Compilers for Embedded Applications
abstract
This paper presents an overview of the activities carried out within the ESPRIT project OCEANS whose objective is to investigate and develop advanced compiler infrastructure for embedded VLIW processors. This combines high and low-level optimisation approaches within an iterative framework for compilation. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Michel Barreteau, François Bodin, Peter Brinkhaus, Zbigniew Chamski, Henri-Pierre Charles, Christine Eisenbeis, John R. Gurd, Jan Hoogerbrugge, William Jalby, Peter M. W. Knijnenburg, Michael F. P. O'Boyle, Erven Rohou, Rizos Sakellariou, André Seznec, Elena Stöhr, Menno Treffers, Harry A. G. Wijshoff
Euro-Par11
1998 The Automatic Generation of Sparse Primitives
abstract
Primitives in mathematical software are usually written and optimized by hand. With the implementation of a “sparse compiler” that is capable of automatically converting a dense program into sparse code, however, a completely different approach to the generation of sparse primitives can be taken. A dense implementation of a particular primitive is supplied to the sparse compiler, after which it can be converted into many different sparse versions of this primitive. Each version is specifically tailored to a class of sparse matrices having a specific nonzero structure. In this article, we discuss some of our experiences with this new approach.
Aart J. C. Bik, Peter Brinkhaus, Peter M. W. Knijnenburg, Harry A. G. Wijshoff
ACM Trans. Math. Softw.3
1997 OCEANS: Optimizing Compilers for Embedded Applications
Bas Aarts, Michel Barreteau, François Bodin, Peter Brinkhaus, Zbigniew Chamski, Henri-Pierre Charles, Christine Eisenbeis, John R. Gurd, Jan Hoogerbrugge, William Jalby, Peter M. W. Knijnenburg, Michael F. P. O'Boyle, Erven Rohou, Rizos Sakellariou, Henk Schepers, André Seznec, Elena Stöhr, Marco Verhoeven, Harry A. G. Wijshoff
Euro-Par12
1997 Non-Singular Data Transformations: Definition, Validity and Applications
abstract
Article Free Access Share on Non-singular data transformations: definition, validity and applications Authors: M. F. P. O'Boyle Department of Computer Science, The University of Edinburgh, Edinburgh EH9 3JZ, United Kingdom Department of Computer Science, The University of Edinburgh, Edinburgh EH9 3JZ, United KingdomView Profile , P. M. W. Knijnenburg Department of Computer Science, Leiden University, Niels Bohrweg 1, 2333 CA Leiden, The Netherlands Department of Computer Science, Leiden University, Niels Bohrweg 1, 2333 CA Leiden, The NetherlandsView Profile Authors Info & Claims ICS '97: Proceedings of the 11th international conference on SupercomputingJuly 1997 Pages 309–316https://doi.org/10.1145/263580.263655Published:11 July 1997Publication History 32citation266DownloadsMetricsTotal Citations32Total Downloads266Last 12 Months21Last 6 weeks3 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Michael F. P. O'Boyle, Peter M. W. Knijnenburg
International Conference on Supercomputing2
1997 The Semantics of the Combination of Atomized Statements and Parallel Choice
abstract
Abstract In this paper we define a uniform language ℒ that is an extension of the language underlying the process algebra PA . One of the main extensions of this language over PA is given by so-called atomizing brackets. If we place these brackets around a statement then we treat this statement as an atomic action. Put differently, these brackets remove all interleaving points. We present a transition system for the language and derive its operational semantics. We show that there are several options for defining a transition system such that the resulting operational semantics is a conservative extension of the semantics for PA . We define a semantic domain and a denotational model for the language. Next we define a closure operator on the semantic domain and show how to use this closure operator to derive a fully abstract denotational semantics. Then the algebraic theory of the language is considered. We define a collection of axioms and a term rewrite system based on these axioms. Using this term rewrite system we are able to identify normal forms for the language. It is shown that these axioms capture the denotational equality. It follows that if two terms are provably equal then they have the same operational semantics. Finally, we show how to extend the axiomatization in order to axiomatize its operational equivalence.
Peter M. W. Knijnenburg, Joost N. Kok
Formal Aspects Comput.1
1996 A Note on the Smyth Powerdomain Construction
abstract
this paper we define a different representation for the Smyth powerdomain. We use minimal representatives instead of maximal ones. The reason for using minimal representatives is the following. Consider the collection of all possible results of a nondeterministic program. The worst case behaviour of this program is precisely captured by the minimal elements in this collection. The Smyth powerdomain identifies programs with the same collection of minimal elements in their denotation and hence can be used for modelling worst case behaviour. Hence it is desirable to represent the Smyth powerdomain as a collection of sets of minimal elements together with an ordering relation, and to show how functions on this representation can be defined. In this way, 1
Peter M. W. Knijnenburg
Fundam. Informaticae1
1994 Partial Hyperdoctrines: Categorical Models for Partial Function Logic and Hoare Logic
abstract
In this paper we provide a categorical interpretation of the first-order Hoare logic of a small programming language by giving a weakest precondition semantics for the language. To this end, we extend the well-known notion of a (first-order) hyperdoctrine to include partial maps. The most important new aspect of the resulting partial (first-order) hyperdoctrine is a different notion of morphism between the fibres. We also use this partial hyperdoctrine to give a model for Beeson's Partial Function Logic such that (a version of) his axiomatization is complete with respect to this model. This shows the usefulness of the notion, independent of its intended use as a model for Hoare logic.
Peter M. W. Knijnenburg, Frank Nordemann
Math. Struct. Comput. Sci.1
1991 On the Semantics of Atomized Statements - the Parallel-Choice Option (Extended Abstract)
Peter M. W. Knijnenburg, Joost N. Kok
FCT1
1991 On Models for Propositional Dynamic Logic
Peter M. W. Knijnenburg, Jan van Leeuwen
Theor. Comput. Sci.1