Student research opportunities
Micro-Architectural Analysis of JavaScript Performance
Project Code: CECS_632
This project is available at the following levels:
Honours, Summer Scholar, Masters, PhD
Supervisor:
Professor Steve BlackburnOutline:
JavaScript has become the "assembly language of the internet", providing portability and ubiquity to trivial and complex applications alike. JavaScript performance has become a red-hot issue, with companies like Google, Mozilla and Microsoft spending considerable resources on JavaScript performance. However, JavaScript applications are in may regards rather different from traditional workloads to which current hardware has been tuned.
Goals of this project
This project will conduct a micro-architectural analysis of JavaScript performance in order to understand how better to tailor architectures to the particular needs of JavaScript. The outcomes of this project may include how better to configure caches, branch predictors and functional units for good JavaScript performance.
Requirements/Prerequisites
Students will need to be proficient programmers with a good understanding of the basics of computer architecture. Understanding and being able to program in JavaScript will be useful, but not essential. You will work within a cycle-accurate x86 simulator. Experimental design and data analysis is key to the first phase of the project, so experience in this area will be an asset (of course there will be plenty of assistance from your supervisor, particularly in this area).
Student Gain
The student will gain hands-on experience with an increasingly important problem. The student will work in the context of the leading research infrastructure for managed runtime research, backed up by a great research team. The project has sufficient depth and scope to allow a capable student to produce publishable work.

