20.11.2012 Views

Contents Telektronikk - Telenor

Contents Telektronikk - Telenor

Contents Telektronikk - Telenor

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

156<br />

Sparc2 (SunOS 4.1.1)<br />

or<br />

Sparc10 (SunOS 4.1.3)<br />

do 25 times<br />

send 16 MB<br />

Data<br />

ttcp<br />

TCP<br />

AAL3/4 end-of-message interrupt on<br />

incoming packets.<br />

The second generation Sbus adapter,<br />

SBA-200 [18][19], includes an embedded<br />

Intel i960 RISC control processor,<br />

and hardware support for both AAL 3/4<br />

and AAL5 CRC calculation. It is an Sbus<br />

master device and uses DMA for data<br />

transfer on both the send and receive<br />

path. The segmentation and reassembly<br />

processing is performed by the control<br />

processor on the adapter using the host<br />

memory for storage of frames. The SBA-<br />

200 adapters have the best performance<br />

when using AAL5, and they were configured<br />

to provide an AAL5 end-offrame<br />

interrupt on incoming packets. The<br />

ATM transmission capacity is not a<br />

bottleneck. Therefore, compared to<br />

AAL3/4 the reduced AAL5 segmentation<br />

and reassembly header overhead should<br />

not be a decisive factor on the measured<br />

throughput. Using AAL3/4, the on-adapter<br />

receive control processor turns out to<br />

be a bottleneck for large TCP window<br />

sizes.<br />

2.2 Host architectures<br />

The memory-to-memory measurements<br />

presented in this paper are performed<br />

between two Sparc2 based Sun IPX<br />

machines, and between two Sparc10<br />

based Axil 311/5.1 machines. The workstations<br />

were not tuned in any way,<br />

except for allowing only a single user<br />

during the measurements. All standard<br />

daemons and other network interfaces<br />

were running as normal. In the rest of<br />

this paper we name the two machine<br />

types Sparc2 and Sparc10.<br />

The MIPS rating (28.5 vs. 135.5) is about<br />

4.5 times higher for the Sparc10 com-<br />

IP<br />

AAL<br />

ATM<br />

Acknowledgements<br />

Application<br />

Higher level protocols<br />

Network interface=driver+adapter<br />

SBA-100/AAL3/4<br />

SBA-200/AAL5<br />

ATM<br />

Figure 1 Measurement environment and set-up<br />

Sparc2 (SunOS 4.1.1)<br />

or<br />

Sparc10 (SunOS 4.1.3)<br />

Data<br />

do 25 times<br />

receive 16 MB<br />

Acknowledgements<br />

pared to the Sparc2. Apart from the CPU,<br />

the main difference between these<br />

machine architectures is the internal bus<br />

structure. While the CPU in the Sparc2<br />

has direct access to the Sbus, the Sparc10<br />

has separated the memory (Mbus) and<br />

I/O (Sbus) bus. Thus, access to the Sbus<br />

from the CPU must pass through an<br />

Mbus-to-Sbus interface (MSI) which<br />

certainly increases the latency when<br />

accessing the network adapter.<br />

2.3 Measurement methods<br />

We used the ttcp application program to<br />

measure the TCP memory-to-memory<br />

throughput. The ttcp program uses the<br />

write and read system calls to send and<br />

receive data. We modified the ttcp program<br />

to set the socket options which<br />

influence the maximum TCP window<br />

size on a connection. Each measured<br />

throughput point is the average of 25<br />

runs. Each run transfers 16 Mbyte memory-to-memory<br />

between the sender and<br />

the receiver.<br />

The CPU utilization is measured for different<br />

window sizes with the user data<br />

size set to 8192 bytes. The SunOS maintenance<br />

program vmstat, was run to register<br />

the average CPU load. For minimal<br />

interference with the throughput measurements,<br />

vmstat was run every 10 seconds<br />

in parallel with a transfer of 256<br />

Mbyte between the sender and receiver.<br />

To analyze the segment flow on the<br />

ATM connections, we put small optimized<br />

probes in the network driver to log<br />

all packets on the ATM connections of<br />

dedicated runs. One log corresponds to<br />

one run which transfers 16 Mbytes. The<br />

probes parse the TCP/IP packets and register<br />

events in a large log table during the<br />

data transfer. Included in each event log<br />

is a time stamp, an event code and a<br />

length field. The time stamp is generated<br />

using the SunOS uniqtime() kernel function<br />

which accesses the internal µsec<br />

hardware clock. The length field is used<br />

to log, among other things, the announced<br />

window size, the TCP packet<br />

length, and sequence numbers as indicated<br />

by the event code. The contents of<br />

the log table is printed off-line using the<br />

kvm library functions available in SunOS<br />

4.1.x.<br />

The probes were put in the network driver<br />

to only log traffic on the ATM network.<br />

To minimize the logging overhead<br />

the probes were placed on the machine<br />

with the least CPU utilization. Thus, for<br />

the SBA-100 adapters logging was done<br />

on the send side while logging was done<br />

on the receive side for the SBA-200<br />

adapters. The throughput results with and<br />

without the logging mechanism indicate<br />

the logging overhead to be less than 5%.<br />

The log information is presented in primarily<br />

four kinds of graphs. The first<br />

three, covering the whole measurement<br />

period, present the size of transmitted<br />

segments, the number of outstanding<br />

bytes, and the receiver announced window<br />

size. Due to the granularity of the xaxis,<br />

fluctuations along the y-axis show<br />

up as black areas. The fourth kind of<br />

graph uses a finer time resolution and<br />

covers only a small interval of the connection<br />

life-time. Two values are displayed<br />

in the same figure; the announced<br />

window size and the number of outstanding<br />

unacknowledged bytes. The transmission<br />

of a segment is shown as a vertical<br />

increase in the number of outstanding<br />

bytes, while an acknowledgment is displayed<br />

as a drop.<br />

3 Factors influencing<br />

performance<br />

There are several factors which influence<br />

the segment flow on a TCP connection.<br />

In addition to the protocol itself, the<br />

application interface and the operating<br />

system [10], the CPU and machine architecture,<br />

and the underlying network technology<br />

affect the segment flow. In this<br />

section we describe and quantify some of<br />

these factors.<br />

3.1 Environment and<br />

implementation factors<br />

The interface to the TCP/IP protocol in<br />

BSD-based systems is through the socket<br />

layer [11]. Each socket has a send and a

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!