Программная поддержка модели BSF

Надежда Александровна Ежова, Леонид Борисович Соколинский

Аннотация


В статье описана программная поддержка модели параллельных вычислений BSF (Bulk Synchronous Farm), ориентированной на итерационные алгоритмы с высокой вычислительной сложностью, разрабатываемые для многопроцессорных систем с распределенной памятью экзафлопсного уровня производительности. Программная поддержка включает в себя параллельный BSF-каркас и веб-приложение BSF-Studio. Приведены определение и классификация параллельных программных каркасов. Описан новый BSF-каркас, разработанный согласно BSF-модели: его файловая структура и логика работы. BSF-каркас представляет собой совокупность файлов исходного кода на языке C++, используемых для быстрого создания BSF-программ. Приведено подробное описание проектирования и реализации веб-приложения BSF-Studio, которое представляет собой визуальный конструктор BSF-программ. BSF-Studio обеспечивает поэтапное заполнение проблемно-зависимых частей BSF-каркаса, а также компиляцию и запуск программного кода.

Ключевые слова


BSF; модель параллельных вычислений; параллельный каркас; BSF–Studio; веб–приложение

Полный текст:

PDF

Литература


Ezhova N.A., Sokolinsky L.B. Survey of Parallel Computation Models. Bulletin of South Ural State University. Series: Computational Mathematics and Software Engineering. 2019. vol. 8, no. 3. pp. 58–91. (in Russian) DOI: 10.14529/cmse190304.

Leasure B. et al. Parallel Skeletons. Encyclopedia of Parallel Computing. Springer US, 2011. pp. 1417–1422. DOI: 10.1007/978-0-387-09766-4_24.

Cole M.I. Algorithmic Skeletons : Structured Management of Parallel Computation. MIT Press, 1991.

Gonzalez-Velez H., Leyton M. A Survey of Algorithmic Skeleton Frameworks: High-Level Structured Parallel Programming Enablers. Softw. Pract. Exp. John Wiley & Sons, Ltd. 2010. vol. 40, no. 12. pp. 1135–1160. DOI: 10.1002/spe.1026.

Dongarra J. et al. Sourcebook of Parallel Computing. Morgan Kaufmann, 2003. 842 p.

Ezhova N.A., Sokolinsky L.B. BSF: Parallel Computation Model for Multiprocessor Systems with Distributed Memory. Bulletin of South Ural State University. Series: Computational Mathematics and Software Engineering. 2018. vol. 7, no. 2. pp. 32–49. (in Russian) DOI: 10.14529/cmse180204.

Ezhova N.A., Sokolinsky L.B. Scalability Evaluation of Iterative Algorithms Used for Supercomputer Simulation of Physical Processes. Proceedings — 2018 Global Smart Industry Conference, GloSIC 2018. Article number 8570107. IEEE, 2018. 10 p. DOI: 10.1109/GloSIC.2018.8570131.

Gropp W. et al. A High-Performance, Portable Implementation of the MPI Message Passing Interface Standard. Parallel Comput. 1996. vol. 22, no. 6. pp. 789–828. DOI:

1016/0167-8191(96)00024-5.

Gropp W. MPI3 and Beyond: Why MPI Is Successful and What Challenges It Faces. Recent Advances in the Message Passing Interface. EuroMPI 2012. Lecture Notes in Computer Science, vol. 7490. / Ed. by J.L. Träff, S. Benkner, J.J. Dongarra. Springer, 2012. pp. 1–9. DOI: 10.1007/978-3-642-33518-1_1.

Gropp W., Lusk E., Skjellum A. Using MPI: Portable Parallel Programming with the Message-Passing Interface. Second Edition. MIT Press, 1999. 395 p.

Pas R. van der, Stotzer E., Terboven C. Using OpenMP — The Next Step: Affinity, Accelerators, Tasking, and SIMD (Scientific and Engineering Computation). 1st ed. MIT Press, 2017. 392 p.

Patel Y. White Paper On Single Page Application. Knowarth. 2015. Available at: https://www.knowarth.com/wp-content/uploads/2015/02/Single-Page-Application-White-Paper.pdf (accessed: 19.09.2019)

Docker Open Source Engine Guide. SUSE Linux Enterprise Server 15 SP1. SUSE LLC. 2019. Available at: https://documentation.suse.com/sles/15-SP1/pdf/book-slesdocker_color_en.pdf (accessed: 19.09.2019)

Allamaraju S. RESTful Web Services Cookbook: Solutions for Improving Scalability and Simplicity. 1st ed. Yahoo Press, 2010. 316 p.

Banks A., Porcello E. Learning React Functional Web Development with React and Redux. O’Reilly Media, 2017. 350 p.

Rasmussen E. Redux Form: The Best Way to Manage Your Form State in Redux. Available at: https://redux-form.com/8.2.2/docs/api/ (accessed: 25.02.2018).

Hrisho J. React-Ace (GitHub Repository). Available at: https://github.com/securingsincity/react-ace (accessed: 25.02.2019).

Matthias K., Kane S.P. Docker: Up & Running: Shipping Reliable Containers in Production. 2nd ed. O’Reilly Media, 2018. 352 p.

Rothwell T., Youngman J. The GNU C Reference Manual. Free Software Foundation, Inc, 2007. 86 p. Available at: https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.pdf (accessed: 20.02.2018).

MPICH Documentation and Guides. Available at: https://www.mpich.org/documentation/guides/ (accessed: 20.02.2018).

Brown E. Web Development with Node and Express: Leveraging the JavaScript Stack. 1st ed. O’Reilly Media, 2014. 332 p.

Strukchinsky V. Express-Request-Id (GitHub Repository). Available at:

https://github.com/floatdrop/express-request-id (accessed: 17.03.2018).

Fischer N., Freitag B. ShellJS — Unix Shell Commands for Node.js (GitHub Repository). Available at: https://github.com/shelljs/shelljs (accessed: 13.03.2018).

Unnebäck L. Multer (GitHub Repository). Available at: https://github.com/expressjs/multer (accessed: 17.03.2018).




DOI: http://dx.doi.org/10.14529/cmse190406