Selecting a copy avoidance strategy requires understanding of a filter's
data access behavior.
In
some cases, Streamline can infer the most efficient strategy from system state.
For instance, it knows how many filters access a given stream and can therefore
decide whether to grant direct write access or not. On the other hand, it does
not know that a filter requesting write access
will compress data and can therefore append instead of edit.
For this case, it needs help from the developer.
Before explaining how Streamline implements the optimizations themselves,
we therefore
first categorize filters according to their data access patterns. From
the more than 40 filters in the reference system we deduce the seven structural
classes summarized in Table 5.1Filter classification by data access ($A$: append-only, $&part#partial;$: optional) ..
Table 5.1:
Filter classification by data access
(
: append-only,
: optional) .
 |
Subsections
willem
2010-02-03