The capabilities of modern FPGAs permit the mapping of increasingly complex applications into reconfigurable hardware. High-level synthesis (HLS) promises a significant shortening of the FPGA design cycle by raising t...
详细信息
ISBN:
(纸本)9781479951116
The capabilities of modern FPGAs permit the mapping of increasingly complex applications into reconfigurable hardware. High-level synthesis (HLS) promises a significant shortening of the FPGA design cycle by raising the abstraction level of the design entry to high-level languages such as C/C++. Applications using dynamic, pointer-based datastructures and dynamic memory allocation, however, remain difficult to implement well, yet such constructs are widely used in software. Automated optimizations that aim to leverage the increased memory bandwidth of FPGAs by distributing the application data over separate banks of on-chip memory are often ineffective in the presence of dynamic data structures, due to the lack of an automated analysis of pointer-based memory accesses. In this work, we take a step towards closing this gap. We present a static analysis for pointer-manipulating programs which automatically splits heap-allocated datastructures into disjoint, independent regions. The analysis leverages recent advances in separation logic, a theoretical framework for reasoning about heap-allocated data which has been successfully applied in recent software verification tools. Our algorithm focuses on dynamic data structures accessed in loops and is accompanied by automated source-to-source transformations which enable automatic loop parallelization and memory partitioning by off-the-shelf HLS tools. We demonstrate the successful loop parallelization and memory partitioning by our tool flow using three real-life applications which build, traverse, update and dispose dynamically allocated datastructures. Our case studies, comparing the automatically parallelized to the non-parallelized HLS implementations, show an average latency reduction by a factor of 2.5 across our benchmarks.
We consider maintaining a dynamic set S of N horizontal segments in R-2 such that, given a vertical ray Q in R-2, the segments in S intersecting Q can be reported efficiently. In the external memory model, we give a s...
详细信息
We consider maintaining a dynamic set S of N horizontal segments in R-2 such that, given a vertical ray Q in R-2, the segments in S intersecting Q can be reported efficiently. In the external memory model, we give a structure that consumes O(N/B) space, answers a query in O(log(B) N + K/B) time (where K is the number of reported segments), and can be updated in O(log(B) N) amortized time per insertion and deletion. With B set to a constant, the structure also works in internal memory, consuming space O(N), answering a query in O(log N + K) time, and supporting an update in O(log N) amortized time.
The problem of verifying software systems that use dynamic data structures (such as linked lists, queues, or binary trees) has attracted increasing interest over the last decade. dynamicstructures are not easily supp...
详细信息
The problem of verifying software systems that use dynamic data structures (such as linked lists, queues, or binary trees) has attracted increasing interest over the last decade. dynamicstructures are not easily supported by verification techniques because, among other reasons, it is difficult to efficiently manage the pointer-based internal representation. This is a key aspect when, for instance, the goal is to construct a verification tool based on model checking techniques. In addition, since new nodes can be dynamically inserted or extracted from the structure, the shape of the dynamicdata (and other more specific properties) may vary at runtime, with errors such as the non desirable sharing between two nodes being difficult to detect. In this paper, we propose to use mu-calculus to describe and analyze with model checking techniques dynamic data structures such as lists and trees. The expressiveness of mu-calculus makes it possible to naturally describe these structures. In addition, following the ideas of separation logic, the logic has been extended with a new operator capable of describing the non-sharing property, which is essential when analyzing dynamic data structures.
We consider various data-analysis queries on two-dimensional points. We give new space/time tradeoffs over previous work on geometric queries such as dominance and rectangle visibility, and on semigroup and group quer...
详细信息
We consider various data-analysis queries on two-dimensional points. We give new space/time tradeoffs over previous work on geometric queries such as dominance and rectangle visibility, and on semigroup and group queries such as sum, average, variance, minimum and maximum. We also introduce new solutions to queries less frequently considered in the literature such as two-dimensional quantiles, majorities, successor/predecessor, mode, and various top-k queries, considering static and dynamic scenarios. (C) 2012 Elsevier S.V. All rights reserved.
In many applications there is a problem of representation of multiple LIFO-stacks and/or FIFO-queues in the single-level memory. This paper concerns issues related to building mathematical model of process of working ...
详细信息
In many applications there is a problem of representation of multiple LIFO-stacks and/or FIFO-queues in the single-level memory. This paper concerns issues related to building mathematical model of process of working with them in the case of linked list representation. This model was constructed as n-dimensional random walk on the integer lattice in some regions of n-dimensional space. (c) 2013 Elsevier B.V. All rights reserved.
In the last years, there is a trend towards network and multimedia applications to be implemented in portable devices. These applications usually contain complex dynamic data structures. The appropriate selection of t...
详细信息
In the last years, there is a trend towards network and multimedia applications to be implemented in portable devices. These applications usually contain complex dynamic data structures. The appropriate selection of the dynamicdata type (DDT) combination of an application affects the performance and the energy consumption of the whole system. Thus, DDT exploration methodology is used to perform trade-offs between design factors, such as performance and energy consumption. In this paper we provide a new approach to the DDT exploration procedure, based on a new library of DDTs which remedies the limitations of an existing solution and allows the DDT optimization of a wider range of application domains. Using the new library, we performed DDT exploration in network and multimedia benchmarks and achieved performance and energy consumption improvements up to 22% and 5.8%, respectively. (C) 2008 Elsevier B.V. All rights reserved.
In this paper we describe datastructures for orthogonal range reporting in external memory that support fast update operations. The query costs either match the query costs of the best previously known data structure...
详细信息
In this paper we describe datastructures for orthogonal range reporting in external memory that support fast update operations. The query costs either match the query costs of the best previously known datastructures or differ by a small multiplicative factor.
Let G be a directed graph with n vertices and nonnegative weights in its directed edges, embedded on a surface of genus g, and let f be an arbitrary face of G. We describe a randomized algorithm to preprocess the grap...
详细信息
Let G be a directed graph with n vertices and nonnegative weights in its directed edges, embedded on a surface of genus g, and let f be an arbitrary face of G. We describe a randomized algorithm to preprocess the graph in O(gn log n) time with high probability, so that the shortest-path distance from any vertex on the boundary of f to any other vertex in G can be retrieved in O(log n) time. Our result directly generalizes the O(n log n)-time algorithm of Klein [ Proceedings of the 16th Annual ACM-SIAM Symposium on Discrete Algorithms, 2005] for multiple-source shortest paths in planar graphs. Intuitively, our preprocessing algorithm maintains a shortest-path tree as its source point moves continuously around the boundary of f. As an application of our algorithm, we describe algorithms to compute a shortest noncontractible or nonseparating cycle in embedded, undirected graphs in O(g(2)n log n) time with high probability. Our high-probability time bounds hold in the worst case for generic edge weights or with an additional O(log n) factor for arbitrary edge weights.
In this thesis we study sparse classes of graphs and their properties usable for design of algorithms and datastructures. Our specific focus is on the con- cepts of bounded expansion and tree-depth, developed in rece...
详细信息
In this thesis we study sparse classes of graphs and their properties usable for design of algorithms and datastructures. Our specific focus is on the con- cepts of bounded expansion and tree-depth, developed in recent years mainly by J. Nešetřil and P. Ossona de Mendez. We first give a brief introduction to the theory as whole and survey tools and results from related areas of parametrised complexity and algorithmic model theory. The main part of the thesis, application of the theory, presents two new dynamic data structures. The first is for keeping a tree-depth decomposition of a graph, the second counts appearances of fixed subgraphs in a given graph. The time and space complexity of operations of both structures is guaranteed to be low when used for sparse graphs. 1
Let S be a set of n intervals in R, and let (S, +) be any commutative semigroup. We assign a weight omega(s) is an element of S to each interval in S. For a point x is an element of R, let S(x) subset of S be the set ...
详细信息
Let S be a set of n intervals in R, and let (S, +) be any commutative semigroup. We assign a weight omega(s) is an element of S to each interval in S. For a point x is an element of R, let S(x) subset of S be the set of intervals that contain x. Given a point q is an element of R, the stabbing-semigroup query asks for computing Sigma(s is an element of S(q)) omega(s). We propose a linear-size dynamicdata structure, under the pointer-machine model, that answers queries in worst-case O(log n) time and supports both insertions and deletions of intervals in amortized O(log n) time. It is the first data structure that attains the optimal O(log n) bound for all three operations. Furthermore, our structure can easily be adapted to external memory, where we obtain a linear-size structure that answers queries and supports updates in O(logB n) I/Os, where B is the disk block size. For the restricted case of a nested family of intervals (either every pair of intervals is disjoint or one contains the other), we present a simpler solution based on dynamic trees.
暂无评论