Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Graph-based software design for managing complexity and enabling concurrency in multiphysics PDE software
Notz P., Pawlowski R., Sutherland J. ACM Transactions on Mathematical Software39 (1):1-21,2012.Type:Article
Date Reviewed: May 9 2013

The field of complex computational modeling involves the use of advanced hardware and software environments, and the issues faced in the combination of these areas are quite daunting. This paper provides a detailed study of developing software for multiphysics partial differential equation (PDE) applications to produce efficient concurrent implementations that are also accessible in portable environments. To accomplish this task, the authors use graph-based design tools to deal with the modeling as well as the lower-level computational issues.

Frequently, a rigid implementation is developed to achieve high performance for a particular application and hardware. In this paper, to achieve portability, the authors do not concentrate on the usual higher-level algorithms, but instead focus on the lower-level data dependencies using graph-theoretic methods. By focusing on this lower-level approach, the authors localize code changes, which complements high-level tools such as a message passing interface (MPI) and enables the use of threading.

The paper begins with an introduction to the history of software design and the tools and approaches discussed above. Section 2 is the primary theoretical core of the paper, in which the authors discuss their paradigm for software design. This begins with the role of the dependency graph and several figures supporting this approach. The third section focuses on an example of computational fluid dynamics (CFD) with a detailed example of the dependency graph. Section 4 describes a number of advanced capabilities using graphic information developed in this approach. In particular, sensitivity analysis can be accomplished via graph traversal. In another subsection, there is a detailed treatment of thread parallelism, algorithm decomposition, and scheduling approaches, which are exposed via the graphing approach.

This is a well-done paper that is important for the interesting combination of computer and computational science tools, and for the choice of an important complex application (CFD) to demonstrate the nontrivial utility of the proposed approach.

Reviewer:  Mike Minkoff Review #: CR141210 (1308-0716)
Bookmark and Share
 
Software Architectures (D.2.11 )
 
 
Parallel Algorithms (G.1.0 ... )
 
 
Parallel And Vector Implementations (G.4 ... )
 
 
Partial Differential Equations (G.1.8 )
 
 
Mathematical Software (G.4 )
 
Would you recommend this review?
yes
no
Other reviews under "Software Architectures": Date
Software architecture in practice
Bass L., Clements P., Kazman R., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1998. Type: Book (9780201199307)
Sep 1 1999
CORBA design patterns
Mowbray T., Malveau R., John Wiley & Sons, Inc., New York, NY, 1997. Type: Book (9780471158820)
Sep 1 1998
Developing business systems with CORBA
Sadiq W., Cummins F., Cambridge University Press, New York, NY, 1998. Type: Book (9780521646505)
Feb 1 1999
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy