Sphinx: Combining
Data and Instruction Level Parallelism through Demand Driven Execution of
Imperative Programs.
Existing
program execution models based on the Von-Neumann execution paradigm are not
scalable mainly due to the diffculty of scaling the communication,
synchronization and naming aspects of the model. This project aims to develop
an alternative execution model, namely, demand-driven execution of imperative
programs. In our model, a program that is compiled from a contemporary
language is executed in a demand-driven fashion in such a way that both
instruction and data-level parallelism can be harvested through
compiler-architecture collaboration. Key to this collaboration is our Future
Gated Single Assignment (FGSA) representation of programs, where the form not
only provides an appropriate program representation to be used by an
optimizing compiler, but also represents the instruction-set architecture of
the machine to support demand-driven execution.
|
|
|
|
This is a collaborative NSF-sponsored
project between Prof. Soner Onder at Michigan Technological University and
Prof. David Whalley at Florida State University. |
|
|||||||
|
|
|
|
|
|||
Dr.
Shuhan Ding. MTU-CS. FGSA (Qualcomm). |
Tino
Moore. MTU-CS. Graph-solver. |
Omkar
Javeri. MTU-ECE. Simulator and Processor design and
implementation. |
Ryan
Baird. FSU-CS. Compiler Framework. |
Dr.
Zhaoxiang Jin. MTU-CS.
Simulator and pipeline design (Apple). |
The
following list of papers cited support from this project.
1. "Practical Way Halting by Speculatively Accessing Halt Tags" by D. Moreau, A. Bardizbanyan, M. Sjalander, D. Whalley, P. Larsson-Edefors in the Proceedings of the IEEE/ACM Design Automation and Test in Europe Conference, March 2016.
2. "Redesigning a Tagless Access Buffer That Requires Minimal ISA Changes" by C. Sanchez, P. Gavin, D. Moreau, M. Sjalander, D. Whalley, P. Larsson-Edefors, S. McKee in the Proceedings of the IEEE/ACM International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, October 2016.
3. "Decoupling Address Generation from Loads and Stores to Improve Data Access Energy Efficiency" by M. Stokes, R. Baird, Z. Jin, D. Whalley, S. Onder in the Proceedings of the ACM Conference on Languages, Compilers, and Tools for Embedded Systems, June 2018.
4. "A Two-Phase Recovery Mechanism" by Z. Jin, S. Onder in the Proceedings of the ACM International Conference on Supercomputing, June 2018.
5. "Dynamic Memory Dependence Predication" by Z. Jin, S. Onder in the Proceedings of the ACM/IEEE International Symposium on Computer Architecture, June 2018.
6. "Improving Energy Efficiency by Memoizing Data Access Information" by M. Stokes, R. Baird, Z. Jin, D. Whalley, S. Onder in the Proceedings of the ACM/IEEE International Symposium on Low Power Electronics and Design, July 2019.