Baltic sea water dynamics model acceleration
Vestnik Ûžno-Uralʹskogo gosudarstvennogo universiteta. Seriâ, Matematičeskoe modelirovanie i programmirovanie, Tome 10 (2017) no. 1, pp. 113-124 Cet article a éte moissonné depuis la source Math-Net.Ru

Voir la notice de l'article

Industrial Baltic sea water dynamics modelling program optimization and parallelization is described. Program is based on solving the system of partial differential equations of shallow water with numerical methods. Mechanical approach to program modernization is demonstrated involving building module dependency graph and rewriting every module in specific order. To achieve desired speed-up the program is translated into another language and several key optimization methods are used, including parallelization of most time-consuming loop nests. The theory of optimizing and parallelizing program transformations is used to achieve best performance boost with given amount of work. The list of applied program transformations is presented along with achieved speed-up for most time-consuming subroutines. Entire program speed-up results on shared memory computer system are presented.
Keywords: program transformation; program optimization; program parallelization.
@article{VYURU_2017_10_1_a6,
     author = {A. P. Bagliy and A. V. Boukhanovsky and B. Ya. Steinberg and R. B. Steinberg},
     title = {Baltic sea water dynamics model acceleration},
     journal = {Vestnik \^U\v{z}no-Uralʹskogo gosudarstvennogo universiteta. Seri\^a, Matemati\v{c}eskoe modelirovanie i programmirovanie},
     pages = {113--124},
     year = {2017},
     volume = {10},
     number = {1},
     language = {en},
     url = {http://geodesic.mathdoc.fr/item/VYURU_2017_10_1_a6/}
}
TY  - JOUR
AU  - A. P. Bagliy
AU  - A. V. Boukhanovsky
AU  - B. Ya. Steinberg
AU  - R. B. Steinberg
TI  - Baltic sea water dynamics model acceleration
JO  - Vestnik Ûžno-Uralʹskogo gosudarstvennogo universiteta. Seriâ, Matematičeskoe modelirovanie i programmirovanie
PY  - 2017
SP  - 113
EP  - 124
VL  - 10
IS  - 1
UR  - http://geodesic.mathdoc.fr/item/VYURU_2017_10_1_a6/
LA  - en
ID  - VYURU_2017_10_1_a6
ER  - 
%0 Journal Article
%A A. P. Bagliy
%A A. V. Boukhanovsky
%A B. Ya. Steinberg
%A R. B. Steinberg
%T Baltic sea water dynamics model acceleration
%J Vestnik Ûžno-Uralʹskogo gosudarstvennogo universiteta. Seriâ, Matematičeskoe modelirovanie i programmirovanie
%D 2017
%P 113-124
%V 10
%N 1
%U http://geodesic.mathdoc.fr/item/VYURU_2017_10_1_a6/
%G en
%F VYURU_2017_10_1_a6
A. P. Bagliy; A. V. Boukhanovsky; B. Ya. Steinberg; R. B. Steinberg. Baltic sea water dynamics model acceleration. Vestnik Ûžno-Uralʹskogo gosudarstvennogo universiteta. Seriâ, Matematičeskoe modelirovanie i programmirovanie, Tome 10 (2017) no. 1, pp. 113-124. http://geodesic.mathdoc.fr/item/VYURU_2017_10_1_a6/

[1] Metcalf M., Fortran Optimization, Academic Press, 1985, 264 pp. | DOI | Zbl

[2] Boukhanovsky A. V., Zhitnikov A. N., Petrosyan S. G., Sloot P., “High-Performance Technologies of Urgent Computing for Flood Hazard Prevention”, Journal of Instrument Engineering, 54:10 (2011), 14–20 (in Russian)

[3] Klevannyy K. A., Smirnova E. V., “Using of Modeling System Cardinal for Solving Hydraulic Problems”, Vestnik Gosudarstvennogo Universiteta Morskogo i Rechnogo Flota Imeni Admirala S. O. Makarova, 2009, no. 1, 152–160 (in Russian)

[4] Kovalchuk S. V., Ivanov S. V., Kolykhmatov I. I., Boukhanovsky A. V., “Special Characteristics of High Performance Software for Complex Systems Simulations”, Information and Control Systems, 2008, no. 3, 10–18 (in Russian)

[5] Gervich L. R., Kravchenko E. N., Steinberg B. Ya., Yurushkin M. V., “Automatic Program Parallelization with Block Data Distribution”, Siberian Journal of Numerical Mathematics, 18:1 (2015), 41–53 (in Russian) | MR

[6] GCC Compiler Suite, , 2016 http://gcc.gnu.org/

[7] Muchnik S., Advanced Compiler Design and Implementation, Morgan Kaufmann, San Francisco, 1997

[8] Kowarschik M., Weiß C., “An Overview of Cache Optimization Techniques and Cache-Aware Numerical Algorithms”, Algorithms for Memory Hierarchies: Advanced Lectures, Springer, Berlin–Heidelberg, 2003, 213–232 | DOI | Zbl

[9] Kasperskiy S., Program Optimization Techniques. Efficient Use of Memory, BHV-Petersburg, St. Peterburg, 2003

[10] Gervich L. R., Steinberg B. Ya., Yurushkin M. V., “Exaflop Systems Programming”, Open Systems. DBMS, 8 (2013), 26–29 (in Russian)

[11] Abu-khalil Zh. M., Morylev R. I., Steinberg B. Ya., “Parallel Global Alignment Algorithm with the Optimal Use of Memory”, Digital Scientific Magazine “Modern Problems of Science and Education”, 2013, no. 1, 6 pp. http://www.science-education.ru/ru/article/view?id=8139

[12] Korzh A. A., “NPB UA Benchmark Scaling to Thousands of Blue Gene/P Cores Using PGAS-like OpenMP Extension”, Numerical Methods and Programming, 11 (2010), 31–41

[13] Likhoded N. A., “Generalized Tiling”, Doklady of the National Academy of Sciences of Belarus, 55:1 (2011), 16–21 (in Russian) | MR | Zbl

[14] Denning P. J., “The Locality Principle”, Communications of the Association for Computing Machinery, 48:7 (2005), 19–24 | DOI

[15] Gustavson F. G., Wyrzykowski R., “Cache Blocking for Linear Algebra Algorithms”, Parallel Processing and Applied Mathematics 2011, v. I, Lecture Notes in Computer Science, 7203, 2012, 122–132 | DOI

[16] Lam M. S., Rothberg E. E., Wolf M. E., “The Cache Performance and Optimizations of Blocked Algorithms”, Proceeding ASPLOS IV Proceedings of the Fourth International Conference on Architectural Support for Programming Languages and Operating Systems (Palo Alto, 1991), 63–74 | Zbl

[17] Goto K., van de Geijn R. A., “Anatomy of High-Performance Matrix Multiplication”, ACM Transaction on Mathematical Software, 34:3 (2008), 1–25 | DOI | MR

[18] Mycroft A., “Programming Language Design and Analysis Motivated by Hardware Evolution”, Invited Presentation, The 14th International Static Analysis Symposium, Lecture Notes in Computer Science, 3634, 2007, 18–33 http://www.cl.cam.ac.uk/\allowbreakãm21/papers/sas07final.pdf | DOI | MR

[19] Galushkin A. I., “The Development Strategy of Modern Supercomputers on the Path to Ekzaflopsnym Computing”, Prilozhenie k zhurnalu “Informacionnye tehnologii”, 2012, no. 2, 32 pp. (in Russian)

[20] Arykov S. B., Malyshkin V. E., “Asynchronous Parallel Programming System “Aspect””, Numerical Methods and Programming, 9:1 (2008), 48–52 (in Russian)

[21] Optimizing Parallelizing System , 2016 http://www.ops.rsu.ru

[22] Ryder B. G., “Constructing the Call Graph of a Program”, IEEE Transactions on Software Engineering, SE-5:3 (1979), 216–226 | DOI | MR | Zbl