International Conference on Information Technology: Coding and Computing (ITCC03), April 28-30, 2003
Compression is commonly used to reduce the number of bytes transferred and to increase the effective bandwidth available. However, there are five primary constraints that must be considered in the selection of a compression technique for Internet transfer: (1) Compression techniques trade space for time; the complexity required to reduce file size impacts the time required for decompression. (2) Compression and decompression time depends on CPU performance and compressed (and uncompressed) transfer time depends on network bandwidth. (3) The characteristics of the data being compressed impact compression performance and it is not possible to learn this effect without first compressing. (4) Commonly, Internet computing applications produce data for transmission dynamically, precluding the use of off-line compression. And (5), compression techniques vary in performance in terms of compression rate and compression ratio. Each of these constraints make it increasingly difficult to identify the ``best'' compression technique in all circumstances.
To address these challenges and to improve Internet transfer performance, we have developed ACE, an Adaptive Compression Environment which automatically and transparently selects between competitive compression techniques (and not compressing at all) based on underlying resource (CPU and network bandwidth) performance. ACE is novel in that it combines existing technologies from Computational Grid Computing and dynamic compilation research to perform adaptive compression. Our results show that ACE can significantly improve transfer time.