On the Design of the EFCOSS Software Architecture When Using Parallel and Distributed Computing
Ralf Seidler, H. Martin Bücker, M. Ali Rostami, David Neuhäuser
2014
Abstract
Mathematical optimization algorithms are ubiquitous in computational science and engineering where the objective function of the optimization problem involves a complicated computer model predicting relevant phenomena of a scientific or engineering system of interest. Therefore, in this area of mathematical software, it is indispensable to combine software for optimization with software for simulation, typically developed independently of each other by members of separate scientific communities. From a software engineering point of view, the situation becomes even more challenging when the simulation software is developed using a parallel programming paradigm without taking into consideration that it will be executed within an optimization context. The EFCOSS environment alleviates some of the problems by serving as an interfacing layer between optimization software and simulation software. In this paper, we show the software design of those parts of EFCOSS that are relevant to the integration of a simulation software involving different parallel programming paradigms. The parallel programming paradigms supported by EFCOSS include MPI for distributed memory and OpenMP for shared memory. In addition, the simulation software can be executed on a remote parallel computer.
References
- Averick, B. M., Carter, R. G., Moré, J. J., and Xue, G.- L. (June 1992). The MINPACK-2 test problem collection. Technical Report MCS-P153-0692, Argonne National Laboratory.
- Benson, S. J., Curfman McInnes, L., and Moré, J. J. (2001). A case study in the performance and scalability of optimization algorithms. ACM Transactions on Mathematical Software, 27(3):361-376.
- Chapman, B., Jost, G., Van der Pas, R., and Kuck, D. J. (2008). Using OpenMP: Portable shared memory parallel programming. MIT Press, Cambridge, Mass., London.
- Dalcín, L., Paz, R., and Storti, M. (2005). MPI for Python. Journal of Parallel and Distributed Computing, 65(9):1108-1115.
- de Jong, I. (2013). Pyro - Python Remote Objects. http://pythonhosted.org/Pyro4.
- Dennis, Jr., J. E. and Schnabel, R. B. (1983). Numerical Methods for Unconstrained Optimization and Nonlinear Equations. Prentice-Hall, Englewood Cliffs.
- Fletcher, R. (1987). Practical Methods of Optimization. John Wiley & Sons, New York, 2nd edition.
- Gay, D. M. (1990). Usage summary for selected optimization routines. Computing Science Technical Report 153, AT&T Bell Laboratories.
- Gill, P. E., Murray, W., and Wright, M. H. (1981). Practical Optimization. Academic Press, New York.
- Griewank, A. and Walther, A. (2008). Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. Number 105 in Other Titles in Applied Mathematics. SIAM, Philadelphia, PA, 2nd edition.
- Gropp, W., Huss-Lederman, S., Lumsdaine, A., Lusk, E. L., Nitzberg, B., Saphir, W., and Snir, M. (1998). MPIThe Complete Reference: Volume 2, The MPI-2 Extensions. MIT Press, Cambridge, MA, USA.
- Hascoët, L. and Pascual, V. (2013). The Tapenade automatic differentiation tool: Principles, model, and specification. ACM Trans. Math. Softw., 39(3):20:1- 20:43.
- Henning, M. (2008). The rise and fall of CORBA. Communications of the ACM, 51(8):52-57.
- Kenny, J. P., Benson, S. J., Alexeev, Y., Sarich, J., Janssen, C. L., Curfman McInnes, L., Krishnan, M., Nieplocha, J., Jurrus, E., Fahlstrom, C., and Windus, T. L. (2004). Component-based integration of chemistry and optimization software. Journal of Computational Chemistry, 25(14):1717-1725.
- Kö rkel, S. (2002). Numerische Methoden für Optimale Versuchsplanungsprobleme bei nichtlinearen DAEModellen. PhD thesis, University of Heidelberg, Germany.
- Lawrence, C. T. and Tits, A. L. (1996). Nonlinear equality constraints in feasible sequential quadratic programming. Optimization Methods and Software, 6:265- 282.
- Lindströ m, P. and Wedin, P.- A°. (1999). Gauss-Newton based algorithms for constrained nonlinear least squares problems. Department of Computing Science, Faculty of Science and Technology, Umea° University, Sweden.
- Munson, T., Sarich, J., Wild, S., Benson, S., and Curfman McInnes, L. (2012). TAO 2.0 users manual. Technical Report ANL/MCS-TM-322, Mathematics and Computer Science Division, Argonne National Laboratory. http://www.mcs.anl.gov/tao.
- Nocedal, J. and Wright, S. J. (2006). Numerical Optimization. Springer, New York, 2nd edition.
- Object Management Group (2012). Common Object Request Broker Architecture (CORBA): Specification, Version 3.3. http://www.omg.org/spec/CORBA/3.3.
- Oliphant, T. E. (2007). Python for scientific computing. Computing in Science & Engineering, 9(3):10-20.
- OpenMP Architecture Review Board (2013). OpenMP Application Program Interface, Version 4.0. http://www.openmp.org.
- Pukelsheim, F. (2006). Optimal Design of Experiments. Number 50 in Classics in Applied Mathematics. SIAM, Philadelphia.
- Rall, L. B. (1981). Automatic Differentiation: Techniques and Applications, volume 120. Springer Verlag, Berlin.
- Rasch, A. and Bü cker, H. M. (2010). EFCOSS: An interactive environment facilitating optimal experimental design. ACM Transactions on Mathematical Software, 37(2):13:1-13:37.
- Seidler, R., Bü cker, H. M., Padalkina, K., Herty, M., Niederau, J., Marquart, G., and Rasch, A. (2014). Redesigning the EFCOSS framework towards finding optimally located boreholes in geothermal engineering. In Horvát, I. and Rusák, Z., editors, Proceedings of the tenth international symposium on tools and methods of competetive engineering (TMCE 2014), May 19-23, 2014, Budapest, Hungary, pages 831- 842.
- Snir, M., Otto, S., Huss-Lederman, S., Walker, D., and Dongarra, J. (1995). MPI-The Complete Reference. MIT Press, Cambridge, MA, USA.
- Snir, M., Otto, S. W., Huss-Lederman, S., Walker, D. W., and Dongarra, J. (1998). MPI-The Complete Reference: Volume 1, The MPI Core. MIT Press, Cambridge, MA, USA, 2nd edition.
- The Scipy Community (2013). SciPy v0.13.0 reference guide.
- Wedin, P.- A°. and Lindströ m, P. (1988). Methods and software for nonlinear least squares problems. Technical Report UMINF-133.87, Inst. of Information Processing, University of Umea°, Umea°, Sweden.
Paper Citation
in Harvard Style
Seidler R., Bücker H., Rostami M. and Neuhäuser D. (2014). On the Design of the EFCOSS Software Architecture When Using Parallel and Distributed Computing . In Proceedings of the 9th International Conference on Software Engineering and Applications - Volume 1: ICSOFT-EA, (ICSOFT 2014) ISBN 978-989-758-036-9, pages 445-454. DOI: 10.5220/0004995804450454
in Bibtex Style
@conference{icsoft-ea14,
author={Ralf Seidler and H. Martin Bücker and M. Ali Rostami and David Neuhäuser},
title={On the Design of the EFCOSS Software Architecture When Using Parallel and Distributed Computing},
booktitle={Proceedings of the 9th International Conference on Software Engineering and Applications - Volume 1: ICSOFT-EA, (ICSOFT 2014)},
year={2014},
pages={445-454},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004995804450454},
isbn={978-989-758-036-9},
}
in EndNote Style
TY - CONF
JO - Proceedings of the 9th International Conference on Software Engineering and Applications - Volume 1: ICSOFT-EA, (ICSOFT 2014)
TI - On the Design of the EFCOSS Software Architecture When Using Parallel and Distributed Computing
SN - 978-989-758-036-9
AU - Seidler R.
AU - Bücker H.
AU - Rostami M.
AU - Neuhäuser D.
PY - 2014
SP - 445
EP - 454
DO - 10.5220/0004995804450454