Multiprocessors allow near linear speedup for synthesizing most musical textures and linear speedup for reverberating any musical texture. Interesting issues raised while implementing Kiwi include optimizing scheduling algorithms, trading speed against storage, and parallelizing reverberation. These systems are all firmly based on procedural, block-structured languages and single processor computers. Two contemporary developments in computing seem particularly applicable to software synthesis. One is the emergence of commercially available parallel computers like the Alliant, Encore, and Sequent.
Parallel architectures can greatly speed the generation of samples.
These languages permit programmers to write and maintain large programs by encouraging modularity and good design practice. Although there are other possible representations, the division of music into notes and timbres is a paradigm most composers accept. The sound of a note is entirely independent of the sounds of other notes. This is true of monophonic instruments, and many polyphonic instruments can be modeled as collections of monophonic instruments. The samples for a given note can only be computed in strict order.