A Multithreaded Algorithm for the Computation of Sample Entropy
Many popular entropy definitions for signals, including approximate and sample entropy, are based on the idea of embedding the time series into an <i>m</i>-dimensional space, aiming to detect complex, deeper and more informative relationships among samples. However, for both approximate...
Main Authors: | , , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2023-06-01
|
Series: | Algorithms |
Subjects: | |
Online Access: | https://www.mdpi.com/1999-4893/16/6/299 |
_version_ | 1797596467525844992 |
---|---|
author | George Manis Dimitrios Bakalis Roberto Sassi |
author_facet | George Manis Dimitrios Bakalis Roberto Sassi |
author_sort | George Manis |
collection | DOAJ |
description | Many popular entropy definitions for signals, including approximate and sample entropy, are based on the idea of embedding the time series into an <i>m</i>-dimensional space, aiming to detect complex, deeper and more informative relationships among samples. However, for both approximate and sample entropy, the high computational cost is a severe limitation. Especially when large amounts of data are processed, or when parameter tuning is employed premising a large number of executions, the necessity of fast computation algorithms becomes urgent. In the past, our research team proposed fast algorithms for sample, approximate and bubble entropy. In the general case, the bucket-assisted algorithm was the one presenting the lowest execution times. In this paper, we exploit the opportunities given by the multithreading technology to further reduce the computation time. Without special requirements in hardware, since today even our cost-effective home computers support multithreading, the computation of entropy definitions can be significantly accelerated. The aim of this paper is threefold: (a) to extend the bucket-assisted algorithm for multithreaded processors, (b) to present updated execution times for the bucket-assisted algorithm since the achievements in hardware and compiler technology affect both execution times and gain, and (c) to provide a Python library which wraps fast C implementations capable of running in parallel on multithreaded processors. |
first_indexed | 2024-03-11T02:51:47Z |
format | Article |
id | doaj.art-73bff08e00874d748fb2df0562e94e35 |
institution | Directory Open Access Journal |
issn | 1999-4893 |
language | English |
last_indexed | 2024-03-11T02:51:47Z |
publishDate | 2023-06-01 |
publisher | MDPI AG |
record_format | Article |
series | Algorithms |
spelling | doaj.art-73bff08e00874d748fb2df0562e94e352023-11-18T08:56:58ZengMDPI AGAlgorithms1999-48932023-06-0116629910.3390/a16060299A Multithreaded Algorithm for the Computation of Sample EntropyGeorge Manis0Dimitrios Bakalis1Roberto Sassi2School of Engineering, Department of Electrical and Computer Engineering, University of Ioannina, 45110 Ioannina, GreeceSchool of Engineering, Department of Electrical and Computer Engineering, University of Ioannina, 45110 Ioannina, GreeceDipartimento di Informatica, Università degli Studi di Milano, 20133 Milano, ItalyMany popular entropy definitions for signals, including approximate and sample entropy, are based on the idea of embedding the time series into an <i>m</i>-dimensional space, aiming to detect complex, deeper and more informative relationships among samples. However, for both approximate and sample entropy, the high computational cost is a severe limitation. Especially when large amounts of data are processed, or when parameter tuning is employed premising a large number of executions, the necessity of fast computation algorithms becomes urgent. In the past, our research team proposed fast algorithms for sample, approximate and bubble entropy. In the general case, the bucket-assisted algorithm was the one presenting the lowest execution times. In this paper, we exploit the opportunities given by the multithreading technology to further reduce the computation time. Without special requirements in hardware, since today even our cost-effective home computers support multithreading, the computation of entropy definitions can be significantly accelerated. The aim of this paper is threefold: (a) to extend the bucket-assisted algorithm for multithreaded processors, (b) to present updated execution times for the bucket-assisted algorithm since the achievements in hardware and compiler technology affect both execution times and gain, and (c) to provide a Python library which wraps fast C implementations capable of running in parallel on multithreaded processors.https://www.mdpi.com/1999-4893/16/6/299entropysample entropyfast algorithmparallel algorithmbucket-assisted algorithm |
spellingShingle | George Manis Dimitrios Bakalis Roberto Sassi A Multithreaded Algorithm for the Computation of Sample Entropy Algorithms entropy sample entropy fast algorithm parallel algorithm bucket-assisted algorithm |
title | A Multithreaded Algorithm for the Computation of Sample Entropy |
title_full | A Multithreaded Algorithm for the Computation of Sample Entropy |
title_fullStr | A Multithreaded Algorithm for the Computation of Sample Entropy |
title_full_unstemmed | A Multithreaded Algorithm for the Computation of Sample Entropy |
title_short | A Multithreaded Algorithm for the Computation of Sample Entropy |
title_sort | multithreaded algorithm for the computation of sample entropy |
topic | entropy sample entropy fast algorithm parallel algorithm bucket-assisted algorithm |
url | https://www.mdpi.com/1999-4893/16/6/299 |
work_keys_str_mv | AT georgemanis amultithreadedalgorithmforthecomputationofsampleentropy AT dimitriosbakalis amultithreadedalgorithmforthecomputationofsampleentropy AT robertosassi amultithreadedalgorithmforthecomputationofsampleentropy AT georgemanis multithreadedalgorithmforthecomputationofsampleentropy AT dimitriosbakalis multithreadedalgorithmforthecomputationofsampleentropy AT robertosassi multithreadedalgorithmforthecomputationofsampleentropy |