SlideShare a Scribd company logo
1 of 5
Download to read offline
Benchmarking I/O response speed of microprocessors
Goncalo Martins
University of Denver
Goncalo.Martins@du.edu
Andrew Stanford-Jason
XMOS Ltd.
andrew@xmos.com
David Lacey
XMOS Ltd.
davel@xmos.com
ABSTRACT
This paper describes a method for comparing the I/O re-
sponsiveness of microprocessors with programmable input
and output functionality. This addresses the need for bench-
marks for real-time systems that measure critical properties
for system design that are not currently handled by tradi-
tional performance benchmarks.
The benchmarks are tested against three different micro-
processor architectures: ARM, PIC and XMOS. The results
of the benchmarks are presented and analyzed to show how
they can inform real-time system designers.
Categories and Subject Descriptors
H.4 [Information Systems Applications]: Miscellaneous;
D.2.8 [Software Engineering]: Metrics—complexity mea-
sures, performance measures
Keywords
benchmarking, real-time, performance
1. INTRODUCTION
Real-time systems [4, 5] are systems whose functionality de-
pend on performing computations within known deadlines.
Such systems are common in embedded environments. Of-
ten real-time systems are split into hard and soft real time;
hard real-time systems have catastrophic failure if a dead-
line is not met to whereas soft real-time systems do not have
catastrophic failure but do suffer quality loss if deadlines are
not met.
The need to adhere to such deadlines makes particular de-
mands of the architecture on which a real-time system is
implemented. If the architecture itself is not well suited to
this type of programming the developer may have to ac-
commodate this is some way such as over-provisioning (i.e.
requiring a much faster processor than is needed on average
to make the worst case), accepting the failure and imple-
menting special “recovery” methods when things go wrong,
or even implementing the most challenging real-time part of
the system directly in hardware.
Many existing benchmarking methods are relevant to real-
time system designers. The accuracy, throughput perfor-
mance and reliability of such systems affects the quality of
the final application. However, the differentiating feature of
a real-time system (that tasks must be completed by certain
deadlines) is not particularly well represented by traditional
benchmarking techniques.
Complete application benchmarks would be one way to ad-
dress real-time system benchmarking but complete real-time
applications are generally hard to port from one system to
another, so pragmatically this method is not well suited to
comparing different architectures and systems. Even appli-
cation kernels can be quite large with complex implementa-
tions.
Another option is micro-benchmarking i.e. benchmarking
the fundamental operations involved in real-time systems.
For example, the Thread Metric benchmark suite [3] pro-
vides a micro-benchmarking framework for the common op-
erations of real-time operating systems. These provide a use-
ful data point for system designers but are slightly removed
from application requirements and only cover systems using
a real-time operating system.
This paper takes a different approach to try and characterize
a single, but key, property of real-time systems: the speed at
which a system can respond to an external stimulus. Fur-
thermore, it tries to characterize how this property varies
when the system is also performing many tasks that require
responsiveness.
While characterizing a single property will not tell a system
designer everything they need to now about a system, it is
the authors’ belief that this property reflects the potential
capability of a system for a range of real-time embedded
tasks.
2. METHOD
The key property that the benchmarks in this paper test is
the I/O response latency. This can be characterized rela-
tively simply:
The response latency of a system is the time it
takes the system to change an output signal in
response to a change in an input signal.
To measure this is relatively simple. The device under test
is connected to a measuring device through two wires: the
input wire contains the signal to be received by the device
under test and the output wire contains the signal to be
output by the device under test (see Figure 1).
Measuring
Device
Device
Under
Test
1-bit input signal
1-bit output signal
Figure 1: Test setup
The test consists of the measuring device creating a stimulus
by driving the input signal from low to high. At this point
the device under test should react and drive the output sig-
nal from low to high. The measuring device calculates the
time between the driving of the input signal and the change
in the output signal. The measuring device then drives the
input signal low again, the device under test drives the out-
put signal low and the test can be repeated. Figure 2 shows
the interaction of the two signals and the measured response
time.
Input
Signal
Output
Signal
Response
Time
Figure 2: Test signals and response time
The accuracy of the test depends on the accuracy of the
measuring device which will have a specific granularity and
accuracy of measuring time. For the specific tests reported
in this paper this is discussed in Section 2.5.
In addition to measuring response time, we wish to test how
the device under test works while doing multiple tasks. This
involves adding two extra dimensions to the test:
• The device under test should run a workload task that
performs processing in between the responses to the
external stimulus.
• The device under test should be tested for multiple
responses i.e. how it can respond to several input wires
in parallel.
When several responses are required, the inputs are all sig-
nalled at the same time and all times are measured between
this event and each output wire going high.
2.1 Implementation
The implementation on the device under test is required to
fulfil two requirements:
• Implement the required response behaviour for the test
setup described above (the characteristic task) to re-
spond to one or more input signals.
• Run a workload task concurrently with the character-
istic task.
Details of the workload task can be found in Section 2.2.
Due to variations in architecture and programming method
it is not always feasible to have the same source code across
different platforms. Therefore, in the tests presented here
the systems re-implement the same functionality in ways
that are natural to the architecture. The implementation
should follow these guidelines:
• The implementation cannot be the same across sys-
tems so should be implemented using the best method
for the architecture so long as it provides the same
external behavior.
• The implementation should attempt to be represen-
tative of standard real-time embedded programming
practices for that device.
• The implementation that responds to the input signal
must be part of the generally programmable logic of
the system.
• The characteristic tasks must be concurrent in the
sense that they could respond to the inputs occur-
ring at different times in an asynchronous manner and
could be extended to respond in different ways.
The guidelines try to ensure that the implementations are
such that the results of the testing can provide meaningful
guidance to programmers trying to evaluate how systems
are likely to perform in real applications.
The last guideline is to ensure a fair reflection of real appli-
cation tasks in the implementation even if the test harness
works in a specific synchronous manner (i.e. signals all in-
puts at the same time).
2.2 The workload task
The workload tasks model the idea that in a real application
the system will be doing many things at once. What the task
is and how it is implemented will depend on the system.
However, the workload task must represent a “fair” use of
all the major types of the systems resources (for example:
memory, functional units, I/O).
Overall, the functionality of the task itself is not that impor-
tant providing the above guidelines are adhered to. Gener-
ally a simple loop that performs some calculation and some
reads and writes from memory will suffice.
2.3 Performance normalization
The aim of this paper is to use the benchmarking to compare
system architectures rather than individual devices’ absolute
performance. Clearly, a device running at a higher clock rate
will generally run faster and is more likely to get a better
response latency. For the purpose of comparing architec-
tures, it is necessary to normalize the clock frequency of the
device.
There are two approaches to this: run every device under
test at the same clock frequency or normalize by dividing the
result by the clock frequency. The first approach is probably
a more realistic test but is not always possible due to the
oscillators and clocking capabilities on specific devices. In
the experiments presented here a dual approach was taken:
the clock speeds were chosen to be as close as possible to
each other and then a normalization factor was applied to
the results of each device.
2.4 Response time variation
The response time of a system may vary depending on sys-
tem state. The jitter of the response time is the extent of
this variation (i.e. the maximum observed response time
less the minimum observed response time).
A sensible benchmarking strategy is to run the test multiple
times and keep track of the average, minimum and maximum
response time. Since the workload tasks do not interact with
the outside world the main variation of system state will be
done to the relative timing of the input signal against the
current state of the implementation. As such it is vital that
the signal generator varies the timing of its stimulus creation
by random amounts that are not likely to be multiples of any
internal clocks of the device under test.
2.5 Setup and measurement
The systems were tested by using an XMOS XK-1A develop-
ment board as a measurement device. This device measures
time intervals with 10ns granularity to an accuracy of within
2.5ns.
Each system was tested by generating a signal change and
measuring the response time for 220
repetitions.
2.6 Systems Tested
Three systems were tested with the aim of comparing archi-
tectural variation. The ARM and XMOS systems were run
with a system clock frequency of 100MHz. The PIC was run
with a system clock of 40MHz and the results were scaled
up to normalize to 100MHz.
2.7 ARM
The ARM development system had the following properties:
Dev. Board BlueBoard LPC1768-H
Device LPC1768FBD100
Core ARM Cortex-M3
Dev. Tools Keil uVision 4.21
OS FreeRTOS 7.0.1
The characteristic task was implemented by mapping the
input signals to external interrupts which would interrupt
1 2 3 4
0
2000
4000
6000
8000
10000
12000
XMOS
ARM
PIC
Number of Responses
WorstCaseResponseTime(ns)
Figure 3: Worst case response times
the workload task.
2.8 PIC
The PIC development system had the following properties:
Dev. Board dsPICDEM Starter Board V2
Device dsPIC33FJ256
Dev. Tools MPLAB v8.80
OS FreeRTOS 7.0.1
The characteristic task was implemented by mapping the
input signals to external interrupts which would interrupt
the workload task.
2.9 XMOS
The XMOS development system had the following proper-
ties:
Dev. Board XMOS XC-1A
Device XS1-G4
Dev. Tools XMOS Development Tools 11.2.2
OS None
Both the characteristic and workload tasks were implemented
as hardware threads with the input signals reaction imple-
mented as port events using conditional input statements in
the XC programming langauge [2].
2.10 Benchmark Availability
All the software required to run the benchmarks is available
to download for free under an open source license [1].
3. RESULTS
3.1 Architecture comparisons
The raw data for all the experiments can be found in Ap-
pendix A.
Figure 3 shows the normalized maximum response latency of
the three architectures benchmarked as the number of real-
time tasks increase. This is the most relevant measurement
for hard real-time systems.
1 2 3 4
0
1000
2000
3000
4000
5000
6000
7000
XMOS
ARM
PIC
Number of Responses
AverageResponseTime(ns)
Figure 4: Average response times
The average response latency of the different architectures
are shown in Figure 4. This figure may be more relevant to
soft real-time systems.
The average response latency should only be viewed taking
into account the jitter of that response, that is, the spread
between minimum and maximum response time. Figures 5,
6 and 7 show this spread.
3.2 Analysis
Overall it is clear that the XMOS devices exhibit better
characteristics in terms of response latency for both soft and
hard real-time systems with both the average and, in par-
ticular, the worst case latency being significantly less than
the other architectures. This is perhaps unsurprising given
that the architecture is specifically designed for this type of
task. The difference can mainly be attributed to the fact
that on the XMOS architecture each response is handled by
a separate hardware thread which can respond to the input
signal without needing a context switch.
Both the ARM and PIC architectures implement the re-
sponse via interrupts (the lowest latency method available
on those systems) which require a context switch before re-
sponse. The concatenation of these context switches explain
the linear growth in response time given the number of re-
sponses needed.
Every attempt has been made to make the comparisons in
the previous section represent the best performing setups of
the different architectures given realistic assumptions about
how the processors would be used for real applications. How-
ever, there may be trade-offs designers can make that either
negatively affect the response latency or may improve it in
certain cases. On both the PIC and ARM chips one of the
key factors is the choice of operating system. In fact, these
benchmarks could be seen as characterising the combination
of both the architecture and the OS. Different combinations
will likely have different results. In some cases no OS will be
used at all and that is likely to improve the results (though
at the cost of having to hand craft the context switching,
1 2 3 4
0
2000
4000
6000
8000
10000
12000
Min
Avg
Max
Number of Responses
ResponseLatency(ns)
Figure 5: Spread of response times (ARM)
1 2 3 4
0
50
100
150
200
250
300
Min
Avg
Max
Number of Responses
ResponseLatency(ns)
Figure 6: Spread of response times (XMOS)
interrupt servicing and task scheduling within the system).
Even given the variations in results that these design trade-
offs can make it is the authors’ view that the architecture
comparison presented here is representative of what the var-
ious architectures can achieve.
4. CONCLUSION
The main contribution of this work is to propose a more
suitable metric and related benchmarking method to char-
acterize properties of interest to real-time system develop-
ers. The results of the benchmarks show that the response
latency of systems can vary significantly between architec-
tures and under different system loads; these results will be
useful to designers when initially designing a system. Of
course, in all these cases the response latency performances
needs to be balanced against other system requirements.
4.1 Future Work
1 2 3 4
0
2000
4000
6000
8000
10000
12000
Min
Avg
Max
Number of Responses
ResponseLatency(ns)
Figure 7: Spread of response times (PIC)
The results presented here only tracked the maximum, min-
imum and average response times. It would be useful to
extend the test harness to produce a distribution of results
to see, for example, how likely the maximum is to occur.
The tests were also limited in how many signals are handled
by the hardware of the devices tested. However, with more
work it would be possible to work around these limitations in
software for all the devices under test. This would probably
see a dramatic drop in performance past the hardware limit
(e.g. four fast interrupts on the ARM device) but the size
of that difference and the scaling properties past this limit
would be of interest to designers.
5. ACKNOWLEDGMENTS
The authors’ would like to thank Jon Ferguson, Mark Lip-
pett, Henk Muller and Douglas Watt for comments and con-
tributions to the work presented here.
6. REFERENCES
[1] I/O benchmark software repository.
http://github.com/xcore/sw io benchmarks.
[2] Douglas Watt. Programming XC on XMOS Devices.
Website, 2009. http://www.xmos.com/published/xcxs1.
[3] Express Logic, Inc. Measuring Real-Time Performance
of an RTOS.
http://rtos.com/PDFs/MeasuringRTOSPerformance.pdf.
[4] C. M. Krishna. Real-Time Systems. John Wiley &
Sons, Inc., 2001.
[5] J. W. S. W. Liu. Real-Time Systems. Prentice Hall
PTR, Upper Saddle River, NJ, USA, 1st edition, 2000.
APPENDIX
A. TEST DATA
In the following sections all results are in nanoseconds and
normalized to a 100MHz system clock.
A.1 ARM Tests
Responses Best Average Worst
1 690 739.47 4040
2 690 1495.40 5550
3 690 2426.56 7600
4 690 3542.61 10260
A.2 PIC Tests
Responses Best Average Worst
1 1976 2137.69 2196
2 1972 3396.78 4712
3 1976 4691.53 7340
4 1976 5967.98 9856
A.3 XMOS Tests
Responses Best Average Worst
1 160 185.01 210
2 160 190.13 220
3 170 191.94 220
4 160 209.21 250

More Related Content

What's hot

Concepts of Real time Systems (RTS)
Concepts of Real time Systems (RTS)Concepts of Real time Systems (RTS)
Concepts of Real time Systems (RTS)EngKarrarSMuttair
 
Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)
Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)
Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)Peter Tröger
 
Availability tactics
Availability tacticsAvailability tactics
Availability tacticsahsan riaz
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented TestingAMITJain879
 
Ch 5- Achieving Qualities
Ch 5- Achieving QualitiesCh 5- Achieving Qualities
Ch 5- Achieving QualitiesAsmat Zahra
 
Software Reliability Growth Model with Logistic- Exponential Testing-Effort F...
Software Reliability Growth Model with Logistic- Exponential Testing-Effort F...Software Reliability Growth Model with Logistic- Exponential Testing-Effort F...
Software Reliability Growth Model with Logistic- Exponential Testing-Effort F...IDES Editor
 
Metamorphic Security Testing for Web Systems
Metamorphic Security Testing for Web SystemsMetamorphic Security Testing for Web Systems
Metamorphic Security Testing for Web SystemsLionel Briand
 
Predicting system trustworthyness
Predicting system trustworthynessPredicting system trustworthyness
Predicting system trustworthynessSaransh Garg
 
Effektives Consulting - Performance Engineering
Effektives Consulting - Performance EngineeringEffektives Consulting - Performance Engineering
Effektives Consulting - Performance Engineeringhitdhits
 
Integration testing complete overview
Integration testing complete overviewIntegration testing complete overview
Integration testing complete overviewTestingXperts
 
An Industrial Case Study on the Automated Detection of Performance Regression...
An Industrial Case Study on the Automated Detection of Performance Regression...An Industrial Case Study on the Automated Detection of Performance Regression...
An Industrial Case Study on the Automated Detection of Performance Regression...SAIL_QU
 
Feature Selection Techniques for Software Fault Prediction (Summary)
Feature Selection Techniques for Software Fault Prediction (Summary)Feature Selection Techniques for Software Fault Prediction (Summary)
Feature Selection Techniques for Software Fault Prediction (Summary)SungdoGu
 
Developing Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software SystemsDeveloping Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software Systems James Hill
 
Integrating Adaptation Mechanisms Using Control Theory Centric Architecture M...
Integrating Adaptation Mechanisms Using Control Theory Centric Architecture M...Integrating Adaptation Mechanisms Using Control Theory Centric Architecture M...
Integrating Adaptation Mechanisms Using Control Theory Centric Architecture M...Filip Krikava
 
Model based test case prioritization using neural network classification
Model based test case prioritization using neural network classificationModel based test case prioritization using neural network classification
Model based test case prioritization using neural network classificationcseij
 

What's hot (20)

Concepts of Real time Systems (RTS)
Concepts of Real time Systems (RTS)Concepts of Real time Systems (RTS)
Concepts of Real time Systems (RTS)
 
Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)
Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)
Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)
 
Availability tactics
Availability tacticsAvailability tactics
Availability tactics
 
Bd36334337
Bd36334337Bd36334337
Bd36334337
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
Ch 5- Achieving Qualities
Ch 5- Achieving QualitiesCh 5- Achieving Qualities
Ch 5- Achieving Qualities
 
SRE Tools
SRE ToolsSRE Tools
SRE Tools
 
Software Reliability Growth Model with Logistic- Exponential Testing-Effort F...
Software Reliability Growth Model with Logistic- Exponential Testing-Effort F...Software Reliability Growth Model with Logistic- Exponential Testing-Effort F...
Software Reliability Growth Model with Logistic- Exponential Testing-Effort F...
 
Metamorphic Security Testing for Web Systems
Metamorphic Security Testing for Web SystemsMetamorphic Security Testing for Web Systems
Metamorphic Security Testing for Web Systems
 
Predicting system trustworthyness
Predicting system trustworthynessPredicting system trustworthyness
Predicting system trustworthyness
 
Effektives Consulting - Performance Engineering
Effektives Consulting - Performance EngineeringEffektives Consulting - Performance Engineering
Effektives Consulting - Performance Engineering
 
Integration testing complete overview
Integration testing complete overviewIntegration testing complete overview
Integration testing complete overview
 
An Industrial Case Study on the Automated Detection of Performance Regression...
An Industrial Case Study on the Automated Detection of Performance Regression...An Industrial Case Study on the Automated Detection of Performance Regression...
An Industrial Case Study on the Automated Detection of Performance Regression...
 
A03720106
A03720106A03720106
A03720106
 
Feature Selection Techniques for Software Fault Prediction (Summary)
Feature Selection Techniques for Software Fault Prediction (Summary)Feature Selection Techniques for Software Fault Prediction (Summary)
Feature Selection Techniques for Software Fault Prediction (Summary)
 
Developing Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software SystemsDeveloping Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software Systems
 
Ijsea04031006
Ijsea04031006Ijsea04031006
Ijsea04031006
 
Integrating Adaptation Mechanisms Using Control Theory Centric Architecture M...
Integrating Adaptation Mechanisms Using Control Theory Centric Architecture M...Integrating Adaptation Mechanisms Using Control Theory Centric Architecture M...
Integrating Adaptation Mechanisms Using Control Theory Centric Architecture M...
 
Model based test case prioritization using neural network classification
Model based test case prioritization using neural network classificationModel based test case prioritization using neural network classification
Model based test case prioritization using neural network classification
 
Real time system
Real time systemReal time system
Real time system
 

Similar to Benchmark methods to analyze embedded processors and systems

Integrating Fault Tolerant Scheme With Feedback Control Scheduling Algorithm ...
Integrating Fault Tolerant Scheme With Feedback Control Scheduling Algorithm ...Integrating Fault Tolerant Scheme With Feedback Control Scheduling Algorithm ...
Integrating Fault Tolerant Scheme With Feedback Control Scheduling Algorithm ...ijics
 
Integrating fault tolerant scheme with feedback control scheduling algorithm ...
Integrating fault tolerant scheme with feedback control scheduling algorithm ...Integrating fault tolerant scheme with feedback control scheduling algorithm ...
Integrating fault tolerant scheme with feedback control scheduling algorithm ...ijics
 
Runtime performance evaluation of embedded software
Runtime performance evaluation of embedded softwareRuntime performance evaluation of embedded software
Runtime performance evaluation of embedded softwareMr. Chanuwan
 
Runtimeperformanceevaluationofembeddedsoftware 100825224539-phpapp02
Runtimeperformanceevaluationofembeddedsoftware 100825224539-phpapp02Runtimeperformanceevaluationofembeddedsoftware 100825224539-phpapp02
Runtimeperformanceevaluationofembeddedsoftware 100825224539-phpapp02NNfamily
 
SE2_Lec 20_Software Testing
SE2_Lec 20_Software TestingSE2_Lec 20_Software Testing
SE2_Lec 20_Software TestingAmr E. Mohamed
 
A fault tolerant tokenbased atomic broadcast algorithm relying on responsive ...
A fault tolerant tokenbased atomic broadcast algorithm relying on responsive ...A fault tolerant tokenbased atomic broadcast algorithm relying on responsive ...
A fault tolerant tokenbased atomic broadcast algorithm relying on responsive ...Neelamani Samal
 
Ch20-Software Engineering 9
Ch20-Software Engineering 9Ch20-Software Engineering 9
Ch20-Software Engineering 9Ian Sommerville
 
Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Gurpreet singh
 
Performance testing basics
Performance testing basicsPerformance testing basics
Performance testing basicsCharu Anand
 
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...ijccmsjournal
 
Survey of Real Time Scheduling Algorithms
Survey of Real Time Scheduling AlgorithmsSurvey of Real Time Scheduling Algorithms
Survey of Real Time Scheduling AlgorithmsIOSR Journals
 
Components in real time systems
Components in real time systemsComponents in real time systems
Components in real time systemsSaransh Garg
 
RTS Short Topics
RTS Short TopicsRTS Short Topics
RTS Short TopicsSilas Kanth
 
Schedulability of Rate Monotonic Algorithm using Improved Time Demand Analysi...
Schedulability of Rate Monotonic Algorithm using Improved Time Demand Analysi...Schedulability of Rate Monotonic Algorithm using Improved Time Demand Analysi...
Schedulability of Rate Monotonic Algorithm using Improved Time Demand Analysi...IJECEIAES
 
Chapter 8 Testing Tactics.ppt Software engineering
Chapter 8 Testing Tactics.ppt Software engineeringChapter 8 Testing Tactics.ppt Software engineering
Chapter 8 Testing Tactics.ppt Software engineeringAnasHassan52
 
Model Based Software Timing Analysis Using Sequence Diagram for Commercial Ap...
Model Based Software Timing Analysis Using Sequence Diagram for Commercial Ap...Model Based Software Timing Analysis Using Sequence Diagram for Commercial Ap...
Model Based Software Timing Analysis Using Sequence Diagram for Commercial Ap...iosrjce
 
SCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICE
SCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICESCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICE
SCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICEijait
 

Similar to Benchmark methods to analyze embedded processors and systems (20)

Integrating Fault Tolerant Scheme With Feedback Control Scheduling Algorithm ...
Integrating Fault Tolerant Scheme With Feedback Control Scheduling Algorithm ...Integrating Fault Tolerant Scheme With Feedback Control Scheduling Algorithm ...
Integrating Fault Tolerant Scheme With Feedback Control Scheduling Algorithm ...
 
Integrating fault tolerant scheme with feedback control scheduling algorithm ...
Integrating fault tolerant scheme with feedback control scheduling algorithm ...Integrating fault tolerant scheme with feedback control scheduling algorithm ...
Integrating fault tolerant scheme with feedback control scheduling algorithm ...
 
Runtime performance evaluation of embedded software
Runtime performance evaluation of embedded softwareRuntime performance evaluation of embedded software
Runtime performance evaluation of embedded software
 
Runtimeperformanceevaluationofembeddedsoftware 100825224539-phpapp02
Runtimeperformanceevaluationofembeddedsoftware 100825224539-phpapp02Runtimeperformanceevaluationofembeddedsoftware 100825224539-phpapp02
Runtimeperformanceevaluationofembeddedsoftware 100825224539-phpapp02
 
SE2_Lec 20_Software Testing
SE2_Lec 20_Software TestingSE2_Lec 20_Software Testing
SE2_Lec 20_Software Testing
 
A fault tolerant tokenbased atomic broadcast algorithm relying on responsive ...
A fault tolerant tokenbased atomic broadcast algorithm relying on responsive ...A fault tolerant tokenbased atomic broadcast algorithm relying on responsive ...
A fault tolerant tokenbased atomic broadcast algorithm relying on responsive ...
 
Ch20-Software Engineering 9
Ch20-Software Engineering 9Ch20-Software Engineering 9
Ch20-Software Engineering 9
 
Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2
 
Workload design[1]
Workload design[1]Workload design[1]
Workload design[1]
 
Performance testing basics
Performance testing basicsPerformance testing basics
Performance testing basics
 
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
 
Survey of Real Time Scheduling Algorithms
Survey of Real Time Scheduling AlgorithmsSurvey of Real Time Scheduling Algorithms
Survey of Real Time Scheduling Algorithms
 
Components in real time systems
Components in real time systemsComponents in real time systems
Components in real time systems
 
RTS Short Topics
RTS Short TopicsRTS Short Topics
RTS Short Topics
 
Schedulability of Rate Monotonic Algorithm using Improved Time Demand Analysi...
Schedulability of Rate Monotonic Algorithm using Improved Time Demand Analysi...Schedulability of Rate Monotonic Algorithm using Improved Time Demand Analysi...
Schedulability of Rate Monotonic Algorithm using Improved Time Demand Analysi...
 
Ch20
Ch20Ch20
Ch20
 
Chapter 8 Testing Tactics.ppt Software engineering
Chapter 8 Testing Tactics.ppt Software engineeringChapter 8 Testing Tactics.ppt Software engineering
Chapter 8 Testing Tactics.ppt Software engineering
 
D017311724
D017311724D017311724
D017311724
 
Model Based Software Timing Analysis Using Sequence Diagram for Commercial Ap...
Model Based Software Timing Analysis Using Sequence Diagram for Commercial Ap...Model Based Software Timing Analysis Using Sequence Diagram for Commercial Ap...
Model Based Software Timing Analysis Using Sequence Diagram for Commercial Ap...
 
SCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICE
SCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICESCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICE
SCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICE
 

More from XMOS

XMOS Four Dimensions of Voice Capture
XMOS Four Dimensions of Voice CaptureXMOS Four Dimensions of Voice Capture
XMOS Four Dimensions of Voice CaptureXMOS
 
XMOS Voice Controller for the Internet of Things (IoT)
XMOS Voice Controller for the Internet of Things (IoT)XMOS Voice Controller for the Internet of Things (IoT)
XMOS Voice Controller for the Internet of Things (IoT)XMOS
 
XMOS Voice Interface Ecosystem infographic
XMOS Voice Interface Ecosystem infographicXMOS Voice Interface Ecosystem infographic
XMOS Voice Interface Ecosystem infographicXMOS
 
XMOS xCORE array microphone vs xCORE-Voice Smart Microphone
XMOS xCORE array microphone vs xCORE-Voice Smart MicrophoneXMOS xCORE array microphone vs xCORE-Voice Smart Microphone
XMOS xCORE array microphone vs xCORE-Voice Smart MicrophoneXMOS
 
XMOS: Why do you need to use USB Audio Class 2.0?
XMOS: Why do you need to use USB Audio Class 2.0?XMOS: Why do you need to use USB Audio Class 2.0?
XMOS: Why do you need to use USB Audio Class 2.0?XMOS
 
XMOS Company Overview
XMOS Company OverviewXMOS Company Overview
XMOS Company OverviewXMOS
 
Which xCORE processor is right for your Hi-Res Audio product
Which xCORE processor is right for your Hi-Res Audio productWhich xCORE processor is right for your Hi-Res Audio product
Which xCORE processor is right for your Hi-Res Audio productXMOS
 
xCORE architecture flyer
xCORE architecture flyerxCORE architecture flyer
xCORE architecture flyerXMOS
 

More from XMOS (8)

XMOS Four Dimensions of Voice Capture
XMOS Four Dimensions of Voice CaptureXMOS Four Dimensions of Voice Capture
XMOS Four Dimensions of Voice Capture
 
XMOS Voice Controller for the Internet of Things (IoT)
XMOS Voice Controller for the Internet of Things (IoT)XMOS Voice Controller for the Internet of Things (IoT)
XMOS Voice Controller for the Internet of Things (IoT)
 
XMOS Voice Interface Ecosystem infographic
XMOS Voice Interface Ecosystem infographicXMOS Voice Interface Ecosystem infographic
XMOS Voice Interface Ecosystem infographic
 
XMOS xCORE array microphone vs xCORE-Voice Smart Microphone
XMOS xCORE array microphone vs xCORE-Voice Smart MicrophoneXMOS xCORE array microphone vs xCORE-Voice Smart Microphone
XMOS xCORE array microphone vs xCORE-Voice Smart Microphone
 
XMOS: Why do you need to use USB Audio Class 2.0?
XMOS: Why do you need to use USB Audio Class 2.0?XMOS: Why do you need to use USB Audio Class 2.0?
XMOS: Why do you need to use USB Audio Class 2.0?
 
XMOS Company Overview
XMOS Company OverviewXMOS Company Overview
XMOS Company Overview
 
Which xCORE processor is right for your Hi-Res Audio product
Which xCORE processor is right for your Hi-Res Audio productWhich xCORE processor is right for your Hi-Res Audio product
Which xCORE processor is right for your Hi-Res Audio product
 
xCORE architecture flyer
xCORE architecture flyerxCORE architecture flyer
xCORE architecture flyer
 

Recently uploaded

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Recently uploaded (20)

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

Benchmark methods to analyze embedded processors and systems

  • 1. Benchmarking I/O response speed of microprocessors Goncalo Martins University of Denver Goncalo.Martins@du.edu Andrew Stanford-Jason XMOS Ltd. andrew@xmos.com David Lacey XMOS Ltd. davel@xmos.com ABSTRACT This paper describes a method for comparing the I/O re- sponsiveness of microprocessors with programmable input and output functionality. This addresses the need for bench- marks for real-time systems that measure critical properties for system design that are not currently handled by tradi- tional performance benchmarks. The benchmarks are tested against three different micro- processor architectures: ARM, PIC and XMOS. The results of the benchmarks are presented and analyzed to show how they can inform real-time system designers. Categories and Subject Descriptors H.4 [Information Systems Applications]: Miscellaneous; D.2.8 [Software Engineering]: Metrics—complexity mea- sures, performance measures Keywords benchmarking, real-time, performance 1. INTRODUCTION Real-time systems [4, 5] are systems whose functionality de- pend on performing computations within known deadlines. Such systems are common in embedded environments. Of- ten real-time systems are split into hard and soft real time; hard real-time systems have catastrophic failure if a dead- line is not met to whereas soft real-time systems do not have catastrophic failure but do suffer quality loss if deadlines are not met. The need to adhere to such deadlines makes particular de- mands of the architecture on which a real-time system is implemented. If the architecture itself is not well suited to this type of programming the developer may have to ac- commodate this is some way such as over-provisioning (i.e. requiring a much faster processor than is needed on average to make the worst case), accepting the failure and imple- menting special “recovery” methods when things go wrong, or even implementing the most challenging real-time part of the system directly in hardware. Many existing benchmarking methods are relevant to real- time system designers. The accuracy, throughput perfor- mance and reliability of such systems affects the quality of the final application. However, the differentiating feature of a real-time system (that tasks must be completed by certain deadlines) is not particularly well represented by traditional benchmarking techniques. Complete application benchmarks would be one way to ad- dress real-time system benchmarking but complete real-time applications are generally hard to port from one system to another, so pragmatically this method is not well suited to comparing different architectures and systems. Even appli- cation kernels can be quite large with complex implementa- tions. Another option is micro-benchmarking i.e. benchmarking the fundamental operations involved in real-time systems. For example, the Thread Metric benchmark suite [3] pro- vides a micro-benchmarking framework for the common op- erations of real-time operating systems. These provide a use- ful data point for system designers but are slightly removed from application requirements and only cover systems using a real-time operating system. This paper takes a different approach to try and characterize a single, but key, property of real-time systems: the speed at which a system can respond to an external stimulus. Fur- thermore, it tries to characterize how this property varies when the system is also performing many tasks that require responsiveness. While characterizing a single property will not tell a system designer everything they need to now about a system, it is the authors’ belief that this property reflects the potential capability of a system for a range of real-time embedded tasks. 2. METHOD The key property that the benchmarks in this paper test is the I/O response latency. This can be characterized rela- tively simply: The response latency of a system is the time it
  • 2. takes the system to change an output signal in response to a change in an input signal. To measure this is relatively simple. The device under test is connected to a measuring device through two wires: the input wire contains the signal to be received by the device under test and the output wire contains the signal to be output by the device under test (see Figure 1). Measuring Device Device Under Test 1-bit input signal 1-bit output signal Figure 1: Test setup The test consists of the measuring device creating a stimulus by driving the input signal from low to high. At this point the device under test should react and drive the output sig- nal from low to high. The measuring device calculates the time between the driving of the input signal and the change in the output signal. The measuring device then drives the input signal low again, the device under test drives the out- put signal low and the test can be repeated. Figure 2 shows the interaction of the two signals and the measured response time. Input Signal Output Signal Response Time Figure 2: Test signals and response time The accuracy of the test depends on the accuracy of the measuring device which will have a specific granularity and accuracy of measuring time. For the specific tests reported in this paper this is discussed in Section 2.5. In addition to measuring response time, we wish to test how the device under test works while doing multiple tasks. This involves adding two extra dimensions to the test: • The device under test should run a workload task that performs processing in between the responses to the external stimulus. • The device under test should be tested for multiple responses i.e. how it can respond to several input wires in parallel. When several responses are required, the inputs are all sig- nalled at the same time and all times are measured between this event and each output wire going high. 2.1 Implementation The implementation on the device under test is required to fulfil two requirements: • Implement the required response behaviour for the test setup described above (the characteristic task) to re- spond to one or more input signals. • Run a workload task concurrently with the character- istic task. Details of the workload task can be found in Section 2.2. Due to variations in architecture and programming method it is not always feasible to have the same source code across different platforms. Therefore, in the tests presented here the systems re-implement the same functionality in ways that are natural to the architecture. The implementation should follow these guidelines: • The implementation cannot be the same across sys- tems so should be implemented using the best method for the architecture so long as it provides the same external behavior. • The implementation should attempt to be represen- tative of standard real-time embedded programming practices for that device. • The implementation that responds to the input signal must be part of the generally programmable logic of the system. • The characteristic tasks must be concurrent in the sense that they could respond to the inputs occur- ring at different times in an asynchronous manner and could be extended to respond in different ways. The guidelines try to ensure that the implementations are such that the results of the testing can provide meaningful guidance to programmers trying to evaluate how systems are likely to perform in real applications. The last guideline is to ensure a fair reflection of real appli- cation tasks in the implementation even if the test harness works in a specific synchronous manner (i.e. signals all in- puts at the same time). 2.2 The workload task The workload tasks model the idea that in a real application the system will be doing many things at once. What the task is and how it is implemented will depend on the system. However, the workload task must represent a “fair” use of all the major types of the systems resources (for example: memory, functional units, I/O). Overall, the functionality of the task itself is not that impor- tant providing the above guidelines are adhered to. Gener- ally a simple loop that performs some calculation and some reads and writes from memory will suffice.
  • 3. 2.3 Performance normalization The aim of this paper is to use the benchmarking to compare system architectures rather than individual devices’ absolute performance. Clearly, a device running at a higher clock rate will generally run faster and is more likely to get a better response latency. For the purpose of comparing architec- tures, it is necessary to normalize the clock frequency of the device. There are two approaches to this: run every device under test at the same clock frequency or normalize by dividing the result by the clock frequency. The first approach is probably a more realistic test but is not always possible due to the oscillators and clocking capabilities on specific devices. In the experiments presented here a dual approach was taken: the clock speeds were chosen to be as close as possible to each other and then a normalization factor was applied to the results of each device. 2.4 Response time variation The response time of a system may vary depending on sys- tem state. The jitter of the response time is the extent of this variation (i.e. the maximum observed response time less the minimum observed response time). A sensible benchmarking strategy is to run the test multiple times and keep track of the average, minimum and maximum response time. Since the workload tasks do not interact with the outside world the main variation of system state will be done to the relative timing of the input signal against the current state of the implementation. As such it is vital that the signal generator varies the timing of its stimulus creation by random amounts that are not likely to be multiples of any internal clocks of the device under test. 2.5 Setup and measurement The systems were tested by using an XMOS XK-1A develop- ment board as a measurement device. This device measures time intervals with 10ns granularity to an accuracy of within 2.5ns. Each system was tested by generating a signal change and measuring the response time for 220 repetitions. 2.6 Systems Tested Three systems were tested with the aim of comparing archi- tectural variation. The ARM and XMOS systems were run with a system clock frequency of 100MHz. The PIC was run with a system clock of 40MHz and the results were scaled up to normalize to 100MHz. 2.7 ARM The ARM development system had the following properties: Dev. Board BlueBoard LPC1768-H Device LPC1768FBD100 Core ARM Cortex-M3 Dev. Tools Keil uVision 4.21 OS FreeRTOS 7.0.1 The characteristic task was implemented by mapping the input signals to external interrupts which would interrupt 1 2 3 4 0 2000 4000 6000 8000 10000 12000 XMOS ARM PIC Number of Responses WorstCaseResponseTime(ns) Figure 3: Worst case response times the workload task. 2.8 PIC The PIC development system had the following properties: Dev. Board dsPICDEM Starter Board V2 Device dsPIC33FJ256 Dev. Tools MPLAB v8.80 OS FreeRTOS 7.0.1 The characteristic task was implemented by mapping the input signals to external interrupts which would interrupt the workload task. 2.9 XMOS The XMOS development system had the following proper- ties: Dev. Board XMOS XC-1A Device XS1-G4 Dev. Tools XMOS Development Tools 11.2.2 OS None Both the characteristic and workload tasks were implemented as hardware threads with the input signals reaction imple- mented as port events using conditional input statements in the XC programming langauge [2]. 2.10 Benchmark Availability All the software required to run the benchmarks is available to download for free under an open source license [1]. 3. RESULTS 3.1 Architecture comparisons The raw data for all the experiments can be found in Ap- pendix A. Figure 3 shows the normalized maximum response latency of the three architectures benchmarked as the number of real- time tasks increase. This is the most relevant measurement for hard real-time systems.
  • 4. 1 2 3 4 0 1000 2000 3000 4000 5000 6000 7000 XMOS ARM PIC Number of Responses AverageResponseTime(ns) Figure 4: Average response times The average response latency of the different architectures are shown in Figure 4. This figure may be more relevant to soft real-time systems. The average response latency should only be viewed taking into account the jitter of that response, that is, the spread between minimum and maximum response time. Figures 5, 6 and 7 show this spread. 3.2 Analysis Overall it is clear that the XMOS devices exhibit better characteristics in terms of response latency for both soft and hard real-time systems with both the average and, in par- ticular, the worst case latency being significantly less than the other architectures. This is perhaps unsurprising given that the architecture is specifically designed for this type of task. The difference can mainly be attributed to the fact that on the XMOS architecture each response is handled by a separate hardware thread which can respond to the input signal without needing a context switch. Both the ARM and PIC architectures implement the re- sponse via interrupts (the lowest latency method available on those systems) which require a context switch before re- sponse. The concatenation of these context switches explain the linear growth in response time given the number of re- sponses needed. Every attempt has been made to make the comparisons in the previous section represent the best performing setups of the different architectures given realistic assumptions about how the processors would be used for real applications. How- ever, there may be trade-offs designers can make that either negatively affect the response latency or may improve it in certain cases. On both the PIC and ARM chips one of the key factors is the choice of operating system. In fact, these benchmarks could be seen as characterising the combination of both the architecture and the OS. Different combinations will likely have different results. In some cases no OS will be used at all and that is likely to improve the results (though at the cost of having to hand craft the context switching, 1 2 3 4 0 2000 4000 6000 8000 10000 12000 Min Avg Max Number of Responses ResponseLatency(ns) Figure 5: Spread of response times (ARM) 1 2 3 4 0 50 100 150 200 250 300 Min Avg Max Number of Responses ResponseLatency(ns) Figure 6: Spread of response times (XMOS) interrupt servicing and task scheduling within the system). Even given the variations in results that these design trade- offs can make it is the authors’ view that the architecture comparison presented here is representative of what the var- ious architectures can achieve. 4. CONCLUSION The main contribution of this work is to propose a more suitable metric and related benchmarking method to char- acterize properties of interest to real-time system develop- ers. The results of the benchmarks show that the response latency of systems can vary significantly between architec- tures and under different system loads; these results will be useful to designers when initially designing a system. Of course, in all these cases the response latency performances needs to be balanced against other system requirements. 4.1 Future Work
  • 5. 1 2 3 4 0 2000 4000 6000 8000 10000 12000 Min Avg Max Number of Responses ResponseLatency(ns) Figure 7: Spread of response times (PIC) The results presented here only tracked the maximum, min- imum and average response times. It would be useful to extend the test harness to produce a distribution of results to see, for example, how likely the maximum is to occur. The tests were also limited in how many signals are handled by the hardware of the devices tested. However, with more work it would be possible to work around these limitations in software for all the devices under test. This would probably see a dramatic drop in performance past the hardware limit (e.g. four fast interrupts on the ARM device) but the size of that difference and the scaling properties past this limit would be of interest to designers. 5. ACKNOWLEDGMENTS The authors’ would like to thank Jon Ferguson, Mark Lip- pett, Henk Muller and Douglas Watt for comments and con- tributions to the work presented here. 6. REFERENCES [1] I/O benchmark software repository. http://github.com/xcore/sw io benchmarks. [2] Douglas Watt. Programming XC on XMOS Devices. Website, 2009. http://www.xmos.com/published/xcxs1. [3] Express Logic, Inc. Measuring Real-Time Performance of an RTOS. http://rtos.com/PDFs/MeasuringRTOSPerformance.pdf. [4] C. M. Krishna. Real-Time Systems. John Wiley & Sons, Inc., 2001. [5] J. W. S. W. Liu. Real-Time Systems. Prentice Hall PTR, Upper Saddle River, NJ, USA, 1st edition, 2000. APPENDIX A. TEST DATA In the following sections all results are in nanoseconds and normalized to a 100MHz system clock. A.1 ARM Tests Responses Best Average Worst 1 690 739.47 4040 2 690 1495.40 5550 3 690 2426.56 7600 4 690 3542.61 10260 A.2 PIC Tests Responses Best Average Worst 1 1976 2137.69 2196 2 1972 3396.78 4712 3 1976 4691.53 7340 4 1976 5967.98 9856 A.3 XMOS Tests Responses Best Average Worst 1 160 185.01 210 2 160 190.13 220 3 170 191.94 220 4 160 209.21 250