17
1 Advance Computer Architecture CSE 8383 Ranya Alawadhi

Advance Computer Architecture CSE 8383

Embed Size (px)

DESCRIPTION

Advance Computer Architecture CSE 8383. Ranya Alawadhi. Compilers for Instruction-Level Parallelism. Schlansker, M., Conte, T. M., Dehnert, J., Ebcioglu, K., Fang, J. Z., and Thompson, C. L. 1997. Compilers for Instruction-Level Parallelism. Computer 30, 12 (Dec. 1997), 63-69. Agenda. - PowerPoint PPT Presentation

Citation preview

Page 1: Advance Computer Architecture CSE 8383

1

Advance Computer Architecture

CSE 8383

Ranya Alawadhi

Page 2: Advance Computer Architecture CSE 8383

2

C

S

E

8

3

8

3

Compilers for Instruction-Level Parallelism

Schlansker, M., Conte, T. M., Dehnert, J., Ebcioglu, K., Fang, J. Z., and Thompson, C. L. 1997. Compilers for Instruction-Level Parallelism. Computer 30, 12 (Dec. 1997), 63-69

Page 3: Advance Computer Architecture CSE 8383

3

C

S

E

8

3

8

3

Agenda Instruction Level Parallelism (ILP)

ILP Compilers Roles

Areas of interest to ILP Compilers

Conclusion

Questions?

Page 4: Advance Computer Architecture CSE 8383

4

C

S

E

8

3

8

3

Instruction Level Parallelism (ILP) Allows a sequence of instructions derived from a

sequential program to be parallelized for execution on multiple pipeline functional units

Advantages: Improves performance The programmer is not required to rewrite existing

applications Works with current software programs

Implementation: Hardware-centric Software-centric

Page 5: Advance Computer Architecture CSE 8383

5

C

S

E

8

3

8

3

ILP Compilers Roles Enhance performance

Eliminate the complex processing needed to parallelize code

Accelerate the nonlooping codes prevalent in most applications

Page 6: Advance Computer Architecture CSE 8383

6

C

S

E

8

3

8

3

Optimization Criteria

Operation count

Vs

Processor model

Page 7: Advance Computer Architecture CSE 8383

7

C

S

E

8

3

8

3

Statistical Compilation Statistical information is used to :

Predict the outcome of conditional braches Improve program optimization & scheduling Improve the performance of frequently taken

paths

Statistical information : The location of operands in cache The probability of a memory alias The likelihood that an operand has a specific

value

Page 8: Advance Computer Architecture CSE 8383

8

C

S

E

8

3

8

3

ILP Scheduling To achieve high performance, ILP

compilers must jointly schedule multiple basic blocks

The formation of scheduling regions is best performed using control flow statistics

ILP schedulers address complex trade-offs using heuristics based on approximations

Page 9: Advance Computer Architecture CSE 8383

9

C

S

E

8

3

8

3

Dynamic Compilation Static Compilation:

Tune code to a single implementation of a specific processor architecture

Dynamic Compilation Transparently customizes an exactable file

during execution Uses information not known when the software

was distributed

Page 10: Advance Computer Architecture CSE 8383

10

C

S

E

8

3

8

3

Program Analysis Specially memory analysis

Benefits: Improves program schedules Improves code quality better cache hierarchy use

Analysis techniques derived from sequential processor may produce poor results in ILP processors

Performing analysis over large amounts of code can be unacceptably slow and consume too much memory

Page 11: Advance Computer Architecture CSE 8383

11

C

S

E

8

3

8

3

Program Transformation Representation to find fine-grained

parallelism: Program graph Machine model

Transformations that support ILP: Expression reassociation Loop unrolling Tail duplication Register renaming Procedure inlining

Page 12: Advance Computer Architecture CSE 8383

12

C

S

E

8

3

8

3

Increasing Hardware Parallelism Current processor designs attempt to use

more functional units to provide increased hardware parallelism

Compilers take an increasingly complex responsibilities to ensure efficient use of hardware resources

The number of operations “in flight” measures the amount of parallelism the compiler must provide to keep an ILP processor busy

Page 13: Advance Computer Architecture CSE 8383

13

C

S

E

8

3

8

3

Architectures & Compilers To assess new architectures compilers

must incorporate proposed architectural features

Compilers are the only way to evaluate an architecture’s performance on real applications

Page 14: Advance Computer Architecture CSE 8383

14

C

S

E

8

3

8

3

Promising Areas of Research ILP compiler techniques are evolving from

scientific computing technology into a broadly useful scalar technology

There are Obstacles inhibit the efficient use of hardware parallelism

In addition to the rewards gained from beneficial techniques, they can generate side effects!

Page 15: Advance Computer Architecture CSE 8383

15

C

S

E

8

3

8

3

Techniques to Reduce Compile Time New strategies results in long compile

times

To speed compilation: Careful application partitioning Better algorithms for analysis and optimization

Page 16: Advance Computer Architecture CSE 8383

16

C

S

E

8

3

8

3

Conclusion ILP represents a paradigm shift that

redefines the traditional field of compilation

ILP compilation presents challenges not addressed in traditional compilers

As we scale up the amount of hardware parallelism, compilers take on increasingly complex responsibilities to ensure efficient use of hardware resources

Page 17: Advance Computer Architecture CSE 8383

17

C

S

E

8

3

8

3

Questions?