next up previous
Next: 2.2 Compression Module Up: 2 Architecture Previous: 2 Architecture

2.1 Compression Decision Module

Different applications may use different ways to make decision about whether or not to use compression. Some applications may choose to use compression as long as the total execution time for the data transfer with compression is smaller than transmission time without compression, with the objective of reducing the load on the network. Other applications focus on achieving best data quality, so they try to avoid using compression as long as the data transmission without compression is below some threshold, since some compression algorithm may lose information,

No matter what policy the application uses, it must calculate the total execution time for both the compressed mode and the uncompressed mode. In this paper, for the uncompressed mode, the total execution time is simply the data transmission time, which can be computed as:

\begin{displaymath}
comm\_time = \frac{data\_size}{available\_bandwidth}
\end{displaymath} (1)

where $data\_size$ is the size of the data to be transmitted by the application, and $available\_bandwidth$ is the available bandwidth of the network link.

The overhead involved in the data transmission with compression is computed as:

\begin{displaymath}
total\_time = compr\_time + send\_time
\end{displaymath} (2)


\begin{displaymath}
compr\_time = \frac{data\_size}{estimated\_compr\_speed}
\end{displaymath} (3)


\begin{displaymath}
send\_time = \frac{compr\_size}{available\_bandwidth}
\end{displaymath} (4)


\begin{displaymath}
compr\_size = \frac{data\_size}{estimated\_compr\_ratio}
\end{displaymath} (5)

where $estimated\_compr\_speed$ and $estimated\_compr\_ratio$ are the two parameters provided by Compression Module.

The above methods to predict the application performance shown in formula (1) - (5) is denoted as simple model in the following sections.


next up previous
Next: 2.2 Compression Module Up: 2 Architecture Previous: 2 Architecture
root 2001-10-09