Converse has been implemented on IBM SP, SGI Origin 2000, CRAY T3E, Intel Paragon (ASCI Red), Convex Exemplar, and networks of Unix/Windows workstations connected by Ethernet/ATM, Myrinet, and Quadrics Elan.
The first set of performance experiments (Figure 2.4) involves simple message passing performance. This was measured using a round trip program that sends a large number of messages back and forth between two processors. On the receiving processor, every message was delivered to a user-level handler that responded by sending a return message. Using this, the average time for one individual message send, transmission, receipt and handling was computed for the following machines:
Overall, the performance is almost as good as that of the lowest level communication layer available to us on these machines. For example, the MPICH-GM library using Myrinet switches delivers messages of 256 bytes in 35 microseconds, whereas Converse messages need 37.14 microseconds.
In the second experiment, we incorporated queuing to investigate the overhead seen by languages that use scheduling. Each handler enqueues the received message in the scheduler's queue. The scheduler then picks a message from its queue and invokes its handler. Only languages that use the queue for scheduling objects pay this cost of scheduling. This experiment was done on Intel workstations connected by Myrinet switches to illustrate the magnitude of scheduling overhead (figure 2.5). The scheduling is seen to add about 1.5 to 2 microseconds.