Software Architectures for Morphing in Polymorphous Computing Architectures

  • Slides: 1
Download presentation
Software Architectures for Morphing in Polymorphous Computing Architectures Dan Campbell, Mark Richards Georgia Institute

Software Architectures for Morphing in Polymorphous Computing Architectures Dan Campbell, Mark Richards Georgia Institute of Technology USN SPAWAR Systems Center, San Diego Morphware Stable Interface Architecture SAPI and SAAL Development Process q Dennis Cottel, Randall Judd Two-stage compile process enables portable performance across PCA architectures q Two intermediate representations Machine Models q § Stable API: application code in C/C++ and a stream language such as Brook or Streamit § Stable Architecture Abstraction Layer: PCA virtual machine code Application Programmer Provides: § Coarse grain mapping of application to target resources q Source Code Stream Code Thread Code Application Metadata Third Parties Provide: Libraries TVM Code Libraries LOW-LEVEL COMPILER/LINKER/LOADER Architecture Vendor Provides: SVM Code PCA SYSTEM UVM Runtime System Morphing in the MSI q Standard PCA Application Environment q § natural and intuitive boundaries for compilation and run-time reconfiguration § natural support for multiple SWEPT-variant implementations of units of functionality § Defined by a set of open standards documents q q Based on a virtual machine (VM) abstraction layer with standardized metadata and programming languages Goals § Foster software portability across PCA architectures § Dynamically optimize PCA resources for application functionality, service requirements, and constraints § Obtain nearly optimal performance from PCA hardware § Be highly reactive to PCA hardware and user inputs § Manage PCA software complexity § Leverage existing and developing technologies q Cross-project effort, developed in parallel with the hardware MSI assumes component-based architecture q Morphing implies changing … § component implementations in use; § resources assigned to components; § or both q q Implies a taxonomy of morph types Morphing will be implemented at various levels of MSI § compiler § run-time system § resource manager For more information: www. morphware. org SVM Local RAM DMA L 1 Instr L 1 Data Stream. Proc L 1 Instr L 1 Data DMA L 1 Instr Local RAM L 1 Data Stream. Proc GMEM Example: University of Texas TRIPS Machine Model for R-Stream 1. 1 VM Layers q User accesses Userlevel VM for thread code, Stream VM for stream code q TVM-HAL abstracts low-level hardware to UVM OSs LIBs TVM-HAL Hardware The Morphware Stable Interface Thread. Proc Applications Executable Binary L 1 Data Local RAM L 2 cache Describes target platform using common dictionary of virtual resources and attributes § Processors § Memories § Net-Links Machine Model HIGH-LEVEL COMPILER Used to optimize VM output for different target platforms Stream. Proc L 1 Instr Morph Taxonomy