EDBT 2026 Demo / reviewers in the wild / expert
Nigel P. Topham
dblp:38/4020
· DBLP profile ↗
38ranked-venue papers
5as first author
2since 2021 · last 2023
0000-0002-6310-0602ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 31 · 5 first-author · 2 since 2021Software engineering, systems software and programming languages · 10 · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 2Artificial intelligence and machine learning · 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
15 papers |
Performance modeling and evaluation · 26% GPUs and heterogeneous computing · 26% Memory systems · 19% | |
| Software engineering, system software, and programming languages
5 papers |
Runtime systems and virtual machines · 55% Concurrent programming · 30% Compilers and program optimization · 15% |
Topics — the 30 heaviest of 50, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Runtime systems and virtual machines › binary translation
dynamic binary translation |
0.6 | 2 | 2020 | Fast and Correct Load-Link/Store-Conditional Instruction Handling in DBT Systems · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2020 Generalized just-in-time trace compilation using a parallel task farm in a dynamic binary translator · PLDI 2011 |
Concurrent programming › synchronization
synchronization primitives |
0.4 | 1 | 2020 | Fast and Correct Load-Link/Store-Conditional Instruction Handling in DBT Systems · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2020 |
Parallel and multicore computing › transactional memory
hardware transactional memory |
0.4 | 1 | 2020 | Fast and Correct Load-Link/Store-Conditional Instruction Handling in DBT Systems · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2020 |
GPUs and heterogeneous computing › GPU memory
GPU memory hierarchy |
0.4 | 1 | 2019 | Poise: Balancing Thread-Level Parallelism and Memory System Performance in GPUs Using Machine Learning · HPCA 2019 |
GPUs and heterogeneous computing › GPU scheduling
warp scheduling |
0.4 | 1 | 2019 | Poise: Balancing Thread-Level Parallelism and Memory System Performance in GPUs Using Machine Learning · HPCA 2019 |
Memory systems
cache |
0.3 | 2 | 2016 | Cooperative Caching for GPUs · ACM Trans. Archit. Code Optim. 2016 The Design and Performance of a Conflict-Avoiding Cache · MICRO 1997 |
Memory systems › cache management › storage caching
cooperative caching |
0.2 | 1 | 2016 | Cooperative Caching for GPUs · ACM Trans. Archit. Code Optim. 2016 |
GPUs and heterogeneous computing › GPU cache
GPU cache hierarchy |
0.2 | 1 | 2016 | Cooperative Caching for GPUs · ACM Trans. Archit. Code Optim. 2016 |
Performance modeling and evaluation
benchmarking |
0.2 | 1 | 2015 | Introducing SLAMBench, a performance and accuracy benchmarking methodology for SLAM · ICRA 2015 |
Performance modeling and evaluation › performance evaluation methodology
energy efficiency evaluation |
0.2 | 1 | 2015 | Introducing SLAMBench, a performance and accuracy benchmarking methodology for SLAM · ICRA 2015 |
Performance modeling and evaluation › benchmarking
SLAM benchmarking |
0.2 | 1 | 2015 | Introducing SLAMBench, a performance and accuracy benchmarking methodology for SLAM · ICRA 2015 |
Compilers and program optimization
partial evaluation |
0.2 | 1 | 2013 | Early partial evaluation in a JIT-compiled, retargetable instruction set simulator generated from a high-level architecture description · DAC 2013 |
Performance modeling and evaluation › simulation › processor simulation
instruction set simulation |
0.2 | 1 | 2013 | Early partial evaluation in a JIT-compiled, retargetable instruction set simulator generated from a high-level architecture description · DAC 2013 |
Performance modeling and evaluation
simulation |
0.2 | 1 | 2013 | Early partial evaluation in a JIT-compiled, retargetable instruction set simulator generated from a high-level architecture description · DAC 2013 |
Energy-efficient computing › power management › memory power management
cache energy reduction |
0.1 | 1 | 2012 | Cooperative partitioning: Energy-efficient cache partitioning for high-performance CMPs · HPCA 2012 |
Memory systems › cache management
cache partitioning |
0.1 | 1 | 2012 | Cooperative partitioning: Energy-efficient cache partitioning for high-performance CMPs · HPCA 2012 |
Parallel and multicore computing
parallelizing compiler |
0.1 | 2 | 2011 | Generalized just-in-time trace compilation using a parallel task farm in a dynamic binary translator · PLDI 2011 Randomized Cache Placement for Eliminating Conflicts · IEEE Trans. Computers 1999 |
Runtime systems and virtual machines › dynamic compilation
just-in-time compilation |
0.1 | 1 | 2011 | Generalized just-in-time trace compilation using a parallel task farm in a dynamic binary translator · PLDI 2011 |
Runtime systems and virtual machines › dynamic compilation › just-in-time compilation
trace-based compilation |
0.1 | 1 | 2011 | Generalized just-in-time trace compilation using a parallel task farm in a dynamic binary translator · PLDI 2011 |
Electronic design automation
high-level synthesis |
0.1 | 1 | 2009 | Design-Space Exploration of Resource-Sharing Solutions for Custom Instruction Set Extensions · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2009 |
Processor architecture and microarchitecture › instruction set architecture
instruction set extension |
0.1 | 1 | 2009 | Design-Space Exploration of Resource-Sharing Solutions for Custom Instruction Set Extensions · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2009 |
Distributed systems
resource sharing |
0.1 | 1 | 2009 | Design-Space Exploration of Resource-Sharing Solutions for Custom Instruction Set Extensions · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2009 |
Robotics › Robot navigation and mapping › SLAM › dense SLAM
dense RGB-D SLAM |
0.1 | 1 | 2015 | Introducing SLAMBench, a performance and accuracy benchmarking methodology for SLAM · ICRA 2015 |
Robotics › Robot navigation and mapping
SLAM |
0.1 | 1 | 2015 | Introducing SLAMBench, a performance and accuracy benchmarking methodology for SLAM · ICRA 2015 |
Memory systems › cache management
chip multiprocessor cache management |
0.0 | 1 | 2012 | Cooperative partitioning: Energy-efficient cache partitioning for high-performance CMPs · HPCA 2012 |
Memory systems › cache design
cache indexing |
0.0 | 2 | 1999 | Randomized Cache Placement for Eliminating Conflicts · IEEE Trans. Computers 1999 The Design and Performance of a Conflict-Avoiding Cache · MICRO 1997 |
Processor architecture and microarchitecture
register file |
0.0 | 1 | 2000 | Multiple-banked register file architectures · ISCA 2000 |
Processor architecture and microarchitecture
superscalar processor |
0.0 | 2 | 2000 | A Comparison of Data Prefetching on an Access Decoupled and Superscalar Machine · MICRO 1997 Multiple-banked register file architectures · ISCA 2000 |
Compilers and program optimization
instruction scheduling |
0.0 | 1 | 1999 | Distributed Modulo Scheduling · HPCA 1999 |
Compilers and program optimization › instruction scheduling › software pipelining
modulo scheduling |
0.0 | 1 | 1999 | Distributed Modulo Scheduling · HPCA 1999 |
Methods — techniques the papers use, named apart from their topics
page translation cache · 0.9hardware transactional memory · 0.9compare-and-swap emulation · 0.9OpenMP · 0.4OpenCL · 0.4CUDA · 0.4regression model · 0.4hardware inference engine · 0.4ring network · 0.2inter-core communication · 0.2partial evaluation · 0.2archc · 0.2JIT compilation · 0.2task farm · 0.1dynamic work scheduling · 0.1modulo scheduling · 0.0code partitioning · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Run-time integrity monitoring of untrustworthy analog front-endsabstractRecent advances in hardware attacks, such as cross talk and covert channel based attacks, expose the structural and operational vulnerability of analog and mixed-signal circuit elements to the introduction of malicious and untrustworthy behaviour at run-time, potentially leading to adverse physical, personal, and environmental consequences. One untrustworthy behaviour of concern, is the introduction of abnormal/unexpected frequencies to the signals at the analog/ digital interface of a SoC, realised through intermittent bit-flipping or stuck-at-faults in the middle and lower bits of these signals. In this paper, we study the impact of these actions and propose integrity monitoring of signals of concern based on analysing the temporal and arithmetic relations between their samples. This pa-per presents a hybrid software/ hardware machine-learning based framework that consists of two phases; a run-time monitoring phase, and a trustworthiness assessment phase. The framework is evaluated with three different applications and its effectiveness in detecting the untrustworthy behaviour of concern is verified. This framework is device, application, and architecture agnostic, and relies only on analysing the output of the analog front-end, allowing its implementation in SoCs with on-chip and custom analog front-ends as well as those with outsourced and commercial off-the-shelf (COTS) analog front-ends. Heba A. Salem, Nigel P. Topham |
DATE | 2 |
| 2021 | Trustworthy computing on untrustworthy and Trojan-infected on-chip interconnectsabstractThis paper introduces a scheme for achieving trustworthy computing on SoCs that use an outsourced AXI interconnect for on-chip communication. This is achieved through component guarding, data tagging, event verification, and consequently responding dynamically to an attack. Experimental results confirm the ability of the proposed scheme to detect HT attacks and respond to them at run-time. The proposed scheme extends the state-of-art in trustworthy computing on untrustworthy components by focusing on the issue of an untrusted on-chip interconnect for the first time, and by developing a scheme that is independent of untrusted third-party IP. Heba A. Salem, Nigel P. Topham |
ETS | 2 |
| 2020 | Fast and Correct Load-Link/Store-Conditional Instruction Handling in DBT SystemsabstractDynamic binary translation (DBT) requires the implementation of load-link/store-conditional (LL/SC) primitives for guest systems that rely on this form of synchronization. When targeting, e.g., ×86 host systems, LL/SC guest instructions are typically emulated using atomic compare-and-swap (CAS) instructions on the host. Whilst this direct mapping is efficient, this approach is problematic due to subtle differences between LL/SC and CAS semantics. In this article, we demonstrate that this is a real problem, and we provide code examples that fail to execute correctly on QEMU and a commercial DBT system, which both use the CAS approach to LL/SC emulation. We then develop two novel and provably correct LL/SC emulation schemes: 1) a purely software-based scheme, which uses the DBT system's page translation cache for correctly selecting between fast, but unsynchronized, and slow, but fully synchronized memory accesses and 2) a hardware-accelerated scheme that leverages hardware transactional memory (HTM) provided by the host. We have implemented these two schemes in the Synopsys DesignWare ARC nSIM DBT system, and we evaluate our implementations against full applications, and targeted microbenchmarks. We demonstrate that our novel schemes are not only correct but also deliver competitive performance on-par or better than the widely used, but broken CAS scheme. Martin Kristien, Tom Spink, Brian Campbell 0001, Susmit Sarkar, Ian Stark, Björn Franke, Igor Böhm, Nigel P. Topham |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 8 |
| 2019 | Poise: Balancing Thread-Level Parallelism and Memory System Performance in GPUs Using Machine LearningabstractGPUs employ a high degree of thread-level parallelism (TLP) to hide the long latency of memory operations. However, the consequent increase in demand on the memory system causes pathological effects such as cache thrashing and bandwidth bottlenecks. As a result, high degrees of TLP can adversely affect system throughput. In this paper, we present Poise, a novel approach for balancing TLP and memory system performance in GPUs. Poise has two major components: a machine learning framework and a hardware inference engine. The machine learning framework comprises a regression model that is trained offline on a set of profiled kernels to learn best warp scheduling decisions. At runtime, the hardware inference engine uses the previously learned model to dynamically predict best warp scheduling decisions for unseen applications. Therefore, Poise helps in optimizing entirely new applications without posing any profiling, training or programming burden on the end-user. Across a set of benchmarks that were unseen during training, Poise achieves a speedup of up to 2.94× and a harmonic mean speedup of 46.6%, over the baseline greedythen-oldest warp scheduler. Poise is extremely lightweight and incurs a minimal hardware overhead of around 41 bytes per SM. It also reduces the overall energy consumption by an average of 51.6%. Furthermore, Poise outperforms the prior state-ofthe-art warp scheduler by an average of 15.1%. In effect, Poise solves a complex hardware optimization problem with considerable accuracy and efficiency. Saumay Dublish, Vijay Nagarajan, Nigel P. Topham |
HPCA | 3 |
| 2019 | Mitigating JIT compilation latency in virtual execution environmentsabstractMany Virtual Execution Environments (VEEs) rely on Just-in-time (JIT) compilation technology for code generation at runtime, e.g. in Dynamic Binary Translation (DBT) systems or language Virtual Machines (VMs). While JIT compilation improves native execution performance as opposed to e.g. interpretive execution, the JIT compilation process itself introduces latency. In fact, for highly optimizing JIT compilers or compilers not specifically designed for JIT compilation, e.g. LLVM, this latency can cause a substantial overhead. While existing work has introduced asynchronously decoupled JIT compilation task farms to hide this JIT compilation latency, we show that this on its own is not sufficient to mitigate the impact of JIT compilation latency on overall performance. In this paper, we introduce a novel JIT compilation scheduling policy, which performs continuous low-cost profiling of code regions already dispatched for JIT compilation, right up to the point where compilation commences. We have integrated our novel JIT compilation scheduling approach into a commercial LLVM-based DBT system and demonstrate speedups of 1.32x on average, and up to 2.31x, over its state-of-the-art concurrent task-farm based JIT compilation scheme across the SPEC CPU2006 and BioPerf benchmark suites. Martin Kristien, Tom Spink, Harry Wagstaff, Björn Franke, Igor Böhm, Nigel P. Topham |
VEE | 6 |
| 2017 | Evaluating and mitigating bandwidth bottlenecks across the memory hierarchy in GPUsabstractGPUs are often limited by off-chip memory bandwidth. With the advent of general-purpose computing on GPUs, a cache hierarchy has been introduced to filter the bandwidth demand to the off-chip memory. However, the cache hierarchy presents its own bandwidth limitations in sustaining such high levels of memory traffic. In this paper, we characterize the bandwidth bottlenecks present across the memory hierarchy in GPUs for general-purpose applications. We quantify the stalls throughout the memory hierarchy and identify the architectural parameters that play a pivotal role in leading to a congested memory system. We explore the architectural design space to mitigate the bandwidth bottlenecks and show that performance improvement achieved by mitigating the bandwidth bottleneck in the cache hierarchy can exceed the speedup obtained by a memory system with a baseline cache hierarchy and High Bandwidth Memory (HBM) DRAM. We also show that addressing the bandwidth bottleneck in isolation at specific levels can be sub-optimal and can even be counter-productive. Therefore, we show that it is imperative to resolve the bandwidth bottlenecks synergistically across different levels of the memory hierarchy. With the insights developed in this paper, we perform a cost-benefit analysis and identify cost-effective configurations of the memory hierarchy that effectively mitigate the bandwidth bottlenecks. We show that our final configuration achieves a performance improvement of 29% on average with a minimal area overhead of 1.6%. Saumay Dublish, Vijay Nagarajan, Nigel P. Topham |
ISPASS | 3 |
| 2016 | Cooperative Caching for GPUsabstractThe rise of general-purpose computing on GPUs has influenced architectural innovation on them. The introduction of an on-chip cache hierarchy is one such innovation. High L1 miss rates on GPUs, however, indicate inefficient cache usage due to myriad factors, such as cache thrashing and extensive multithreading. Such high L1 miss rates in turn place high demands on the shared L2 bandwidth. Extensive congestion in the L2 access path therefore results in high memory access latencies. In memory-intensive applications, these latencies get exposed due to a lack of active compute threads to mask such high latencies. In this article, we aim to reduce the pressure on the shared L2 bandwidth, thereby reducing the memory access latencies that lie in the critical path. We identify significant replication of data among private L1 caches, presenting an opportunity to reuse data among L1s. We further show how this reuse can be exploited via an L1 Cooperative Caching Network (CCN), thereby reducing the bandwidth demand on L2. In the proposed architecture, we connect the L1 caches with a lightweight ring network to facilitate intercore communication of shared data. We show that this technique reduces traffic to the L2 cache by an average of 29%, freeing up the bandwidth for other accesses. We also show that the CCN reduces the average memory latency by 24%, thereby reducing core stall cycles by 26% on average. This translates into an overall performance improvement of 14.7% on average (and up to 49%) for applications that exhibit reuse across L1 caches. In doing so, the CCN incurs a nominal area and energy overhead of 1.3% and 2.5%, respectively. Notably, the performance improvement with our proposed CCN compares favorably to the performance improvement achieved by simply doubling the number of L2 banks by up to 34%. Saumay Dublish, Vijay Nagarajan, Nigel P. Topham |
ACM Trans. Archit. Code Optim. | 3 |
| 2015 | Introducing SLAMBench, a performance and accuracy benchmarking methodology for SLAMabstractReal-time dense computer vision and SLAM offer great potential for a new level of scene modelling, tracking and real environmental interaction for many types of robot, but their high computational requirements mean that use on mass market embedded platforms is challenging. Meanwhile, trends in low-cost, low-power processing are towards massive parallelism and heterogeneity, making it difficult for robotics and vision researchers to implement their algorithms in a performance-portable way. In this paper we introduce SLAMBench, a publicly-available software framework which represents a starting point for quantitative, comparable and validatable experimental research to investigate trade-offs in performance, accuracy and energy consumption of a dense RGB-D SLAM system. SLAMBench provides a KinectFusion implementation in C++, OpenMP, OpenCL and CUDA, and harnesses the ICL-NUIM dataset of synthetic RGB-D sequences with trajectory and scene ground truth for reliable accuracy comparison of different implementation and algorithms. We present an analysis and breakdown of the constituent algorithmic elements of KinectFusion, and experimentally investigate their execution time on a variety of multicore and GPU-accelerated platforms. For a popular embedded platform, we also present an analysis of energy efficiency for different configuration alternatives. Luigi Nardi, Bruno Bodin, M. Zeeshan Zia, John Mawer, Andy Nisbet, Paul H. J. Kelly, Andrew J. Davison, Mikel Luján, Michael F. P. O'Boyle, Graham D. Riley, Nigel P. Topham, Steve Furber |
ICRA | 11 |
| 2014 | Efficient code generation in a region-based dynamic binary translatorabstractRegion-based JIT compilation operates on translation units comprising multiple basic blocks and, possibly cyclic or conditional, control flow between these. It promises to reconcile aggressive code optimisation and low compilation latency in performance-critical dynamic binary translators. Whilst various region selection schemes and isolated code optimisation techniques have been investigated it remains unclear how to best exploit such regions for efficient code generation. Complex interactions with indirect branch tables and translation caches can have adverse effects on performance if not considered carefully. In this paper we present a complete code generation strategy for a region-based dynamic binary translator, which exploits branch type and control flow profiling information to improve code quality for the common case. We demonstrate that using our code generation strategy a competitive region-based dynamic compiler can be built on top of the LLVM JIT compilation framework. For the ARM-V5T target ISA and SPEC CPU 2006 benchmarks we achieve execution rates of, on average, 867 MIPS and up to 1323 MIPS on a standard X86 host machine, outperforming state-of-the-art QEMU-ARM by delivering a speedup of 264%. Tom Spink, Harry Wagstaff, Björn Franke, Nigel P. Topham |
LCTES | 4 |
| 2013 | Early partial evaluation in a JIT-compiled, retargetable instruction set simulator generated from a high-level architecture descriptionabstractModern processor design tools integrate in their workflows generators for instruction set simulators (Iss) from architecture descriptions. Whilst these generated simulators are useful for design evaluation and software development, they suffer from poor performance. We present an ultra-fast Jit-compiled Iss generated from an ArchC description. We also introduce a novel partial evaluation optimisation, which further improves Jit compilation time and code quality. This results in a simulation rate of 510Mips for an Arm target across 45 Eembc and Spec benchmarks. On average, our Iss is 1.7 times faster than Simit-Arm, one of the fastest Iss generated from an architecture description. Harry Wagstaff, Miles Gould, Björn Franke, Nigel P. Topham |
DAC | 4 |
| 2013 | RECAP: Region-Aware Cache PartitioningabstractIn recent years, high performance computing systems have obtained more processing cores and share a last level cache (LLC). However, as their number grows, the core-to-way ratio in the LLC increases, presenting problems to existing cache partitioning techniques which require more ways than cores. Furthermore, effective energy management of the LLC becomes increasingly important due to its size. This paper proposes a Region Aware Cache Partitioning (RECAP), an LLC energy-saving scheme for high-performance, many-core processors. RECAP partitions the data within the cache into shared and private regions. Applications only access the ways containing the data that they require, realising dynamic energy savings. Any ways that are not within the shared or private regions can be turned off to save static energy. We evaluate our scheme using an 8-core CMP running multi-programmed workloads and show that it achieves 17% dynamic and 13% static energy savings in the shared LLC with a 15% performance gain. Across our multi-threaded applications, we achieve 17% dynamic and 41% static energy savings with no impact on performance. Karthik T. Sundararajan, Timothy M. Jones 0001, Nigel P. Topham |
ICCD | 3 |
| 2012 | Energy-efficient cache partitioning for future CMPsabstractThe demand for high performance computing systems requires processor vendors to increase the number of cores per chip multiprocessor (CMP). However, as their number grows, the core-to-way ratio in the last level cache (LLC) increases, presenting problems to existing cache partitioning techniques which require more ways than cores. Further, effective energy management of the LLC becomes increasingly important due to its size. Karthik T. Sundararajan, Timothy M. Jones 0001, Nigel P. Topham |
PACT | 3 |
| 2012 | Predicting best design trade-offs: A case study in processor customizationabstractGiven the high level description of a task, many different hardware modules may be generated while meeting its behavioral requirements. The characteristics of the generated hardware can be tailored to favor energy efficiency, performance, accuracy or die area. The inherent trade-offs between such metrics need to be explored in order to choose a solution that meets design and cost expectations. We address the generic problem of automatically deriving a hardware implementation from a high-level task description. In this paper we present a novel technique that exploits previously explored implementation design spaces in order to find optimal trade-offs for new high-level descriptions. This technique is generalizable to a range of high-level synthesis problems in which trade-offs can be exposed by changing the parameters of the hardware generation tool. Our strategy, based upon machine learning techniques, models the impact of the parameterization of the tool on the target objectives, given the characteristics of the input. Thus, a predictor is able to suggest a subset of parameters that are likely to lead to optimal hardware implementations. The proposed method is evaluated on a resource sharing problem which is typical in high level synthesis, where the trade-offs between area and performance need to be explored. In this case study, we show that the technique can reduce by two orders of magnitude the number of design points that need to be explored in order to find the Pareto optimal solutions. Marcela Zuluaga, Edwin V. Bonilla, Nigel P. Topham |
DATE | 3 |
| 2012 | Cooperative partitioning: Energy-efficient cache partitioning for high-performance CMPsabstractIntelligently partitioning the last-level cache within a chip multiprocessor can bring significant performance improvements. Resources are given to the applications that can benefit most from them, restricting each core to a number of logical cache ways. However, although overall performance is increased, existing schemes fail to consider energy saving when making their partitioning decisions. This paper presents Cooperative Partitioning, a runtime partitioning scheme that reduces both dynamic and static energy while maintaining high performance. It works by enforcing cached data to be way-aligned, so that a way is owned by a single core at any time. Cores cooperate with each other to migrate ways between themselves after partitioning decisions have been made. Upon access to the cache, a core needs only to consult the ways that it owns to find its data, saving dynamic energy. Unused ways can be power-gated for static energy saving. We evaluate our approach on two-core and four-core systems, showing that we obtain average dynamic and static energy savings of 35% and 25% compared to a fixed partitioning scheme. In addition, Cooperative Partitioning maintains high performance while transferring ways five times faster than an existing state-of-the-art technique. Karthik T. Sundararajan, Vasileios Porpodas, Timothy M. Jones 0001, Nigel P. Topham, Björn Franke |
HPCA | 4 |
| 2012 | Efficiently parallelizing instruction set simulation of embedded multi-core processors using region-based just-in-time dynamic binary translationabstractEmbedded systems, as typified by modern mobile phones, are already seeing a drive toward using multi-core processors. The number of cores will likely increase rapidly in the future. Engineers and researchers need to be able to simulate systems, as they are expected to be in a few generations time, running simulations of many-core devices on today's multi-core machines. These requirements place heavy demands on the scalability of simulation engines, the fastest of which have typically evolved from just-in-time (Jit) dynamic binary translators (Dbt). Stephen C. Kyle, Igor Böhm, Björn Franke, Hugh Leather, Nigel P. Topham |
LCTES | 5 |
| 2011 | Virtual Manycore platforms: Moving towards 100+ processor coresabstractThe evolution to Manycore platforms is real, both in the High-Performance Computing domain and in embedded systems. If we start with ten or more cores, we can see the evolution to many tens of cores and to platforms with 100 or more occurring in the next few years. These platforms are heterogeneous, homogeneous, or a mixture of subsystems of both types, both relatively generic and quite application-specific. They are applied to many different application areas. When we consider the design, verification, software development and debugging requirements for applications on these platforms, the need for virtual platform technologies for Manycore systems grows quickly as the systems evolve. As we move to Manycore, the key issue is simulation speed, and trying to keep pace with the target complexity using host-based simulation is a major challenge. New Instruction Set Simulation technologies, such as compiled, JIT, DBT, sampling, abstract, hybrid and parallel have all emerged in the last few years to match the growth in complexity and requirements. At the same time, we have seen consolidation in the virtual platform industrial sector, leading to some concerns about whether the market can support the required continued development of innovations to give the needed performance. This special session deals with Manycore virtual platforms from several different perspectives, highlighting new research approaches for high speed simulation, tool and IP marketing opportunities, as well as real life virtual platform needs of industrial end users. Rainer Leupers, Lieven Eeckhout, Grant Martin, Frank Schirrmeister, Nigel P. Topham, Xiaotao Chen |
DATE | 5 |
| 2011 | Generalized just-in-time trace compilation using a parallel task farm in a dynamic binary translatorabstractDynamic Binary Translation (DBT) is the key technology behind cross-platform virtualization and allows software compiled for one Instruction Set Architecture (ISA) to be executed on a processor supporting a different ISA. Under the hood, DBT is typically implemented using Just-In-Time (JIT) compilation of frequently executed program regions, also called traces. The main challenge is translating frequently executed program regions as fast as possible into highly efficient native code. As time for JIT compilation adds to the overall execution time, the JIT compiler is often decoupled and operates in a separate thread independent from the main simulation loop to reduce the overhead of JIT compilation. In this paper we present two innovative contributions. The first contribution is a generalized trace compilation approach that considers all frequently executed paths in a program for JIT compilation, as opposed to previous approaches where trace compilation is restricted to paths through loops. The second contribution reduces JIT compilation cost by compiling several hot traces in a concurrent task farm. Altogether we combine generalized light-weight tracing, large translation units, parallel JIT compilation and dynamic work scheduling to ensure timely and efficient processing of hot traces. We have evaluated our industry-strength, LLVM-based parallel DBT implementing the ARCompact ISA against three benchmark suites (EEMBC, BioPerf and SPEC CPU2006) and demonstrate speedups of up to 2.08 on a standard quad-core Intel Xeon machine. Across short- and long-running benchmarks our scheme is robust and never results in a slowdown. In fact, using four processors total execution time can be reduced by on average 11.5% over state-of-the-art decoupled, parallel (or asynchronous) JIT compilation. Igor Böhm, Tobias J. K. Edler von Koch, Stephen C. Kyle, Björn Franke, Nigel P. Topham |
PLDI | 5 |
| 2009 | High Speed CPU Simulation Using LTU Dynamic Binary Translation
Daniel Jones 0005, Nigel P. Topham |
HiPEAC | 2 |
| 2009 | Design-Space Exploration of Resource-Sharing Solutions for Custom Instruction Set ExtensionsabstractCustomized processor performance generally increases as additional custom instructions are added. However, performance is not the only metric that modern systems must take into account; die area and energy efficiency are equally important. Resource sharing during synthesis of instruction set extensions (ISEs) can significantly reduce the die area and energy consumption of a customized processor. This may increase the number of custom instructions that can be synthesized with a given area budget. Resource sharing involves combining the graph representations of two or more ISEs which contain a similar subgraph. This coupling of multiple subgraphs, if performed naively, can increase the latency of the extension instructions considerably, and yet, as we show in this paper, an appropriate level of resource sharing provides a significantly simpler design with modest increases in average latency for ISEs. Our main contributions are the introduction of a parametric method for exploring the tradeoffs that can be achieved between instruction latency and implementation complexity, and the coupling of design-space exploration with fast area-delay models for the operators comprising each ISE. We present experimental evidence that our heuristic exposes a broad range of design points, allowing advantageous tradeoffs between die area and latency to be found and exploited. Marcela Zuluaga, Nigel P. Topham |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 2 |
| 2009 | Code transformation and instruction set extensionabstractThe demand for flexible embedded solutions and short time-to-market has led to the development of extensible processors that allow for customization through user-defined instruction set extensions (ISEs). These are usually identified from plain C sources. In this article, we propose a combined exploration of code transformations and ISE identification. The resulting performance of such a combination has been measured on two benchmark suites. Our results demonstrate that combined code transformations and ISEs can yield average performance improvements of 49%. This outperforms ISEs when applied in isolation, and in extreme cases yields a speed-up of 2.85. Alastair Colin Murray, Richard Vincent Bennett, Björn Franke, Nigel P. Topham |
ACM Trans. Embed. Comput. Syst. | 4 |
| 2007 | Combining source-to-source transformations and processor instruction set extensions for the automated design-space exploration of embedded systemsabstractIndustry's demand for flexible embedded solutions providing high performance and short time-to-market has led to the development of configurable and extensible processors. These pre-verified application-specific processors build on proven baseline cores while allowing for some degree of customization through user-defined instruction set extensions (ISE) implemented as functional units in an extended micro-architecture. The traditional design flow for ISE is based on plain C sources of the target application and, after some ISE identification and synthesis stages, a modified source file is produced with explicit handles to the new machine instructions. Further code optimization is left to the compiler. In this paper we develop a novel approach, namely the combined exploration of source-level transformations and ISE identification. We have combined automated code transformation and ISE generators to explore the potential benefits of such a combination. This applies up to 50 transformations from a selection of 70, and synthesizes ISEs for the resulting code. The resulting performance has been measured on 26 applications from the SNU-RT and UTDSP benchmarks. We show that the instruction extensions generated by automated tools are heavily influenced by source code structure. Our results demonstrate that a combination of source-level transformations and instruction set extensions can yield average performance improvements of 47%. This out performs instruction set extensions when applied in isolation, and in extreme cases yields a speedup of 2.85. Richard Vincent Bennett, Alastair Colin Murray, Björn Franke, Nigel P. Topham |
LCTES | 4 |
| 2003 | High performance IDCT realization using complex arithmeticabstractWe describe a high performance IDCT realization using complex arithmetic. The algorithm is based on novel factorization of the IDCT designed to exploit the complex multiplication capability provided by the OneDSP processor. We show a very efficient loop schedule implementing an 8-point IDCT in 9 cycles in each cluster. A single cluster OneDSP processor running at 300 MHz is capable of decoding MPEG2 bit-streams at ATSC resolutions. Error analysis of the algorithm based on IEEE 1180 compliance testing is presented. Kar-Lik Wong, Nigel P. Topham |
ICASSP (2) | 2 |
| 2002 | OneDSP: A unifying DSP architecture for Systems-on-a-ChipabstractSiroyan develops and licenses DSP cores and related software development tools. Its first architecture, the OneDSP, disclosed in October 2001, is a unifying digital signal processor architecture designed from scratch for the high performance and flexibility demanded by next generation System-on-a-Chip (SoC) designs. Its configurable, clustered VLIW architecture optimizes hardware resources to exploit the instruction level parallelism (ILP) that exists in DSP applications. The industrial-strength tool-chain ease porting application and SoC integration. Using a parallel FFT algorithm as an example, we demonstrate that the performance of OneDSP can scale linearly with increasing number of clusters. Benchmark figures are included to show the highly competitive performance of the architecture. Kar-Lik Wong, Nigel P. Topham |
ICASSP | 2 |
| 2000 | Multiple-banked register file architecturesabstractThe register file access time is one of the critical delays in current superscalar processors. Its impact on processor performance is likely to increase in future processor generations, as they are expected to increase the issue width (which implies more register ports) and the size of the instruction window (which implies more registers), and to use some kind of multithreading. Under this scenario, the register file access time could be a dominant delay and a pipelined implementation would be desirable to allow for high clock rates. José-Lorenzo Cruz, Antonio González 0001, Mateo Valero, Nigel P. Topham |
ISCA | 4 |
| 1999 | Distributed Modulo SchedulingabstractWide-issue ILP machines can be built using the VLIW approach as many of the hardware complexities found in superscalar processors can be transferred to the compiler. However, the scalability of VLIW architectures is still constrained by the size and number of ports of the register file required by a large number of functional units. Organizations composed of clusters of a few functional units and small private register files have been proposed to deal with this problem; an approach highly dependent on scheduling and partitioning strategies. The paper presents DMS, an algorithm that integrates modulo scheduling and code partitioning in a single procedure. Experimental results have shown that the algorithm is effective for configurations up to 8 clusters, or even more when targeting vectorizable loops. Marcio Merino Fernandes, Josep Llosa, Nigel P. Topham |
HPCA | 3 |
| 1999 | Randomized Cache Placement for Eliminating ConflictsabstractApplications with regular patterns of memory access can experience high levels of cache conflict misses. In shared-memory multiprocessors conflict misses can be increased significantly by the data transpositions required for parallelization. Techniques such as blocking which are introduced within a single thread to improve locality, can result in yet more conflict misses. The tension between minimizing cache conflicts and the other transformations needed for efficient parallelization leads to complex optimization problems for parallelizing compilers. This paper shows how the introduction of a pseudorandom element into the cache index function can effectively eliminate repetitive conflict misses and produce a cache where miss ratio depends solely on working set behavior. We examine the impact of pseudorandom cache indexing on processor cycle times and present practical solutions to some of the major implementation issues for this type of cache. Our conclusions are supported by simulations of a superscalar out-of-order processor executing the SPEC95 benchmarks, as well as from cache simulations of individual loop kernels to illustrate specific effects. We present measurements of instructions committed per cycle (IPC) when comparing the performance of different cache architectures on whole-program benchmarks such as the SPEC95 suite. Nigel P. Topham, Antonio González 0001 |
IEEE Trans. Computers | 1 |
| 1997 | Allocating Lifetimes to Queues in Software Pipelined Architectures
Marcio Merino Fernandes, Josep Llosa, Nigel P. Topham |
Euro-Par | 3 |
| 1997 | A Limitation Study into Access Decoupling
Graham P. Jones, Nigel P. Topham |
Euro-Par | 2 |
| 1997 | Eliminating Cache Conflict Misses through XOR-Based Placement FunctionsabstractThis paper makes the case for the use of XOR-based placement functions for cache memories. It shows that these XOR-mapping schemes can eliminate many conflict misses for direct-mapped and victim caches and practically all of them for (pseudo) two-way associative organizations. The paper evaluates the performance of XOR-mapping schemes for a number of different cache organizations: direct-mapped, set-associative, victim, hash-rehash, column-associative and skewed-associative. It also proposes novel replacement policies for some of these cache organizations. In particular, it presents a low-cost implementation of a LRU replacement policy which demonstrates a significant improvement over the pseudo-LRU replacement previously proposed. The paper shows that for a 8 Kbyte data cache, XOR-mapping schemes approximately halve the miss ratio for two-way associative and column-associative organizations. Skewed-associative caches, which already make use of XOR-mapping functions, can benefit from the LRU replacement and also from the use of more sophisticated mapping functions. For two-way associative, columnassociative and two-way skewed-associative organizations, XORmapping schemes achieve a miss ratio that is not higher than 1.10 times that of a fully-associative cache. XOR mapping schemes also provide a very significant reduction in the miss ratio for the other cache organizations, including the direct-mapped cache. Ultimately, the conclusion of this study is that XOR-based placement functions unequivocally provide highly significant performance benefits to most cache organizations. Antonio González 0001, Mateo Valero, Nigel P. Topham, Joan-Manuel Parcerisa |
International Conference on Supercomputing | 3 |
| 1997 | A Comparison of Data Prefetching on an Access Decoupled and Superscalar MachineabstractWe investigate the behavior of data prefetching on an access decoupled machine and a superscalar machine. We assess if there are benefits to using the decoupling paradigm given that an out-of-order (o-o-o) superscalar architecture could in principle prefetch to the same degree as an access decoupled machine. We have found that for large issue width the access decoupled machine can hide memory latency more effectively than a single instruction window o-o-o superscalar architecture. Our findings also demonstrate that an access decoupled machine offers the benefit of reducing the complexity of window issue logic. Graham P. Jones, Nigel P. Topham |
MICRO | 2 |
| 1997 | The Design and Performance of a Conflict-Avoiding CacheabstractHigh performance architectures depend heavily on efficient multi-level memory hierarchies to minimize the cost of accessing data. This dependence will increase with the expected increases in relative distance to main memory. There have been a number of published proposals for cache conflict-avoidance schemes. We investigate the design and performance of conflict-avoiding cache architectures based on polynomial modulus functions, which earlier research has shown to be highly effective at reducing conflict miss ratios. We examine a number of practical implementation issues and present experimental evidence to support the claim that pseudo-randomly indexed caches are both effective in performance terms and practical from an implementation viewpoint. Nigel P. Topham, Antonio González 0001, José González 0002 |
MICRO | 1 |
| 1995 | Compiling and Optimizing for Decoupled ArchitecturesabstractDecoupled architectures provide a key to the problem of sustained supercomputer performance through their ability to hide large memory latencies. When a program executes in a decoupled mode the perceived memory latency at the processor is zero; effectively the entire physical memory has an access time equivalent to the processor's register file, and latency is completely hidden. However, the asynchronous functional units within a decoupled architecture must occasionally synchronize, incurring a high penalty. The goal of compiling and optimizing for decoupled architectures is to partition the program between the asynchronous functional units in such a way that latencies are hidden but synchronization events are executed infrequently. This paper describes a model for decoupled compilation, and explains the effectiveness of compilation for decoupled systems. A number of new compiler optimizations are introduced and evaluated quantitatively using the Perfect Club scientific benchmarks. We show that with a suitable repertoire of optimizations, it is possible to hide large latencies most of the time for most of the programs in the Perfect Club. Nigel P. Topham, Alasdair Rawsthorne, Callum McLean, Muriel Mewissen, Peter L. Bird |
SC | 1 |
| 1995 | An Assessment of Assignment Schemes for Dependency Graphs
Sathiamoorthy Manoharan, Nigel P. Topham |
Parallel Comput. | 2 |
| 1993 | The Effectiveness of DecouplingabstractThis paper examines the effectiveness of decoupling as an optimization technique for high-performance computer architectures. Decoupled access execute architectures are described, and the concept of control decoupling is introduced and justified. A description of a highly-decoupled architecture is given, and a metric for the effectiveness of decoupling on particular programs, the Loss of Decoupling frequency is introduced. Finally, a number of real benchmark programs are examined and the applicability of decoupling them is analyzed. Peter L. Bird, Alasdair Rawsthorne, Nigel P. Topham |
International Conference on Supercomputing | 3 |
| 1990 | A general bound on schedule length for independent tasks
Sathiamoorthy Manoharan, Nigel P. Topham |
Parallel Comput. | 2 |
| 1988 | Context flow: An alternative to conventional pipelined architectures
Nigel P. Topham, Amos Omondi, Roland N. Ibbett |
J. Supercomput. | 1 |
| 1988 | On the design and performance of conventional pipelined architectures
Nigel P. Topham, Amos Omondi, Roland N. Ibbett |
J. Supercomput. | 1 |
| 1985 | MU6V: A Parallel Vector Processing SystemabstractMU6V is a parallel vector processing system in which a linear set of processors, each capable of both vector and scalar operations, is interconnected by a common communication highway.Memory is fully distributed among the processors and interprocessor communication occurs by means of global broadcasts controlled in hardware by a data driven synchronization mechanism.A prototype model based on 68000 microprocessors, in which vector orders are emulated as "extracodes", has been constructed.A host machine provides a software support environment and a run-time system in the prototype provides diagnostic information.Programming language features have been designed to exploit this configuration and an example algorithm is presented. Roland N. Ibbett, P. C. Capon, Nigel P. Topham |
ISCA | 3 |