AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices

Full-Time Lecturer at University of Nicosia
May. 23, 2016
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices
1 of 27

More Related Content

Viewers also liked

Low-Cost Adaptive Monitoring Techniques for the Internet of ThingsLow-Cost Adaptive Monitoring Techniques for the Internet of Things
Low-Cost Adaptive Monitoring Techniques for the Internet of ThingsDemetris Trihinas
Paper6745 presentation tianjianPaper6745 presentation tianjian
Paper6745 presentation tianjianTianjian Chen
Bigdata IoT ClusterBigdata IoT Cluster
Bigdata IoT ClusterMk Kim
Assisting IoT Projects and Developers in Designing Interoperable Semantic Web...Assisting IoT Projects and Developers in Designing Interoperable Semantic Web...
Assisting IoT Projects and Developers in Designing Interoperable Semantic Web...Amélie Gyrard
Presentation aina2016 seg3.0_methodology_v2Presentation aina2016 seg3.0_methodology_v2
Presentation aina2016 seg3.0_methodology_v2Amélie Gyrard
"HFSP: Size-based Scheduling for Hadoop" presentation for BigData 2014"HFSP: Size-based Scheduling for Hadoop" presentation for BigData 2014
"HFSP: Size-based Scheduling for Hadoop" presentation for BigData 2014Mario Pastorelli

Viewers also liked(20)

Similar to AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices

Shikha fdp 62_14july2017Shikha fdp 62_14july2017
Shikha fdp 62_14july2017Dr. Shikha Mehta
ThesisThesis
ThesisNachiket Kansara
P9 addressing signal_integrity_ in_ew_2015_finalP9 addressing signal_integrity_ in_ew_2015_final
P9 addressing signal_integrity_ in_ew_2015_finalAamir Habib
2009.08 grid peer-slides2009.08 grid peer-slides
2009.08 grid peer-slidesYehia El-khatib
Self-adaptive container monitoring with performance-aware Load-Shedding policiesSelf-adaptive container monitoring with performance-aware Load-Shedding policies
Self-adaptive container monitoring with performance-aware Load-Shedding policiesNECST Lab @ Politecnico di Milano
rerngvit_phd_seminarrerngvit_phd_seminar
rerngvit_phd_seminarrerngvit yanggratoke

Similar to AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices(20)

More from Demetris Trihinas

Rapidly Testing ML-Driven Drone Applications - The FlockAI FrameworkRapidly Testing ML-Driven Drone Applications - The FlockAI Framework
Rapidly Testing ML-Driven Drone Applications - The FlockAI FrameworkDemetris Trihinas
Towards Energy and Carbon Footprint and Testing for AI-driven IoT ServicesTowards Energy and Carbon Footprint and Testing for AI-driven IoT Services
Towards Energy and Carbon Footprint and Testing for AI-driven IoT ServicesDemetris Trihinas
StreamSight: A Query-Driven Framework Extending Streaming IoT Analytics to th...StreamSight: A Query-Driven Framework Extending Streaming IoT Analytics to th...
StreamSight: A Query-Driven Framework Extending Streaming IoT Analytics to th...Demetris Trihinas
Composable Energy Modeling for ML-Driven Drone ApplicationsComposable Energy Modeling for ML-Driven Drone Applications
Composable Energy Modeling for ML-Driven Drone ApplicationsDemetris Trihinas
Low-Cost Approximate and Adaptive Techniques for the Internet of ThingsLow-Cost Approximate and Adaptive Techniques for the Internet of Things
Low-Cost Approximate and Adaptive Techniques for the Internet of ThingsDemetris Trihinas
Telling a Story – or Even Propaganda – Through Data VisualizationTelling a Story – or Even Propaganda – Through Data Visualization
Telling a Story – or Even Propaganda – Through Data VisualizationDemetris Trihinas

More from Demetris Trihinas(16)

Recently uploaded

Unleashing the Power of Modern Carpooling Apps, Inspired by BlaBlaCarUnleashing the Power of Modern Carpooling Apps, Inspired by BlaBlaCar
Unleashing the Power of Modern Carpooling Apps, Inspired by BlaBlaCarArchie Cadell
How to Manage Your Offshore Software Development Team EfficientlyHow to Manage Your Offshore Software Development Team Efficiently
How to Manage Your Offshore Software Development Team EfficientlyCapital Numbers
CoinEZ_whitepaper.pdfCoinEZ_whitepaper.pdf
CoinEZ_whitepaper.pdfKentaAratani
BuilderAI Proposal_MalesniakBuilderAI Proposal_Malesniak
BuilderAI Proposal_MalesniakMichael Lesniak
h2 meet pdf test.pdfh2 meet pdf test.pdf
h2 meet pdf test.pdfJohnLee971654
Jino Clone: Develop a Car Wash Mobile App with Limited Resources Jino Clone: Develop a Car Wash Mobile App with Limited Resources
Jino Clone: Develop a Car Wash Mobile App with Limited Resources eSiteWorld TechnoLabs Pvt. Ltd.

AdaM: an Adaptive Monitoring Framework for Sampling and Filtering on IoT Devices

Editor's Notes

  1. Present AdaM, an adaptive monitoring framework. Our motivation comes from the Internet of Things but really, AdaM can be used on any data streaming systems, and we currently use it for PaaS cloud monitoring
  2. Back to our motivation… where from the emergence of the IoT we have all these devices: like activity trackers and smart home appliances that really impact how we live and work… Now IoT used to be about sensing and exchanging data streams but now its a lot more…
  3. We have this term called edge-mining where we see that data processing and even decision-making has transitioned to these devices which just got a little bit more smarter! Now, you can see you washing machine ordering for you detergent when you run out!
  4. So where is the big data in IoT… well you have all these studies from IDC and Gartner saying that by 2020 we will have about 20B devices interconnected generating 40…something GBs of data! Now the challenges here are: (i) data volume and velocity of generated data keeps increasing… but these devices have limited processing capabilities and lets not forget the amount of data they place on the network (ii) With processing comes increased energy consumption which means less battery!
  5. The remedy to these challenges can be adaptive techniques such as sampling and filtering….
  6. First, some preliminaries… a metric stream is nothing more than a large sequence of collected samples with n possibly going up to infinity, and each sample is just a tuple with a timestamp and a value for simplicity
  7. Now, periodic sampling as we all know its just the process of collecting a sample every T time units so the ith sample is basically collected at i times T time units… now whats the problem that we have here… well as you can see from this metric stream… there are a lot of relatively stable phases where collecting these samples is a waste o processing resources and energy while we generate a lot of data… So one can now say ok, lets increase the sampling rate…. Well you could do this but you risk losing sudden events and important instances… So what can we do? How about adaptive sampling 
  8. Where we dynamically adjust the sampling period based on some function which reveals information for the entire metric stream or parts of it… so we want to find Ti+1 to collect sample si+1 basically…
  9. Now lets go to filtering… which is the process of cleansing the stream to reduce data volume and the network overhead. A simple filter is the range filter which basically filters current values if they are in the range prevValue +- R with R being the range say 1% as we see in the example this isn’t a good filter as we only remove 2 values… so one would ask… can we know R beforehand? Possible not if the stream changes in time… so it wouldn’t be a good idea to keep it to the same value… and can we use the same R for each metric? Again possibly not since metrics vary a lot
  10. So what can we do? How about adaptive filtering where we dynamically adjust the filter range based on the variability of the metric stream indicated by some function again… so basically we want R to change at each sampling point!
  11. So to handle adaptive sampling and filtering we have developed AdaM which is a framework embeddable in the software core of IoT devices with no dependencies and it is capable of adapting the monitoring intensity based on the metric evolution and variability to reduce processing, network traffic and energy consumption
  12. So lets see how our adaptive sampling algorithm works. First we compute the distance between the current two samples… then we compute the evolution of the metric stream based on a PEWMA to estimate the distance for sample i+1 and the standard deviation… So if you look at how we compute delta i+1 you might be reminded of a regular EWMA right ? Well yes, but weighting here is probabilistically applied B is just a weight so when b = 0 it converges to an EWMA… but think as b equal to 1 for simplicity
  13. So why do we use the PEWMA? Well because the EWMA while used a lot it is volatile to abrupt changes… for example its slow to acknowledge spikes and it also overestimates values after sudden spikes… so it doesn’t really follow the metric evolution and that’s why weighting should be probabilistically applied
  14. Back to the steps we then have step 3 which computes the actual deviation at sample i… we do this because next we compute the current confidence of our approach by comparing the estimated deviation with the actual to get a rate smaller than one where the notion here is that the more confident the algorithm the large the outputted T can be as the estimation is currently following the observed SD Finally we compute the sampling period which is based on the confidence and the user-defined imprecision we also have lambda which is just a multiplicity factor if a more aggressive approach should be followed O(1) complexity!
  15. Our adaptive filtering algorithm just has two steps as we use the standard deviation and average we get when estimating the distance to compute the fano factor… now the fano factor is an indicator of the current dispersion of the data stream so in general is F is high you have a metric stream with a high variability… After we have the fano factor, in a similar manner we can compute the new filter range Again the complexity is of stable time!
  16. For our evaluation, we compare adam to 3 other adaptive techniques… so we have i-ewma which uses an ewma to change the sampling period by 1 time unit depending if the estimated error is over or under the use defined imprecision… we then have l-sip which uses a double ewma which means it calculates estimations for the upcoming samples based on the rate samples change values… this is a good technique but is slow to abrupt changes in the metric stream…finally we have fast which offers aggressive sampling and on non sampling points it used a kalman filter to predict values
  17. We choose to use complex real world traces rather than linear of sinusoidal datasets… so we have memory, cpu, disk io, network monitoring and even a fitbit trace!
  18. Now we must have the smallest testbed in the whole conference  as we use the raspberry pi… first gen… just one core at 700mhz and 0.5 a gig ram! And also the same capabilities on the android emulator+sensorsim
  19. So first we compare adam l=1 and l=2 to iewma and lsip… adam has the smallest error with its inaccuracy being lower than 10% in all traces and even for l=2 its still comparable to lsip! User-defined accepted imprecision set to γ = 0.1
  20. So how well do we perform? Well these traces look identical right?
  21. So then lets go to an overhead comparison, with adam being the blue ones, where we see adam reducing data volume by 74% and energy consumption by 71% with accuracy always above 89% compared to periodic sampling! Filtering adds an overhead <2% to AdaM but benefits network traffic reduction by at least 32% and energy consumption by 12%
  22. Now if you look closely you will see that the aggressiveness of FAST in some cases it exhibits least energy and network overhead than adam… but this does not come for free as it had a large error! AdaM at the end manages to balance efficiency and accuracy!
  23. Finally we did a scalability evaluation where we integrated adam to Jcatascopia, a cloud monitoring system for streaming data…. We evaluation scalability/data velocity by comparing adam to periodic sampling where we see that with adam we can significantly reduce data velocity! **Archiving time = time to process and store received metrics
  24. So I leave you with this… With edge mining we use a lot of resources and energy while generating volumes of data at a high velocity… we introduced adam to adapt the intensity of monitoring based on the metric evolution and variability…. Achieving a balance between efficiency and accuracy…