Introduction to Markov Chain Monte Carlo
Charles J. Geyer
Despite a few notable uses of simulation of random processes in the pre-computer era
(Hammersley and Handscomb, 1964, Section 1.2; Stigler, 2002, Chapter 7), practical
Original ILP Apprehensions
Flynns Bottleneck (1970):
Speedup due to ILP can at most be 2.
Flynns study focused on ILP found in the basic
blocks of some common programs.
Considered that crossing a basic block
boundary would involve ch
Diagnostic Quiz 1
Suppose a well-designed
forwarding circuitry has been
implemented in a pipeline. Can
there be any stall in this pipeline?
If yes, given an example of an
instruction or instruction sequence
for which pipeline stall w
Alpha 21264 Data Cache
Alpha processor presents a 48-bit virtual
address to the cache:
29 tag bits
9 index bits
6 offset bits
Cache is 2:1 set associative
Case Study: Alpha 21264 Cache
Memory System Performance
Memory system performance is largely captured by three
Latency, Bandwidth, Average memory access time (AMAT).
The time between issue of a memory request to the time the
data is availa
Diagnostic Quiz 1
An unpipelined processor A is a single-cycle
processor and uses a 1GHz clock. Processor B
is a pipelined version of A with a 12 stage
What would be the clock rate of B?
Give two reasons as to why
Two Radical Instruction
Complex Instruction Set
Reduced Instruction Set
Summary of A CISC
Was CISC a
Some simple, some very comp
Revisit: Data Hazards
Data hazards are of three types:
Read After Write (RAW)
Write After Write (WAW)
Write After Read (WAR)
With an in-order execution machine:
WAW, WAR hazards can not occur.
Summary of Last Class:
Dependences in Program Code
may Cause Hazards
Handling Floating Point
In 1990s, Computers actually
In a simple MIPS pipeline a static not taken predictor is used.
In case of a misprediction, the instructions being speculatively
executed are quashed.
What is the penalty in cycles, for a misprediction in this
Markov chain Monte Carlo
October 10, 2005
[this chapter is highly inuenced by chapter 1 in Markov chain Monte Carlo in Practice, eds Gilks
W. R. et al. Chapman and Hall/CRC, 1996]
Many problems can not be solved analytically,
Computational Phylogenetics and Molecular evolution
View the alignment file named HIV1_REF_2005_5ltr_DNA.fasta containing sequence alignment
information for 27 taxa.
A) Compute the pairwise hamming distance Pij between individual taxa pairs
# Matrix made by matblas from blosum62.iij
# * column uses minimum score
# BLOSUM Clustered Scoring Matrix in 1/2 Bit Units
# Blocks Database = /data/blocks_5.0/blocks.dat
# Cluster Percentage: >= 62
# Entropy = 0.6979, Expected = -0.5209
A R N D C Q E G
Correlated Branch Prediction
Idea: record m most recently executed
branches as taken or not taken:
Use that pattern to select the proper branch
In general, (m,n) predictor:
Means record last m branches to select b
Reduce Miss Penalty (5): Non-blocking Caches
Allow data cache to continue to serve other
requests during a miss.
Meaningful only with out-of-order execution
Requires multi-bank cache.
Pentium Pro allow
Pure Global Predictors
A single history register neighboring branches
have correlated results
Note, the PC is not used
10-bit global history
Also referred to as a two-leve
Multilevel Cache: Some Issues
Hit time of L1 cache affects the clock rate of CPU:
Hit time of L2 cache only affects miss penalty of L1.
Many designers keep L1 and L2 block sizes the same.
Otherwise on a L2 miss
Some More Cache
Reducing Miss Penalty/Miss Rate through Parallelism: Hardware
Prefetch both data and instructions:
Instruction prefetching done in almost every
Processors usually fetch two blocks