Asynchronous Computing with Streams
Technologies such as smartdust, the internet-of-things (IoT) and edge-intelligence (EI) promise to shape the way we live and the evolution of society. Today, we can continuously monitor 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 sensors, which are expected to follow voice commands, stream video, recognize faces and even emotions in real time. More importantly, we expect all these demanding applications, under the restrictive power budget and form-factor of a typical sensor.
To address the challenge of highly demanding processing under restricted power budgets, we propose asynchronous computing with streams (ACS), a novel paradigm that leverages the advantages of previous stream-based approaches such as synchronous stochastic computing (SSC), while addressing its drawbacks. In SSC data is encoded in streams of bits. This peculiar data representation simplifies computing units, 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 a low-power sensor with end to end processing on streams. Our approach avoids costly binary-stream-binary conversions and waves the need of clock generation and distribution.
In this dissertation we explore asynchronous stochastic computing (ASC) and stochastic computing with sigma-delta streams (SC-SD), both paradigms falling under the umbrella of ACS. We 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 using asynchronous sigma-delta modulators. We also propose an end to end asynchronous architecture and demonstrate the effectiveness of ASC implementing 1) an image processing algorithm: Gamma correction, 2) a signal processing algorithm: Fast Fourier Transform and 3) a machine learning algorithm: random forest.