Skip to content
STIMSMITH

Application-Set Driven Architecture Exploration

Concept WIKI v1 · 6/9/2026

Application-Set Driven Architecture Exploration is a design-space exploration methodology for custom processor architectures in which a target application set, rather than a single workload, is used to drive the search for optimal architectural configurations. The approach, presented as Chapter IV of Mehmet Ali Arslan's PhD thesis, combines constraint programming, Pareto-point analysis, and modulo scheduling to systematically generate and evaluate candidate architectures that balance competing design objectives.

Overview

Application-Set Driven Architecture Exploration is a methodology for designing custom processor architectures in which a set of target applications is used to constrain and drive the design-space exploration. The method is presented in Chapter IV ("Application-Set Driven Exploration for Custom Processor Architectures") of Mehmet Ali Arslan's PhD thesis, and forms part of a broader research effort on compiler–architecture co-design for embedded and smart-device processors that are expected to be both fast and energy efficient.

Rather than tuning a processor for a single representative kernel, the approach takes the collective demands of an application set as the primary input, and seeks architectural configurations that perform well across that set. This is particularly relevant for custom processor design, where architecture choices have a large impact on throughput, code size, storage, and data-rate requirements.

Background

The exploration method is built on three established foundations, each treated as a background topic in the chapter:

  • Constraint programming (Section 3.1) — used as the declarative modeling and search framework for expressing architectural constraints and for solving the resulting optimization problem.
  • Pareto points (Section 3.2) — used to represent trade-off-optimal architectural configurations with respect to the multiple, often conflicting, design objectives (e.g., area vs. throughput, code size vs. performance).
  • Modulo scheduling (Section 3.3) — used to estimate the achievable steady-state throughput of loops on a candidate architecture, providing a key performance metric during exploration.

Problem Definition

The problem addressed by the approach (Section 4 of the chapter) is: given a set of target applications and a parameterized space of custom processor architectures, identify the set of Pareto-optimal architectures — i.e., configurations that are not dominated on any objective by any other feasible configuration. This framing turns architecture design into a multi-objective search problem grounded in a constraint model.

Approach

The proposed approach is organized in two main steps:

  1. Pareto points generation (Section 5.1) — automated enumeration of Pareto-optimal architectural candidates that satisfy the constraints induced by the application set. Constraint programming is the engine that drives this enumeration.
  2. Modeling details (Section 5.2) — the specific way in which the application set, architectural parameters, and objective functions are encoded as constraints and objectives for the solver.

Case Study

The methodology is validated through a case study (Section 6) with two complementary parts:

  • Automated Pareto points generation (Section 6.1) — demonstrating that the constraint-based toolchain can produce the Pareto front of candidate architectures directly from the application set without manual pruning.
  • Candidate selection and evaluation (Section 6.2) — selecting representative points from the generated Pareto front and evaluating them to confirm that the trade-offs predicted by the model are realized in practice.

Role in the Broader Thesis

Application-Set Driven Architecture Exploration sits between the prior chapter on modulo scheduling–based code generation and the subsequent chapter on code generation for a SIMD architecture with custom memory organization (ePUMA). It provides the design-time counterpart to those code-generation techniques: a systematic way of choosing the architecture that the compiler will later target, driven by the same kind of application workloads that the compiler must handle.

See Also

  • Pareto Points — the multi-objective optimality concept used to rank candidate architectures.
  • Modulo Scheduling — the loop-pipelining technique used to evaluate throughput on each candidate.
  • Code Generation for Custom Architectures using Constraint Programming — the related paper/line of work that connects this exploration method to constraint-based code generation.

CITATIONS

6 sources
6 citations
[1] Application-Set Driven Architecture Exploration is the subject of Chapter IV ('Application-Set Driven Exploration for Custom Processor Architectures') of Mehmet Ali Arslan's PhD thesis, spanning pages 117–131. Arslan, Mehmet Ali — PhD thesis (Table of Contents)
[2] The chapter's background covers constraint programming (3.1, p. 120), Pareto points (3.2, p. 121), and modulo scheduling (3.3, p. 121). Arslan, Mehmet Ali — PhD thesis (Table of Contents)
[3] The approach has two main components: Pareto points generation (Section 5.1, p. 125) and modeling details (Section 5.2, p. 126). Arslan, Mehmet Ali — PhD thesis (Table of Contents)
[4] The case study (Section 6) covers automated Pareto points generation (6.1, p. 127) and candidate selection and evaluation (6.2, p. 131). Arslan, Mehmet Ali — PhD thesis (Table of Contents)
[5] The thesis is motivated by the need for smart devices that are both faster and more energy-efficient, motivating custom processor architectures. Arslan, Mehmet Ali — PhD thesis (Popular Science Summary)
[6] Chapter V ('Code Generation for a SIMD Architecture with Custom Memory Organisation', pp. 137–152) follows Chapter IV, sharing the constraint-programming foundation and the ePUMA target. Arslan, Mehmet Ali — PhD thesis (Table of Contents)