1 / 10

BROADWAY: A SOFTWARE ARCHITECTURE FOR SCIENTIFIC COMPUTING

BROADWAY: A SOFTWARE ARCHITECTURE FOR SCIENTIFIC COMPUTING. Samuel Z. Guyer and Calvin Lin The University of Texas. MOTIVATION. Efficient runtime algorithms and efficient memory usage are critical Temps programmers to emphasize performance over clarity

gknott
Télécharger la présentation

BROADWAY: A SOFTWARE ARCHITECTURE FOR SCIENTIFIC COMPUTING

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BROADWAY: A SOFTWARE ARCHITECTURE FOR SCIENTIFIC COMPUTING Samuel Z. Guyer and Calvin Lin The University of Texas

  2. MOTIVATION • Efficient runtime algorithms and efficient memory usage are critical • Temps programmers to emphasize performance over clarity • Often complicates long term maintenance and portability of scientific code. • Practitioners of scientific computing are typically unwilling to try novel languages or use sophisticated design methodologies • Deep knowledge of scientific domain is required

  3. BROADWAY COMPILER SYSTEM ARCHITECTURE Library Annotations Header flies Source Code Integrated and optimized code Broadway Compiler Application Source code

  4. Performance problems caused by use of software libraries • Different clients have different needs • “Separation of concerns” inhibits information flow across interfaces • Worst case assumptions provide generality at the expense of performance • Modular structure leads to poor resource management • No performance portability • Premature optimization complicates maintenance • Interface bloat defeats modularity

  5. LIBRARY LEVEL OPITIMIZATIONS • Replace general purpose routines with customized routines that run much faster. • Can make stronger assumptions about calling context, allowing for more efficient execution • Avoid interface bloat • Use of annotated language to describe domain specific information • Optimization requires application programmer to have little knowledge of library • Broadway compiler can specialize library routines in ways that the library designer did not foresee.

  6. BROADWAY AS A META INTERFACE • Use of black boxes leads to performance problems • Implementation and interface that black boxes provide will inevitably be inappropriate for some client Application Base Interface Black Box

  7. BROADWAY AS A META INTERFACE • Solution: provide 2 interfaces, a base, which most clients use, and a separate meta interface, which allows the black box to adapt to the needs of different clients Application Base Interface Black Box Meta- Interface Meta- Program

  8. Experimental Results Benefit of Automated Approach Tedious transformations can be applied uniformly and completely!

  9. Conclusion • Provided mechanism for improving performance • Create different library implementations and interfaces for different clients • Conveys library-specific information to the compiler and use this information to customize the library for different users. • Replaces invocations of general routines with invocations of specialized routines, thereby relaxing worst case assumptions. • Improves the maintenance and portability of applications • Enhances the value of legacy codes • Provides clean division of labor

  10. Discussion • What are the possible downfalls? • Meta-Object Protocols • Provide mechanism to change the way a language is compiled. • Future optimizations?

More Related