Scalable System Services: Programming Practices and Tool Support

Scalable systems must seamlessly grow to absorb large data sets and incorporate increasing

numbers of processing units within in various communication fabrics. Broadly considered, this concept

applies to cores sharing memory, processors sharing a bus, nodes sharing a network in a

grid/cluster/cloud, or services sharing compositions of components. Ironically, attempts to add more

resources-whether they are physical processing elements or higher-level services-cannot always

be easily incorporated into existing systems.

This project explores practical means of achieving scalability by considering three different but interrelated

issues: parallel design patterns for high level system organization, tool support to help

developers reason about the tradeoffs between programming effort and system performance, and

light-weight resource monitoring and composition tools to support this evaluation. Combined, we

believe these three elements will support software development practices critical for building scalable

systems, as well as produce much needed corresponding tool support to assist developers in modern

software evolution and maintenance.

Faculty Supervisor:

Yvonne Coady;Aaron Gulliver

Student:

Partner:

IBM Canada Ltd (Saanich, BC)

Discipline:

Computer science

Sector:

Manufacturing

University:

University of Victoria

Program:

Accelerate

Current openings

Find the perfect opportunity to put your academic skills and knowledge into practice!

Find Projects