Abstract:
|
Modern computing architectures change rapidly and exhibit high levels of
complexity and heterogeneity. For example, the Barcelona Supercomputing
Center (BSC) will have one general purpose cluster and three smaller clusters
with Emerging Technologies like Many Core architecture from Intel, Power from
IBM and ARMv8 from Fujitsu. These are technologies currently being developed
to accelerate the arrival of the new generation of pre-exascale supercomputers.
We have analysed these architectures in order to gain knowledge and experience
to get the best performance possible from them running HPC applications that
exploit the strengths of each architecture.
Additionally, we have run a benchmark suite on each available computer
architecture with the purpose of characterize them. In order to complement the
benchmark results, we have decided to analyse the execution of each benchmark
with a performance analysis tool. There already exist several performance
analysis tools which cover different performance areas like hardware events
counting, performance simulation, traces, etc. However, these tools are
dependent of being ported to modern computing architectures and they
normally have different usages for different architectures.
We propose a solution based on the perf_event interface, which is included
on the Linux kernel, that allows us to analyse the benchmark execution on the
different modern computing architectures and it allows users easily to get
performance information of their applications. The information that we provide
with our solution are a sampling trace of hardware events, a profiling report and
monitoring information of CPU and memory. Our solution enhances the
performance results of other tools with extra features that help a better
understanding of the bottlenecks of applications and/or architectures, and so,
benchmarking. In addition, our proposal can be used in any system with Linux. |