To evaluate the performance of the proposed logging scheme, we have implemented
the logging scheme on top of CVM[4] distributed shared memory system.
CVM is written using C++ and well modularized and it was pretty straightforward
to add the logging scheme.
For the experiment, we have selected LMW(lazy release consistency + multiple
writer) protocol, and for the volatile logging, each process is allocated some
memory space in the beginning.
Our experimental environment consists of a 40-processor IBM SP/2 running AIX
4.1.2 with 5.8GB of total memory and 134GB of disk space.
Eight of the processors are wide nodes with 512MB memory and the rest of them
are thin nodes with 128MB of main memory.
All processors are connected through the IBM SP/2 high-performance switch(HPS).
The HPS is a two-level cross-bar switch and provides a point-to-point bandwidth
of 40MB/sec[10].
We have used 8 thin nodes residing on the same frame for the experiment.
We have run three application programs, BARNS, FFT and TSP, without any logging
(denoted by NO LOGGING), with the causal logging scheme proposed in [12]
(denoted by CL SCHEME2), and then with the logging scheme proposed in this paper
(denoted by CL SCHEME1).
To examine the effects of the system size on the performance, we have run each
application with four nodes and also with eight nodes.
First, Figure 6 presents the amount of the data added to the write
notice structure maintained at each processor for the purpose of logging.
The figure shows that the proposed scheme achieves 35%-69% of reduction in
the log amount, and the reduction becomes more as the number of processors
increases.
Figure 7 shows the amount of the data added to the write notices
carried in each message and the proposed scheme also shows 37.5% - 66% of
reduction in the data size.
From both figures, we can conclude that the proposed scheme induces much less
overhead in the size of the log carried in each message and also maintained by
each process.
Also, the size of the log shows slow increase as the number of processors
increases, which indicates that the proposed scheme can be a good logging choice
for the systems with a large size.
Figure 8 shows the execution times of the various application
programs.
From the figure, we can observe that in all cases, the execution time under
the causal logging scheme is only slightly longer than the one under no logging.
Comparing the proposed logging scheme with the earlier one, there is a slight
reduction in the execution time.
However, considering the fact that processing of the message and the log can be
the major overhead as the system size increases, it is expected that the
reduction can be more as the number of processors increases.