Extends EEMBC benchmark scope to analyze multicore architectures, memory bottlenecks, OS scheduling support, efficiency of synchronization, and other related system functions.
Measures the impact of parallelization and scalability across both data processing and computationally intensive tasks
Provides an analytical tool for optimizing programs for a specific processor
Leverages EEMBC’s industry-standard, application-focused benchmarks in hundreds of workload combinations
First generation targets the evaluation and future development of scalable SMP architectures
MultiBench™ is a suite of embedded benchmarks that allows processor and system designers to analyze, test, and improve multicore architectures and platforms. MultiBench uses standardized workloads and a test harness that provides compatibility with a wide variety of multicore embedded processors and operating systems.
Leveraging EEMBC’s proven library of application-focused benchmarks in hundreds of workload combinations, MultiBench workloads can be parameterized individually to vary the amount of concurrency being implemented by the algorithm. By applying incrementally challenging workloads, MultiBench allows the testing of scalability and bottlenecks within the system. Beyond helping designers to optimize programs for specific processors and systems, MultiBench allows users to assess the impact of memory bottlenecks, OS scheduling support, efficiency of synchronization, and other related functions in systems using multicore processors.
MultiBench Version 1.0 targets the evaluation of scalable symmetrical multicore processor (SMP) architectures with shared memory. It uses a thread-based API to establish a common programming model. The suite’s individual benchmarks target three forms of concurrency:
Data decomposition: allows multiple threads to cooperate on achieving a unified goal and demonstrates a processor’s support for fine grain parallelism.
Processing of multiple data streams: uses common code running over multiple threads and demonstrates how well a solution can scale over scalable data inputs.
Multiple workload processing: shows the scalability of a solution for general-purpose processing and demonstrates concurrency over both code and data.
To implement this strategy on the benchmark level, EEMBC has developed a unique test harness that communicates with the benchmark through an abstraction layer and provides a flexible interface to allow a wide variety of thread-enabled workloads to be tested. The test harness also provides a convenient mechanism by which to easily create new workloads composed of different kernels or using different datasets. The EEMBC Technology Center offers analysis of MultiBench results as one of its testing services.
To construct the hundreds of workloads that are available in MultiBench as individual tests, EEMBC has drawn on the full range of its industry-standard benchmarks addressing the real-world demands of automotive, digital entertainment, digital imaging, networking, telecom, and office automation systems. In addition, EEMBC has created several new parameterizable benchmarks specifically focused on multicore for demonstrating data decomposition. The wide variety of workloads support judicious monitoring of parameters that highlight the strengths and weaknesses of any multicore processor and system.
Eyal Barzilay, Imagination Technologies-MIPS
MultiBench demonstrates a wide variety of performance characteristics: