Title:
|
Efficient arbitration and bridging techniques for high-performance conventional multimedia servers
|
Recent progress in computing power and network bandwidth has enabled the emergence of sophisticated
distributed multimedia applications for a large audience. Several applications, such as
video on demand, utilise a client-server based approach, thus servers are fundamental building
blocks in such environments. Due to certain properties of multimedia applications and data types,
multimedia servers face a set of complex challenges. This thesis focuses on advanced architectural
support for high-volume data streaming, aiming at an improved cost/performance ratio of
conventional servers.
Traditionally research in that area has focused on a narrow set of issues, such as storage allocation
and disk scheduling. By comparison, other areas have not received as much attention. In particular,
aspects relating to system buses and associated bridging structures have generally not been
systematically investigated. In this thesis, a number of such issues are comprehensively studied,
addressing crucial shortcomings of traditional server architectures. Formal analysis and extensive
simulations are used to evaluate server architectures and components.
In a preparatory step, the properties of I/O technologies and server components are surveyed, and
a formal model of system bus performance is established, using the PCI local bus as representative
of current system bus standards. Detailed investigations show that streaming performance suffers
from high initial latency of main memory access. To alleviate this problem, a novel "PCI Address
Pipelining" scheme is proposed and evaluated. Analysis shows that such a technique can modestly
improve maximum server load with little associated cost, while a hardware design using VHDL
proves that it can be implemented efficiently.
A second avenue of research concentrates on arbitration and its impact on server performance:
to meet deadlines imposed by real-time data streaming, components must compete for access to
shared resources. Consequently latency and thus quality of service can depend on the properties of
the arbiter. In this thesis, arbitration and other resource allocation techniques are comprehensively
investigated in a wide range of data streaming applications. Results differ substantially from those
Obtained for multiprocessor machines, but do not indicate a clear improvement in performance
for any particular protocol. Hardware implementations, on the other hand, vary considerably both
in arbitration speed and design size.
Finally, a more general solution to streaming bottlenecks in traditional architectures is proposed
in this thesis, combining benefits of parallel and conventional architectures: bus bridges and
local buffering provide the framework for modular architectures based on inexpensive standard
components. 1\vo implementations of this design, as well as a third more restricted solution for
ATM adapters, are critically evaluated and compared. Simulations show that a single streaming
module can handle more than three times as many data streams as a traditional server. The scalability
of modular architectures, however, is limited by global interrupt handling. A scheme based
on local processing is shown to be highly efficient at removing this restriction.
Investigations carried out in this thesis show that high streaming performance can be achieved by
an inexpensive evolutionary adaption of traditional servers, without the need to resort to parallel
architectures.
|