Next: 2. The Programming Models
Back: 1.2. Where is the parallelism in sample
generation?
Up: 1. The Problem
1.3. Evaluation Criteria
Three criteria will be used to evaluate the programming models:
- How much useful parallelism does this model facilitate?
Regardless of any other advantages, a parallel programming model must facilitate
parallel computation of samples. Furthermore, this parallelism must be useful,
meaning that a) pr
ocessors should compute values that will be used, rather than scheduling
unnecessary tasks for the sake of increased utilization, and b) the parallelism
provided by the model should reasonably match the number of processors on the
target architecture.
- Is there a natural mapping between the model and the problem
structure?
Sample generation is almost universally understood and explained in terms of
instruments, scores, and unit generators. A programming model which accommodates
this structure promotes elegant implementations and ease of explanation. Natural
does not imply familiar; a programming model which seems alien at first may,
upon reflection, match the problem structure in a novel way.
- Can this model also accommodate real-time sample generation?
Synthesis algorithms, like other algorithms, will constantly grow more
complicated, requiring more resources than available. Despite this trend, many
sample generation tasks can now be performed in real-time. Some programming
models factor the problem in
a way that precludes real-time computations.
[Bill's Home Page]
Comments to walker@shout.net