Your browser does not support JavaScript!
http://iet.metastore.ingenta.com
1887

Performance-driven object-oriented program re-modularisation

Performance-driven object-oriented program re-modularisation

For access to this article, please select a purchase option:

Buy article PDF
£12.50
(plus tax if applicable)
Buy Knowledge Pack
10 articles for £75.00
(plus taxes if applicable)

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.

Learn more about IET membership 

Recommend Title Publication to library

You must fill out fields marked with: *

Librarian details
Name:*
Email:*
Your details
Name:*
Email:*
Department:*
Why are you recommending this title?
Select reason:
 
 
 
 
 
IET Software — Recommend this title to your library

Thank you

Your recommendation has been sent to your librarian.

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.

References

    1. 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. 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. 3)
      • S. Parsa , O. Bushehrian . The design and implementation of a tool for automatic software modularization. J. Supercomput. , 1 , 71 - 94
    4. 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. 5)
      • S. Parsa , O. Bushehrian . Genetic clustering with constraints. J. Res. Pract. Inf. Technol. , 1 , 47 - 60
    6. 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. 7)
      • J.T. Feo . (1992) A comparative study of parallel programming languages: the Salishan problems.
    8. 8)
      • J. Al-Jaroodi , N. Mahamad , H. Jiang , D. Swanson . JOPI: a Java object passing interface. Concurrency Comput. Pract. Exp. , 775 - 795
    9. 9)
      • B. Chan , T.S. Abdelrahman . Runtime support for the automatic parallelization of Java programs. J. Supercomput. , 91 - 117
    10. 10)
      • Yannis, S.: `Application partitioning without programming', White paper, 2001.
    11. 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. 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. 13)
      • Schoeberl, M.: `JOP: a Java optimized processor for embedded real-time systems', 2005, PhD, Vienna University of Technology.
    14. 14)
      • Chen, M.K., Olukotun, K.: `The Jrpm system for dynamically parallelization Java programs', 30thInt. Symp. Computer Architecture (ISCA 2003), 2003, USA, IEEE.
    15. 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. 16)
      • L. Tahvildari , K. Kontogiannis , J. Mylopoulos . Quality-driven software re-engineering. J. Syst. Softw. , 225 - 239
    17. 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. 18)
      • Schoeberl, M.: `A time predictable Java processor', Proc. Conf. Design, Automation and Test in Europe, 2006, Germany, p. 800–805.
    19. 19)
      • R. Gupta , S. Pande , K. Psarris , V. Sarkar . Compilation techniques for parallel systems. Parallel Comput. , 1741 - 1783
    20. 20)
      • A.S. TanenBaum , M. Van Steen . (2002) Distributed systems principles and paradigms.
    21. 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. 22)
      • D.A. Patterson , J.L. Hennessy . (2007) Computer architecture: a quantitative approach.
    23. 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. 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. 25)
      • Mitchell, B.S.: `A heuristic search approach to solving the software clustering problem', March 2002, , Drexel University.
    26. 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. 27)
      • R.P. Grimaldi . (1998) Discrete and combinatorial mathematics: an applied introduction.
    28. 28)
      • The message passing interface (MPI), Available at: http://www-unix.mcs.anl.gov/mpi/, November 2004.
    29. 29)
      • Gustafsson, J.: `Analysing execution-time of object-oriented programs using abstract interpretation', May 2000, PhD, Uppsala University, Uppsala, Sweden.
    30. 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. 31)
      • M.C. Golumbic , V. Rainish . Instruction scheduling beyond basic blocks. IBM J. Res. Dev , 1 , 93 - 97
    32. 32)
      • M. Philippsen , M. Zenger . JavaParty transparent remote objects in Java. Concurrency, Pract. Exp. , 1225 - 1242
    33. 33)
      • H. Zima , B. Chapman . (1991) Supercompilers for parallel and vector computers.
    34. 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. 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. 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. 37)
      • A.S. Grimshaw . Easy-to-use object-oriented parallel processing with Mentat. IEEE Trans. Parallel Distrib. Technol. , 39 - 51
http://iet.metastore.ingenta.com/content/journals/10.1049/iet-sen_20070065
Loading

Related content

content/journals/10.1049/iet-sen_20070065
pub_keyword,iet_inspecKeyword,pub_concept
6
6
Loading
This is a required field
Please enter a valid email address