next up previous
Next: End-to-End Performance Results Up: Export Transformation Performance Previous: Export Transformation Performance

   
Micro Performance Results

Each call to the export transformation incurs several overheads that are not found in a kernel transformation. The primary overhead results from communication between the kernel and the MonA daemon. In order for the file system to send a message to the daemon, it must suspend the calling process on a wait queue. After the daemon completes, it wakes up the sleeping process, allowing the kernel to reschedule it. Therefore, sending a message up to user space and receiving a reply requires scheduling two processes (the daemon and the calling process). In addition, running the MonA daemon adds a performance penalty to the user-space implementation. The daemon invokes several system calls to read from and write to its message buffers. Furthermore, each call to the daemon requires loading a transformation function from a shared library.

Consequently, a kernel-resident transformation executes approximately 60 times faster than an equivalent user-space transformation. This may appear to be an unreasonable overhead; however, a user-space transformation is capable of delivering a 4 KB page of data in under 1 ms. This is considerably faster than the latency of typical network or the seek time of a disk.


next up previous
Next: End-to-End Performance Results Up: Export Transformation Performance Previous: Export Transformation Performance
Richard Kendall
1999-02-01