Today’s computing systems are designed to deliver only exact solutions at high energy cost, while many of the algorithms that run on data are at their heart statistical, and thus do not require exact answers. We are working on a framework to optimally and simultaneously trade-off accuracy and efficiency across software and hardware stacks of IoT applications. In addition, running machine learning algorithms on embedded devices is crucial as many applications require real-time response. However, hardware implementation and high computation energy cost are the main bottlenecks of machine learning algorithms in big data domain. we search for alternative architectures to address the computing cost and memory movement issues of traditional cores by applying techniques including near-data computing and in-memory processing.