We propose a metric-based application characterization. The metrics must describe the computing profile, impact of the idle period, acquisition intensity, and memory requirements of the applications. This information is critical for deployment platform selection and application-driven hardware design.
To this end, we have selected the following six metrics:

  1. Acquisition duration: This metric defines how long the device acquires the patient's signal before proceeding to computations. Usually, a large acquisition duration results in long idle periods (see Duty Cycle below), where the idle phase dominates the total energy footprint.
  2. Duty cycle: This metric represents the ratio between CPU active cycles and total cycles. A low duty cycle means that the low-power modes of a platform dominate the energy footprint. We use the following scale: “very low” (less than 0.1%), “low” (between 0.1% to 1%), “medium” (between 1% to 15%), “high” (between 15% to 60%), and “very high” (above 60%). Since this metric is platform-dependent, we calculate it running on an ARM Cortex-M4.
  3. Main operations: This metric identifies whether the dominant operations are branches, logical operations, fixed-point (FxP), or floating-point (FP) computations, among others. It hints at the microarchitectural design needed to efficiently handle different computational workloads and achieve high performance.
  4. Input bandwidth: Measured in B/sec, is the product of the sensor’s sampling rate, the size per sample, and the number of channels used. It specifies the intensity and energy impact of the signal acquisition phase.
  5. Static data: Measured in KiB, it quantifies the memory required for the code and read-only data, such as pre-trained parameters. Hence, it defines the amount of memory retained on RAM or FLASH during idle phases.
  6. Dynamic data: Measured in KiB, defines how much memory the application requires for the stack and the heap during runtime. Hence, it specifies the minimum amount of RAM required.

Characterization of BiomedBench applications

Application Acquisition Duration Duty Cycle Main Operations Input Bandwidth
(B/sec)
Dynamic Data
(KiB/sec)
Static Data
(KiB/sec)
HeartBeatClass 15.0 Low Branches (FxP min/max search) 1536 30 25
SeizureDetSVM 60.0 Very Low 32-bit FxP multiplications 128 40 40
SeizureDetCNN 4.0 High 16-bit FxP MAC 11776 120 350
CognWorkMon 56.0 Medium 32-bit FxP multiplications 4096 50 90
GestureClass 0.2 Very High 32-bit FP MAC 192000 110 50
CoughDet 0.3 Very High 32-bit FP multiplications 64400 160 568
EmotionClass 10.0 Low Branches (FP sorting) 822 4 16
Bio-BPfree - - 32-bit FP MAC - 2600 1300