5 research outputs found

    An Efficient Data Structure for Dynamic Two-Dimensional Reconfiguration

    Full text link
    In the presence of dynamic insertions and deletions into a partially reconfigurable FPGA, fragmentation is unavoidable. This poses the challenge of developing efficient approaches to dynamic defragmentation and reallocation. One key aspect is to develop efficient algorithms and data structures that exploit the two-dimensional geometry of a chip, instead of just one. We propose a new method for this task, based on the fractal structure of a quadtree, which allows dynamic segmentation of the chip area, along with dynamically adjusting the necessary communication infrastructure. We describe a number of algorithmic aspects, and present different solutions. We also provide a number of basic simulations that indicate that the theoretical worst-case bound may be pessimistic.Comment: 11 pages, 12 figures; full version of extended abstract that appeared in ARCS 201

    Experimental Implementation for Prefix B-tree and Associated Dynamic Lists

    Get PDF
    This thesis deals with an experimental implementation of a combined B-tree indexing scheme and a buddy system for organizing and managing key words and inverted lists respectively. Measurements are developed to compare the performance of buddy system variations in terms of execution time and storage utilization.Computing and Information Scienc

    An algorithm for locating adjacent storage blocks in the buddy system

    No full text

    Algorithmen fĂĽr Packprobleme

    Get PDF
    Packing problems belong to the most frequently studied problems in combinatorial optimization. Mainly, the task is to pack a set of small objects into a large container. These kinds of problems, though easy to state, are usually hard to solve. An additional challenge arises, if the set of objects is not completely known beforehand, meaning that an object has to be packed before the next one becomes available. These problems are called online problems. If the set of objects is completely known, they are called offline problems. In this work, we study two online and one offline packing problem. We present algorithms that either compute an optimal or a provably good solution: Maintaining Arrays of Contiguous Objects. The problem of maintaining a set of contiguous objects (blocks) inside an array is closely related to storage allocation. Blocks are inserted into the array, stay there for some (unknown) duration, and are then removed from the array. After inserting a block, the next block becomes available. Blocks can be moved inside the array to create free space for further insertions. Our goals are to minimize the time until the last block is removed from the array (the makespan) and the costs for the block moves. We present inapproximability results, an algorithm that achieves an optimal makespan, an algorithm that uses only O(1) block moves per insertion and deletion, and provide computational experiments. Online Square Packing. In the classical online strip packing problem, one has to find a non-overlapping placement for a set of objects (squares in our setting) inside a semi-infinite strip, minimizing the height of the occupied area. We study this problem under two additional constraints: Each square has to be packed on top of another square or on the bottom of the strip. Moreover, there has to be a collision-free path from the top of the strip to the square's final position. We present two algorithms that achieve asymptotic competitive factors of 3.5 and 2.6154, respectively. Point Sets with Minimum Average Distance. A grid point is a point in the plane with integer coordinates. We present an algorithm that selects a set of grid points (town) such that the average L1 distance between all pairs of points is minimized. Moreover, we consider the problem of choosing point sets (cities) inside a given square such that-again-the interior distances are minimized. We present a 5.3827-approximation algorithm for this problem.Packprobleme gehören zu den am häufigsten untersuchten Problemen in der kombinatorischen Optimierung. Grundsätzlich besteht die Aufgabe darin, eine Menge von kleinen Objekten in einen größeren Container zu packen. Probleme dieser Art können meistens nur mit hohem Aufwand gelöst werden. Zusätzliche Schwierigkeiten treten auf, wenn die Menge der zu packenden Objekte zu Beginn nicht vollständig bekannt ist, d.h. dass das nächste Objekt erst verfügbar wird, wenn das vorherige gepackt ist. Solche Probleme werden online Probleme genannt. Wenn alle Objekte bekannt sind, spricht man von einem offline Problem. In dieser Arbeit stellen wir zwei online Packprobleme und ein offline Packproblem vor und entwickeln Algorithmen, die die Probleme entweder optimal oder aber mit einer beweisbaren Güte lösen: Verwaltung von kontinuierlichen Objekten. Das Problem eine Menge von kontinuierlichen Objekten (Blöcke) in einem Array möglichst gut zu verwalten, ist eng verwandt mit Problemen der Speicherverwaltung. Blöcke werden in einen kontinuierlichen Bereich des Arrays eingefügt und nach einer (unbekannten) Dauer wieder entfernt. Dabei ist immer nur der nächste einzufügende Block bekannt. Um Freiraum für weitere Blöcke zu schaffen, dürfen Blöcke innerhalb des Arrays verschoben werden. Ziel ist es, die Zeit bis der letzte Block entfernt wird (Makespan) und die Kosten für die Verschiebe-Operationen zu minimieren. Wir geben eine komplexitätstheoretische Einordnung dieses Problems, stellen einen Algorithmus vor, der einen optimalen Makespan bestimmt, einen der O(1) Verschiebe-Operationen benötigt und evaluieren verschiedene Algorithmen experimentell. Online-Strip-Packing. Im klassischen Online-Strip-Packing-Problem wird eine Menge von Objekten (hier: Quadrate) in einen Streifen (unendlicher Höhe) platziert, so dass die Höhe der benutzten Fläche möglichst gering ist. Wir betrachten einen Spezialfall, bei dem zwei zusätzliche Bedingungen gelten: Quadrate müssen auf anderen Quadraten oder auf dem Boden des Streifens platziert werden und die endgültige Position muss auf einem kollisionfreien Weg erreichbar sein. Es werden zwei Algorithmen mit Güten von 3,5 bzw. 2,6154 vorgestellt. Punktmengen mit minimalem Durchschnittsabstand. Ein Gitterpunkt ist ein Punkt in der Ebene mit ganzzahligen Koordinaten. Wir stellen einen Algorithmus vor, der eine Anzahl von Punkten aus der Menge aller Gitterpunkte auswählt, so dass deren durchschnittlicher L1-Abstand minimal ist. Außerdem betrachten wir das Problem, mehrere Punktmengen mit minimalem Durchschnittsabstand innerhalb eines gegebenen Quadrates auszuwählen. Wir stellen einen 5,3827-Approximationsalgorithmus für dieses Problem vor

    An algebraic analysis of storage fragmentation

    Get PDF
    PhD thesisStorage fragmentation, the splitting of available computer memory space into separate gaps by allocations and deal locations of various sized blocks with consequent loss of utilisation due to reduced ability to satisfy reque~ts, has ~roved difficult to analyse. Most previous studies rely on simulation, and nearly all of the few published analyses that do not, simplify the combinatorial complexity that arises by some averaging assumption. After a survey of these results, an exact analytical approach to the study of storage allocation and fragmentation is presented. A model of an allocation scheme of a kind common in many computing systems is described. Requests from a saturated fi rst come fi rst served queue for varyi ng amounts of contiguous storage are satisfied as soon as sufficient space becomes available in a storage memory of fixed total size. A placement algorithm decides which free locations to allocate if a choice is possible. After a variable time, allocated requests are completed and their occupied storage is freed again. In general, the avail ab 1 e space becomes fragmented because allocated requests are not relocated ~r moved around in stora~e. The model's behaviour and in particul~r the storage utilisation are studied under conditions in which the model is a finite homogeneous Markov chain. The algebraic structure of its sparse transition matrix is discovered to have a striki~g recursive pattern, allowing the steady state equation to be simplified considerably and unexpectedly to a simple and direct statement of the effect of the choice of placement algorithm on the steady state. Possible developments and uses of this simplified analysis are indicated, and some investigated. The exact probabilistic behaviour of models of relatively small memory sizes is computed, and different placement algorithms are compared with each other and with the analytic results which are derived for the corresponding model in which relocation is allowed
    corecore