Title: A Survey of Machine Learning Methods Applied to Computer Architecture
1A Survey of Machine Learning Methods Applied to
Computer Architecture
- Paul Lewis
- Balaji Lakshminarayanan
2What is Machine learning ?
- Machine learning is the subfield of
artificial intelligence that is concerned with
the design and development of algorithms that
allow machines to improve their performance over
time (to learn) based on data Wikipedia - Major focus Automatically produce (induce)
models, such as rules and patterns, from data.
3Taxonomy of ML algorithms
- Supervised learning
- Training inputs are available with
appropriate labels. - Need to learn the input-output mapping
function. - May be difficult to get properly labeled data in
many scenarios - Performance may degrade if training inputs
contain wrong labels - Unsupervised learning
- Labeled examples are not available.
- Group inputs based on relative similarities
- Easier to get input data
- However performance may not be as good as
Supervised learning - Reinforcement learning
- Algorithm learns a policy
- Every action has some impact in the environment
- Feedback of environment guides the learning
algorithm
4ML for Computer Architecture
- Four broad areas where ML can be applied
- Dynamic resource alocation
- Design space exploration
- Learning Heuristics for Instruction Scheduling
- Reduce Simulation time to estimate performance
- Re configurable computing / Adaptive resource
allocation on Multi-core processors
5Learning Heuristics for Basic Block Instruction
Scheduling
- The basic block instruction scheduling problem
- Find a minimum length schedule for a basic
blocka straight-line sequence of code with a
single entry point and a single exit point - Subject to precedence, latency, and resource
constraints - Scheduled code may be viewed as Directed Acyclic
Graph ( DAG ) - Problem Find the optimal DAG w.r.t some cost
function ( eg. Minimize Total number of cycles )
6Learning to Schedule Straight-Line CodeJ. Eliot
B. Moss, Paul E. Utgoff et al
- Schedule small blocks of code
- Features (P Ii Ij)
- P is the partial schedule (the total order of
what has been scheduled, and the partial order
remaining), and I is the set of instructions from
which the selection is to be made. - Supervised learning Training examples needed
- Easier to get examples of small blocks of
optimally scheduled code than large blocks
7Automated compiler/architecture co-design (
Michael Boyle)
- Design/layout of processor
- Search across massive design space num
registers, size of caches etc. - Mutli-layered ISA, micro-arch, verilog,
netlist, polygons - Architecture strongly dependent on compiler
performance - Ideally predict performance of a yet to be
built - compiler on a yet to be built architecture
-
8Automated compiler/architecture co-design (contd)
- Predict time of new program on architecture
space i.e. Create a mapping (P, a) ? t - Input Architecture Features a, Output time t
-
- Run gradient search on the model space to
sequentially discover better architectures - Genetic algorithms to avoid Local minima ?
9Coordinated Management of Multiple Interacting
Resources in Chip Multiprocessors( Ramazan
Bitirgen, Engin Ipek, Jose F. Martinez )
- Efficient sharing of system resources is
critical to obtaining high utilization and
enforcing system-level performance objectives on
chip multiprocessors (CMPs). - Three critical resources in virtually any CMP
design - (a) shared cache(s)
- (b) the chips power budget
- (c) off-chip memory bandwidth.
10Automated Design of Application-SpecificSuperscal
ar Processors (Tejas Karkhanis)
- Compare different allocation options
- - predict each applications performance as a
function of the resources allocated to it. - Pareto-optimal in terms of
- - Performance
- - energy consumption
- - area for the target application program
11Hardware Reconfiguration
- It is become more common for systems to have the
ability to adaptively reconfigure the hardware
for different workloads - Useful for large serves used to webhost
- Most approaches currently have fixed policy for
reassigning resources based on workload
12Architecture Simulation
- Normal simulations take long time (weeks/months)
- Machine learning approach analyzes how metrics of
code change with changes in architecture - Does not use metrics of cache size, hit rate,
CPI, etc. - Uses K means clustering