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.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Sterling T (2001) Beowulf cluster computing with Linux, 1 edn. MIT Press, Cambridge
Tannenbaum AS Steen MV (2002) Distributed systems: principles and paradigms. Prentice Hall, New York. US edn
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
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
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
Hart JM (2004) Windows system programming, 3 edn. Addison-Wesley, Reading
Thain D, Tannenbaum T, Livny M (2005) Distributed computing in practice: the condor experience. Concurr Comput Pract Exp 17(2–4):323–356
Dean DF (2007) Interprocess communication mechanism for heterogeneous computer processes. United State Patent No: US 6,874,151, Mar. 29, 2007
Gloger W (2007) LAM/MPI user guide. Pervasive Technology Laboratory at Indiana University, Version 7.1.4., 2007
Gropp W, Lusk E, Sterling T (2003) Beowulf cluster computing with Linux, 2nd edn. MIT Press, Cambridge. Chap. 15
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
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
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
Lantz E (2008) Using Microsoft message passing interface (MS MPI). Windows HPC Server 2008, Microsoft Corporation
TIPC programmers guide: version 1.2.2. Available: http://tipc.sourceforge.net/. Accessed 2010
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
Maloy J, Stephens A (2010) Specification for version 2 of the TIPC protocol. Multicore Association. Accessed: http://tipc.sourceforge.net/
Orvill F, Therning M (2000) Evaluation of Interprocess communication methods in a component based environment. Master thesis, Linkoping University
McMurtry C, Mercuri M, Watling N (2006) Microsoft windows communication foundation, 1st edn. Sams, Indianapolis
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
Kato K, Ohori A, Murakami T, Masuda T (1993) Distributed C language base on higher-order RPC technique. Academic Press, San Diego
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
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
Muthuswamy SS, Varadarajan K (2005) Port Windows IPC apps to Linux. IBM, Armonk
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
Top 500, ‘Supercomputer site’. http://www.top500.org/. Accessed 2010
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-010-0452-9