918 research outputs found

    A Linear-Time Algorithm for Optimal Tree Sibling Partitioning and its Application to XML Data Stores

    Full text link
    Document insertion into a native XML Data Store (XDS) requires to partition the document tree into a number of storage units with limited capacity, such as records on disk pages. As intra partition navigation is much faster than navigation between partitions, minimizing the number of partitions has a beneficial effect on query performance. We present a linear time algorithm to optimally partition an ordered, labeled, weighted tree such that each partition does not exceed a fixed weight limit. Whereas traditionally tree partitioning algorithms only allow child nodes to share a partition with their parent node (i.e. a partition corresponds to a subtree), our algorithm also considers partitions containing several subtrees as long as their roots are adjacent siblings. We call this sibling partitioning. Based on our study of the optimal algorithm, we further introduce two novel, near-optimal heuristics. They are easier to implement, do not need to hold the whole document instance in memory, and require much less runtime than the optimal algorithm. Finally, we provide an experimental study comparing our novel and existing algorithms. One important finding is that compared to partitioning that exclusively considers parent-child partitions, including sibling partitioning as well can decrease the total number of partitions by more than 90%, and improve query performance by more than a factor of two

    Automated Design of Dynamic Programming Schemes for RNA Folding with Pseudoknots

    Get PDF
    Despite being a textbook application of dynamic programming (DP) and routine task in RNA structure analysis, RNA secondary structure prediction remains challenging whenever pseudoknots come into play. To circumvent the NP-hardness of energy minimization in realistic energy models, specialized algorithms have been proposed for restricted conformation classes that capture the most frequently observed configurations. While these methods rely on hand-crafted DP schemes, we generalize and fully automatize the design of DP pseudoknot prediction algorithms. We formalize the problem of designing DP algorithms for an (infinite) class of conformations, modeled by (a finite number of) fatgraphs, and automatically build DP schemes minimizing their algorithmic complexity. We propose an algorithm for the problem, based on the tree-decomposition of a well-chosen representative structure, which we simplify and reinterpret as a DP scheme. The algorithm is fixed-parameter tractable for the tree-width tw of the fatgraph, and its output represents a ?(n^{tw+1}) algorithm for predicting the MFE folding of an RNA of length n. Our general framework supports general energy models, partition function computations, recursive substructures and partial folding, and could pave the way for algebraic dynamic programming beyond the context-free case

    AutoAccel: Automated Accelerator Generation and Optimization with Composable, Parallel and Pipeline Architecture

    Full text link
    CPU-FPGA heterogeneous architectures are attracting ever-increasing attention in an attempt to advance computational capabilities and energy efficiency in today's datacenters. These architectures provide programmers with the ability to reprogram the FPGAs for flexible acceleration of many workloads. Nonetheless, this advantage is often overshadowed by the poor programmability of FPGAs whose programming is conventionally a RTL design practice. Although recent advances in high-level synthesis (HLS) significantly improve the FPGA programmability, it still leaves programmers facing the challenge of identifying the optimal design configuration in a tremendous design space. This paper aims to address this challenge and pave the path from software programs towards high-quality FPGA accelerators. Specifically, we first propose the composable, parallel and pipeline (CPP) microarchitecture as a template of accelerator designs. Such a well-defined template is able to support efficient accelerator designs for a broad class of computation kernels, and more importantly, drastically reduce the design space. Also, we introduce an analytical model to capture the performance and resource trade-offs among different design configurations of the CPP microarchitecture, which lays the foundation for fast design space exploration. On top of the CPP microarchitecture and its analytical model, we develop the AutoAccel framework to make the entire accelerator generation automated. AutoAccel accepts a software program as an input and performs a series of code transformations based on the result of the analytical-model-based design space exploration to construct the desired CPP microarchitecture. Our experiments show that the AutoAccel-generated accelerators outperform their corresponding software implementations by an average of 72x for a broad class of computation kernels

    The strategy structure of some coalition formation games

    Get PDF
    In coalitional games with side payments, the core predicts which coalitions form and how benefits are shared. The predictions however run into difficulties if the core is empty or if some coalitions benefit from not blocking truthfully. These difficulties are analyzed in games in which an a priori given collection of coalitions can form, as the collection of pairs of buyer-seller in an assignment game. The incentive properties of the core and of its selections are investigated in function of the collection. Furthermore the relationships with Vickrey-Clarke-Groves mechanisms are drawn.coalition formation ; assignment ; manipulability ; substitutes ; incremental value ; Vickrey-Clarke-Groves mechanism

    A theory of flow network typings and its optimization problems

    Full text link
    Many large-scale and safety critical systems can be modeled as flow networks. Traditional approaches for the analysis of flow networks are whole-system approaches in that they require prior knowledge of the entire network before an analysis is undertaken, which can quickly become intractable as the size of network increases. In this thesis we study an alternative approach to the analysis of flow networks, which is modular, incremental and order-oblivious. The formal mechanism for realizing this compositional approach is an appropriately defined theory of network typings. Typings are formalized differently depending on how networks are specified and which of their properties is being verified. We illustrate this approach by considering a particular family of flow networks, called additive flow networks. In additive flow networks, every edge is assigned a constant gain/loss factor which is activated provided a non-zero amount of flow enters that edge. We show that the analysis of additive flow networks, more specifically the max-flow problem, is NP-hard, even when the underlying graph is planar. The theory of network typings gives rise to different forms of graph decomposition problems. We focus on one problem, which we call the graph reassembling problem. Given an abstraction of a flow network as a graph G = (V,E), one possible definition of this problem is specified in two steps: (1) We cut every edge of G into two halves to obtain a collection of |V| one-vertex components, and (2) we splice the two halves of all the edges, one edge at a time, in some order that minimizes the complexity of constructing a typing for G, starting from the typings of its one-vertex components. One optimization is minimizing “maximum” edge-boundary degree of components encountered during the reassembling of G (denoted as α measure). Another is to minimize the “sum” of all edge-boundary degrees encountered during this process (denoted by β measure). Finally, we study different variations of graph reassembling (with respect to minimizing α or β) and their relation with problems such as Linear Arrangement, Routing Tree Embedding, and Tree Layout
    corecore