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.


Graduate and Graduated Students

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.