Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

27
De la predicţia salturilor condiţionate la o problemă ştiinţifică fundamentală şi… dincolo de ea Curs festiv, Promoţia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN Catedra de calculatoare, Universitatea “Lucian Blaga”, Str. Emil Cioran, No. 4, 550025 Sibiu, Romania [email protected] http:// webspace.ulbsibiu.ro/lucian.vintan /

description

De la predicţia salturilor condiţionate la o problem ă ştiinţifică fundamentală şi … dincolo de ea. Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN Catedra de calculatoare, Universitatea “Lucian Blaga”, Str. Emil Cioran, No. 4, 550025 Sibiu, Romania - PowerPoint PPT Presentation

Transcript of Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Page 1: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

De la predicţia salturilor condiţionate la o problemă ştiinţifică fundamentală şi…

dincolo de ea

Curs festiv, Promoţia “Calculatoare”16 mai, 2008

Prof. Lucian VINŢAN

Catedra de calculatoare, Universitatea “Lucian Blaga”, Str. Emil Cioran, No. 4, 550025 Sibiu, Romania

[email protected] http://webspace.ulbsibiu.ro/lucian.vintan/

Page 2: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Scurtă recapitulare: branch prediction

Necesitatea predicţiei dinamice adaptive Predictoare state of the art

(markoviene, neurale, hibride) Câteva probleme actuale:

Salturi/apeluri indirecte registru (OOP, virtual machine systems; Intel Pentium M)

28% LD_miss/BRANCH (LVP, addr_correlation, SMT…)

Branch-uri nepolarizate având comportare “aleatoare”? (1999-Milano, 2006-China, 2007-Korea)

Page 3: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Ce sunt branch-urile nepolarizate?

S={S1, S2, …, Sk} = set of distinct contexts that appear during all branch instances;

k = number of distinct contexts, k≤2p, where p is the length of the binary context;

, and obviously ;

if then the context Si is completely biased (100%);

if then the context Si is totally unbiased.

5.0,

5.0,),max()(

01

0010 ff

ffffSP i

,...,,2,1)(,1)( kiSP i

,...,,2,1)(,5.0)( kiSP i

NTT

NTf

NTT

Tf

10 , 110 ff

Page 4: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

nt = the number of branch outcome transitions, from (01 or 10), in a certain context Si;

= maximum number of possible transitions;

if , then the behavior of the branch is totally shuffled;

if , then the behavior of the branch in context Si is constant.

Ce e un… Shuffled Dynamic Branch?

0,),min(2

0,0

)(t

t

t

i nTNT

n

n

SD

),min(2 TNT

kiSD i ...,,2,1)(,1)(

kiSD i ...,,2,1)(,0)(

Page 5: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

O clasă de branch-uri impredictibile?

Hard-to-Predict Dynamic Branch= [Unbiased_Branch] AND [Shuffled Branch]

[P(Si)<0.95] AND [D(Si)>0.2] Prediction accuracy<~75%

Page 6: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Reducerea nr. de unbiased branches prin extensia contextului

0

5

10

15

20

25

30

16 bits 20 bits 24 bits 28 bits

Feature Set Length

Dyna

mic

Unp

olar

ized

Cont

exts

[%

] LH

GH

Page 7: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

INTEL Championship Branch Prediction Competition (CBP-2), Orlando, Florida, USA, (2006), http://camino.rutgers.edu/cbp2/

Prediction accuracies obtained using state-of-the- art branch predictors

77.30%

60%

65%

70%

75%

80%

85%

bzip gzip mcf parser tw olf Average

Benchmark

Pre

dic

tio

n a

ccu

racy Local PPM

Global-Local PPM

Multiple Markov

Perceptron

Piecew ise

Frankenpredictor

O-GEHL

Page 8: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Reduction of average percentages of unbiased branches by adding new

information (PATH, PBV)

15%

20%

25%

30%

35%

40%

45%

50%

p=1 p=4 p=8 p=12 p=16 p=20 p=24

Context Length

Un

bia

se

d C

on

tex

t In

sta

nc

es

GH (p bits)

GH (p bits) + P ATH (p P Cs)

GH (p bits) + P BV

Page 9: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Piecewise linear branch predictor using the previous branch’s value

PC

Selected Perceptron

Selected LHR

Local BranchHistory Table

Prediction

LH

Table of Perceptrons

GHR

GH

PBV

PBVPC

Selected Perceptron

Selected LHR

Local BranchHistory Table

Prediction

LH

Table of Perceptrons

GHRGHR

GH

PBVPBV

PBV

Page 10: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Piecewise linear branch predictors: results

Prediction accuracy on all branches vs. unbiased branches

94.92%95.45%

77.30% 78.30%

75%

80%

85%

90%

95%

Different size perceptron-based predictors

all_branches

unbiased

Page 11: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Ce înseamnă aleator? În particular, ce înseamnă un şir binar

aleator? 01010101010101010101010... 01101010000010011110011...

Se poate da o definiţie matematică intrinsecă, ontologică, a unui şir aleator de simboluri?

Poate genera rularea unui program determinist secvenţe "aleatoare"?

Pentru şiruri de simboluri nu se poate defini decât gradul de aleatorism, diferenţa între aleator şi non-aleator fiind deci una vagă.

Ce e o secvenţă “aleatoare”?

Page 12: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Pentru orice n, blocurile de n termeni din şir au aceeaşi probabilitate P de apariţie în şir. Alfabet de m simboluri P = 1/mn.

Aproape toate numerele reale, scrise în reprezentare zecimală infinită, sunt aleatoare.

Definiţia lui Borel nu este constructivă (efectivă), în sensul permiterii generării de şiruri aleatoare.

[Problemă deschisă: constantele matematice transcendente sunt Borel-normale?]

Definiţia aleatorului după Borel

Page 13: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

f:QxSQxSxM TMt(x)={q(t), s(t); q(t+1), s(t+1), m},

m M={L,R} // Instructiune Q={q0q1q2 … qf}, s S={0,1,blank}

Secvenţa de intrare x aparţine mulţimii tuturor secvenţelor binare finite (FB – Finite Binary).

O TM defineşte o funcţie parţială a mulţimii FB pe ea însăşi algoritm=procesare de simboluri pe o TM.

Maşina Turing redivivus!

Page 14: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Pentru orice algoritm (procedură care se termină într-un număr finit de paşi) există o maşină Turing echivalentă. Algoritm=TM

Noţiunea de algoritm impune ca acesta să poată fi implementat pe o maşină Turing. Cu alte cuvinte, dacă un calculator poate implementa un algoritm acesta poate fi implementat şi de o anumită maşină Turing.

Conjectura Church-Turing

Page 15: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Mulţimea tuturor maşinilor Turing este numărabilă

• Definiţia noţiunii de numărabil; Paradoxuri ale infiniţilor actuali.• Justificare: se poate trece de la mulţimea maşinilor Turing cu k instrucţiuni (TMk) la cea a celor cu (k+1) instrucţiuni (TMk+1), =3,4,5... TMk este numărabilă. Evident că în cadrul unei mulţimi TMk există un număr finit de maşini Turing mulţimea tuturor TM este numărabilă, Q.E.D.

k

Page 16: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

O funcţie parţială f:NN este „Turing-calculabilă” dacă cu n=c(x) pentru care maşina se opreşte generând la final codificarea binară a lui n prin funcţia c: f(n)=c(TM(x)).

Cum mulţimea TM este numărabilă mulţimea funcţiilor parţiale Turing-calculabile este şi ea numărabilă. Această mulţime aparţine mulţimii tuturor funcţiilor parţiale f:NN, care este nenumărabilă (fiind practic izomorfă cu mulţimea numerelor reale).

Rezultă că funcţiile calculabile sunt infinit-puţine (cardinal alef 0) Funcţiile non-calculabile sunt infinit-majoritare!

Funcţiile Turing-calculabile sunt “infinit-puţine”!

FBxNn ,

Page 17: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Orice şir binar aleator, NU ar trebui să fie generat printr-o funcţie parţiala Turing-calculabilă. (Există secvenţe necalculabile de simboluri care nu sunt, totuşi, aleatoare!)

Asociind secvenţele aleatoare cu funcţiile parţiale care nu sunt Turing-calculabile aceste secvenţe aleatoare sunt nenumărabile (de puterea continuului), deci infinit-majoritare pe mulţimea tuturor funcţiilor parţiale f:NN.

Aşadar: secvenţele deterministe sunt numărabile, cele aleatoare sunt nenumărabile!

Deşi riguroasă, definiţia nu e efectivă eşec practic!

Aleatorul e majoritar dar nu-l putem exprima!

Page 18: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Bazate pe:

Predictibilitatea Hidden Markov Models (HMM, L. Rabiner)

Entropia discretă a secvenţei Rata de compresie a secvenţei

(Huffman, Gzip etc.). O secventă aleatoare e incompresibilă.

Complexitatea Kolmogorov a codului generator al secvenţei de simboluri

Definiţii neriguroase, dar mai practice, ale gradulul de aleatorism

Page 19: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

A HMM is a doubly embedded stochastic process with a hidden stochastic process that can only be observed through another stochastic process - that generate the sequence of observable symbols.

Our hypothesis: HMMs could compensate relevant information miss-knowledge through its underlying stochastic process that is not observable.

Predictibilitatea HMM – o limită ultimativă?

Page 20: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Predicţia “celui mai performant HMM” (R=1, N=2)

98.43%

65.03%

40%

50%

60%

70%

80%

90%

100%

bzip

gcc

gzip

mcf

parse

rtw

olf

Avera

ge

SPEC 2000 Benchmarks

Pre

dic

tion

Acc

ura

cy [

%]

Biased (R=1, N=2)

Unbiased (R=1, N=2)

Page 21: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Max_RD(Binary_string)=1 (100%, complet

aleator) 01010101010101... maximizes both D and E

but…

Entropia discretă a secvenţei

k

i

XiPXiPSE1

0)(log)()(

0,),min(2

0,0

)(t

t

t

i nTNT

n

n

SD

]log,0[)()()( 2 kSESDSRD

Page 22: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Gradul de aleatorism: biased vs. unbiased branches

Random Degree

9.16%

40.00%

0%

10%

20%

30%

40%

50%

60%

70%

gzip gcc mcf parser bzip2 twolf Average

SPEC 2000 Benchmarks

RD Biased

RD Unbiased

Page 23: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Rata de compresie a secvenţei

90,37%

83,78%

19,15%

5,52%

-10%

10%

30%

50%

70%

90%

SPEC 2000 Benchmarks

Spac

e sa

ving

s

Gzip_Biased

Huffman_Biased

Gzip_Unbiased

Huffman_Unbiased

Page 24: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Permute (int n){ int k; pctr = pctr+1; if(n != 1) # the first branch instruction analyzed (PC=35) BIASED

(predictibil) { Permute(n-1); for( k = n-1; k >= 1; k--)# the second analyzed branch (PC=58)

UNBIASED! {

Swap(&permarray[n], &permarray[k]);Permute(n-1);Swap(&permarray[n], &permarray[k]);

} }}K(Br_58) = Minimum 42 HSA instructions or 8 C instructions.K(Br_35) = 12 HSA instructions or 3 C instructions

K(Br_58)> K(Br_35)

“Complexitatea Kolmogorov” a codului generator

Page 25: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Concluzii(I)

Nu există o paradigmă eficientă pt. aleatorismul unei secvenţe (şir).

Predicţia eficientă a branch-urilor nepolarizate: o problemă deschisă (spaţiu de grad superior, convenabil reprezentării problemei predictor eficient)

Gradele de aleatorism intrinsec - de mare ajutor pentru ansamblul arhitectură-compilator (predictor improvement). Gradul de haos determinist.

Page 26: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Concluzii(II)

Creşterea complexităţii proiectelor (object oriented programs, design patterns, complex projects management, etc.) creşterea nr. de unbiased branches

Influenţa acestor branch-uri în arhitecturile multi-thread si many-core e o problemă importantă si deschisa.

Arhitectura calculatoarelor nu poate fi înţeleasa profund fără ajutorul teoriei algoritmilor (calculabilităţii), teoriei informaţiei, teoriei proceselor stohastice, învăţării automate etc.

Page 27: Curs festiv, Promo ţ ia “Calculatoare” 16 mai, 2008 Prof. Lucian VINŢAN

Concluzii(III)

Acest curs a prezentat o aventură eşuată, dpdv utilitar! Fertila?

Care este scopul ultimativ al ŞTIINŢEI şi al TEHNOLOGIEI? Utilitar? Cognitiv? Estetic?! Etc. Scopul ultimativ, esential, al stiintei il

constituie onoarea spiritului uman!