ACM Computer Communication Review, Jan. 1997
This page describes some applications of Forward Error Correction
(FEC) in computer communication. It includes some papers
describing principle of operation and applications of FEC,
and portable C implementation of erasure codes which can be
effectively implemented on ordinary workstations at a speed of
1..10MB/s. They can be used to reduce the error rate on unicast
communications, or for a number of applications on reliable and
unreliable multicast communications. Also available is the code
for a Reliable Multicast data Distribution Protocol (RMDP) based
on FEC.
The original research dates to 1996-1998.
(Also available as gzipped Postscript)
In this paper we show how the evaluation of network protocols can
be done on a standalone system using real traffic generators (e.g. FTP,
WWW servers, etc.) and still accounting for limited-size queues,
bandwidth limitations and communication delays. Source code
for FreeBSD 2.1
(easily portable to other BSD-derived systems)
is available.
A new version of the code, largely improved and more flexible,
is available here. The new version supports
all IP traffic, including multicast, and parameters are
configurable using the IPFW command per flow.
In this paper we analyse Web access to a proxy in order to derive
useful information for the development of a good replacement policy
for documents held in the cache. We show that LRU works reasonably well,
but it can be improved by considering other parameters than time.
Basing on the analysis of traces, we propose a policy called LRV which
outperforms LRU and other known policies.
Experiments have shown that RAM pages are often filled with many zero-valued
entries. This suggests the use of fast compression algorithms to
save compressed pages to memory instead of swapping them to disk. In
this way, the latency of pagein can be sensibly reduced. The paper presents
a very fast algorithm which, while not as effective as gzip, can
compress 4KB pages at over 40MB/s on a Pentium100.
A sample implementation of the
compression/decompression algorithm
is also supplied. Also,
some code for the
LZRW1 algorithm is supplied, for a comparison
of the compression speed.
TCP over lossy networks: handling
retransmissions
Proposes a change to the retransmission policy used in the BSD
implementation of TCP, and introduces the use of bandwidth estimators
for a more adaptive computation of timeouts. Estimates are given
on the effectiveness of the code, which can improve performance of
up to one order of magnitude in presence of significant losses.
Describes an efficient processing of SACKs on FreeBSD,
and also proposes a simple modification to RFC1323 timestamps to carry
SACK information. The modified timestamps are called TSACKs,
and allow senders to exploit the advantages of selective
acknowledgements when talking to RFC1323-compliant receivers.
An implementation of SACKs, TSACKs, and other TCP-related
changes on FreeBSD2.1R. Although this is experimental code,
it has been running on several of our workstations and servers
(e.g.
labinfo2.iet.unipi.it)
since September 1996.
Luigi Rizzo
Dipartimento di Ingegneria dell'Informazione -- Univ. di Pisa
via Diotisalvi 2 -- 56126 PISA
tel. +39-050-2211611
email:
rizzo@iet.unipi.it