Sequential Performance: Raising Awareness of the Gory Details
Author(s) -
Erven Rohou,
David Guyon
Publication year - 2015
Publication title -
procedia computer science
Language(s) - English
Resource type - Journals
ISSN - 1877-0509
DOI - 10.1016/j.procs.2015.05.347
Subject(s) - computer science , programmer , parallelism (grammar) , task (project management) , raising (metalworking) , focus (optics) , task parallelism , simple (philosophy) , parallel computing , data parallelism , multi core processor , embedded system , philosophy , physics , geometry , mathematics , management , epistemology , optics , economics
International audienceThe advent of multicore and manycore processors, including GPUs, in the customer market encouraged developers to focus on extraction of parallelism. While it is certainly true that parallelism can deliver performance boosts, parallelization is also a very complex and error-prone task, and any applications are still dominated by sequential sections. Micro-architectures have become extremely complex, and they usually do a very good job at executing fast a given sequence of instructions. When they occasionally fail, however, the penalty is severe. Pathological behaviors often have their roots in very low-level details of the micro-architecture, hardly available to the programmer. We argue that the impact of these low-level features on performance has been overlooked, often relegated to experts. We show that a few metrics can be easily defined to help assess the overall performance of an application, and quickly diagnose a problem. Finally, we illustrate our claim with a simple prototype, along with use cases
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom