5 research outputs found

    O2-tree: a shared memory resident index in multicore architectures

    Get PDF
    Shared memory multicore computer architectures are now commonplace in computing. These can be found in modern desktops and workstation computers and also in High Performance Computing (HPC) systems. Recent advances in memory architecture and in 64-bit addressing, allow such systems to have memory sizes of the order of hundreds of gigabytes and beyond. This now allows for realistic development of main memory resident database systems. This still requires the use of a memory resident index such as T-Tree, and the B+-Tree for fast access to the data items. This thesis proposes a new indexing structure, called the O2-Tree, which is essentially an augmented Red-Black Tree in which the leaf nodes are index data blocks that store multiple pairs of key and value referred to as \key-value" pairs. The value is either the entire record associated with the key or a pointer to the location of the record. The internal nodes contain copies of the keys that split blocks of the leaf nodes in a manner similar to the B+-Tree. O2-Tree structure has the advantage that: it can be easily reconstructed by reading only the lowest value of the key of each leaf node page. The size is su ciently small and thus can be dumped and restored much faster. Analysis and comparative experimental study show that the performance of the O2-Tree is superior to other tree-based index structures with respect to various query operations for large datasets. We also present results which indicate that the O2-Tree outperforms popular key-value stores such as BerkelyDB and TreeDB of Kyoto Cabinet for various workloads. The thesis addresses various concurrent access techniques for the O2-Tree for shared memory multicore architecture and gives analysis of the O2-Tree with respect to query operations, storage utilization, failover and recovery

    3D visualisation of oil reservoirs

    Get PDF
    This research introduces a novel approach to storing compressed 3D grid information by applying octree compression techniques. This new data structure stores the octree in a pruned flattened fashion where only header and active leaf nodes are stored in a linear array. This generates high levels of lossless compression when applied to 3D geometry where clusters of homogeneous information exist. This data structure yields fast, log(n) look-up times and initial results show that when coupled with bespoke scanning methods searching times can surpass that of direct access. Hierarchical pyramid visualisations techniques are also presented using the information stored at each level in the tree structure. Integrating with this are face culling algorithms developed in this research, which eliminate hidden face and inner leaf node cells which eases the burden placed on the CPU and GPU. By integrating these pyramid scaling and face culling algorithms, grid models can be shown at various levels of resolution incorporating sub-regions, "regions of interest" displayed at full resolution. This further lightens the load on the GPU generating quicker loading times and higher refresh rates. This can potentially allow larger models to be visualised than would otherwise have been possible. This research was sponsored by Sciencesoft an oil reservoir visualisation company and the algorithms developed in this research have been applied to compressing oil reservoir information. Oil companies require accurate 3D computer-generated models of oil reservoirs in order to make oil and gas extraction as cost effective as possible. Advances in computing power has meant that it is now possible to run multi-million cell oil reservoir grid models, increasing the level of accuracy and precision available to engineers. This thesis applies 3D octree compression techniques to these computer models and compares these with industry standard storage and cell searching algorithms as industry benchmarks. This thesis suggests that octree compression techniques may prove to be a more efficient data structure for storing and searching active cell information within oil reservoirs than existing procedures
    corecore