Performance Evaluation |
CPU Pentium II 450MHz Memory 256MB VME Adaptor SBS Model-617 OS Linux 2.4.18 (Vine Linux 2.5) KiNOKO Ver. 1.0.13 (RC1)
The following graphs are data size versus processing time. Processing time was calculated from the time it took to read out data once and the total time it took for each data packet.
We fitted the results for data sizes of 2kB to 20kB on a straight line and calculated the transfer rates (the slopes) and the overheads (the intercepts) which turned out to be the following.![]()
![]()
VME PIO Transfer Rate 1.52 MB/sec VME PIO Overhead 36 usec VME DMA Transfer Rate 13.7 MB/sec VME DMA Overhead 970 usec
We fitted results for packet sizes of 1kB to 50kB on a straight line and calculated the actual data transfer speed (the slope) and the overhead (the intercept) which turned out to be the following.![]()
![]()
DataBuffer transfer speed 128.3 MB/sec Data Buffer Overhead 58.3 usec
We measured the time it took using a logic analyzer directly connected to the backplane of the VME. We used an IRQ line to readout when the interrupt was requested and a LWORD line for the start of DMA. The following is the screen of the logic analyzer when measuring this. We are triggering with IRQ3. We can see that on the right half of the screen, DMA transfer has begun.
The C native code that directly accesses the driver: driver-performance-test.c Readout script used in tinykinoko: ScriptPerformenceTest.kts
The measurement results are the following (all measurements were made manually so there are only a few datapoints). Please note that these measurements include MA startup processing time on top of system interrupting response time.Page-1 Large Page-2 Large
From this graph, the average time it took to process in the two ways of accessing becomes the following.![]()
If we assume the script overhead to be simply the difference in these two times, the following is what we get.
Directly Accessing the Driver 146.5 usec Via Script 293.5 usec
Script Overhead 147.0 usec
VME PIO Transfer Rate 1.52 MB/sec VME PIO Overhead 36 usec VME DMA Transfer Rate 13.7 MB/sec VME DMA Overhead 970 usec Data Buffer Transfer Rate 128.3 MB/sec Data Buffer Overhead 58.3 usec Script Overhead 147 usec