skip to main content
10.1145/3352700.3352701acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecbsConference Proceedingsconference-collections
research-article

A Protein Structure Prediction Program Architecture Based on a Software Transactional Memory

Published: 02 September 2019 Publication History

Abstract

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.

References

[1]
M. Herlihy and J. E. B. Moss, "Transactional Memory: Architectural Support for Lock-free Data Structures," in Proceedings of the 20th Annual International Symposium on Computer Architecture, 1993, pp. 289--300.
[2]
T. Harris, J. Larus, and R. Rajwar, Transactional Memory, 2Nd Edition, 2nd ed. Morgan and Claypool Publishers, 2010.
[3]
R. Guerraoui and M. Kapalka, Principles of Transactional Memory. Morgan & Claypool Publishers, 2010.
[4]
N. Shavit and D. Touitou, "Software Transactional Memory," in Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing, 1995, pp. 204--213.
[5]
C. C. Minh, J. Chung, C. Kozyrakis, and K. Olukotun, "STAMP: Stanford Transactional Applications for Multi-Processing," in 2008 IEEE International Symposium on Workload Characterization, 2008, pp. 35--46.
[6]
R. Guerraoui, M. Kapalka, and J. Vitek, "STMBench7: A Benchmark for Software Transactional Memory," in Proceedings of the 2Nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007, 2007, pp. 315--324.
[7]
F. Zyulkyarov et al., "Atomic Quake: Using Transactional Memory in an Interactive Multiplayer Game Server," in Proceedings of the 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2009, pp. 25--34.
[8]
V. Gajinov et al., "QuakeTM: Parallelizing a Complex Sequential Application Using Transactional Memory," in Proceedings of the 23rd International Conference on Supercomputing, 2009, pp. 126--135.
[9]
T. Nakaike, R. Odaira, T. Nakatani, and M. M. Michael, "Real Java Applications in Software Transactional Memory," in Proceedings of the IEEE International Symposium on Workload Characterization (IISWC'10), 2010, pp. 1--10.
[10]
"https://clojure.org/reference/refs.".
[11]
"http://hackage.haskell.org/package/stm-2.4.5.0/docs/Control-Concurrent-STM.html.".
[12]
M. Popovic and B. Kordic, "PSTM: Python software transactional memory," in 2014 22nd Telecommunications Forum, TELFOR 2014 - Proceedings of Papers, 2014.
[13]
A. Liu, M. Popovic, and H. Zhu, "Formalization and Verification of the PSTM Architecture," in 2017 24th Asia-Pacific Software Engineering Conference (APSEC), 2017, pp. 427--435.
[14]
B. Kordic, M. Popovic, S. Ghilezan, and I. Basicevic, "An Approach to Formal Verification of Python Software Transactional Memory," in Proceedings of the Fifth European Conference on the Engineering of Computer-Based Systems, 2017, p. 13:1--13:10.
[15]
P. Lu, D. R. Bevan, A. Leber, R. Hontecillas, N. uria Tubau-Juni, and J. Bassaganya-Riera, "Computer-Aided Drug Discovery," in Accelerated Path to Cures, 2018, pp. 7--24.
[16]
K. Reinert et al., "Alignment of Next-Generation Sequencing Reads," Annu. Rev. Genomics Hum. Genet., vol. 16, no. 1, pp. 133--151, 2015.
[17]
B. D. Weitzner et al., "Modeling and docking of antibody structures with Rosetta," Nat. Protoc., vol. 12, p. 401, Jan. 2017.
[18]
M. Goldstein, E. Fredj, and R. B. Gerber, "A new hybrid algorithm for finding the lowest minima of potential surfaces: Approach and application to peptides," J. Comput. Chem., vol. 32, no. 9, pp. 1785--1800, 2011.
[19]
M. Goldstein, "DEEPSAM: A Hybrid Evolutionary Algorithm for the Prediction of Biomolecules Structure," in LNCS 9668 - Hybrid Metaheuristics, 2016, pp. 218--221.
[20]
H. A. Scheraga, J. Lee, J. Pillardy, Y. J. Ye, A. Liwo, and D. Ripoll, "Surmounting the Multiple-Minima Problem in Protein Folding," J. Glob. Optim., vol. 15, no. 3, pp. 235--260, 1999.
[21]
A. E. Eiben and J. E. Smith, Introduction to evolutionary computing, Corrected. Berlin Heidelberg: Springer, 2007.
[22]
T. Back, D. B. Fogel, and T. Michalewicz, Eds., Evolutionary Computation 1: Basic Algorithms and Operations. IOP Publishing Ltd.: UK, 2000.
[23]
L. J. Fogel, A. J. Owens, and M. J. Walsh, Artificial Intelligence through Simulated Evolution. Wiley, USA, 1966.
[24]
E. Fredj and M. Goldstein, "A Knowledge-Based Approach to Initial Population Generation in Evolutionary Algorithms: Application to the Protein Structure Prediction Problem," in Choueka Festschrift, Part I, LNCS 8001, N. Dershowitz and E. Nissan, Eds. Berlin Heidelberg: Springer, 2014, pp. 252--262.
[25]
J. W. L. Ponder, "TINKER Molecular Modelling Package." 2003.
[26]
J. Kostrowicki and H. A. Scheraga, "Application of the Diffusion Equation Method for Global Optimization to Oligopeptides," J. Phys. Chem., vol. 96, no. 18, pp. 7442--7449, 1992.
[27]
S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi, "Optimization by simulated annealing.," Science, vol. 220, no. 4598, pp. 671--80, 1983.
[28]
D. C. Liu and J. Nocedal, "On the Limited Memory BFGS Method for Large Scale Optimization," Math. Program., vol. 45, pp. 503--528, 1989.
[29]
B. Saha, A.-R. Adl-Tabatabai, R. L. Hudson, C. C. Minh, and B. Hertzberg, "McRT-STM: A High Performance Software Transactional Memory System for a Multi-Core Runtime," in Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming - PPoPP '06, 2006, p. 187.
[30]
O. S. Hofmann, D. E. Porter, E. Witchel, C. J. Rossbach, H. E. Ramadan, and A. Bhandari, "MetaTM/TxLinux: Transactional Memory for an Operating System," IEEE Micro, vol. 28, pp. 42--51, 2008.
[31]
B. Langmead and A. Nellore, "Cloud computing for genomic data analysis and collaboration," Nat. Rev. Genet., vol. 19, p. 208, Jan. 2018.

Cited By

View all

Index Terms

  1. A Protein Structure Prediction Program Architecture Based on a Software Transactional Memory

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    ECBS '19: Proceedings of the 6th Conference on the Engineering of Computer Based Systems
    September 2019
    182 pages
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 02 September 2019

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. DEEPSAM
    2. Evolutionary Programming
    3. PSTM
    4. Python
    5. Software Transactional Memory

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    ECBS '19

    Acceptance Rates

    ECBS '19 Paper Acceptance Rate 25 of 49 submissions, 51%;
    Overall Acceptance Rate 25 of 49 submissions, 51%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 114
      Total Downloads
    • Downloads (Last 12 months)3
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 14 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media