next up previous
Next: Conclusions Up: A Filter Object Framework Previous: Applications using Filters

Performance Evaluation

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.


Table 2: Direct call
Local server ($\mathbf{\mu}$s)   660  
Remote server ($\mathbf{\mu}$s)   850  



Table 3: Client and filter beta messages
Plug/Unplug Local server ($\mathbf{\mu}$s) Remote server ($\mathbf{\mu}$s)
  2150 2450
Mappings/Enable Local filter ($\mathbf{\mu}$s) Remote filter ($\mathbf{\mu}$s)
/Disable 450 530



Table 4: Filtered call
Up/Down   LC/LF LC/RF RC/LF RC/RF
Enabled Bounce 1090 1300 1160 1190
  Pass 1850 2050 1950 1880
Disabled   1450 1600 1550 1500


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.


next up previous
Next: Conclusions Up: A Filter Object Framework Previous: Applications using Filters
R K Joshi 2003-05-30