Programming software-managed memory hierarchies

2007 
The past decade has seen an emergence of processors which deviate from traditional cache-based architectures by making use of software-managed on-chip local memories to stage data transfers. Examples are the ClearSpeed CSX600, the Sony/Toshiba/IBM Cell processor, and the Storm-1 family from Stream Processors Inc. These processors have demonstrated impressive gains in both raw performance and also performance per Watt over conventional cache-based architectures. Programming such processors has proven challenging, however, with current programming systems exhibiting a variety of shortcomings in expressiveness, extensibility, and portability. This thesis presents a portable, high-level language targeting this range of machines along with the associated compiler technology which permits such a high-level abstraction to attain performance levels on par with hand-coding. Further, low-level language support is introduced which, for the first time, overcomes the expressiveness and extensibility limitations of current languages to support the implementation of type-safe abstract data types, classes, and libraries on these platforms.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    0
    References
    0
    Citations
    NaN
    KQI
    []