Ninf: A Global Computing Infrastructure
Ninf administration group
c/o Satoshi Sekiguchi

National Institute of Advanced Industrial Science and Technology,
Grid Technology Research Center,
1-1-1 Umezono, Tsukuba, Ibaraki,
305-8568 JAPAN
Download Patch for Ninf-G Ver. 2.4.0
About this patch
This patch fixes the following bugs of Ninf-G 2.4.0.
  • Free memory will be accessed
  • Ninf-G client aborts in grpc_function_handle_destruct() if there is an outstanding grpc_call() to the same function handle.
  • A compile error occurs in AIX
  • Java Client leaks memory and sockets
In addition, this patch adds Java API manual.
Instructions for applying patch are as follows (instructions are included in the patch file itself).
    % cd ng-2.4.0
    % patch -p1 < ng-2.4.0-2.4.1.diff
    % make distclean
    % ./configure
    % make
    % make install
Please click here for downloading patch for Ninf-G 2.4.0.
Download Ninf-G Ver. 2.4.0
About Ninf-G 2.4.0
Ninf-G version 2 (Ninf-G2) is the supporting software for the development and execution of programs with the Grid Remote Procedure Call (GridRPC). Ninf-G2 is a full implementation of the GridRPC API, a proposed GGF standard. In addition to the GridRPC API, Ninf-G2 provides Ninf-G API for supporting 1) high performance on a large-scale computational Grid, 2) rich functionalities which are required to compensate for the heterogeneity and unreliability of a Grid environment, and 3) easy development and execution of Grid applications.

Details are described in Overview section in the Ninf-G version 2 users' manual. Installation instruction is described in the Installation section in the manual.
Ninf-G Version 2.4.0 is the latest version of Ninf-G2 and it is expected to be the final release of Ninf-G2. This release includes the following new features and bug fixes:
  • New features
    • Thread-ID is put into log, when loglevel is set to 5(Debug).
    • Ninf-G Executable retries to establish a connection to the Ninf-G client when the Ninf-G Executable could not connect to the Ninf-G client.
    • The timeout value of a sessions can be specified by a session attribute.
    • stdout and stderr of Ninf-G Executable can be put into files.
    • "broadcast" and "allocate" modifier are added to Ninf-G IDL for MPI.
      • "broadcast" : broadcast the variable to all nodes
      • "allocate" : allocate memory area for the variable on all nodes, but the value is not copied.
    • ng_gen accepts CPP options.
    • The compression for filename type variables is supported.
    • Ninf-G client can re-read the client configuration file on-the-fly. An API for re-read the client configuration file is added (grpc_config_file_read_np()).
    • Ninf-G client can exit without waiting JOB_DONE message from the Globus jobmanager.
    • Information of compression is added to grpc_session_info_t_np.
    • Arguments and results can be divided into blocks when they are transferred between Ninf-G client and Ninf-G Executable.
    • A tutorial document and sample programs are added into tutorial directory.
  • Changes
    • The default value of loglevel was changed from 0 (None) to 2 (Error).
    • More detailed messages are put into log of Ninf-G Executable
    • The performance of sending/receiving data has been improved
    • Filename type variables are transferred without using GASS.
    • Implementation of grpc_probe_or() was changed to be compliant with the GridRPC API specification.
    • Ninf-G system checks the result field in the protocol data.
    • Ninf-G Executable does not catch SIGFEP, SIGSEGV, SIGILL and SIGQUIT.
    • log_filePath can take the following keywords:
      • %t: the time of creation of the file (yyyymmdd-hhmmss-MMM)
      • %p: process-ID
      • %h: hostname
    • changed the name of API for getting information of the last session (grpc_get_last_error_np() -> grpc_last_error_get_np())
  • Fixed BUGs
    • job_startTimeout is ignored when transfer_argument is set to "nowait".
    • script removes ${NG_PATH}* from $PATH.
    • *_handle_is_ready() freezes when non-thread Ninf-G Client get information of Remote Class from Ninf-G Executable
    • Ninf-G Executable failes in making a log directory when multiple Ninf-G Executables are invoked at the same time.
    • Ninf-G Executable does not return an error immediately when it fails in making a directory for logfiles.
    • Ninf-G client aborted when negative variable is set as job_startTimeout
    • save_sessionInfo did't accept "-1" and "0".
    • Ninf-G callback which has only OUT mode arguments causes an error.
    • Ninf-G callback with no arguments causes an error.
    • pthread Ninf-G Client sometimes freezes when it waits the completion of a session.
    • Remote Function with no arguments cannot be called by "Calls".
    • ng_gen can not process a big IDL file whose size is more than 4K Bytes.
    • ng_gen overwrites the file which is specified as the 2nd argument.
    • ng_gen detects an error if the callback type variable with no arguments is specified as the last argument of a Remote Function.
    • Java client cannot invoke Ninf-G Executable without LocalLDIF files.
    • Java client cannot process Ninf-G Expression which has more than 30 terms.
    • Java client occasionally returns incorrect results.
    • Shrink does not work correctly.
    • Invalid parameter of shrink causes an abort.
    • The number of MPI processes cannot be specified by a handle attribute of an object handle.
    • handle_attr_get() causes Segmentation Fault for an initialized handle attribute.
See Ninf-G users' manual for more details.
Tutorial documents and FAQ are also available!
Download Packages of Ninf-G Ver. 2.4.0
If you download Ninf-G, please subscribe to Ninf users' mailing list ( so that you can receive the latest information from the Ninf team. The mailing list will be used for announcements of bug fixes and release of new versions as well as for information exchange between users. If you have already been subscribed to this ML, you do not need to re-subscribe to this ML. You can simply select "no" and leave an email address text box as empty.
Your mail address
Subscribe to Ninf users' mailing list? yes no
  • Ninf-G Version 2.4.0 Package: contact us