Oracle® Fusion Middleware .NET API Reference for Oracle Coherence
12c (12.2.1.4.0)
E90869-02
An abstract base for processors that implement bundling strategy.

Namespace: Tangosol.Net.Cache
Assembly: Coherence (in Coherence.dll) Version: 12.2.1.4014 (12.2.1.4014)

Syntax

C#
public abstract class AbstractBundler

Remarks

Assume that we receive a continuous and concurrent stream of individual operations on multiple threads in parallel. Let's also assume those individual operations have relatively high latency (network or database-related) and there are functionally analogous [bulk] operations that take a collection of arguments instead of a single one without causing the latency to grow linearly, as a function of the collection size. Examples of operations and topologies that satisfy these assumptions are:
  • Get() and GetAll() methods for the INamedCache API for the partitioned cache service topology;
  • Insert() and InsertAll() methods for the INamedCache API for the partitioned cache service topology;
  • Remove() method for the INamedCache API for the partitioned cache service topology;

Under these assumptions, it's quite clear that the bundler could achieve a better utilization of system resources and better throughput if slightly delays the individual execution requests with a purpose of "bundling" them together and passing into a corresponding bulk operation. Additionally, the "bundled" request should be triggered if a bundle reaches a "preferred bundle size" threshold, eliminating a need to wait till a bundle timeout is reached.

Note
We assume that all bundle-able operations are idempotent and could be repeated if un-bundling is necessary due to a bundled operation failure.

Inheritance Hierarchy

System..::..Object
  Tangosol.Net.Cache..::..AbstractBundler
    Tangosol.Net.Cache..::..AbstractEntryBundler
    Tangosol.Net.Cache..::..AbstractKeyBundler

See Also