Hello,
I am facing a strange problem with Java RMI and Xen. I will describe
the problem as well as the experimental results.
Setup:
I have taken 2 machines, machine1 and machine2. Machine1 is the client
and Machine2 is the server. The RMI registry is available on Machine2. I have a
RMI application (a kind of service) that is running on Machine2 on port 4001.
An init script starts the service at boot time on port 4001.
Scenario1: Machine2 is booted with xen as the kernel
The client on Machine1 tries to look up the object that it needs to
contact in the registry on Machine2. The object to be available in the RMI registry
on Machine2 takes around 2 minutes.
Scenario2: Machine2 is booted with Linux kernel (Xen is not involved at
all)
The client on Machine1 tries to look up the object that it needs to
contact in the registry on Machine2. The object to be available in the RMI registry
on Machine2 takes around 21 seconds.
In scenario1 I am not starting any virtual machines. The service is
available in Domain0 (Machine2). Nothing is changed except the kernel to boot.
But, the results look strange. The Xen and Java RMI stuff looks very strange.
The problem here is, on a Xen machine the Java object to be available in the
RMI registry takes very long time. According to our experiments it shows that
it is approximately 6 times slow. Is it normal with RMI-Xen?
Can any body give pointers to this problem?
Thanks,
Sai
Sai S. Dharanikota
Intel GmbH
Software & Solutions Group
Hermuelheimer Strasse 8a
50321 Bruehl
Germany
Tel : +49 2232 209053