Previous: Implementation Up: Kiwi : A Parallel System for Software Sound Synthesis Next: Conclusion
Figure 3.1. Kiwi performance.
The obvious way to measure Kiwi's performance is to measure the effect of adding more processors on the total running time. Optimally, the running time for a given piece using processors should be the running time for using one processor divided by . Kiwi was run with three different score files using different numbers of processors. The total running time was divided by the duration of the sound generated, yielding a performance ratio. Figure 3.1 gives performance ratios for various numbers of processors.
Although most of the results are encouraging, Kiwi performed badly on the third test. The running time approached its minimum at a total of four processors; even quadrupling that number to sixteen processors made no significant difference. The third test score was generated by a simple fractal algorithm. Durations in the resulting score range from several hundredths of a second to several dozen seconds. The plateau in Kiwi's performance reflects the fact that not all Tasks represent equal work. Each grain in the third test score has at least one Task which represents a note lasting the entire grain, requiring much computation, and many other Tasks for short notes which require little computation. The overall speed is governed by the speed of these computationally intensive Tasks. According to the ``recurrence relation'' assumption discussed in Section 1.5, these long tasks cannot be parallelized, since the samples for a particular note must be computed strictly in sequence.
Figure 3.2. Parallel reverberation performance
The performance of the parallel reverberator is illustrated by Figure 3.2. The reverberator's performance does not depend on the music texture, since it operates on the sample file generated by Kiwi. The only factors governing its performance are the complexity of the reverberation algorithm and the number of processors used. Thus, its performance is very nearly linear in the number of processors.
Comments to walker@shout.net