1. K-Means Clustering: This is a centroid-based algorithm, where the goal is to minimize the sum of distances between points and their respective cluster centroid.
2. Hierarchical Clustering: This method creates a tree of clusters. It is subdivided into Agglomerative (bottom-up approach) and Divisive (top-down approach).
3. DBSCAN (Density-Based Spatial Clustering of Applications with Noise): This algorithm defines clusters as areas of high density separated by areas of low density.
4. Mean Shift Clustering: It is a centroid-based algorithm, which updates candidates for centroids to be the mean of points within a given region.
5. Gaussian Mixture Models (GMM): This method uses a probabilistic model to represent the presence of subpopulations within an overall population without requiring to assign each data point to a cluster.
6. Spectral Clustering: It uses the eigenvalues of a similarity matrix to reduce dimensionality before applying a clustering algorithm, typically K-means.
7. OPTICS (Ordering Points To Identify the Clustering Structure): Similar to DBSCAN, but creates a reachability plot to determine clustering structure.
8. Affinity Propagation: It sends messages between pairs of samples until a set of exemplars and corresponding clusters gradually emerges. 9. BIRCH (Balanced Iterative Reducing and Clustering using Hierarchies): Designed for large datasets, it incrementally and dynamically clusters incoming multi-dimensional metric data points.
10. CURE (Clustering Using Representatives): It identifies clusters by shrinking each cluster to a certain number of representative points rather than the centroid.
A machine learning challenge repo with insightful infographics, tutorials, codes and more. Take this challenge and start diving into machine learning coding.
Study of various techniques for measuring energy usage in IoT, Servers and programming languages
Paper
Method
Comments
Joshi J, Rajapriya V, Rahul SR, Kumar P, Polepally S, Samineni R, Kamal Tej D (2017) Performance enhancement and IoT based monitoring for smart home. In: Proceedings of the 2017 international conference on information networking, pp 468–473, IEEE, USA. https://doi.org/10.1109/ICOIN.2017.7899537
battery %
Energy measured by % of battery used per hour No mention watt or Joule1
“The evaluation of the energy consumption has been executed on Tmote Sky motes with embedded temperature and humidity sensors.” “Instead, the Cooja simulator provides a module called Energest able to estimate the power consumption of Tmote Sky motes” Energy measured. mW . zzzz2
Bandyopadhyay S, Bhattacharyya A (2013) Lightweight internet protocols for Web enablement of sensors using constrained gateway devices. In: Proceedings of the 2013 International conference on computing, networking and communications, pp 334–340, IEEE, USA. https://doi.org/10.1109/ICCNC.2013.6504105
no detail
energy measured, but no detail of the measurement technique3
Dizdarević J, Carpio F, Jukan A, Masip-Bruin X (2019) A survey of communication protocols for Internet of Things and related challenges of fog and cloud computing integration. ACM Comput Surv 51(6):1–29. https://doi.org/10.1145/3292674
This paper is a survey of several IoT protocols (REST HTTP, MQTT, CoAP, AMQP, DDS, XMPP, HTTP/2.0) in terms of (latency, bandwidth utilization, energy consumption, security, developer choice)4
109 P. Thota and Y. Kim. 2016. Implementation and comparison of M2M protocols for internet of things. In Proceedings of the 2016 4th International Conference on Applied Computing and Information Technology/3rd International Conference on Computational Science/Intelligence and Applied Informatics/1st International Conference on Big Data, Cloud Computing, Data Science Engineering (ACIT-CSII-BCD’16). 43–48. DOI:http://dx.doi.org/10.1109/ACIT-CSII-BCD.2016. https://ieeexplore.ieee.org/document/7916956
We measured the power absorbed by the Server Machine by an ad-hoc developed kit based on Hall effect current sensors, in order to have as accurate measures as possible. We sampled the values of power consumption at a frequency of 250 Hz by means of a NI USB-6210 DAQ (Data Acquisition Board). All the collected samples were then analyzed, aggregated and digitally stored by means of an ad-hoc tool called Virtual Instrument that we implemented with LabVIEW (Formenti and Gallazzi, 2009).
3 relevant challenge in IoT technologies is the amount of energy used by the vast number of devices6 4 MQTT under a high rate of messages per hour would be the best protocol for energy-efficient applications and HTTP would be the worst option3 7 Energy-saving proposals started mainly with hardware before considering software 9 MQTT under a high rate of messages per hour would be the best protocol for energy-efficient applications and HTTP would be the worst option2 10 MQTT under a high rate of messages per hour would be the best protocol for energy-efficient applications and HTTP would be the worst option4 19 survey on operating systems for connected objects and mentioned energy efficiency as a significant concern7 20 MQTT under a high rate of messages per hour would be the best protocol for energy-efficient applications and HTTP would be the worst option1 24 MQTT would be suitable for energy-constrained environment8 28 energy-aware algorithms9 31 energy management at the middleware level10 32 impact of programming languages and data structures11 35 impact of programming languages and data structures12 37 study of parallel programming frameworks13
42 energy-aware algorithms14
Uni-T UT71D multimeter, used as a voltmeter, measures the voltage on the power supply. It is connected to the server for automatic measurements. Sampling time of the voltage measurement is 500 ms. Fluke 289 multimeter, used to measure the voltage on a 0.4 Ω shunt (used as an ampere meter), connected to the server for automatic measurements. Sampling time of the voltage measurement on the shunt is 10 ms.15
We have employed the Otii Arc power measurement device for tracking energy consumption.5 This device can be used as both a power supply unit for the tested IoT device and a current and voltage measurement unit. It provides up to 5 V with a high-resolution current measurement with a sampling rate up to 4000 samples per second in the range from 1 μA to 5 A . To characterize the energy consumption associated with different NB-IoT operations, we need to ensure that the meter measurements correspond to the current drawn by the module only, and not to the entire dev-kit. When using SARA-N211-02B, this can be obtained by powering the module directly with the Otii Arc power measurement device. Quectel BC95 does not readily allow for a similar setup. In this case, we had to remove three resistors from the dev-kit and solder a zero-ohm resistor on the power path to isolate the module power supply from the dev-kit16
Instrumentation system to measure voltage & current. Sensor: ACS71217
Measure GPU usage with ACS71218
Best: “HCLServer01 and HCLServer02 are connected with a Watts Up Pro power meter; HCLServer03 is connected with a Yokogawa WT310 power meter. Watts Up Pro power meters are periodically calibrated using the ANSI C12.20 revenue-grade power meter, Yokogawa WT310.”. A Comparative Study of Methods for Measurement of Energy of Computing19
Energy Measurement of Encryption Techniques Using RAPL20
RAPL in Action: Experiences in Using RAPL for Power Measurements21
Android Power Profiler & jRAPL11
WattUpPro + Raspberry 22
A Comparative Study of Techniques for Energy Predictive Modeling Using Performance Monitoring Counters on Modern Multicore CPUs. tools used: HCLWattsUp23
A review of energy measurement approaches24
Energy Measurement Tools for Ultrascale Computing: A Survey25
Multicore processor computing is not energy proportional: An opportunity for bi-objective optimization for energy and performance. Hardware used: WattsUp Pro & Yokogawa WT31026
Joshi J, Rajapriya V, Rahul SR, et al. Performance enhancement and IoT based monitoring for smart home. 2017 International Conference on Information Networking (ICOIN). Published online 2017. doi:10.1109/icoin.2017.7899537
2.
Colitti W, Steenhaut K, De Caro N, Buta B, Dobrota V. Evaluation of constrained application protocol for wireless sensor networks. 2011 18th IEEE Workshop on Local & Metropolitan Area Networks (LANMAN). Published online October 2011. doi:10.1109/lanman.2011.6076934
3.
Bandyopadhyay S, Bhattacharyya A. Lightweight Internet protocols for web enablement of sensors using constrained gateway devices. 2013 International Conference on Computing, Networking and Communications (ICNC). Published online January 2013. doi:10.1109/iccnc.2013.6504105
4.
Dizdarević J, Carpio F, Jukan A, Masip-Bruin X. A Survey of Communication Protocols for Internet of Things and Related Challenges of Fog and Cloud Computing Integration. ACM Comput Surv. Published online January 28, 2019:1-29. doi:10.1145/3292674
5.
Silva PVBC da, Taconet C, Chabridon S, Conan D, Cavalcante E, Batista T. Energy awareness and energy efficiency in internet of things middleware: a systematic literature review. Ann Telecommun. Published online December 15, 2022:115-131. doi:10.1007/s12243-022-00936-5
6.
Balaji S, Nathani K, Santhakumar R. IoT Technology, Applications and Challenges: A Contemporary Survey. Wireless Pers Commun. Published online April 25, 2019:363-388. doi:10.1007/s11277-019-06407-w
7.
Javed F, Afzal MK, Sharif M, Kim BS. Internet of Things (IoT) Operating Systems Support, Networking Technologies, Applications, and Challenges: A Comparative Review. IEEE Commun Surv Tutorials. Published online 2018:2062-2100. doi:10.1109/comst.2018.2817685
8.
Luzuriaga JE, Perez M, Boronat P, Cano JC, Calafate C, Manzoni P. A comparative evaluation of AMQP and MQTT protocols over unstable and mobile networks. 2015 12th Annual IEEE Consumer Communications and Networking Conference (CCNC). Published online January 2015. doi:10.1109/ccnc.2015.7158101
9.
Marques G, Garcia N, Pombo N. A Survey on IoT: Architectures, Elements, Applications, QoS, Platforms and Security Concepts. Studies in Big Data. Published online November 20, 2016:115-130. doi:10.1007/978-3-319-45145-9_5
10.
Noureddine A, Rouvoy R, Seinturier L. A review of middleware approaches for energy management in distributed environments. Softw Pract Exp. Published online July 10, 2012:1071-1100. doi:10.1002/spe.2139
11.
Oliveira W, Oliveira R, Castor F, Fernandes B, Pinto G. Recommending Energy-Efficient Java Collections. 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR). Published online May 2019. doi:10.1109/msr.2019.00033
12.
Pereira R, Couto M, Ribeiro F, et al. Ranking programming languages by energy efficiency. Science of Computer Programming. Published online May 2021:102609. doi:10.1016/j.scico.2021.102609
13.
Pinto G, Canino A, Castor F, Xu G, Liu YD. Understanding and overcoming parallelism bottlenecks in ForkJoin applications. 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE). Published online October 2017. doi:10.1109/ase.2017.8115687
14.
Vardhan V, Yuan W, Harris AF, et al. GRACE-2: integrating fine-grained application adaptation with global adaptation for saving energy. IJES. Published online 2009:152. doi:10.1504/ijes.2009.027939
15.
Stefanec T, Kusek M. Comparing energy consumption of application layer protocols on IoT devices. 2021 16th International Conference on Telecommunications (ConTEL). Published online June 30, 2021. doi:10.23919/contel52528.2021.9495993
16.
Michelinakis F, Al-Selwi AS, Capuzzo M, Zanella A, Mahmood K, Elmokashfi A. Dissecting Energy Consumption of NB-IoT Devices Empirically. IEEE Internet Things J. Published online January 15, 2021:1224-1242. doi:10.1109/jiot.2020.3013949
17.
Osolinskyi O, Sachenko A, Kochan V, Kolodiichuk L. Measurement and Optimization Methods of Energy Consumption for Microcontroller Systems Within IoT. 2022 12th International Conference on Dependable Systems, Services and Technologies (DESSERT). Published online December 9, 2022. doi:10.1109/dessert58054.2022.10018631
18.
Huzmiev IK, Chipirov ZAh. Energy consumption powered by graphics processing units (GPU) in response to the number of operating computing unit. 2016 2nd International Conference on Industrial Engineering, Applications and Manufacturing (ICIEAM). Published online 2016. doi:10.1109/icieam.2016.7910995
19.
Fahad M, Shahid A, Manumachu RR, Lastovetsky A. A Comparative Study of Methods for Measurement of Energy of Computing. Energies. Published online June 10, 2019:2204. doi:10.3390/en12112204
20.
Thorat CG, Inamdar VS. Energy Measurement of Encryption Techniques Using RAPL. 2017 International Conference on Computing, Communication, Control and Automation (ICCUBEA). Published online August 2017. doi:10.1109/iccubea.2017.8463756
21.
Khan KN, Hirki M, Niemi T, Nurminen JK, Ou Z. RAPL in Action. ACM Trans Model Perform Eval Comput Syst. Published online March 22, 2018:1-26. doi:10.1145/3177754
22.
Georgiou S, Kechagia M, Spinellis D. Analyzing Programming Languages’ Energy Consumption. Proceedings of the 21st Pan-Hellenic Conference on Informatics. Published online September 28, 2017. doi:10.1145/3139367.3139418
23.
Shahid A, Fahad M, Manumachu RR, Lastovetsky A. A Comparative Study of Techniques for Energy Predictive Modeling Using Performance Monitoring Counters on Modern Multicore CPUs. IEEE Access. Published online 2020:143306-143332. doi:10.1109/access.2020.3013812
24.
Noureddine A, Rouvoy R, Seinturier L. A review of energy measurement approaches. SIGOPS Oper Syst Rev. Published online November 26, 2013:42-49. doi:10.1145/2553070.2553077
25.
Energy Measurement Tools for Ultrascale Computing: A Survey. JSFI. Published online June 2015. doi:10.14529/jsfi150204
26.
Khokhriakov S, Manumachu RR, Lastovetsky A. Multicore processor computing is not energy proportional: An opportunity for bi-objective optimization for energy and performance. Applied Energy. Published online June 2020:114957. doi:10.1016/j.apenergy.2020.114957