We conducted an initial set of experiments to measure the serialization and deserialization rate for Grid SOAP Events. The tests were done in both the C++ and Java. We measured the performance for a MachineUtilizationEvent object, the schema definition for which is shown in figure 2. The size of the serialized form of the object is 1431 bytes. The serialization and deserialization tests did not involve any network communication and so network vagaries were factored out. The tests were done for a number of iterations.
On a Solaris box (UltraSPARC-IIi, 440 MHz, 250 MB memory) the C++ implementation of xEvents serialized at the rate of 9000 events per second. The deserialization rate was 1260 events per second. The Java implementation serialized at the rate of 4800 events per second and deserialized at the rate of 1030 events per second. These results represent the best performance that can be achieved. However in a real application, socket delays, network overhead and implementation decisions (such as use of Java Reflection) can degrade performance.
We plan to further study the performance of xEvents in real applications and answer the following set of questions: