focused in particular on higher level design
abstractions in parallel computing and the adoption of
model-driven development.
In our earlier study (Arkin et. al., 2013)
(Tekinerdogan and Arkin, 2013), we have proposed
an architecture framework for mapping parallel
algorithms to parallel computing platforms. In that
study we only focused on parallel algorithms and did
not consider the broader concept of application. Also
we assumed a distributed memory model in which
each node has its own memory unit and, as such,
targeted the MISD architecture of the Flynn’s
taxonomy. The current approach focuses on software
application and is more general in the sense that it
supports both modules and algorithms, can represent
different memory models, and supports modeling
different computing architectures.
5 CONCLUSIONS
The current trend towards increased parallelization of
software systems requires proper architecture design
approaches for modeling and analysis of concerns
related to parallel computing. In this paper we have
primarily focused on the mapping of parallel
applications on parallel computing platforms. In the
current parallel computing literature the focus has
been mainly on mapping algorithms to computing
platform. Our approach adopts a broader perspective
and considers the mapping of software application
consisting of modules and algorithms to different
computing platforms. Although various viewpoints
exist in the software engineering community to cope
with parallelism the architecture framework is novel
since it provides a coherent and integrated set of
viewpoints dedicated for mapping parallel
applications to parallel computing platforms. In
addition to the viewpoints we have also provided the
corresponding approach that describes the logical
order in defining the views. We have illustrated the
approach for the Order Management case study. The
architecture framework is useful in supporting the
architecture design process of parallel applications
and supports the communication among stakeholders,
the guidance of the development of the system and
the analysis of the system. In our future work we will
further refine the tool support and elaborate on the
design of parallel applications using the presented
architecture framework.
REFERENCES
Amdahl, G.M., 2007. Validity of the Single Processor
Approach to Achieving Large Scale Computing
Capabilities, Re. fr. the AFIPS Conf. Proc., Vol. 30
(Atlantic City, N.J., Apr. 18–20), AFIPS Press, Reston,
Va., 1967, pp. 483–485, Solid-State Circuits
Newsletter, IEEE, vol.12, no.3, pp.19,20.
Arias, T.B.C., Avgeriou, P., America, P., 2011. Defining
and documenting execution viewpoints for a large and
complex software-intensive system. Elsevier Journal of
Systems and Software 84 1447– 1461.
Arkin, E., Tekinerdogan, B., Imre. K., 2013. Model-Driven
Approach for Supporting the Mapping of Parallel
Algorithms to Parallel Computing Platforms. Proc. of
the ACM/IEEE 16th Int. Conf. on Model Driven
Engineering Languages and System.
Flynn, M., 1972. Some Computer Organizations and Their
Effectiveness, Computers, IEEE Transactions on, vol.
C-21, no.9, pp.948, 960.
Foster, I., 1995. Designing and Building Parallel Programs:
Concepts and Tools for Parallel Software Engineering.
Addison-Wesley Longman Publishing Co., Boston,
MA, USA.
Frank, M.P., 2002. The physical limits of computing,
Computing in Science & Engineering, vol.4, no.3,
pp.16, 26.
Gustafson, J.L., 1988. Reevaluating Amdahl's law,
Communications of the ACM, v 31, n 5, p 532-533.
Hill, M.D., Marty, M.R., 2008. Amdahl's Law in the
Multicore Era, Computer, vol.41, no.7, pp.33, 38.
[ISO/IEC 42010:2011], 2011. Systems and Software
Engineering – Architecture Description.
Kogge, P., et al. 2008. Exascale Computing Study:
Technology Challenges in Achieving Exascale Systems.
DARPA.
Ortega-Arjona, J.L., 2006. Architectural Patterns for
Parallel Programming: Models for Performance
Estimation, Phd. Thesis, Dept. of Computer Science,
University College London.
Pllana, S., Fahringer, T., 2002. UML based modeling of
performance oriented parallel and distributed
applications, Simulation Conf., 2002. Proceedings of
the Winter, vol.1, no., pp.497, 505 vol.1, 8-11.
Rozanski, N., Woods, E., 2011. Software Systems
Architecture: Working with Stakeholders Using
Viewpoints and Perspectives, Second Edition,
Addison-Wesley.
Talia, D., 2001. Models and Trends in Parallel
Programming. Parallel Algorithms and Applications
16, no. 2: 145-180.
Tekinerdogan, B., Arkin, E., 2013. Architecture
Framework for Mapping Parallel Algorithms to Parallel
Computing Platforms, Proc. of the 2nd Int. Workshop
on Model-Driven Engineering for High Performance
and CLoud computing., Miami.
MODELSWARD2015-3rdInternationalConferenceonModel-DrivenEngineeringandSoftwareDevelopment
192