---
name: "pvm_reg_rm"
section: "3"
platform: "linux"
package: "pvm-dev"
version: "3.4.2-8"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/pvm_reg_rm"
---

# pvm\_reg\_rm(3)

Register task as PVM resource manager.

## NAME

pvm\_reg\_rm - Register task as PVM resource manager.

## SYNOPSIS

```
C	#include <pvmsdpro.h>
	int cc = pvm_reg_rm( struct pvmhostinfo **hip )
	struct pvmhostinfo {
		int  hi_tid;
		char *hi_name;
		char *hi_arch;
		int  hi_speed;
	};
Fortran	Not Available
```

## PARAMETERS

- hostp

  **Returns** **pointer to a pvmhostinfo structure which contains** **information about the master host.**

## DESCRIPTION

**Registers the calling task as a PVM task and slave host manager.** **This** **means it intercepts certain libpvm calls from other tasks** **in order to have a say in scheduling policy.** **The resource manager will asynchronously receive messages from tasks** **containing requests for service,** **as well as messages from pvmds notifying it of system failures.**

**Before you start using this function,** **be warned that it's not a trivial thing,** **i.e. you can't just call it to turn off the default round-robin task** **assignment.** **Rather,** **it allows you to write your own resource manager and hook it to PVM.**

**To understand what the following messages mean,** **you should refer to the PVM source code and/or user guide section** **on implementation;** **There's just too much to say about them.**

**When one of the following libpvm functions is called in a task with** **resource manager set,** **the given message tag is sent to to resource manager.**

```
	Libpvm call	RM message	Normal message
	pvm_addhosts()	SM_ADDHOST	TM_ADDHOST
	pvm_config()	SM_CONFIG	TM_CONFIG
	pvm_delhosts()	SM_DELHOST	TM_DELHOST
	pvm_notify()	SM_NOTIFY	TM_NOTIFY
	pvm_spawn()	SM_SPAWN	TM_SPAWN
	pvm_tasks()	SM_TASK	TM_TASK
	pvm_reg_rm()	SM_SCHED	TM_SCHED
```

The resource manager must in turn compose the following messages and send them to the pvmds:

```
	RM message	Normal message
	SM_EXEC	DM_EXEC
	SM_EXECACK	DM_EXECACK
	SM_ADD	DM_ADD
	SM_ADDACK	DM_ADDACK
	SM_HANDOFF	(none - change of resource manager)
```

The following messages are sent asynchronously to the resource manager by the system:

```
	RM message	Meaning
	SM_TASKX	notify of task exit/fail
	SM_HOSTX	notify of host delete/fail
```

The resource manager task must use pvm\_setopt(PvmResvTids, 1) to allow sending reserved messages. Messages should be packed using encoding *PvmDataDefault* to ensure they can be unpacked anywhere in the system.

pvm\_reg\_rm() returns PvmOk when successful.

## SEE ALSO

pvm\_addhosts(3PVM), pvm\_config(3PVM), pvm\_delhosts(3PVM), pvm\_notify(3PVM), pvm\_spawn(3PVM), pvm\_tasks(3PVM)
