The performance implications of using the filtered delivery model are discussed in this section. The test setup included Pentium IV machines connected through a 100 Mbps LAN, running MICO version 2.3.4 with integrated filter object framework on Linux.
Table 2 indicates time required to make direct calls to local and remote servers in absence of plugged filters. These timings are used to calculate the overheads of the filter object framework.
Table 3 shows timings for beta messages (control messages) to local and remote servers and filters. Timings for filtered method invocation with one filter plugged are shown in Table 4. The table presents the time required to make a filtered call with Up/Down filtering enabled and disabled. Time measurements are shown for the following four configurations of clients and filters: Local Client/Local Filter, Local Client/Remote Filter, Remote Client/Local Filter and Remote Client/Remote Filter.
|
|
By comparing direct calls (Table 2) and passed filtered calls with Up/Down filtering enabled (Table 4), it can be observed that later incurs approximately 2.5 times overheads over direct call. Similarly overheads of bounced filtered calls with Up/Down filtering enabled over direct calls are approximately 1.6 times. With Up/Down filtering disabled, overheads are approximately twice that of a direct call. Even with disabled Up/Down filtering, these high overheads can be attributed to filtered method call always consulting plugged filter for its method status, which is controllable at runtime.