The IMPI server was designed to be as stupid as possible in order to provide maximum flexibility for future modifications to the clients. Basically it just collects opaque data from each of the clients, concatenates it all together, and broadcasts it back out again. Procs are equivalent to MPI processes.
Hosts are agents which control a set of procs.
Every proc has exactly one host. For example, when running in a clustered SMP environment, there might reasonably be one host for each machine. Hosts and procs need not exist on the same physical machine.