Numerical database system
Databázový systém pro numerické struktury
Authors
Supervisors
Reviewers
Editors
Other contributors
Journal Title
Journal ISSN
Volume Title
Publisher
České vysoké učení technické v Praze
Czech Technical University in Prague
Czech Technical University in Prague
Date of defense
Abstract
Numerická databáze zrychluje výpočet ukládáním mezivýsledků do pamětí. Kanonická implementace numerické databáze je založená na ohodnoceném binárním stromu - kombinace AVL-stromu a binární haldy. V této práci je diskutována i možnost využití jiných datových struktur, jak je Splay-strom a hašovácí tabulka. Navíc je zavedená zcela nová datová struktura - CNDC. Podporuje stejné operace jako ohodnocený binární strom, ale je přizpůsobená k použití ve vícevláknovém prostředí. Všechny zmíněné datové struktury jsou implementovány v programovacím jazyce C++ v podobě programovací knihovny numdb. Na závěr jsou uvedené výsledky měření výkonnosti implementovaných datových struktur.
Numerical databases speed up computations by memoizing pairs of an argument and the result, computed by a function with the argument. The canonical numerical database is based on the weighted search tree - a combination of the AVL tree and the binary heap. The application of alternative data structures, namely the hash table and the splay tree, is discussed in this thesis. In addition, a new data structure - CNDC - is introduced. It is similar to the weighted search tree, but all operations are declared as thread-safe. Data structures, mentioned above, are implemented in the C++ programming language as a programming library, called numdb. The performance of each data structure is measured, and the results are compared and discussed.
Numerical databases speed up computations by memoizing pairs of an argument and the result, computed by a function with the argument. The canonical numerical database is based on the weighted search tree - a combination of the AVL tree and the binary heap. The application of alternative data structures, namely the hash table and the splay tree, is discussed in this thesis. In addition, a new data structure - CNDC - is introduced. It is similar to the weighted search tree, but all operations are declared as thread-safe. Data structures, mentioned above, are implemented in the C++ programming language as a programming library, called numdb. The performance of each data structure is measured, and the results are compared and discussed.
Description
Keywords
numerická databáze, vypočetní optimizace, splay strom, hašovací tabulka, datové struktury pro paralelní zpracování, vícevláknová synchronizace, fine-grained locking, C++, numerical database, computational optimization, splay tree, hash table, concurrent lookup data structure, thread synchronisation, fine-grained locking, C++
Citation
Underlying research data set URL
Permanent link
Rights/License
A university thesis is a work protected by the Copyright Act of the Czech Republic. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one`s own expense. The use of thesis should be in compliance with the Copyright Act.
Vysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem v platném znění.
Vysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem v platném znění.