ACS: Asynchronous Computing with Streams
Gonzalez Guerrero, Luisa, Electrical Engineering - School of Engineering and Applied Science, University of Virginia
Stan, Mircea, Electrical and Computer Engineering, University of Virginia
The internet of things (IoT) is shaping the way we live and the evolution of society. Recent prototypes demonstrated continuous monitoring of fitness activities, health indicators, environmental factors and industrial processes, with sensors that operate under restrictive power budgets (~100-200 µW) harvested from piezo, thermo, solar or even bio-electric sources. These applications are enabled by aggressively lowering the power supply (>0.3V), sampling (>1KHz) and processing rates (>200KHz). However, those constraints are at odds with the next generation of IoT devices. We expect the IoT sensor to interact with us, follow voice commands, stream video, recognize faces and even emotions in real time, all powered by machine learning algorithms. More importantly, we expect all these demanding applications, under the restrictive power budget and form-factor of a typical IoT sensor.
To address the challenge of high performance and low power at the IoT sensor node, we propose asynchronous computing with streams (ACS), a novel paradigm that leverages the advantages of previous computing with streams approaches such as synchronous stochastic computing (SSC), while addressing its drawbacks. In SSC data is encoded in streams of bits decreasing circuit complexity, generating savings in power and area. However, the high cost of generating these streams and the long computation latency eclipses any potential savings. To address these drawbacks, we propose a new efficient asynchronous architecture for the IoT sensor node with end to end processing on streams. This approach, avoids costly binary-stream-binary conversion and waives the need of clock generation and distribution. In this dissertation we explore asynchronous stochastic computing (ASC) and stochastic computing with ΣΔ streams, both paradigms falling under the umbrella of ACS. We first develop a theoretical framework based on 2 state continuous time Markov Chains to model the dynamics of asynchronous stochastic streams and estimate the computing error due to random fluctuation. Furthermore, we address the need for efficient stream generation circuits by exploring asynchronous sigma delta modulators as stream generator for ACS. We also propose an end to end asynchronous architecture including interfaces with the memory and the IO. Finally, to demonstrate the effectiveness of ASC, we implement 1) an image processing algorithm: Gamma correction, 2) A signal processing algorithm: Fast Fourier Transform and 3) a machine learning algorithm: Decision Trees.
PHD (Doctor of Philosophy)
stochastic computing, asynchronous computing, low power, VLSI, FFT, IoT, smartdust