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

Jack Whitham

dblp:87/2352 · DBLP profile ↗
← Back
13ranked-venue papers
13as first author
0since 2021 · last 2014
—ORCID · none

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

Systems, architecture and hardware · 5 · 5 first-authorApplied, interdisciplinary, general and emerging computing · 4 · 4 first-author

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
4 papers
Embedded and real-time systems · 38% Processor architecture and microarchitecture · 24% Memory systems · 18%

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

TopicWeightPapersLastEvidence papers
Embedded and real-time systems
real-time scheduling
0.232012
Investigation of Scratchpad Memory for Preemptive Multitasking · RTSS 2012
Predictable Out-of-Order Execution Using Virtual Traces · RTSS 2008
MCGREP - A Predictable Architecture for Embedded Real-Time Systems · RTSS 2006
Memory systems › on-chip memory
scratchpad memory
0.112012
Investigation of Scratchpad Memory for Preemptive Multitasking · RTSS 2012
Embedded and real-time systems
worst-case execution time analysis
0.122008
Predictable Out-of-Order Execution Using Virtual Traces · RTSS 2008
MCGREP - A Predictable Architecture for Embedded Real-Time Systems · RTSS 2006
Parallel and multicore computing
deterministic execution
0.112008
Predictable Out-of-Order Execution Using Virtual Traces · RTSS 2008
Processor architecture and microarchitecture
out-of-order execution
0.112008
Predictable Out-of-Order Execution Using Virtual Traces · RTSS 2008
Processor architecture and microarchitecture
instruction set architecture
0.112006
MCGREP - A Predictable Architecture for Embedded Real-Time Systems · RTSS 2006
Processor architecture and microarchitecture › microprogramming
microprogrammed architecture
0.112006
MCGREP - A Predictable Architecture for Embedded Real-Time Systems · RTSS 2006
Reconfigurable computing and FPGAs › FPGA-based processor implementation
soft-core processor
0.112006
MCGREP - A Predictable Architecture for Embedded Real-Time Systems · RTSS 2006
Memory systems
cache
0.012012
Investigation of Scratchpad Memory for Preemptive Multitasking · RTSS 2012
Embedded and real-time systems › real-time scheduling › worst-case analysis
cache-related preemption delay
0.012012
Investigation of Scratchpad Memory for Preemptive Multitasking · RTSS 2012
Processor architecture and microarchitecture › superscalar processor
superscalar out-of-order processor
0.012010
Time-Predictable Out-of-Order Execution for Hard Real-Time Systems · IEEE Trans. Computers 2010
Performance modeling and evaluation › simulation
architectural simulation
0.012008
Predictable Out-of-Order Execution Using Virtual Traces · RTSS 2008
Performance modeling and evaluation
simulation
0.012008
Predictable Out-of-Order Execution Using Virtual Traces · RTSS 2008

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

worst-case response time analysis · 0.1schedulability analysis · 0.1WCET analysis · 0.1M5 O3 CPU simulator · 0.1virtual trace controller · 0.1simulation · 0.1microprogramming · 0.1FPGA implementation · 0.1
YearPublicationVenuePosition
2014 WCET-Based Comparison of an Instruction Scratchpad and a Method Cache
abstract
This paper compares two proposed alternatives to conventional instruction caches: a scratchpad memory (SPM) and a method cache. The comparison considers the true worst-case execution time (WCET) and the estimated WCET bound of programs using either an SPM or a method cache, using large numbers of randomly generated programs. For these programs, we find that a method cache is preferable to an SPM if the true WCET is used, because it leads to execution times that are no greater than those for SPM, and are often lower. However, we also find that analytical pessimism is a significant problem for a method cache. If WCET bounds are derived by analysis, the WCET bounds for an instruction SPM are often lower than the bounds for a method cache. This means that an SPM may be preferable in practical systems.
Jack Whitham, Martin Schoeberl
ISORC1
2014 Explicit reservation of cache memory in a predictable, preemptive multitasking real-time system
abstract
We describe and evaluate explicit reservation of cache memory to reduce the cache-related preemption delay (CRPD) observed when tasks share a cache in a preemptive multitasking hard real-time system. We demonstrate the approach using measurements obtained from a hardware prototype, and present schedulability analyses for systems that share a cache by explicit reservation. These analyses form the basis for a series of experiments to further evaluate the approach. We find that explicit reservation is most useful for larger task sets with high utilization. Some task sets cannot be scheduled with a conventional cache, but are schedulable with explicit reservation.
Jack Whitham, Neil C. Audsley, Robert I. Davis 0001
ACM Trans. Embed. Comput. Syst.1
2012 Optimal Program Partitioning for Predictable Performance
abstract
Scratchpad memory (SPM) provides a predictable and energy efficient way to store program instructions and data. It would be ideal for embedded real-time systems if not for the practical difficulty that most programs have to be modified in source or binary form in order to use it effectively. This modification process is called partitioning, and it splits a large program into sub-units called regions that are small enough to be stored in SPM. Earlier papers on this subject have only considered regions formed around program structures, such as loops, methods and even entire tasks. Region formation and SPM allocation are performed in two separate steps. This is an approximation that does not make best use of SPM. In this paper, we propose a k-partitioning algorithm as a new way to solve the problem. This allows us to carry out region formation and SPM allocation simultaneously. We can generate optimal partitions for programs expressed either as call trees or by a restricted form of control-flow graph (CFG). We show that this approach obtains superior results to the previous two-step approach. We apply our algorithm to various programs and SPM sizes and show that it reduces the execution time cost for executing those programs relative to execution with cache.
Jack Whitham, Neil C. Audsley
ECRTS1
2012 Explicit Reservation of Local Memory in a Predictable, Preemptive Multitasking Real-Time System
abstract
This paper proposes Carousel, a mechanism to manage local memory space, i.e. cache or scratch pad memory (SPM), such that inter-task interference is completely eliminated. The cost of saving and restoring the local memory state across context switches is explicitly handled by the preempting task, rather than being imposed implicitly on preempted tasks. Unlike earlier attempts to eliminate inter-task interference, Carousel allows each task to use as much local memory space as it requires, permitting the approach to scale to large numbers of tasks. Carousel is experimentally evaluated using a simulator. We demonstrate that preemption has no effect on task execution times, and that the Carousel technique compares well to the conventional approach to handling interference, where worst-case interference costs are simply added to the worst-case execution times (WCETs) of lower-priority tasks.
Jack Whitham, Neil C. Audsley
IEEE Real-Time and Embedded Technology and Applications Symposium1
2012 Investigation of Scratchpad Memory for Preemptive Multitasking
abstract
We present a multitasking scratchpad memory reuse scheme (MSRS) for the dynamic partitioning of scratchpad memory between tasks in a preemptive multitasking system. We specify a means to compute the worst-case response time (WCRT) and schedulability of task sets executed using MSRS. Our scratchpad-related preemption delay (SRPD) is an analog of cache-related preemption delay (CRPD), proposed in previous work as a way to compute the worst-case cost imposed upon a preempted task by preemption in a multitasking system. Unlike CRPD, however, SRPD is independent of the number of tasks and the local memory size. We compare SRPD with CRPD by experiment and determine that neither dominates the other, i.e. either may be better for certain task sets. However, MSRS leads to improved schedulability versus cache when contention for local memory space is high, either because the local memory size is small, or because the task set is large, provided that the cost of loading blocks from external memory to scratchpad is similar to the cost of loading blocks into cache.
Jack Whitham, Robert I. Davis 0001, Neil C. Audsley, Sebastian Altmeyer, Claire Maïza
RTSS1
2010 Investigating Average versus Worst-Case Timing Behavior of Data Caches and Data Scratchpads
abstract
This paper shows that a program using a time-predictable memory system for data storage can achieve a similar worst-case execution time (WCET) to the average-case execution time (ACET) using a conventional heuristic-based memory system including a data cache. This result is useful within any embedded system where time-predictability and performance are both important, particularly hard real-time systems carrying out intensive data processing activities. It is a counter-example to the conventional wisdom that time-predictable means “slow” in comparison to ACET-focused heuristics. To carry out the investigation, 36 “memory access models” are derived from benchmark programs and assumed to be representative of typical code. The models generate LOAD/STORE instructions to exercise a data cache or scratchpad memory management unit (SMMU). The ACET is determined for the data cache and the WCET is determined for the SMMU. After improvements are applied, results show that the SMMU WCET is within 5% of the data cache ACET for 34 models. In 16 of 36 cases, the SMMU WCET is better than the data cache ACET.
Jack Whitham, Neil C. Audsley
ECRTS1
2010 Studying the Applicability of the Scratchpad Memory Management Unit
abstract
A combination of a scratchpad and scratchpad memory management unit (SMMU) has been proposed as a way to implement fast and time-predictable memory access operations in programs that use dynamic data structures. A memory access operation is time-predictable if its execution time is known or bounded-this is important within a hard real-time task so that the worst-case execution time (WCET) can be determined. However, the requirement for time-predictability does not remove the conventional requirement for efficiency: operations must be serviced as quickly as possible under worst-case conditions. This paper studies the capabilities of the SMMU when applied to a number of benchmark programs. A new allocation algorithm is proposed to dynamically manage the scratchpad space. In many cases,the SMMU vastly reduces the number of accesses to dynamic data structures stored in external memory along the worst-case execution path (WCEP). Across all the benchmarks,an average of 47% of accesses are rerouted to scratchpad, with nearly 100% for some programs. In previous scratchpad-based work, time-predictability could only be assured for these operations using external memory.The paper also examines situations in which the SMMU does not perform so well, and discusses how these could be addressed.
Jack Whitham, Neil C. Audsley
IEEE Real-Time and Embedded Technology and Applications Symposium1
2010 Time-Predictable Out-of-Order Execution for Hard Real-Time Systems
abstract
Superscalar out-of-order CPU designs can achieve higher performance than simpler in-order designs through exploitation of instruction-level parallelism in software. However, these CPU designs are often considered to be unsuitable for hard real-time systems because of the difficulty of guaranteeing the worst-case execution time (WCET) of software. This paper proposes and evaluates modifications for a superscalar out-of-order CPU core to allow instruction-level parallelism to be exploited without sacrificing time predictability and support for WCET analysis. Experiments using the M5 O3 CPU simulator show that WCETs can be two-four times smaller than those obtained using an idealized in-order CPU design, as instruction-level parallelism is exploited without compromising timing safety.
Jack Whitham, Neil C. Audsley
IEEE Trans. Computers1
2009 Implementing time-predictable load and store operations
abstract
Scratchpads have been widely proposed as an alternative to caches for embedded systems. Advantages of scratchpads include reduced energy consumption in comparison to a cache and access latencies that are independent of the preceding memory access pattern. The latter property makes memory accesses time-predictable, which is useful for hard real-time tasks as the worst-case execution time (WCET) must be safely estimated in order to check that the system will meet timing requirements.
Jack Whitham, Neil C. Audsley
EMSOFT1
2008 Using Trace Scratchpads to Reduce Execution Times in Predictable Real-Time Architectures
abstract
Instruction scratchpads have been previously suggested as a way to reduce the worst case execution time (WCET) of hard real-time programs without introducing the analysis issues posed by caches. Trace scratchpads extend this paradigm with support for instruction level parallelism (ILP) while preserving simplicity of WCET analysis. In this paper, we demonstrate trace scratchpads using the MCGREP-2 CPU architecture. We provide a sample algorithm to automatically reduce the WCET of a program using a trace scratchpad, and compare the results with the use of an instruction scratchpad. We find that the two types of scratchpad are best used together. Instruction scratchpads provide excellent WCET improvements at low cost, but trace scratchpads reduce WCET further by optimizing worst case (WC) paths and exploiting ILP across basic block boundaries. Using our experimental implementation, we have observed WCET improvements over an instruction scratchpad of up to 149% with some Malardalen WCET benchmarks.
Jack Whitham, Neil C. Audsley
IEEE Real-Time and Embedded Technology and Applications Symposium1
2008 Forming Virtual Traces for WCET Analysis and Reduction
abstract
It is notoriously difficult to model superscalar out-of-order CPUs for the purposes of worst-case execution time (WCET) analysis, which can force the use of simpler CPUs in hard real-time systems. To address this problem, it has been suggested that traces could be used to capture the timing properties of a complex CPU operation scheduler as it runs a sequence of basic blocks. In previous work, traces have been implemented using application-specific microcode. This paper proposes restrictions to a dynamic superscalar out-of-order CPU to implement virtual traces. These have the same timing properties as the traces in previous work, but microcode is not used. Instead, CPU modifications implement the same functionality. This allows traces to be used throughout a program because space requirements are minimal. To take advantage of this, a new allocation algorithm is proposed and evaluated for virtual traces.
Jack Whitham, Neil C. Audsley
RTCSA1
2008 Predictable Out-of-Order Execution Using Virtual Traces
abstract
The problem of worst-case execution time (WCET) analysis of complex CPUs is addressed in this paper using a proposed architectural modification. The virtual trace controller (VTC) constrains execution to follow only the paths that have been considered by the WCETanalysis model, allowing the WCET to be determined safely by measurement. Each path has a constant execution time regardless of CPU complexity because the VTC enforces predictable operation.This paper evaluates the VTC using benchmark programs and the M5 simulator.The results show that guaranteed throughput is increased for many programs using the constrained CPU model versus an idealized in-order design, indicating that the VTC can make complex CPU designs operate predictably without reducing throughputto the level of a simple CPU design. Additional results providemore information about the implications of each of the VTC features.Of all the restrictions introduced for predictability,disabling memory forwarding has the greatest effect on the maximum throughput, although conditional branches can also be significant. This paper suggests ways to improve the VTC to increase the guaranteed throughput.
Jack Whitham, Neil C. Audsley
RTSS1
2006 MCGREP - A Predictable Architecture for Embedded Real-Time Systems
abstract
Real-time systems design involves many important choices, including that of the processor. The fastest processors achieve performance by utilizing architectural features that make them unpredictable, leading to difficulties proving offline that application process deadlines will be met, in the worst-case. Utilizing slower, more predictable processors, may not provide sufficient instruction throughput to execute all required application processes. This exposes a key trade-off in processor selection for real-time systems: predictability versus instruction throughput. This paper proposes MCGREP, a novel CPU architecture that combines predictability, high instruction throughput and flexibility. MCGREP is entirely microprogrammed, with multiple execution units. Basic operation involves implementation of a conventional set of CPU instructions in microcode - MCGREP then executes object code suitably compiled. Advanced operation allows the application to dynamically load new microcode, enabling new application specific instructions to increase overall performance. MCGREP is implemented upon reconfigurable logic (FPGA) - an increasingly important platform for the embedded RTS. Custom microcode configurations for new instructions are generated from C source. MCGREP is shown to have performance comparable to two popular FPGA softcore CPUs (OpenRISC and Microblaze, the latter a commercial product). Flexibility is demonstrated by implementing an existing instruction set (OpenRISC) in microcode, with application-specific instructions to improve overall performance. As a further demonstration, predictable two-level interrupt and synchronization mechanisms are programmed in microcode
Jack Whitham, Neil C. Audsley
RTSS1