Survey on Software Engineering for Scientific Applications – Reusable Software, Grid Computing and Application

Survey on Software Engineering for Scientific Applications – Reusable Software, Grid Computing and Application

UNIVERSITÄTSBIBLIOTHEK BRAUNSCHWEIG Dominik Jürgens Survey on Software Engineering for Scientific Applications – Reusable Software, Grid Computing and Application Braunschweig : Inst. für Wissenschaftliches Rechnen, 2009 Informatikbericht / Technische Universität Braunschweig ; Nr. 2009-02 Veröffentlicht: 12.05.2009 http://www.digibib.tu-bs.de/?docid=00027815 http://www.digibib.tu-bs.de/?docid=00027815 12/05/2009 Dominik Jur¨ gens Survey on Software Engineering for Scientific Applications Reuseable Software, Grid Computing and Application I NSTITUTEOF SCIENTIFIC COMPUTING CARL-FRIEDRICH-GAUSS-FAKULTAT¨ TECHNISCHE UNIVERSITAT¨ BRAUNSCHWEIG Braunschweig, Germany, 2009 http://www.digibib.tu-bs.de/?docid=00027815 12/05/2009 http://www.digibib.tu-bs.de/?docid=00027815 12/05/2009 Survey on Software Engineering for Scientific Applications Dominik Jurgens¨ Institute of Scientific Computing Carl-Friedrich-Gauß-Fakultat¨ Technische Universitat¨ Braunschweig, Germany Informatikbericht Nr.: 2009-02 Freitag, 13. Marz¨ 2009 Location Postal Address Institute of Scientific Computing Institut fur¨ Wissenschaftliches Rechnen Technische Universitat¨ Braunschweig Technische Universitat¨ Braunschweig Hans-Sommer-Straße 65 D-38092 Braunschweig D-38106 Braunschweig Germany Contect Phone: +49-(0)531-391-3000 Fax: +49-(0)531-391-3003 E-Mail: [email protected] URL: http://www.wire.tu-bs.de Copyright c by the author. This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilm or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted in connection with reviews or scholarly analysis. Permission for use must always be obtained from the copyright holder. Alle Rechte vorbehalten, auch das des auszugsweisen Nachdrucks, der auszugsweisen oder vollstandigen¨ Wiedergabe (Photographie, Mikroskopie), der Speicherung in Datenverarbeitungsanlagen und das der Ubersetzung.¨ http://www.digibib.tu-bs.de/?docid=00027815 12/05/2009 Abstract Fields of modern science and engineering are in need of solving more and more complex numerical problems. The complexity of scientific software thereby rises continuously. This growth is caused by a number of changing requirements. Coupled phenomena gain importance and new technologies like computational-grids, graphical and heterogeneous multi-core processors have to be used to achieve high-performance. The amount of additional complexity can not be handled by a small group of specialised scientists. The interdici- plinary nature of scientific software thereby presents new challanges for software engineering. A paradigm shift towards a stronger separation of concerns becomes necessary in the development of future scientific software. The coupling of independently simulated physical phenomena is an important example for a software-engineering concern in the domain of computational science. In this context, different simulation-programs model only a part of a more complex coupled system. The present work gives overview on paradigms which aim at making software-development in computational sciences more reliable and less interdependent. A special focus is put on the development of coupled simulations. http://www.digibib.tu-bs.de/?docid=00027815 12/05/2009 http://www.digibib.tu-bs.de/?docid=00027815 12/05/2009 Contents 1 Introduction 3 2 Software Reuse 6 2.1 Relation between Learning And Programming . 6 2.1.1 A Definition of Reuse . 7 2.2 Reuse in Software Systems . 8 2.2.1 Implications of Reuse in Software Systems . 8 2.3 The long rocky Road to Software Reuse . 9 2.3.1 Overview: Approaches to Reuse . 9 2.3.2 Software Paradigms . 10 2.3.3 Generative Programming . 22 2.3.4 Software Reuse – Summary . 26 3 Components in Software Development 27 3.1 Motivation – Component Based Software . 27 3.1.1 Theoretical Concepts of Component Based Software . 28 3.1.2 Interfacing . 28 3.1.3 Terminology . 28 3.2 Example Implementations . 32 3.2.1 Component Model . 32 3.2.2 Component Framework . 33 3.2.3 Component Architecture . 33 3.3 Basic Component Techniques . 33 3.3.1 Late Binding . 33 3.3.2 Resource Discovery . 34 4 Motivation for Parallelisation 36 4.1 Memory Driven Parallelisation . 36 4.2 Quality Driven Parallelisation . 36 4.3 Performance Driven Parallelisation . 36 4.4 Hardware Driven Parallelisation . 37 4.4.1 Sequential Super Computer Reference . 37 4.4.2 Parallel Super Computer Reference . 37 4.4.3 From High-End to Desktop . 37 4.5 Summary . 38 5 High Performance Computing 39 5.1 Parallel Computing Architectures . 39 5.1.1 A Simple Performance Measure . 40 5.2 Granularity . 41 5.3 Instruction Level Parallel Machines and Flynn’s Taxonomy . 41 5.3.1 Single Instruction Multiple Data . 41 5.3.2 Multiple Instruction Multiple Data . 42 5.3.3 Vector Computers . 42 5.4 Shared Memory Parallel Multi-Processor Machines . 42 5.5 Distributed Memory Architectures . 42 5.5.1 Virtual Single System Image . 43 5.5.2 Multiple Programs Multiple Data Cluster Programming . 43 5.5.3 Future Trends . 43 6 Peer-to-Peer Computing 45 7 Grid Computing 46 7.1 Use Cases for Grid Technology . 46 7.2 Basic Concepts and Technologies . 47 7.2.1 Virtual Organisations . 47 7.2.2 Public Key Infrastructure . 47 i http://www.digibib.tu-bs.de/?docid=00027815 12/05/2009 ii CONTENTS 7.2.3 Trusted Authority and Rights Delegation – the GLOBUS Security Infrastructure . 49 7.2.4 Grid Framework . 49 7.2.5 Grid Services – The Backbone of a Grid Implementation . 50 8 Motivation 52 9 Terminology 53 9.1 Routines of Partitioned Analysis . 54 9.2 Coupled Simulation . 55 10 Partitioned Analysis 57 11 Lagrange Multiplier Methods 59 11.1 Derivation of Coupling with Lagrangian Multiplier . 59 11.1.1 Simple Example . 59 11.1.2 Coupling of Complex Partitioned Systems . 63 11.2 Semi-Partitioned Approach with Lagrange Multipliers . 65 11.3 Partitioned Approach with Lagrange Multipliers . 66 http://www.digibib.tu-bs.de/?docid=00027815 12/05/2009 List of Figures 2.1 Overview about Reuse . 10 2.2 Performance FORTRAN vs. C . 16 2.3 Benchmark Code: FORTRAN vs. C . 16 2.4 Categorising Paradigms . 21 2.5 Process-Diagram for Code-Generation . 22 2.6 Comparison between run-time and compile-time binding . 25 5.1 von-Neumann Architecture . ..

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    87 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us