Grant: Collaborative Research and Development Grants
University of Waterloo
$121,400.00
Continuous performance optimization on odern Architectures_x000d_
FY 2020-21
Summary
Today, multicore scalability poses increasing challenges to developers across all platforms from
mobile to the data center. The intensive competition between the major processor vendors including
Intel, AMD, IBM, and ARM is leading new innovation in computer architecture that systems
software and application developers have only begun to take advantage of. There is an increased
complexity of developing software on these platforms where developers are now exposed more
than ever to the performance idiosyncrasies of the processor architecture. Impacting performance,
performance isolation, and even security of their applications.
The goal of this research is to provide the tools and insights to help developers make the best
use of the hardware. We focus on three pieces: First, design and implement a continuous profiling
system that will help developers make sense of the first, second and third order performance metrics
available in modern processors. Second, build a portable runtime to help developers make optimal
use of the new instructions that allow applications to control cache behavior, arguably one of the
most complex issues with the largest gain for developers. Third, explore the use of this runtime
and several new processor features for partitioning applications for performance, correctness, and
security.
Program
Collaborative Research and Development Grants
Recipient
Location
Ontario, Canada
Recipient Type
Academia
Type
Grant
Source
NSERC's Awards Data
As published
Application id
536639-2018
Name nom
Mashtizadeh, Ali
Department département
Computer Science, David R. Cheriton School of
Organization id
33
Institution établissement
University of Waterloo
Province en
Ontario
Province fr
Ontario
Country en
CANADA
Country fr
CANADA
Fiscal year exercice financier
2020
Competition year année de concours
2018
Award amount
121400
Program id
CRDPJ
Program name en
Collaborative Research and Development Grants
Program name fr
Subventions de recherche et développement coopérative
Group en
Research partnerships programs
Group fr
Programmes de partenariat
Committee code
96
Committee name en
RPP Internal Decision Cttee
Committee name fr
Cté de décision interne - PPR
Area of application code
801
Area of application group en
Information and communication services
Area of application group fr
Services d'information et de télécommunications
Area of application en
Computer software
Area of application fr
Logiciel
Research subject code
2720
Research subject group en
Information technology
Research subject group fr
Technologie de l'information
Research subject en
Computer systems software
Research subject fr
Logiciel de systèmes informatiques
Installment
inst:2 - 4
Partie
3
Nb partie
4
Application title
Continuous performance optimization on odern Architectures_x000d_
Keyword
NSERC
Application summary
Today, multicore scalability poses increasing challenges to developers across all platforms from
mobile to the data center. The intensive competition between the major processor vendors including
Intel, AMD, IBM, and ARM is leading new innovation in computer architecture that systems
software and application developers have only begun to take advantage of. There is an increased
complexity of developing software on these platforms where developers are now exposed more
than ever to the performance idiosyncrasies of the processor architecture. Impacting performance,
performance isolation, and even security of their applications.
The goal of this research is to provide the tools and insights to help developers make the best
use of the hardware. We focus on three pieces: First, design and implement a continuous profiling
system that will help developers make sense of the first, second and third order performance metrics
available in modern processors. Second, build a portable runtime to help developers make optimal
use of the new instructions that allow applications to control cache behavior, arguably one of the
most complex issues with the largest gain for developers. Third, explore the use of this runtime
and several new processor features for partitioning applications for performance, correctness, and
security.