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:
- 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.
- 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.
- 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.
- 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.
- 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.
- 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 |