Your SlideShare is downloading. ×
End of Year Presentation
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

End of Year Presentation

322
views

Published on

Published in: Technology, Business

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
322
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. An Aspect-Oriented Approach to High Productivity High Performance Computing
      • Chanwit Kaewkasi
      • CNC
      • Supervisor: John R. Gurd
      • Advisor: Chris C. Kirkham
  • 2. Motivation
    • Scientific problems have become more complex.
      • Performance is always critical for High Performance Computing (HPC) to solve scientific problems.
      • But, Software Engineering techniques is needed to manage this complexity .
    • The goal of the High Productivity Computing Systems programme:
      • By 2010, systems should double productivity for every 18 months
      • Not only hardware speed, but real values of the system
    [http://www.highproductivity.org], [Kepner, 2004]
  • 3. An AOP Approach
    • Reduces programs' complexity
    • Introduces programming abstractions
    • for HPC development, but
    • Its weaving process impedes development cycle
    • AOP on VM generates execution overheads
    Why is AOP important?
  • 4. Separation of Concerns
    • A real-world example
    • Foods + Drinks + De s serts
    • People can mix them together before they eat .
      • Easier to digest  High Performance
      • Do you prefer to eat them this way?
    • SoC works that way
    How does AOP work for HPC?
  • 5. AOP and HPC
    • Separate parallelisation concerns from the algorithm
      • Write an algorithm
      • Apply parallel strategies, aspects, to the algorithm
    • This approach allows simpler development life cycle
      • Develop the serial version of the algorithm
      • Develop a number of parallel strategies for different machines, architectures or platforms.
      • [Harbulot and Gurd 2004, 2006]
  • 6. Relative Productivity
    • Is measured between any two programming languages (0 and L)
      • [Kennedy et al. 2004]
  • 7. Relative Productivity (cont'd)
    • T(P) is the total time to solve the problem P
    • I(P) is the development time
    • C(P) is the average compilation time
      • weighted by r 1
    • E(P) is the average execution time
      • weighted by r 2
  • 8. Concern Fencing Index concern 1 concern 2 CFI = 5 concern fences
  • 9. Evaluation Strategy
    • Relative Productivity Metric
      • Development time , I(P)
      • Compilation time, C(P)
      • Execution time, E(P)
    • Concern Fencing Index
      • Program complexity (from AOP point of view)
    • Experimental Environment
      • Distributed Memory Machines, or
      • Computational Grid
  • 10. Success ?
    • For a newly developed language L,
    • Acceptance Goal
    • Expected Goal
  • 11. Plan
  • 12.
    • Separate parallelisation concerns
      • Reduce complexity
      • Raise level of abstraction
    • Productivity Measurement
      • Relative Productivity Model
      • Concern Fences
    • Reduce development time with
      • A new AOP weaving technique
    • Reduce execution overheads with
      • A number of optimisation techniques
    Conclusion
  • 13. Questions ?
    • Thank you very much !
  • 14. Behind the scene
    • You shouldn't see this slide
  • 15. Aspect-Oriented Programming
    • Separates crosscutting concerns
    • Provides abstraction s and constructs
      • Join point abstractions
      • Pointcut designators
      • Advice codes
      • Introduction
      • [Kiczales et al. 1997]
  • 16. Relative Productivity (cont'd)
    • The proposed model:
  • 17. Join point Shadows Traditional Approach for AOP
  • 18. Transparent Join points Our Approach for AOP
  • 19. Event-based AOP
    • Another Dynamic AOP model
    • Close to the Ideal AOP system
    • Allows Re-defining Aspects at Runtime
    • We take this approach for Block join points
    • Allows fast weaving
      • = Reduce development time
      • =? High Productivity
  • 20. Motivation
    • Scientific problems become more complex.
      • Performance is always the critical issue for HPC to solve scientific problems.
      • But, we might need software engineering techniques to help manage this complexity .
    • The goal of the High Productivity Computing Systems (HPCS) programme:
      • By 2010, systems should double productivity for every 18 months
      • Not only hardware speed, but real values of the system
    [http://www.highproductivity.org]