Page 44 - Asterisk™: The Future of Telephony
P. 44

ant of IRQ latency. This is not due to any problem with the cards so much as part
                   of the nature of how a software-based TDM engine has to work. If we buffer the
                   TDM data and send it on the bus as a larger packet, that may be more efficient
                   from a system perspective, but it will create a delay between the time the audio is
                   received on the card, and when it is delivered to the CPU. This makes real-time
                   processing of TDM data next to impossible. In the design of Zaptel, it was decided
                   that sending the data every 1 ms would create the best trade-off, but a side effect
                   of this is that any card in the system that uses the Zaptel interface is going to ask
                   the system to process an interrupt every millisecond. This used to be a factor on
                   older motherboards, but it has largely ceased to be a cause for concern.


                              Linux has historically had problems with its ability to service IRQs
                              quickly; this problem has caused enough trouble for audio devel-
                              opers that several patches have been created to address this short-
                              coming. So far, there has been some mild controversy over how to
                              incorporate these patches into the Linux kernel.

               Kernel version
                   Asterisk is officially supported on Linux Version 2.6.
               Linux distribution
                   Linux distributions are many and varied. In the next chapter, we will discuss the
                   challenge of selecting a Linux distribution, and how to obtain and install both
                   Linux and Asterisk.

               Choosing a Processor

               Since the performance demands of Asterisk will generally involve a large number of
               math calculations, it is essential that you select a processor with a powerful FPU. The
               signal processing that Asterisk performs can quickly demand a staggering quantity of
               complex mathematical computations from the CPU. The efficiency with which these
               tasks are carried out will be determined by the power of the FPU within the processor.
               To actually name a best processor for Asterisk in this book would fly in the face of
               Moore’s law. Even in the time between the authoring and publishing of this book,
               processor speeds will undergo rapid improvements, as will Asterisk’s support for var-
               ious architectures. Obviously, this is a good thing, but it also makes the giving of advice
               on  the  topic  a  thankless  task.  Naturally,  the  more  powerful  the  FPU  is,  the  more
               concurrent DSP tasks Asterisk will be able to handle, so that is the ultimate consider-
               ation. When you are selecting a processor, the raw clock speed is only part of the
               equation. How well it handles floating-point operations will be a key differentiator, as
               DSP operations in Asterisk will place a large demand on that process.
               Both Intel and AMD CPUs have powerful FPUs. Current-generation chips from either
               of those manufacturers can be expected to perform well. ‡


               16 | Chapter 2: Preparing a System for Asterisk
   39   40   41   42   43   44   45   46   47   48   49