Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3183519.3183555acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Tool-based interactive software parallelization: a case study

Published: 27 May 2018 Publication History

Abstract

Continuous advances in multicore processor technology have placed immense pressure on the software industry. Developers are forced to parallelize their applications to make them scalable. However, applications are often very large and inherently complex; here, automatic parallelization methods are inappropriate. A dependable software redesign requires profound comprehension of the underlying software architecture and its dynamic behavior. To address this problem, we propose Parceive, a tool that supports identification of parallelization scenarios at various levels of abstraction. Parceive collects behavior information at runtime and combines it with reconstructed software architecture information to generate useful visualizations for parallelization. In this paper, we motivate our approach and explain the main components of Parceive. A case study demonstrates the usefulness of the tool.

References

[1]
L. Adhianto, S. Banerjee, M. Fagan, M. Krentel, G. Marin, J. Mellor-Crummey, and N. Tallent. 2010. HPCToolkit: Tools for Performance Analysis of Optimized Parallel Programs. Concurrency and Computation: Practice and Experience (2010).
[2]
C. Arias, A. Pierre, and A. Paris. 2013. A Top-Down Approach to Construct Execution Views of a Large Software-Intensive System. Journal of Software: Evolution and Process 25 (2013).
[3]
U. Banerjee, R. Eigenmann, A. Nicolau, and D. Padua. 1993. Automatic Program Parallelization. Proc. IEEE (1993).
[4]
F. Bodin and M. O'Boyle. 1996. A Compiler Strategy for Shared Virtual Memories. In Languages, Compilers and Run-Time Systems for Scalable Computers. Springer.
[5]
M. Burke, R. Cytron, J. Ferrante, and W. Hsieh. 1989. Automatic Generation of Nested, fork-join Parallelism. The Journal of Supercomputing (1989).
[6]
S. Ducasse and D. Pollet. 2009. Software Architecture Reconstruction: A Process-Oriented Taxonomy. IEEE Transactions on Software Engineering (2009).
[7]
F. Fittkau, P. Stelzer, and W. Hasselbring. 2014. Live Visualization of Large Software Landscapes for Ensuring Architecture Conformance. In ECSA.
[8]
K. Gallagher, A. Hatch, and M. Munro. 2008. Software Architecture Visualization: An Evaluation Framework and its Application. IEEE Transactions on Software Engineering 34 (2008).
[9]
S. Garcia, D. Jeon, C. Louie, and M. Taylor. 2011. Kremlin: Rethinking and Rebooting gprof for the Multicore Age. In ACM SIGPLAN Notices. ACM.
[10]
S. Girbal, N. Vasilache, C. Bastoul, A. Cohen, D. Parello, M. Sigler, and O. Temam. 2006. Semi-automatic Composition of Loop Transformations for Deep Parallelism and Memory Hierarchies. International Journal of Parallel Programming (2006).
[11]
Intel. 2017. Parallel Studio XE 2018. (2017). https://software.intel.com/en-us/intel-parallel-studio-xe {Online; accessed Oct-2017}.
[12]
M. Kim, H. Kim, and C. Luk. 2010. Prospector: A Dynamic Data-Dependence Profiler to Help Parallel Programming. In HotPar.
[13]
T. LeBlanc, J. Mellor-Crummey, and R. Fowler. 1990. Analyzing Parallel Program Executions using Multiple Views. J. Parallel and Distrib. Comput. (1990).
[14]
Z. Li, R. Atre, Z. Huda, A. Jannesari, and F. Wolf. 2016. Unveiling Parallelization Opportunities in Sequential Programs. Journal of Systems and Software (2016).
[15]
S. Liao, A. Diwan, R. Bosch Jr, A. Ghuloum, and M. Lam. 1999. SUIF Explorer: An Interactive and Interprocedural Parallelizer. ACM.
[16]
M. Lungu, M. Lanza, and O. Nierstrasz. 2014. Evolutionary and Collaborative Software Architecture Recovery with Softwarenaut. Science of Computer Programming 79 (2014).
[17]
G. Murphy, D. Notkin, and K. Sullivan. 1995. Software Reflexion Models: Bridging the Gap between Source and High-level Models. ACM SIGSOFT Software Engineering Notes 20 (1995).
[18]
W. Nagel, A. Arnold, M. Weber, H. Hoppe, and K. Solchenbach. 1996. VAMPIR: Visualization and Analysis of MPI Resources.
[19]
A. Nicolaescu, H. Lichter, A. Göringer, P. Alexander, and D. Le. 2015. The ARAMIS Workbench for Monitoring, Analysis and Visualization of Architectures based on Run-time Interactions. In Proceedings of the 2015 European Conference on Software Architecture Workshops.
[20]
G. Ramalingam. 1994. The Undecidability of Aliasing. ACM Trans. Program. Lang. Syst. (1994).
[21]
N. Satish, C. Kim, J. Chhugani, H. Saito, R. Krishnaiyer, M. Smelyanskiy, M. Girkar, and P. Dubey. 2012. Can Traditional Programming Bridge the Ninja Performance Gap for Parallel Computing Applications?. In ISCA.
[22]
B. Schmerl, J. Aldrich, D. Garlan, R. Kazman, and H. Yan. 2006. Discovering Architectures from Running Systems. IEEE Transactions on Software Engineering 32 (2006).
[23]
C. Stoermer, A. Rowe, L. O'Brien, and C. Verhoef. 2006. Model-centric software architecture reconstruction. Software: Practice and Experience 36 (2006).
[24]
A. Van Deursen, C. Hofmeister, R. Koschke, L. Moonen, and C. Riva. 2004. Symphony: View-Driven Software Architecture Reconstruction. In WICSA.
[25]
A. Wilhelm, V. Savu, E. Amadasun, M. Gerndt, and T. Schuele. 2016. A Visualization Framework for Parallelization. In VISSOFT.
[26]
A. Wilhelm, B. Sharma, R. Malakar, T. Schuele, and M. Gerndt. 2015. Parceive: Interactive parallelization based on Dynamic Analysis. In PCODA.
[27]
X. Zhang, A. Navabi, and S. Jagannathan. 2009. Alchemist: A Transparent Dependence Distance Profiling Infrastructure. In CGO. IEEE.

Cited By

View all
  • (2022)CASA: An Approach for Exposing and Documenting Concurrency-Related Software PropertiesEmbedded Computer Systems: Architectures, Modeling, and Simulation10.1007/978-3-031-15074-6_9(139-154)Online publication date: 3-Jul-2022
  • (2021)ArchViMP – a Framework for Automatic Extraction of Concurrency-related Software Architectural Properties50th International Conference on Parallel Processing Workshop10.1145/3458744.3473349(1-10)Online publication date: 9-Aug-2021
  • (2021)Two-Archive Fuzzy-Pareto-Dominance Swarm Optimization for Many-Objective Software Architecture ReconstructionArabian Journal for Science and Engineering10.1007/s13369-020-05147-546:4(3503-3518)Online publication date: 3-Jan-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE-SEIP '18: Proceedings of the 40th International Conference on Software Engineering: Software Engineering in Practice
May 2018
336 pages
ISBN:9781450356596
DOI:10.1145/3183519
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 May 2018

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

ICSE '18
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2022)CASA: An Approach for Exposing and Documenting Concurrency-Related Software PropertiesEmbedded Computer Systems: Architectures, Modeling, and Simulation10.1007/978-3-031-15074-6_9(139-154)Online publication date: 3-Jul-2022
  • (2021)ArchViMP – a Framework for Automatic Extraction of Concurrency-related Software Architectural Properties50th International Conference on Parallel Processing Workshop10.1145/3458744.3473349(1-10)Online publication date: 9-Aug-2021
  • (2021)Two-Archive Fuzzy-Pareto-Dominance Swarm Optimization for Many-Objective Software Architecture ReconstructionArabian Journal for Science and Engineering10.1007/s13369-020-05147-546:4(3503-3518)Online publication date: 3-Jan-2021
  • (2020)A systematic literature review of modern software visualizationJournal of Visualization10.1007/s12650-020-00647-w23:4(539-558)Online publication date: 1-Aug-2020
  • (2020)Skipping Non-essential Instructions Makes Data-Dependence Profiling FasterEuro-Par 2020: Parallel Processing10.1007/978-3-030-57675-2_1(3-17)Online publication date: 24-Aug-2020
  • (2019)Accelerating Data-Dependence Profiling with Static HintsEuro-Par 2019: Parallel Processing10.1007/978-3-030-29400-7_2(17-28)Online publication date: 26-Aug-2019

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media