Abstract
GridRPC, which is an RPC mechanism tailored for the Grid, is an attractive programming model for Grid computing. This paper reports on the design and implementation of a GridRPC programming system called Ninf-G. Ninf-G is a reference implementation of the GridRPC API which has been proposed for standardization at the Global Grid Forum. In this paper, we describe the design, implementations and typical usage of Ninf-G. A preliminary performance evaluation in both WAN and LAN environments is also reported. Implemented on top of the Globus Toolkit, Ninf-G provides a simple and easy programming interface based on standard Grid protocols and the API for Grid Computing. The overhead of remote procedure calls in Ninf-G is acceptable in both WAN and LAN environments.
Similar content being viewed by others
References
K. Aida, Y. Futakata and S. Kara, “High-Performance Parallel and Distributed Computing for the BMI Eigenvalue Problem,” in Proc. of IPDPS'02, 2002.
ApGrid. http://www.apgrid.org/.
I. Aumage, L. Boug, A. Denis, J.-F. Mhaut, G. Mercier, R. Namyst and L. Prylli, “Madeleine II: A Portable and Efficient Communication Library for High-Performance Cluster Computing,” in Proceedings of the IEEE Intl. Conference on Cluster Computing (Cluster 2000), 2000, pp. 78–87.
B. Bershad, T. Anderson, E. Lazowska and H. Levy, “Lighweight Remote Procedure Call,” ACM Transactions on Computer Systems (TOCS), Vol. 8, No. 1, pp. 37–55, 1990.
A. Birrel and G. Nelson, “Implementing Remote Procedure Calls,” ACM Transactions on Computer Systems (TOCS), Vol. 2, No. 1, pp. 39–59, 1984.
L. Boug, J.-F. Mhaut and R. Namyst, “Efficient Communications in Multithreaded Runtime Systems,” in Proceedings of the 3 rd Workshop on Runtime Systems for Parallel Programming (RTSPP'99), Lecture notes in computer sci. 1568, Springer Verlag, pp. 468–484, 1999.
H. Casanova and J. Dongarra, “NetSolve: A Network Server for Solving Computational Science Problems,” in Proceedings of Super Computing` 96, 1996.
C.-C. Chang, G. Czajkowski and T. von Eicken, “MRPC: A High Performance RPC System for MPMD Parallel Computing,” Software – Practice and Experience, Vol. 29, No. 1, pp. 43–66, 1999.
CORBA, “CORBA, Object Management Group.” http://www.omg.org/corba/.
K. Czajkowski, S. Fitzgerald, I. F. C. K., “Grid Information Services for Distributed Resource Sharing,” in Proc. of HPDC10, 2001.
I. Foster and C. Kesselman, “Globus: A Metacomputing Infrastructure Toolkit,” International Journal of Supercomputer Applications, 1997.
I. Foster, C. Kesselman, J. Nick and S. Tuecke, “The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration,” 2002. http://www.globus.org/ogsa.
GASS, “GASS.” http://www-fp.globus.org/gass/.
Globus I/O, “Globus I/O.” http://www-fp.globus.org/vl.l/io/globus_io.html/.
M. Govindaraju, A. Slominski, V. Choppella, R. Bramley and D. Gannon, “Requirements for and Evaluation of RMI Protocols for Scientific Computing,” in Proceedings of SC'2000, Dallas, TX, 2000.
GRAM, “GRAM.” http://www-unix.globus.org/api/c-globus-2.2/globus_gram_documentation/html/index.html.
JavaRMI, “Java Remote Method Invocation.” http://java.sun.com/products/jdk/rmi/.
C. Lee, S. Matsuoka, D. Talia, A. Sussman, M. Mueller, G. Allen and J. Saltz, “A Grid Programming Primer,” 2001. http://www.gridforum.org/7_APM/APS.htm, submitted to the Global Grid Forum.
J. Liedtke, “Improving IPC by Kernel Design,” in Proceedings of the 14 th ACM Symposium on Operating Systems Principles (SOSP), Asheville, NC, 1993.
H. Nakada, M. Sato and S. Sekiguchi, “Design and Implementations of Ninf: Towards a Global Computing Infrastructure,” in Future Generation Computing Systems, Metacomputing Issue, Vol. 15, pp. 649–658, 1999.
Ninf, “Ninf.” http://ninf.apgrid.org/.
R. Raman, M. Livny and M. Solomon, “Matchmaking: Distributed Resource Management for High Throughput Computing,” in Proc. of HPDC-7, 1998.
S. Shirasuna, H. Nakada, S. Matsuoka and S. Sekiguchi, “Evaluating Web Services Based Implementations of GridRPC,” in Proc. of HPDC11, 2002.
SOAP, “Simple Object Access Protocol (SOAP) 1.1,” 2000. http://www.w3.org/TR/SOAP/. W3C Note.
T. Suzumura, T. Nakagawa, S. Matsuoka, H. Nakada and S. Sekiguchi, “Are Global Computing Systems Useful? Comparison of Ghent-Server Global Computing Systems: Ninf, NetSolve Versus CORBA,” in Proceedings of the 14 th Parallel and Distributed Processing Symposium, IPDPS'00, pp. 547-559, 2000.
A. Takeda, M. Kojima and K. Fujisawa, “Enumeration of All Solutions of a Combinatorial Linear Inequality System Arising from the Polyhedral Homotopy Continuation Method,” J. Operations Research Society of Japan, Vol. 45, No. 1, pp. 64–82, 2002.
G. von Laszewsi, I. Foster and J. Gawor, “CoG Kits: A Bridge between Commodity Distributed Computing and High-Performance Grids. A Java Commodity Grid Kit,” in ACM 2000 Java Grande Conference, 2000.
R. Wolski, “Dynamically Forecasting Network Performance to Support Dynamic Scheduling Using the Network Weather Service,” in 6 th High-Performance Distributed Computing Conference, 1997.
XML-RPC, “XML-RPC.” http://www.xml-rpc.com/.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Tanaka, Y., Nakada, H., Sekiguchi, S. et al. Ninf-G: A Reference Implementation of RPC-based Programming Middleware for Grid Computing. Journal of Grid Computing 1, 41–51 (2003). https://doi.org/10.1023/A:1024083511032
Issue Date:
DOI: https://doi.org/10.1023/A:1024083511032