Skip to main content
Log in

A platform independent distributed IPC mechanism in support of programming heterogeneous distributed systems

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Interprocess communication (IPC) is a well-known technique commonly used by programs running on homogeneous distributed systems. However, it cannot be used readily and efficiently by programs running on heterogeneous distributed systems. This is because it must be given a uniform interface either by a set of middleware or more efficiently properly ported to the kernel of all varieties of open source and closed source proprietary operating systems running on heterogeneous nodes of distributed systems. This is particularly problematic to achieve when the kernel code of closed source operating systems are inaccessible to third parties. We propose an alternative nonproprietary approach to enable the use of IPC in heterogeneous distributed systems by wrapping IPC calls from the kernel of closed source operating systems, and converting them into equivalent IPC calls that are efficiently implemented inside the kernel code of open source operating systems. To show the superiority of our approach, we developed a wrapper for converting MS-Windows IPC calls into equivalent Linux IPC calls and benched our approach on a hybrid computer cluster running both types of operating systems.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Sterling T (2001) Beowulf cluster computing with Linux, 1 edn. MIT Press, Cambridge

    Google Scholar 

  2. Tannenbaum AS Steen MV (2002) Distributed systems: principles and paradigms. Prentice Hall, New York. US edn

    Google Scholar 

  3. Mirtaheri SL, Mousavi Khaneghah E, Sharifi M (2008) A case for kernel-level implementation of inter-process communication mechanisms. In: The 3rd IEEE international conference on information and communication technologies: from theory to applications (ICTTA’08), Damascus, Syria, 7–11 April 2008

  4. Sterling T, Becker D, Savarese D, Dorband JE, Ranawake UA, Packer CV (1995) BEOWULF: a parallel workstation for scientific computation. In: Proceedings of the international conference on parallel processing (ICPP), August 1995

  5. Sharifi M, Mirtaheri SL, Mousavi Khaneghah E (2009) A dynamic framework for integrated management of all types of resources in P2P systems. J Supercomput 52:149–170

    Article  Google Scholar 

  6. Hart JM (2004) Windows system programming, 3 edn. Addison-Wesley, Reading

    Google Scholar 

  7. Thain D, Tannenbaum T, Livny M (2005) Distributed computing in practice: the condor experience. Concurr Comput Pract Exp 17(2–4):323–356

    Article  Google Scholar 

  8. Dean DF (2007) Interprocess communication mechanism for heterogeneous computer processes. United State Patent No: US 6,874,151, Mar. 29, 2007

  9. Gloger W (2007) LAM/MPI user guide. Pervasive Technology Laboratory at Indiana University, Version 7.1.4., 2007

  10. Gropp W, Lusk E, Sterling T (2003) Beowulf cluster computing with Linux, 2nd edn. MIT Press, Cambridge. Chap. 15

    Google Scholar 

  11. Basney J, Livny M (1999) Deploying a high throughput computing cluster. In: High performance cluster computing, Rajkumar Buyya, vol. 1. Prentice Hall, New York. Chap. 5

    Google Scholar 

  12. Milojicic DS, Douglis F, Paindaveine Y, Wheeler R, Zhou S (2000) Process migration. Technical report. HP Labs, AT&T Labs-Research, TOG Research Institute, EMC, University of Toronto, Platform Computing

  13. Gabriel E, Fagg GE, Bosilca G, Angskun T, Dongarra JJ, Squyres JM, Sahay V, Kambadur P, Barrett B, Lumsdaine A, Castain RH, Daniel DJ, Graham RL, Woodall TS (2004) Open MPI: goals, concept, and design of a next generation MPI implementation. In: Euro PVM/MPI 2004, Budapest, Hungary, September, 2004

  14. Lantz E (2008) Using Microsoft message passing interface (MS MPI). Windows HPC Server 2008, Microsoft Corporation

  15. TIPC programmers guide: version 1.2.2. Available: http://tipc.sourceforge.net/. Accessed 2010

  16. Yi L, Haichun C, Jing Q, Zhuomin C (2004) Striding network of inter-process communication based on TCP/IP protocol. Plasma Sci Technol 6(4). doi:10.1088/1009-063016141008

  17. Maloy J, Stephens A (2010) Specification for version 2 of the TIPC protocol. Multicore Association. Accessed: http://tipc.sourceforge.net/

  18. Orvill F, Therning M (2000) Evaluation of Interprocess communication methods in a component based environment. Master thesis, Linkoping University

  19. McMurtry C, Mercuri M, Watling N (2006) Microsoft windows communication foundation, 1st edn. Sams, Indianapolis

    Google Scholar 

  20. Mousavi Khanegah E, Mirtaheri SL, Sharifi M (2008) Evaluating the effect of inter process communication efficiency on high performance distributed scientific computing. In: The 2008 IEEE international conference on embedded and ubiquitous computing (EUC 2008), sponsored by Shanghai Jiao Tong University and Shanghai Computer Association, Shanghai, China, December 17–20, 2008

  21. Kato K, Ohori A, Murakami T, Masuda T (1993) Distributed C language base on higher-order RPC technique. Academic Press, San Diego

    Google Scholar 

  22. Mirtaheri SL, Mousavi Kaneghah E, Sharifi M, Abdollahi Azgomi M (2008) The influence of efficient message passing mechanisms on high performance distributed scientific computing. In: The 2008 IEEE international symposium on advances in parallel and distributed computing techniques (APDCT2008), in conjunction with the 2008 IEEE international symposium on parallel and distributed processing with applications (ISPA2008), Sydney, Australia, December 10–12, 2008

  23. Kashyian M, Mousavi Kaneghah E, Mirtaheri SL (2008) Portable inter process communication programming. In: Advanced engineering computing and applications in sciences (ADVCOMP ’08), International Conference, Valencia, Spain, September 29–October 4, 2008. IEEE Computer Society, Los Alamitos, pp 181–186 ISBN:978-0-7695-3369-8

    Chapter  Google Scholar 

  24. Muthuswamy SS, Varadarajan K (2005) Port Windows IPC apps to Linux. IBM, Armonk

    Google Scholar 

  25. Broquedis F, Furmento N, Goglin B, Namyst R, Wacrenier P (2009) Dynamic task and data placement over NUMA architectures: an OpenMP runtime perspective. In: Fifth international workshop on OpenMP IWOMP 2009: runtime environments. Lecture notes in computer science, vol 5568, pp 79—92

  26. Top 500, ‘Supercomputer site’. http://www.top500.org/. Accessed 2010

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Seyedeh Leili Mirtaheri.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sharifi, M., Mousavi Khaneghah, E., Kashyian, M. et al. A platform independent distributed IPC mechanism in support of programming heterogeneous distributed systems. J Supercomput 59, 548–567 (2012). https://doi.org/10.1007/s11227-010-0452-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-010-0452-9

Keywords

Navigation