The shared memory multiprocessor (SMP) system is a parallel computer which has multiple processors. High-end systems and, recently, some PCs haves multiprocessors. On a remote host, a program will show good performance when the program uses these CPUs at the same time.
Multiple remote execution programs can be executed at the same time on each processor in an SMP system. In this case, we can execute a maximum of 4 programs. We describe hostfile for the SMP system as follow.
<?xml version="1.0" ?> <OmniRpcConfig> <Host name="apple" arch="i386" os="linux"> <JobScheduler maxjob="4" /> </Host> </OmniRpcConfig>
In this description, we set the maxjob attribute as "4" for the JobScheduler element. This shows that the maximum number of remote executable programs executed on the remote host at the same time is 4. Certainly, in a 4-way SMP system, we can run more than 4 jobs, but in practice 4 processes are executed in parallel. Therefore effectiveness may not change.
In this case, the agent invoke multiple rex-es. The relationship is as follows.
% a.out --hostfile hosts.xml args ...Of course, to achieve good performance, we use a client program which uses the OmniRPC call in parallel.