Download - System Benchmarking
![Page 2: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/2.jpg)
2
What is Benchmarking?
Defining Performance in Numeric Format
![Page 3: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/3.jpg)
3
How is it Implemented?
![Page 4: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/4.jpg)
4
WHY BENCHMARKING???
![Page 5: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/5.jpg)
5
Fact : IP’s are from different provider. We Integrate IP’s to create one SoC.
It is important to prove our New SoC gives same or better Performance compared to existing competitor SoC
Why Benchmarking?
![Page 6: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/6.jpg)
6
iPhone and Android Hardware
![Page 7: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/7.jpg)
7
Does the difference come from:
operating system (Windows, Linux, ...; 32/64 bit),
compiler (GCC, Intel, PathScale, ...), - options,
optimized libs (Libc...)?
Validating hardware configuration
Benchmarking Goals
![Page 8: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/8.jpg)
8
Comparing two systems
Checking for regressions
Capacity planning
Reproducing bad behaviour to solve it
Stress-testing to find bottlenecks
Benchmarking Goals
![Page 9: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/9.jpg)
9
Types of Benchmarking
Application -> Real World Software
Synthetic -> Impose the workload on the component like Processor, Memory, Network Devices etc
Parallel -> For Multicore Processors, Servers
Input/Ouput -> For Peripheral
Power -> For low power systems
![Page 10: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/10.jpg)
10
What is Performance?
Two Metrics Response Time (time per task) -> User Experience Throughput (tasks per time) -> Benchmarking
Performance
![Page 11: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/11.jpg)
11
For example: Consider a program which converts QVGA images from the
RGB colour space to YIQ.
An ST231 running at 300MHz can process 207 images a second.
A MIPS24K running at 550MHz can process 168 images a second.
MHz alone is not a good indicator of performance.
How do we benchmark Core Performance?
![Page 12: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/12.jpg)
12
Performance(Tasks/second) =(Avg No of Operations per Cycle) * ( MHz)
(No of Operations Needed to Complete Task)
Why is this? Do we need to consider other factors?
![Page 13: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/13.jpg)
13
The number of operations required to complete the task. This varies, for example, it may be necessary to replace a single floating-
point operation with shift, round and normalise operations to run on an integer core.
Average number of operations per cycle.
This can be improved by Pipelining, Parallelism, etc
![Page 14: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/14.jpg)
14
How we can improve performance?
Software Implementation Compiler Operating System Implementation
Hardware Design Cache Design Pipelining and Parallelism
![Page 15: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/15.jpg)
15
Compiler Optimizations
Optimize the common case -> using fast path
Avoid redundancy -> reuse results
Less code -> remove unnecessary computations
Parallelize -> reorder operations
Fewer jumps -> branch-free code
Loop optimizations -> operate on loops
![Page 16: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/16.jpg)
16
Operating System -> Symmetric Multiprocessing
![Page 17: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/17.jpg)
17
Operating System -> Symmetric Multithreading
![Page 18: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/18.jpg)
18
Hardware -> CPU Cache Design
![Page 19: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/19.jpg)
19
Hardware -> Pipelining and Parallelism Design
Unpipelined
Pipelined
![Page 20: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/20.jpg)
20
Parallelism:
Single Instruction Multiple Data(SIMD) ->
Multiple Instruction Multiple Data(MIMD) ->
![Page 21: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/21.jpg)
21
Interconnect/System Bus
Communication pathway connecting two or more devices
Throughput capacity = (bus clock speed in Hz) * (no of bits wide)
![Page 22: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/22.jpg)
22
Newman Performance Analysis
![Page 23: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/23.jpg)
23
Summary
Benchmarks are for comparing different hardware architectures.
Do not rely solely on microbenchmark results, also check Sanity check results Use a profiler Test your code in real life scenarios under
realistic load (macro-benchmark)
![Page 24: System Benchmarking](https://reader035.vdocuments.net/reader035/viewer/2022062820/58aa64c11a28ab5a7a8b59e9/html5/thumbnails/24.jpg)
24
QUESTIONS????