

As an alternative for traditional lock-based synchronization mechanisms Software Transactional Memories (STMs) are dominantly evaluated on synthetic benchmarks and simplified applications rather than on real-world applications. So far, only a few notable examples for C++ and Java languages have been published. In this paper, an STM-based architecture of a Protein Structure Prediction (PSP) program for the Python language is presented. This STM-based architecture aims both, to enhance the existing barrier-based process synchronization implemented in the original version of that PSP program, and to provide the transactional-memory-based means for its future upgrade. The analysis of the performance metrics, such as the system execution time and the system scalability, is given too. The PSP program used here is DEEPSAM (Diffusion Equation Evolutionary Programming Simulated Annealing Method) which is implemented in the Python and Fortran programing languages. The key component which supports transactional execution is our PSTM (Python Software Transactional Memory) Python framework. The experimental results are evaluated against two peptides, namely enkephalin and 2mq5. The preliminary results show that the new PSTM-based version of DEEPSAM has comparable execution time relative to the original version, and that its architecture scales very well. Also, the results of this study did not reveal any architectural bottleneck. Considering that the original version of DEEPSAM already execute computation in parallel, gaining significant improvements regarding execution times was not expected. In order to comprehend PSTM’s impact on a complex package such as DEEPSAM, regarding execution times, it must be run on a many-core processor capable of running dozens processes in parallel. © 2019 Association for Computing Machinery.
| Engineering controlled terms: | Application programsBenchmarkingEvolutionary algorithmsMemory architectureProteinsSimulated annealingStorage allocation (computer) |
|---|---|
| Engineering uncontrolled terms | DEEPSAMLock-based synchronizationProcess synchronizationProtein structure predictionPSTMPythonSimulated annealing methodSoftware transactional memory |
| Engineering main heading: | C++ (programming language) |
| Funding sponsor | Funding number | Acronym |
|---|---|---|
| Ministarstvo Prosvete, Nauke i Tehnološkog Razvoja | III-44009-2 | MPNTR |
This work was partially supported by the Ministry of Education, Science and Technological Development of the Republic of Serbia, under grant under Grant III-44009-2.
Kordic, B.;
© Copyright 2022 Elsevier B.V., All rights reserved.