Efficient sorting algorithms for memory hierarchies
Efektivní třídící algoritmy pro paměťovou hierarchii
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/193623Identifikátory
SIS: 272630
Kolekce
- Kvalifikační práce [11218]
Autor
Vedoucí práce
Oponent práce
Mareš, Martin
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Informatika - Teoretická informatika
Katedra / ústav / klinika
Informatický ústav Univerzity Karlovy
Datum obhajoby
10. 9. 2024
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
třídění|paměťové hierarchieKlíčová slova (anglicky)
sorting|memory hierarchyV této práci představujeme nový náhodný cache-oblivious třídící algoritmus, založený na jiném algoritmu zvaném ColumnSort, který objevil Leighton. Náš algoritmus dosahuje asymptotické optimality ve střední hodnotě běhů. Jelikož je cache-oblivious, není nutné žádné další dolaďování. Ukážeme, že jeho implementace je přímočará a vejde do přibližně 100 řádků kódu, proto věříme, že je dostupný a lze ho snadno integrovat do existujících systémů. Poté, co podrobně ukážeme implementaci, dokážeme jeho střední hodnotu a nejhorší dobu běhu a následně porovnáme naši implementaci s existující implementací Funnel Sort od Rønna a std::sort poskytovanou standardní knihovnou C++. 1
In this thesis, we introduce a novel random cache-oblivious sorting algorithm loosely based on another sorting algorithm called ColumnSort shown by Leighton. Our algorithm achieves asymptotic optimality in expected case. As it is cache-oblivious, no further finetuning is necessary. We also demonstrate that its implementation is straightforward and can fit in approximately 100 lines of code, therefore we believe it is accessible and can be easily integrated into existing systems. After we show the implementation in detail, we prove its expected and worst running times and then we compare our implementation with the existing implementation of Funnel Sort implemented by Rønn and std::sort provided by standard C++ library. 1