Performance-driven object-oriented program re-modularisation
Performance-driven object-oriented program re-modularisation
- Author(s): S. Parsa and O. Bushehrian
- DOI: 10.1049/iet-sen:20070065
For access to this article, please select a purchase option:
Buy article PDF
Buy Knowledge Pack
IET members benefit from discounts to all IET publications and free access to E&T Magazine. If you are an IET member, log in to your account and the discounts will automatically be applied.
Thank you
Your recommendation has been sent to your librarian.
- Author(s): S. Parsa 1 and O. Bushehrian 1
-
-
View affiliations
-
Affiliations:
1: Faculty of Computer Engineering, Iran University of Science and Technology, Narmak, Iran
-
Affiliations:
1: Faculty of Computer Engineering, Iran University of Science and Technology, Narmak, Iran
- Source:
Volume 2, Issue 4,
August 2008,
p.
362 – 378
DOI: 10.1049/iet-sen:20070065 , Print ISSN 1751-8806, Online ISSN 1751-8814
The aim is to achieve the highest possible speedup when distributing a program across a cluster of computational nodes. The speedup may be achieved by concurrent execution of the distributed modules. In order to maximise the concurrency, a two-stage approach is proposed. In the first stage, a novel statement-reordering algorithm reorders the statements within a given program, to maximise the distance between each call instruction and the instructions, which are data-dependent on any value affected by the call. In the second stage, a clustering algorithm is applied to look for a modular structure of the program which results in the highest concurrency in its execution. The clustering algorithm applies a novel performance evaluation function which is derived from the program code, automatically.
Inspec keywords: object-oriented programming; distributed programming
Other keywords:
Subjects: Object-oriented programming; Distributed systems software; Parallel programming
References
-
-
1)
- Gourhant, Y., Louboutin, S., Cahill, V., Condon, A., Starovic, G., Tangney, B.: `Dynamic clustering in an object-oriented distributed system', Proc. OLDA-II (Objects in Large Distributed Applications), October 1992, Ottawa, Canada.
-
2)
- Fahringer, T., Jugravu, A.: `JavaSymphony: new directives to control and synchronize locality, parallelism, and load balancing for cluster and GRID-computing', Proc. Joint ACM Java Grande – ISCOPE 2002 Conf., November 2002, Seattle, Washington.
-
3)
- S. Parsa , O. Bushehrian . The design and implementation of a tool for automatic software modularization. J. Supercomput. , 1 , 71 - 94
-
4)
- Astly, M., Agha, G.A.: `Modular construction and composition of distributed software architectures', Int. Symp. Software Engineering for Parallel and Distributed Systems, 1998.
-
5)
- S. Parsa , O. Bushehrian . Genetic clustering with constraints. J. Res. Pract. Inf. Technol. , 1 , 47 - 60
-
6)
- Bushehrian, O., Parsa, S.: `Formal description of a runtime infrastructure for automatic distribution of programs', The 21st Int. Symp. Computer and Information Sciences, 2006, 4263, Lecture Notes in Computer Science.
-
7)
- J.T. Feo . (1992) A comparative study of parallel programming languages: the Salishan problems.
-
8)
- J. Al-Jaroodi , N. Mahamad , H. Jiang , D. Swanson . JOPI: a Java object passing interface. Concurrency Comput. Pract. Exp. , 775 - 795
-
9)
- B. Chan , T.S. Abdelrahman . Runtime support for the automatic parallelization of Java programs. J. Supercomput. , 91 - 117
-
10)
- Yannis, S.: `Application partitioning without programming', White paper, 2001.
-
11)
- Deb, D., Fuad, M.M., Oudshoom, M.J.: `Towards autonomic distribution of existing object oriented programs', Int. Conf. Autonomic and Autonomous Systems (ICAS’06), 2006, IEEE.
-
12)
- Bal, H.E., Kaashoek, M.F.: `Object distribution in Orca using compile-time and run-time techniques', ACM Conf. Object-Oriented Programming Systems, Languages and Applications, 1993, p. 162–177.
-
13)
- Schoeberl, M.: `JOP: a Java optimized processor for embedded real-time systems', 2005, PhD, Vienna University of Technology.
-
14)
- Chen, M.K., Olukotun, K.: `The Jrpm system for dynamically parallelization Java programs', 30thInt. Symp. Computer Architecture (ISCA 2003), 2003, USA, IEEE.
-
15)
- Bellay, B., Gall, H.: `Reverse engineering to recover and describe a systems architecture', Development and Evolution of Software Architectures for Product Families, 1998, 1429, Lecture Notes in Computer Science.
-
16)
- L. Tahvildari , K. Kontogiannis , J. Mylopoulos . Quality-driven software re-engineering. J. Syst. Softw. , 225 - 239
-
17)
- Harris, D.R., Reubenstein, H.B., Yeh, A.S.: `Reverse engineering to the architectural level', Proc. 17th Int. Conf. Software Engineering, 1995, Seattle, Washington, US.
-
18)
- Schoeberl, M.: `A time predictable Java processor', Proc. Conf. Design, Automation and Test in Europe, 2006, Germany, p. 800–805.
-
19)
- R. Gupta , S. Pande , K. Psarris , V. Sarkar . Compilation techniques for parallel systems. Parallel Comput. , 1741 - 1783
-
20)
- A.S. TanenBaum , M. Van Steen . (2002) Distributed systems principles and paradigms.
-
21)
- Parsa, S., Bushehrian, O.: `Formal specification and implementation of an environment for automatic distribution', Proc. Int. Conf. Grid and Pervasive Computing (GPC2007), Paris, France.
-
22)
- D.A. Patterson , J.L. Hennessy . (2007) Computer architecture: a quantitative approach.
-
23)
- Andolfi, F., Aquilani, F., Balsamo, S., Inverardi, P.: `Deriving performance models of software architectures from message sequence charts', Proc. 2nd Int. Workshop on Software and Performance (WOSP2000), 2000, Canada.
-
24)
- Healy, C.A., Whalley, D.B.: `Tighter timing predictions by automatic detection and exploitation of value-dependent constraints', Proc. Real-Time Technology and Applications Symp., June 1999, IEEE, p. 79–88.
-
25)
- Mitchell, B.S.: `A heuristic search approach to solving the software clustering problem', March 2002, , Drexel University.
-
26)
- Healy, C.A., Sjodin, M., Whalley, D.B.: `Bounding loop iterations for timing analysis', Proc. IEEE Real-Time Technology and Applications Symp., June 1998, p. 12–21.
-
27)
- R.P. Grimaldi . (1998) Discrete and combinatorial mathematics: an applied introduction.
-
28)
- The message passing interface (MPI), Available at: http://www-unix.mcs.anl.gov/mpi/, November 2004.
-
29)
- Gustafsson, J.: `Analysing execution-time of object-oriented programs using abstract interpretation', May 2000, PhD, Uppsala University, Uppsala, Sweden.
-
30)
- Mitchell, B.S., Spiros, M.: `Bunch: a clustering tool for the recovery and maintenance of software system structure', Proc. Int. Conf. Software Maintenance, 1999, IEEE.
-
31)
- M.C. Golumbic , V. Rainish . Instruction scheduling beyond basic blocks. IBM J. Res. Dev , 1 , 93 - 97
-
32)
- M. Philippsen , M. Zenger . JavaParty transparent remote objects in Java. Concurrency, Pract. Exp. , 1225 - 1242
-
33)
- H. Zima , B. Chapman . (1991) Supercompilers for parallel and vector computers.
-
34)
- Cortellessa, V., Mirandola, R.: `Deriving a queueing network based performance model from UML diagrams', Proc. 2nd Int. Workshop on Software and Performance (WOSP2000), 2000, Canada.
-
35)
- Maani, R., Parsa, S.: `An algorithm to improve parallelism in distributed systems using asynchronous calls', 7thInt. Conf. Parallel Processing and Applied Mathematics, 2007, Poland.
-
36)
- Sobral, J.L., Proenca, A.J.: `Dynamic grain-size adaptation on object oriented parallel programming the SCOOP approach', Proc. 13th Int. Symp. Parallel Processing, 1999, IEEE, p. 728–732.
-
37)
- A.S. Grimshaw . Easy-to-use object-oriented parallel processing with Mentat. IEEE Trans. Parallel Distrib. Technol. , 39 - 51
-
1)