Canada Spends Logo

Explore our Budget 2026 analysis

Grant: Research Tools and Instruments

University of Waterloo

$113,899.00

Parallel Client/Server System for Programming Language Research

FY 2021-22

Summary
Computer programming languages and runtime systems are the foundational mechanism for writing sequential and concurrent programs, transforming human ideas into a practical, functioning form executable by a computer. All research and industrial software are built from programming languages, and programming is trending towards multiple processors (cores) organized as shared memory or distributed across multiple computers. Making programming languages and runtime systems more expressive, easier to use, safer, and performant cuts across all computing disciplines. The applicants (Buhr, Dietl, Karsten, Lam, Lhotak, Richards, and Zhang) build or adapt these foundational tools, enhancing the infrastructure for all of computer science, from teaching programming to developing advanced software projects. The acquisition of new experimental multi-core computers (servers) and testing hardware (switch and clients) is critical for supporting programming-language faculty and graduate students at the University of Waterloo. The equipment is essential to provide a reliable programming and experimental environment to move the applicants' research to the next level with respect to sequential and parallel computation, performance testing, and data analysis. Without access to the next generation of parallel processors, the applicants are unable to produce research results that matter in practice or are considered relevant in academia. The equipment will be used in multiple programming-language projects developing and evaluating advanced algorithms, software techniques, and testing procedures (language design, type systems, concurrency) and runtime systems (user-level threading, locking, scheduling). The research plan takes a holistic approach, performing research vertically across the entire language-development environment, i.e., design, compilation, tools, and high-performance execution especially on parallel computers. The research results are directly applicable to existing and new programming languages, and associated high performance runtime-systems. Graduates from our group are proficient at developing and working on sophisticated and complex system-level software, and are highly sought after at advanced levels in the IT industry. The potential users of this research work and its associated software are multiple sectors of the Canadian IT industry, ranging from small-scale and entrepreneurial software companies to equipment vendors and telecommunication providers. These software companies will be able to rapidly produce complex, concurrent applications, which effectively exploit multiprocessor technology available today and tomorrow. In turn, this creates an economic advantage for these companies by lowering development costs and time to market. As well, the research software is open-source so Canadian companies and consumers are not tied to proprietary and expensive systems and applications, which results in cost savings for businesses and consumers.
Program
Research Tools and Instruments
Location
Ontario, Canada
Recipient Type
Academia
Type
Grant
Source
NSERC's Awards Data

As published

Application id
RTI-2022-00004
Name nom
Buhr, Peter
Department département
Computer Science, David R. Cheriton School of - 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
2021
Competition year année de concours
2022
Award amount
113899
Program id
RTI
Program name en
Research Tools and Instruments
Program name fr
Outils et instruments de recherche
Group en
Discovery grants programs
Group fr
Programmes de subventions à la découverte
Committee code
1607
Committee name en
Computer, Mathematical and Statistical Sciences (RTI)
Committee name fr
Sciences informatiques, mathématiques et statistiques (OIR)
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
2700
Research subject group en
Information technology
Research subject group fr
Technologie de l'information
Research subject en
Information technology
Research subject fr
Technologie de l'information
Installment
inst:1
Partie
1
Nb partie
1
Application title
Parallel Client/Server System for Programming Language Research
Keyword
NSERC
Application summary
Computer programming languages and runtime systems are the foundational mechanism for writing sequential and concurrent programs, transforming human ideas into a practical, functioning form executable by a computer. All research and industrial software are built from programming languages, and programming is trending towards multiple processors (cores) organized as shared memory or distributed across multiple computers. Making programming languages and runtime systems more expressive, easier to use, safer, and performant cuts across all computing disciplines. The applicants (Buhr, Dietl, Karsten, Lam, Lhotak, Richards, and Zhang) build or adapt these foundational tools, enhancing the infrastructure for all of computer science, from teaching programming to developing advanced software projects. The acquisition of new experimental multi-core computers (servers) and testing hardware (switch and clients) is critical for supporting programming-language faculty and graduate students at the University of Waterloo. The equipment is essential to provide a reliable programming and experimental environment to move the applicants' research to the next level with respect to sequential and parallel computation, performance testing, and data analysis. Without access to the next generation of parallel processors, the applicants are unable to produce research results that matter in practice or are considered relevant in academia. The equipment will be used in multiple programming-language projects developing and evaluating advanced algorithms, software techniques, and testing procedures (language design, type systems, concurrency) and runtime systems (user-level threading, locking, scheduling). The research plan takes a holistic approach, performing research vertically across the entire language-development environment, i.e., design, compilation, tools, and high-performance execution especially on parallel computers. The research results are directly applicable to existing and new programming languages, and associated high performance runtime-systems. Graduates from our group are proficient at developing and working on sophisticated and complex system-level software, and are highly sought after at advanced levels in the IT industry. The potential users of this research work and its associated software are multiple sectors of the Canadian IT industry, ranging from small-scale and entrepreneurial software companies to equipment vendors and telecommunication providers. These software companies will be able to rapidly produce complex, concurrent applications, which effectively exploit multiprocessor technology available today and tomorrow. In turn, this creates an economic advantage for these companies by lowering development costs and time to market. As well, the research software is open-source so Canadian companies and consumers are not tied to proprietary and expensive systems and applications, which results in cost savings for businesses and consumers.
University of Waterloo - $113,899 Grant (2021-22) | Canada Spends