A Fast Design Space Exploration for VLIW
Architectures
Reza Yazdani, Hamed Sheidaeian, and Mostafa E. Salehi
School of Electrical and Computer Engineering, University of Tehran, Tehran 14395-515, Iran
{Yazdani67, sheidaeian , mersali}@ut.ac.ir
Abstract— Design space exploration is referred to a search on
possible architecture configurations of a system, to find the
feasible and optimum solution for the desired application based
on the defined objectives. The objective could be optimization of
performance, power or area of the system. There are various
numbers of algorithmic approaches for exploration. This paper
presents a novel method for design space exploration on VLIW
processors. Our proposed approach is mainly based on space
pruning methodology using binary search tree. This method will
be experimented on a specific VLIW embedded system. The focus
of the exploration is on optimizing performance or area of the
base architecture through finding the optimum number of
resources and cache sizes. Experimental results proves that our
algorithm gets to the optimum solution comparing with the
solution resulted by exhaustive approach, and also outperforms
this approach through a logarithmic order against a polynomial
one.
Keywords: Design Space Exploration (DSE), VLIW
architecture, Binary Search Pruning
I. INTRODUCTION
There are large numbers of possibilities for mapping
various architectural components to the hardware resources.
Finding all of these possibilities manually is difficult and so
time-consuming. Design choices create a large space of
possible design solutions called design space. Design Space
Exploration (DSE) searches through the design space to find
feasible and optimal solutions. DSE methodology has some
inputs (an application and a fixed hardware platform) and an
optimization function based on intended objectives (such as
performance and/or area) which finally yields the optimum
configuration.
A straightforward approach in DSE is the exhaustive
search of all points in the space. The main challenges of this
method are complication of various conflicting requirements
and dealing with an exponential number of design alternatives.
The solutions are DSE automation and improving exploration
time by pruning the design space. Some algorithmic
approaches of DSE are simple and non-scalable brute force,
but there are also complex mechanisms mimicking
optimization methods such as genetic evolution. All of these
approaches share a common set of capabilities [1]:
Design Space Generation: The ability to view,
represent and encode the complete set of potential and
feasible design architectures made up of different
combinations of platform components.
Model Refinement: The ability to generate an
executable model of the application executing on a
given platform architecture.
Assessment: The ability to assess a set of parameters
for the application executing on the given architecture.
Selection: The ability to test the fitness of a pool of
design points, and to eventually prune the design
space from a large pool to a smaller, Pareto-optimal
set.
Three major areas of interest in a DSE subsystem are
Design Space Representation, Metrics and Exploration
Algorithms. Most of the research efforts on design space
exploration for system level design automation have been
oriented towards the exploration strategy [2, 3, 4, 5 and 6].
The algorithms implementing explicit strategies allow easier
evaluation and comparisons among different complex
exploration techniques like linear programming, traditional
multi-objective optimization, hierarchical decomposition of
the design space and heuristic strategies. Current state-of-the-
art in system-level DSE often deploys population-based Monte
Carlo optimization algorithms like hill climbing, simulated
annealing, artificial neural network, colony optimization and
genetic-fuzzy algorithms. By adjusting the parameters, or by
modifying the algorithm to include domain-specific
knowledge, these algorithms can be customized for different
DSE problems.
In this paper we will propose a novel heuristic method for
design space exploration on VLIW processors. The main
strategy of our heuristic DSE approach is based on binary
search pruning. Our proposed schema is designed for VEX
VLIW processor and the focus of the exploration is mostly on
cluster resources (ALU, Multiply, and Issue Width) and cache
sizes (instruction and data caches). This schema can also be
used for other embedded systems with various numbers of
resources. The rest of this paper is organized as follows:
Section 2 presents preliminary discussions about DSE engines,
DSE frameworks and related work on VLIW design space
exploration. Section 3 introduces VEX architectures and their
features. Section 4 illustrates our proposed DSE methodology.
Section 5 evaluates the algorithms through experimental
results. This section compares the iteration number of our
method with exhaustive exploration. Besides that, we compare
performance-optimum and area-optimum results of the
proposed algorithms to that of exhaustive method. Section 6
presents the conclusion of paper and our promotion.
II. RELATED WORK
There are numerous of DSE engines using different
algorithms, for example in [7] System Co-Designer uses
genetic algorithms for intelligent random explorations;
DESERT [8] relies on an ordered binary decision diagrams
based on symbolic search; Sesame [9] has support for an
exhaustive simulation-based DSE as well as heuristic
explorations using genetic algorithms or other DSE methods;
and some other engines are based on artificial neural network
schemas and local regression modeling [10, 11].
As the complexity of the systems increases, manual
exploration of the design space becomes intractable and
automated approaches to DSE become imperative. Different
search techniques named solvers are invented to automate the
978-1-4799-4409-5/14/$31.00 ©2014 IEEE
The 22nd Iranian Conference on Electrical Engineering (ICEE 2014), May 20-22, 2014, Shahid Beheshti University
856