Product Documentation
Cadence Interprocess Communication SKILL Reference
Product Version IC23.1, June 2023

1


Interprocess Communication (IPC) SKILL

The Interprocess Communication (IPC) SKILL functions allow you to create and communicate with child processes. This mechanism allows SKILL-based programs access to IPC and process control functionality that would normally require system level programming.

Using this mechanism you can:

The ability to run child processes, establish communication channels and control the processes through a SKILL procedural interface is a powerful utility. Programmers are advised to familiarize themselves with the basic principles of network and distributed programming.

Installation

For SKILL-IPC to start a remote process, it must be able to locate the cdsServIpc program on the remote host. This is typically done by using the same filepath to the Cadence installation hierarchy on both the local and remote machines.

cdsServIpc

cdsServIpc is a program that is started by the ipcBeginProcess function.

cdsServIpc uses setpgid to create a new process group but it remains in the same session as the parent process (the software from which it was started).

Therefore, the system resources used by the child processes will be included in the accounting for the parent process session.

In releases prior to 06.05 (IC 6.1.0), cdsServIpc used setsid to create both a new session group and a new process group.

cdsRemote

cdsRemote is used to start a program on a remote host.

cdsRemote Usage:

cdsRemote shell [-n] hostname command [args ...] 
cdsRemote copy srcFilename hostname:destFilename 
cdsRemote copy -r srcPath [...] hostname:destDirectory 

By default, the cdsRemote program works in the rsh or rcp environments. However, it can be modified to use ssh by copying <inst>/share/cdssetup/cdsRemsh/cdsRemote.scr to a directory with a higher search precedence (such as, $HOME/cdssetup/cdsRemsh/cdsRemote.scr or $CDS_SITE/cdssetup/cdsRemsh/cdsRemote.scr) and then modifying the copy.

If you only have the ssh setup, modify the cdsRemote.scr file and uncomment the #remoteSystem=ssh entry.

To use ssh with the DFII Distributed Processing feature, modify the cdsRemote.scr file and add the following in your .cdsinit file:

envSetVal("asimenv.distributed" "remoteShell" 'string "ssh")

Related Topics

Search Mechanism


Return to top
 ⠀
X