public class DynamicChunking extends DataSource
Modifier and Type | Class and Description |
---|---|
static interface |
DynamicChunking.BlockAccessCallback |
class |
DynamicChunking.CacheThrashingError |
fdlDescriptor, isActivated, name, wsName
attributeOrder, axisOrdering, axisWeights, bounds, dataOrder, dimensionality, numAttributes, pointOrder, recordDesc
Constructor and Description |
---|
DynamicChunking(DataSource dataSource)
Creates a DynamicChunking object which views a 'dataSource' through a
DynamicChunking memory manager and it has the same interface as a
DataSource.
|
Modifier and Type | Method and Description |
---|---|
void |
activate()
Activates the cache for the given memory and block size.
|
void |
datum(Datum datum,
IndexSpaceID dataId)
Given an IndexSpaceID, copy the values of the Datum at that position to the
argument Datum.
|
void |
datum(Datum dtm,
IndexSpaceID did,
FieldIDMapper mp)
not implemented
|
void |
deactivate()
Dealocate all resources used for the DynamicChunking.
|
java.util.Iterator<ISBounds> |
getBlockBoundsIterator() |
IndexSpaceID |
getBlockDimensions() |
DataSource |
getDataSource() |
ISBounds |
getIterationSubvolume() |
int |
getMaxMemoryBlockCount() |
long |
getMemory() |
java.lang.String |
getStatistics()
Generate a string indicating statistics for performance evaluation.
|
boolean |
isOptimizedBlockSizeAdaptive() |
boolean |
isOptimizedBlockSizeSlice() |
boolean |
isOptimizedBlockTable() |
void |
partitionRatio2blockDimensions() |
void |
setBlockAccessedCallback(DynamicChunking.BlockAccessCallback blockAccessed)
Sets up a callback function that is called each time a block is accessed.
|
void |
setBlockDimensions(IndexSpaceID dimensions) |
void |
setBlockSizeAdaptiveOptimization(ISBounds iterationSubvolume,
java.lang.String iterationId) |
void |
setBlockSizeSliceOptimization(EulerAngles eulerAngles,
ISBounds iterationSubvolume)
Uses the maximum block size given the amount of available memory.
|
void |
setIterationSubvolume(ISBounds bounds)
If the application specifies the iteration subvolume, the block table
is set to cover only the subvolume not the entire dataset.
|
void |
setMemory(long memory) |
void |
setPartitionRatio(IndexSpaceID partitionRatio) |
void |
subblock(DataBlock dstBlock,
ISBounds dstBounds,
ISBounds srcBounds)
Reads a subblock defined by srcBounds into the region of the Datablock argument
defined by dstBounds.
|
void |
subblock(DataBlock theBlock,
ISBounds dstBounds,
ISBounds srcBounds,
FieldIDMapper mp)
not implemented
|
checkActivated, clearCache, copyBestID, create, create, create, createRemote, createRemote, createRemoteClient, createRemoteClient, createRemoteDataSource, createRemoteDataSource, createRemoteDataSourceUDP, createRemoteUDP, createRemoteUDP, dumpData, equals, getFDLDescriptor, getMetadataCollection, getName, getValues, isActivated, main, setMetadataCollection, toString, toString
byteSize, computeOffset, computeOffset, copyBounds, createDataBlock, createDataBlock, createDataBlock, createDatum, createDatum, createDatum, createDatum, createDatum, createDatum, datum, datum, datum, datum, datum, dim, getAttributeNames, getAxisOrdering, getAxisWeight, getAxisWeights, getBounds, getByte, getBytes, getBytes, getBytes, getBytes, getBytes, getBytes, getBytesByAttribute, getBytesByAttribute, getBytesByPoint, getBytesByPoint, getDataOrder, getDimensionsArray, getDouble, getDoubles, getDoubles, getDoubles, getDoubles, getDoubles, getDoubles, getDoublesByAttribute, getDoublesByAttribute, getDoublesByPoint, getDoublesByPoint, getFloat, getFloats, getFloats, getFloats, getFloats, getFloats, getFloats, getFloatsByAttribute, getFloatsByAttribute, getFloatsByPoint, getFloatsByPoint, getInt, getInts, getInts, getInts, getInts, getInts, getInts, getIntsByAttribute, getIntsByAttribute, getIntsByPoint, getIntsByPoint, getLowerBoundsArray, getNumAttributes, getRecordDescriptor, getShort, getShorts, getShorts, getShorts, getShorts, getShorts, getShorts, getShortsByAttribute, getShortsByAttribute, getShortsByPoint, getShortsByPoint, getStorageType, getUpperBoundsArray, getValues, getValuesByAttribute, getValuesByPoint, longVolume, setAxisOrdering, setBounds, setRecordDescriptor, size, subblock, subblock, subblock, subblock, subblock, subblock, subblock, subblock, subblock, subblock, useBytesOnly, volume
public DynamicChunking(DataSource dataSource)
public DataSource getDataSource()
public void setMemory(long memory)
public long getMemory()
public void setIterationSubvolume(ISBounds bounds)
bounds
- public void setBlockSizeSliceOptimization(EulerAngles eulerAngles, ISBounds iterationSubvolume)
eulerAngles
- iterationSubvolume
- public void setBlockSizeAdaptiveOptimization(ISBounds iterationSubvolume, java.lang.String iterationId)
public ISBounds getIterationSubvolume()
public void setBlockAccessedCallback(DynamicChunking.BlockAccessCallback blockAccessed)
blockAccessed
- function to be called, if null no function is called.public void setBlockDimensions(IndexSpaceID dimensions)
public void setPartitionRatio(IndexSpaceID partitionRatio)
public IndexSpaceID getBlockDimensions()
public java.lang.String getStatistics()
DataSource
getStatistics
in class DataSource
public void activate()
activate
in class DataSource
public void deactivate()
deactivate
in class DataSource
public int getMaxMemoryBlockCount()
public void datum(Datum datum, IndexSpaceID dataId)
DataCollection
datum
in interface Indexable
datum
in class DataCollection
public void datum(Datum dtm, IndexSpaceID did, FieldIDMapper mp)
datum
in interface Indexable
datum
in class DataCollection
public void subblock(DataBlock dstBlock, ISBounds dstBounds, ISBounds srcBounds)
DataCollection
subblock
in interface Indexable
subblock
in class DataCollection
public void subblock(DataBlock theBlock, ISBounds dstBounds, ISBounds srcBounds, FieldIDMapper mp)
subblock
in interface Indexable
subblock
in class DataCollection
public java.util.Iterator<ISBounds> getBlockBoundsIterator()
public boolean isOptimizedBlockTable()
public boolean isOptimizedBlockSizeSlice()
public boolean isOptimizedBlockSizeAdaptive()
public void partitionRatio2blockDimensions()