Next:
Conclusions Up: A
Java Network File Previous: Rule-Based Access Control Policy
Figure: Read performance of the
JNFS system vs. NFS on several different
file sizes.
Performance in our simulations was reasonable for a Java
application, but not nearly as good as NFS. On
average, JNFS file transfers take about 8 times as
long as analogous NFS transfers on a Sun
SparcStation 10 running Solaris 2.5. We present a comparison of
JNFS and NFS read speeds on various
different file sizes in Figure 2. There are several factors that
lead to worse performance in our simulation:
- The JNFS server runs as a user-level daemon over
a native file system. Since it does not run as part of the kernel,
it incurs a large expense in traps to the kernel. Similarly, the
client also runs in user space, which further worsens
performance.
- Since the Java byte-codes are interpreted instead of executed
natively, actual execution of the file system code is much slower.
On an NC, NFS would be slower because
it would be implemented in Java instead of a compiled
language.
- The RMI networking protocol has a large overhead
in comparison with NFS's UDP-based
implementation. Although many of the JNFS functions
transfer a block of data across the network, the RMI
service still marshals and un-marshals this data, resulting in more
copying than necessary.
Michael John Radwin
Thu May 8 10:49:26 EDT 1997