FORTRAN Reference Manual

FORTRAN Reference Manual528615-001
14-1
14 Interprocess Communication
Topics covered in this section include:
An application in an HP NonStop environment frequently consists of numerous
communicating processes. Each process is designed to perform a particular set of
tasks. Dividing an application into multiple processes enables you to more easily
maintain your application because you design each process to perform a series of
related functions. In addition, your application can take advantage of the
multiprocessor hardware of HP NonStop systems by running processes in different
CPUs, thereby achieving a high degree of parallelism. Finally, you can run identical
processes in different CPUs and distribute activities among them, further increasing
the amount of parallelism in your application.
For example, your application might have three separate databases. You might have a
process that accesses databases for your application, rather than having each process
in the application access the databases. In so doing, you further divide your application
by isolating in one process all the code that accesses databases. Figure 14-1
illustrates this.
You might further refine your application by having a separate process for each of the
databases in your application and isolate in each of these processes all the code
required to access a single database. In addition, you might run identical processes in
multiple CPUs. When a process in your application requires information from a
particular database, it can choose from all the processes that access that database the
process that is least busy. In Figure 14-2 on page 14-2, a process can access
database 1 by sending a request to any of servers A, B, or C.
Topic Page
Managing $RECEIVE
14-3
Using $RECEIVE 14-5
Message Queuing 14-11
Figure 14-1. A Process That Access Databases
VST1401.vsd
Server
Database I I IDatabase I I
Database I