Efficient external sorting and indexing on flash memory embedded devices

External sorting is a technique used to sort large datasets that cannot fit into the memory of a single computing device. It is particularly important in the context of embedded devices and the Internet of Things (IoT), where resources such as memory and I/O bandwidth are often limited. External sor...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Σταθοπούλου, Ρουμπίνη
Άλλοι συγγραφείς: Stathopoulou Roumpini
Γλώσσα:Greek
Έκδοση: 2023
Θέματα:
Διαθέσιμο Online:https://hdl.handle.net/10889/24689
id nemertes-10889-24689
record_format dspace
institution UPatras
collection Nemertes
language Greek
topic External sorting
Embedded devices
Ενσωματωμένες συσκευές
Εξωτερική ταξινόμηση
spellingShingle External sorting
Embedded devices
Ενσωματωμένες συσκευές
Εξωτερική ταξινόμηση
Σταθοπούλου, Ρουμπίνη
Efficient external sorting and indexing on flash memory embedded devices
description External sorting is a technique used to sort large datasets that cannot fit into the memory of a single computing device. It is particularly important in the context of embedded devices and the Internet of Things (IoT), where resources such as memory and I/O bandwidth are often limited. External sorting involves dividing the dataset into smaller parts, runs, which can be sorted individually and then merged together to produce the final sorted output.Several algorithms can be used for the run generation phase of external sorting, depending on the characteristics of the data being sorted and the available resources. The in-memory insertion sort algorithm is one such algorithm, which sorts small chunks of data in memory before writing them to disk as runs. The replacement selection algorithm is another algorithm, which involves dividing the dataset into fixed-size blocks, selecting the smallest item from each block, and merging them using a priority queue.For the merge phase of external sorting, NOBsort is a commonly used algorithm that minimizes I/O operations by merging runs in a way that minimizes the number of block reads and writes. This algorithm is particularly useful for large datasets that require multiple passes to sort.Adaptive algorithms for data distribution are also important in external sorting. These algorithms adapt the size and number of runs based on the characteristics of the input data and the resources available, allowing for efficient sorting even when resources are limited. One such algorithm is the adaptive sorting algorithm, which adjusts the number of runs based on the number of available disk blocks and the size of the input data. External sorting has several benefits for embedded devices and the IoT. By reducing the number of I/O operations required and minimizing memory usage, external sorting can help to optimize the performance of these devices and ensure that they operate efficiently. In addition, external sorting can help to reduce power consumption and increase the lifespan of the devices.Overall, external sorting is an important technique for managing and processing large datasets in a variety of contexts. By using efficient run generation and merge algorithms, as well as adaptive algorithms for data distribution, external sorting can help to ensure that computing devices and IoT systems operate effectively and efficiently, even with limited resources.
author2 Stathopoulou Roumpini
author_facet Stathopoulou Roumpini
Σταθοπούλου, Ρουμπίνη
author Σταθοπούλου, Ρουμπίνη
author_sort Σταθοπούλου, Ρουμπίνη
title Efficient external sorting and indexing on flash memory embedded devices
title_short Efficient external sorting and indexing on flash memory embedded devices
title_full Efficient external sorting and indexing on flash memory embedded devices
title_fullStr Efficient external sorting and indexing on flash memory embedded devices
title_full_unstemmed Efficient external sorting and indexing on flash memory embedded devices
title_sort efficient external sorting and indexing on flash memory embedded devices
publishDate 2023
url https://hdl.handle.net/10889/24689
work_keys_str_mv AT stathopoulouroumpinē efficientexternalsortingandindexingonflashmemoryembeddeddevices
AT stathopoulouroumpinē apotelesmatikosalgorithmostaxinomēsēsseensōmatōmenessyskeuesmemnēmēflash
_version_ 1771297266085134336
spelling nemertes-10889-246892023-03-07T04:37:43Z Efficient external sorting and indexing on flash memory embedded devices Αποτελεσματικός αλγόριθμος ταξινόμησης σε ενσωματωμένες συσκευές με μνήμη flash Σταθοπούλου, Ρουμπίνη Stathopoulou Roumpini External sorting Embedded devices Ενσωματωμένες συσκευές Εξωτερική ταξινόμηση External sorting is a technique used to sort large datasets that cannot fit into the memory of a single computing device. It is particularly important in the context of embedded devices and the Internet of Things (IoT), where resources such as memory and I/O bandwidth are often limited. External sorting involves dividing the dataset into smaller parts, runs, which can be sorted individually and then merged together to produce the final sorted output.Several algorithms can be used for the run generation phase of external sorting, depending on the characteristics of the data being sorted and the available resources. The in-memory insertion sort algorithm is one such algorithm, which sorts small chunks of data in memory before writing them to disk as runs. The replacement selection algorithm is another algorithm, which involves dividing the dataset into fixed-size blocks, selecting the smallest item from each block, and merging them using a priority queue.For the merge phase of external sorting, NOBsort is a commonly used algorithm that minimizes I/O operations by merging runs in a way that minimizes the number of block reads and writes. This algorithm is particularly useful for large datasets that require multiple passes to sort.Adaptive algorithms for data distribution are also important in external sorting. These algorithms adapt the size and number of runs based on the characteristics of the input data and the resources available, allowing for efficient sorting even when resources are limited. One such algorithm is the adaptive sorting algorithm, which adjusts the number of runs based on the number of available disk blocks and the size of the input data. External sorting has several benefits for embedded devices and the IoT. By reducing the number of I/O operations required and minimizing memory usage, external sorting can help to optimize the performance of these devices and ensure that they operate efficiently. In addition, external sorting can help to reduce power consumption and increase the lifespan of the devices.Overall, external sorting is an important technique for managing and processing large datasets in a variety of contexts. By using efficient run generation and merge algorithms, as well as adaptive algorithms for data distribution, external sorting can help to ensure that computing devices and IoT systems operate effectively and efficiently, even with limited resources. Η εξωτερική ταξινόμηση είναι μια τεχνική που χρησιμοποιείται για την ταξινόμηση μεγάλων συνόλων δεδομένων που δεν χωράνε στη μνήμη μιας μόνο υπολογιστικής συσκευής. Είναι ιδιαίτερα σημαντική στο πλαίσιο των ενσωματωμένων συσκευών και του Διαδικτύου των Πραγμάτων (IoT), όπου οι πόροι, όπως η μνήμη και το εύρος ζώνης εισόδου/εξόδου, είναι συχνά περιορισμένοι. Η εξωτερική ταξινόμηση περιλαμβάνει το διαχωρισμό του συνόλου δεδομένων σε μικρότερα μέρη, τα runs, τα οποία μπορούν να ταξινομηθούν μεμονωμένα και στη συνέχεια να συγχωνευθούν μεταξύ τους για την παραγωγή της τελικής ταξινομημένης εξόδου. Διάφοροι αλγόριθμοι μπορούν να χρησιμοποιηθούν για τη φάση δημιουργίας των runs της εξωτερικής ταξινόμησης, ανάλογα με τα χαρακτηριστικά των δεδομένων που ταξινομούνται και τους διαθέσιμους πόρους. Ο αλγόριθμος insertion sort στη μνήμη είναι ένας τέτοιος αλγόριθμος, ο οποίος ταξινομεί μικρά κομμάτια δεδομένων στη μνήμη πριν τα γράψει στο δίσκο ως runs. Ο αλγόριθμος replacement selection είναι ένας άλλος αλγόριθμος, ο οποίος περιλαμβάνει τη διαίρεση του συνόλου δεδομένων σε μπλοκ σταθερού μεγέθους, την επιλογή του μικρότερου στοιχείου από κάθε μπλοκ και τη συγχώνευσή τους με τη χρήση μιας ουράς προτεραιότητας.Για τη φάση συγχώνευσης της εξωτερικής ταξινόμησης, ο αλγόριθμος NOBsort είναι ένας ευρέως χρησιμοποιούμενος αλγόριθμος που ελαχιστοποιεί τις λειτουργίες εισόδου/εξόδου με τη συγχώνευση των runs με τρόπο που ελαχιστοποιεί τον αριθμό των αναγνώσεων και εγγραφών των blocks. Αυτός ο αλγόριθμος είναι ιδιαίτερα χρήσιμος για μεγάλα σύνολα δεδομένων που απαιτούν πολλαπλά περάσματα για την ταξινόμηση.Οι adaptive αλγόριθμοι για τη διανομή δεδομένων είναι επίσης σημαντικοί στην εξωτερική ταξινόμηση. Αυτοί οι αλγόριθμοι προσαρμόζουν το μέγεθος και τον αριθμό των εκτελέσεων με βάση τα χαρακτηριστικά των δεδομένων εισόδου και τους διαθέσιμους πόρους, επιτρέποντας την αποτελεσματική ταξινόμηση ακόμη και όταν οι πόροι είναι περιορισμένοι. Ένας τέτοιος αλγόριθμος είναι ο αλγόριθμος προσαρμοστικής ταξινόμησης, ο οποίος προσαρμόζει τον τρόπο παραγωγής των runs με βάση το μέγεθος των δεδομένων εισόδου.Η εξωτερική ταξινόμηση έχει πολλά οφέλη για τις ενσωματωμένες συσκευές και το IoT. Μειώνοντας τον αριθμό των απαιτούμενων λειτουργιών εισόδου/εξόδου και ελαχιστοποιώντας τη χρήση της μνήμης, η εξωτερική ταξινόμηση μπορεί να συμβάλει στη βελτιστοποίηση των επιδόσεων αυτών των συσκευών και να διασφαλίσει την αποδοτική λειτουργία τους. Επιπλέον, η εξωτερική ταξινόμηση μπορεί να συμβάλει στη μείωση της κατανάλωσης ενέργειας και στην αύξηση της διάρκειας ζωής των συσκευών. Συνολικά, η εξωτερική ταξινόμηση είναι μια σημαντική τεχνική για τη διαχείριση και την επεξεργασία μεγάλων συνόλων δεδομένων σε διάφορα πλαίσια. Με τη χρήση αποτελεσματικών αλγορίθμων δημιουργίας και συγχώνευσης εκτελέσεων, καθώς και προσαρμοστικών αλγορίθμων για τη διανομή δεδομένων, η εξωτερική ταξινόμηση μπορεί να συμβάλει στη διασφάλιση της αποτελεσματικής και αποδοτικής λειτουργίας των υπολογιστικών συσκευών και των συστημάτων IoT, ακόμη και με περιορισμένους πόρους. 2023-03-06T10:46:05Z 2023-03-06T10:46:05Z 2023-03-03 https://hdl.handle.net/10889/24689 el CC0 1.0 Universal http://creativecommons.org/publicdomain/zero/1.0/ application/pdf