scieee Open visual document viewer

A Survey on Thread-Level Speculation Techniques

Estébanez López, Álvaro,Llanos Ferraris, Diego Rafael,González Escribano, Arturo

Abstract

Producción Científica

Full text

ZZ A Su ey on Th ead-Le el Specula ion Techniques Al a o Es ebanez, Uni e sidad de Valladolid Diego R. Llanos, Uni e sidad de Valladolid A u o Gonzalez-Esc ibano, Uni e sidad de Valladolid Th ead-Le el Specula ion (TLS) is a p omising echnique ha allows he pa allel execu ion o sequen ial code wi hou elying on a p io , compile- ime dependence analysis. In his wo k we in oduce he echnique, p esen a axonomy o TLS solu ions, and summa ize and pu in o pe spec i e he mos ele an ad ances in his ield. Ca ego ies and Subjec Desc ip o s: F.1.2 [Modes o Compu a ion]: Pa allelism and Concu ency; D.1.3 [Concu en p og amming]: Pa allel p og amming Gene al Te ms: Run ime pa alleliza ion Addi ional Key Wo ds and Ph ases: Specula i e mul i h eading, specula i e un ime pa alleliza ion, h ead-le el da a specula ion, TLDS, op imis ic pa alleliza ion, h ead-le el specula ion, TLS ACM Re e ence Fo ma : Al a o Es ebanez, Diego R. Llanos, A u o Gonzalez-Esc ibano, 2014. A Su ey on Th ead-Le el Specula ion Techniques. ACM Compu . Su . X, Y, A icle ZZ ( 20YY), 40 pages. DOI:h p://dx.doi.o g/10.1145/0000000.0000000 1. INTRODUCTION Th ead-Le el Specula ion (TLS), also called Specula i e Pa alleliza ion (SP), o e en Op imis ic Pa alleliza ion, is a un ime echnique ha execu es in pa allel agmen s o code ha we e o iginally in ended o un sequen ially. Ins ead o elying on compile- ime analysis o iden i y independen pa s o sequen ial code ha can be un con- cu en ly, TLS echniques op imis ically assume ha hese pa s can be execu ed in pa allel by di e en h eads. To ensu e co ec ness, specula i e h eads should de ec whe he hey ha e consumed a da um ha was subsequen ly upda ed by a p edecces- so h ead, ha is, a h ead execu ing an ea lie pa o he code, acco ding o sequen- ial seman ics. Such si ua ions, called dependence iola ions, should be de ec ed and ec i ied by ha dwa e o so wa e mechanisms, o a combina ion o bo h, o keep se- quen ial seman ics. I a dependence iola ion is de ec ed, a co ec i e ac ion will ake place, ypically disca ding he esul s calcula ed by he h ead ha has consumed he inco ec alue, and es a ing i o be ed wi h he upda ed da um. In his pape we e iew he li e a u e ela ed o Th ead-Le el Specula ion ech- niques, p esen ing a axonomy ha helps o be e unde s and each p oposed solu ion in i s con ex . The pape is o ganized as ollows. Sec ion 2 p esen s a global iew o he This esea ch has been pa ially suppo ed by MICINN (Spain) and ERDF p og am o he Eu opean Union: HomP og-He Sys p ojec (TIN2014-58876-P), CAPAP-H5 ne wo k (TIN2014-53522-REDT), and COST P o- g am Ac ion IC1305: Ne wo k o Sus ainable Ul ascale Compu ing (NESUS). Au ho ’s add esses: A. Es ebanez, D. R. Llanos and A. Gonzalez-Esc ibano, Depa amen o de In o m´ a ica, Uni e sidad de Valladolid, Paseo Bel´ en 15, Valladolid, Spain. Pe mission o make digi al o ha d copies o pa o all o his wo k o pe sonal o class oom use is g an ed wi hou ee p o ided ha copies a e no made o dis ibu ed o p o i o comme cial ad an age and ha copies show his no ice on he i s page o ini ial sc een o a display along wi h he ull ci a ion. Copy igh s o componen s o his wo k owned by o he s han ACM mus be hono ed. Abs ac ing wi h c edi is pe - mi ed. To copy o he wise, o epublish, o pos on se e s, o edis ibu e o lis s, o o use any componen o his wo k in o he wo ks equi es p io speci ic pe mission and/o a ee. Pe missions may be eques ed om Publica ions Dep ., ACM, Inc., 2 Penn Plaza, Sui e 701, New Yo k, NY 10121-0701 USA, ax +1 (212) 869-0481, o [email p o ec ed]. c 20YY ACM 0360-0300/20YY/-ARTZZ $15.00 DOI:h p://dx.doi.o g/10.1145/0000000.0000000 ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. ZZ:2 A. Es ebanez, D. R. Llanos, and A. Gonzalez-Esc ibano p oblem, including a desc ip ion o sou ces o specula ion in he code, oge he wi h he main design choices ha may a ise while designing a TLS solu ion. Sec ion 3 ex- amines he i s solu ions ha se ed as a base o he de elopmen o TLS sys ems. Sec ion 4 de ails ha dwa e-based app oaches, whe e addi ional ha dwa e is added o suppo specula ion. Sec ion 5 shows so wa e-based p oposals, which do no equi e addi ional ha dwa e o moni o he pa allel execu ion, a he cos o a ce ain pe o - mance loss. Sec ion 6 desc ibes o he wo ks ha ake ad an age o TLS capabili ies o di e en pu poses. Sec ion 7 ci es some s udies ha ha e poin ed ou he heo e ical and p ac ical limi s o he TLS pa adigm. Finally, Sec ion 8 concludes ou pape . 2. SOURCES OF TLS AND DESIGN CHOICES In [To ellas 2011], an accu a e summa y o Th ead-Le el Specula ion echniques is gi en, including a de ailed desc ip ion o he wo main issues ha any TLS sys em should sol e: How o bu e and manage specula i e s a es, and how o de ec and handle dependence iola ions. His analysis makes any e o o ep oduce a summa y o TLS cha ac e is ics he e meaningless: we sugges he eade o consul his wo k o be e unde s and he undamen als o he ield and he managemen o side e ec s due o he use o h ead-le el specula ion. In his sec ion, we will b ie ly discuss whe e a e he main sou ces o specula ion, how TLS echniques can be classi ied, and which a e he mos impo an design choices ha ha e o be aced o se up a TLS sys em. 2.1. Loops as a sou ce o specula ion Due o how easy i is o dis ibu e wo k among h eads, loops a e he mos impo - an sou ce o TLS. The syn hesis o loop-based specula ion w i en by [Rauchwe ge 2011], who was also a pionee in he ield, accu a ely e lec s he impo ance o loops as a sou ce o specula ion. Unde TLS, loops a e di ided in o blocks o i e a ions ha a e dispa ched o be op imis ically execu ed in pa allel, while a moni o ensu es ha he execu ion ollows sequen ial seman ics. I his is no he case, he moni o squashes o ending h eads, es a ing hem wi h he co ec alues. O he wise, e sion da a s o ed in he local specula i e bu e s a e commi ed o he main copy. We will i s b ie ly desc ibe how da a p ocessed in one i e a ion may in e ac wi h calcula ions in di e en i e a ions, a si ua ion known as da a dependence. The e a e h ee basic ypes o da a dependences among wo agmen s o code, namely ue,an i, and ou pu dependences. In he ollowing examples, le Siand Sj be wo s a emen s, whe e Sishould be execu ed ea lie han Sjacco ding o sequen- ial seman ics. —T ue dependence: S a emen Siw i es in o a loca ion ha is la e ead by Sj. These si ua ions a e also called RAW (Read A e W i e) con lic s, o low dependences. —An i dependence: S a emen Si eads a loca ion ha is la e w i en by Sj. These si ua ions a e also called WAR (W i e A e Read) con lic s. —Ou pu dependence: Bo h s a emen s Siand Sjw i e in o he same loca ion. These si ua ions a e also called WAW (W i e A e W i e) con lic s. These de ini ions can be used o c ea e a axonomy o loops, acco ding o he p esence o da a dependences among hei i e a ions. One o he i s axonomies was p oposed by [Polych onopoulos and Kuck 1987]. This wo k classi ied loops in o h ee di e en ypes: doall, o all, and doac oss. —Doall loops: Loops ha do no p esen any dependence among hei i e a ions. The e- o e, all i e a ions can be p ocessed in pa allel wi h no u he checking [Tang and Yew 1986]. Figu e 1(a) shows an example o his loop. Mos o cu en compile s can pa allelize his kind o loops au oma ically. ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. A Su ey on Th ead-Le el Specula ion Techniques ZZ:3 o (i=0; i<SIZE; i++) V[i] = i; // S a emen S (a) DOALL Loop o (i=0; i<SIZE; i++) { V[i] = ... ; // S a . S1 } (b) FORALL Loop o (i=0; i<SIZE; i++) { ... = (V[i-x]); // S a . S1 (x>0) V[i] = ... ; // S a . S2 } o (i=0; i<SIZE; i++) { V[W[i]] = ...; // S a . S1 ... = (V[Z[i]]); // S a . S2 } o (i=0; i<SIZE; i++) { ... = (V[i-1]); // S a . S1 V[i] = ...; // S a . S2 } (c) Regula DOACROSS Loop (e) I egula DOACROSS Loop (d) DOSEQUENTIAL/DOSERIAL Loop S Loop body S1 S2 x i j ... = (V[i-x]); // S a . S2 (x>0) Dependency g aph i S2i S1j Loop body Dependency g aph Loop body Dependency g aph Loop body Dependency g aph S1 S2 x i j S2i S1j Sync needed Sync needed ? S1i S2j S2i S1j Loop body Dependency g aph S1 S2 1 i j S2i S1j Sync needed Time Time Time Time Fig. 1. Di e en ypes o loops acco ding o he p esence o da a dependences. The label in each edge ep- esen s he dependence dis ance. Da a lows a e ep esen ed by he a ow di ec ions. —Fo all loops: Loop whose i e a ions may p esen ue ( ha is, RAW) dependences: Values p oduced by one i e a ion may be used in a subsequen i e a ion. An example is depic ed in Fig. 1(b). All i e a ions o a o all loop can be execu ed simul aneously i and only i all he s a emen s ha p oduce he alue (S1 in he igu e) ha e inished be o e he execu ion o any s a emen ha consumes he alue (S2 in he igu e). I his beha io canno be gua an eed, a synch oniza ion mechanism is needed. —Doac oss loops: Loops ha may ha e c oss-i e a ion an i (also known as WAR o backwa d) dependences. [K o hapalli and Sadayappan 1990] di ides doac oss loops in o h ee ca ego ies: —Regula doac oss loops: Loops whose an i dependences among i e a ions a e domi- na ed by a cons an alue x. Figu e 1(c) shows an example. Regula doac oss loops wi h x>1can be pa allelized by ensu ing ha he execu ion o he i e a ions in- ol ed in he dependence ollows sequen ial seman ics. I he alue o xis known a compile ime, compile s a e usually able o p oduce a pa allel e sion o he loop. —Dosequen ial o dose ial loops: A special ype o egula doac oss whose i e a ions depend on he p e ious one ( ha is, loops ha ha e a dependence dis ance x=1). Figu e 1(d) shows an example whe e he dependence is om he las s a emen o he body o he loop o he i s s a emen . These loops ha e no pa allelism a he i e a ion le el. —I egula doac oss loops: Loops whose an i (also kwown as backwa d) dependences among i e a ions a e no known a compile ime. Figu e 1(e) shows an example. These loops a e commonly called “i egula loops”, and in gene al hey canno be pa allelized sa ely a compile ime. Compile- ime echniques can be used o gene a e pa allel e sions o doall, o all and, when he dependence dis ance is known a compile ime, egula doac oss loops. Since TLS is a un ime echnique, i can use he a ailable in o ma ion in all o he de- sc ibed loops, including i egula doac oss loops. Wi h espec o dosequen ial loops, a TLS sys em will also gua an ee ha he pa allel execu ion will be co ec , a he cos o ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. ZZ:4 A. Es ebanez, D. R. Llanos, and A. Gonzalez-Esc ibano squashing and e-s a ing i e a ions con inuously o ollow sequen ial seman ics, hus deg ading pe o mance. The main applica ion o TLS is in he pa allel execu ion o i - egula doac oss loops when he o al numbe o dependences ha appea a un ime is low. 2.2. D awbacks o TLS Al hough TLS can ex ac pa allelism e en om i egula doac oss loops, i will likely be slowe han a compile- ime pa alleliza ion, i he la e can be applied. Sou ces o o e head in TLS include he cos associa ed o h ead squash and es a due o da a dependence iola ions, specula i e bu e o e lows, load imbalance due o da a locali y issues, h ead dispa ch and commi , and in e - h ead communica ions [Dou and Cin a 2004]. TLS o e heads may no only lead o lowe pe o mance in e ms o execu ion ime, bu also o a g ea e ene gy consump ion. This issue appea s in so wa e solu ions, due o he ene gy cos associa ed o he execu ion o addi ional ins uc ions o gua - an ee ha sequen ial seman ics a e ollowed, and o he was ed wo k ca ied ou by squashed h eads. Ene gy ine iciencies also appea in ha dwa e app oaches, due o he need o addi ional ha dwa e s uc u es in he cache hie a chy o da a e sioning, dependence checking, and i s associa ed bus a ic [Renau e al. 2005]. We will e u n o his p oblem in Sec . 6.3. 2.3. A i s classi ica ion o TLS echniques Acco ding o [Ma cuello e al. 1998; Keja iwal e al. 2006], he e a e h ee ypes o specula ion echniques: (1) con ol specula ion; (2) da a dependence specula ion; and (3) da a alues specula ion (also called alue p edic ion). These ypes a e no disjoin , and hei basis can be combined o achie e be e esul s. 2.3.1. Con ol specula ion. Con ol specula ion applies specula ion o loops ha include condi ional sen ences. Execu ion pa hs o each i e a ion a e de ec ed, mapping hem o di e en h eads. [Jacobson e al. 1997b; Wallace e al. 1998; Akka y and D iscoll 1998] combined con ol specula ion wi h b anch p edic ion. [Puiggali e al. 2012] ied o p edic he ou come o condi ional b anches wi hou he need o know all he a iables implied in he condi ion. 2.3.2. Da a dependence specula ion. Da a dependence specula ion is a echnique sui - able o he pa allel execu ion o loops ha may lead o in e - h ead memo y depen- dences. Load ope a ions om specula i e a iables ( ha is, a iables whose use may lead o a dependence iola ion) usually e u n he mos ecen alue o ha a i- able, while specula i e s o e ope a ions sea ch o he use o inco ec alues in hose h eads, execu ing subsequen i e a ions acco ding o sequen ial seman ics. Many e- sea che s ha e con ibu ed o his solu ion: Please e e o [Rauchwe ge and Padua 1995; F anklin and Sohi 1996; B each 1998; Ma cuello e al. 1998; Cin a and Llanos 2003; Tian e al. 2008]. 2.3.3. Da a alues specula ion. Da a alue specula ion echniques, also known as alue p edic ion echniques, p edic a un ime he esul o ins uc ions be o e hei exe- cu ion. This app oach is based on he idea ha an accu a e p edic ion may a oid a squash. Fo example, he wo k by [Raman e al. 2008] desc ibes a p edic ion-based TLS so wa e ha p edic ed alues o he ollowing i e a ions wi hou speci ying he i e a ion whe e a alue would be aken om. The main disad an age o hese p opos- als is ha , in gene al, o loops wi h i egula memo y accesses and complex con ol low, his solu ion does no ob ain good p edic ions. O he wo ks ha use p edic o s a e [Sohi e al. 1995; Akka y and D iscoll 1998; Cod escu and Wills 1999a; S e an ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. A Su ey on Th ead-Le el Specula ion Techniques ZZ:5 e al. 2002; Cin a and To ellas 2002; P abhu and Oluko un 2003; Li e al. 2005; Tian e al. 2010a; Fan e al. 2012; Gao e al. 2013]. 2.4. Design choices o e iew To be specula i ely execu ed, he o iginal code should be ins umen ed a compile o un ime o handle di e en ope a ions, such as loading and s o ing o specula i e da a, pe o ming commi ope a ions i he specula i e execu ion succeeds, and disca ding inco ec wo k i i does no . The main design choices ha should be aced in a TLS sys em a e desc ibed in [Yiapanis e al. 2013]. To implemen a TLS sys em, a numbe o decisions should be aken1: 2.4.1. Me ada a managemen . TLS app oaches should manage some in o ma ion in o - de o de ec whe he a dependence iola ion has occu ed. Thus, each h ead should know bo h wha memo y add esses ha e been used, wha ope a ions ha e been done, and which h ead has done each ope a ion. All his in o ma ion is collec i ely known as me ada a [Yiapanis e al. 2013], and i s managemen has wo goals: P ese ing he in o ma ion ela ed o a iables a isk o su e ing iola ions, such as which h ead has loaded, s o ed, o is locking a ce ain a iable; and main aining e e ences abou ope a ions done by each h ead, speci ically, eco ding he a iables loaded o w i en. The choice o he da a s uc u e o handle me ada a may se e ely a ec pe o mance, depending on he ela i e cos s o accessing and upda ing in o ma ion du ing he pa - allel execu ion. An example o such adeo can be ound in [Es ebanez e al. 2014a]. 2.4.2. Ve sion Managemen . When execu ing se e al consecu i e agmen s o sequen- ial code in pa allel, each h ead usually main ains a e sion copy o he da a s uc u e ha is accessed specula i ely. This solu ion allows changes o his da a o be pe o med locally, only s o ing hese changes o a pe manen place i he specula i e execu ion o his h ead p o es success ul. To do so, TLS sys ems equi e some addi ional s o age o main ain he in e media e copies o each h ead. The e a e wo ways o managing hese da a: —Lazy Ve sion Managemen . In his case, a local copy o he exposed da a is indi id- ually s o ed and managed. The e o e, when a load o s o e ope a ion is pe o med, only he local e sion is changed. When a RAW dependence iola ion is de ec ed, only local e sions o h eads in con lic ha e o be disca ded, ins ead o modi ying he e e ence e sion in memo y2. — The o he app oach, Eage Ve sion Managemen , equi es ewe esou ces, because he e e ence e sion in memo y is modi ied. An addi ional bu e (called undo log in he li e a u e) eco ds old alues and is used o es o e o iginal da a in he case o a dependence iola ion. Rega ding e sion managemen , [Ga za ´ an e al. 2003; Ga za ´ an e al. 2005] p o- posed a axonomy o classi y specula i e sys ems acco ding o he way o bu e ing he specula i e e sions o a iables. They ook in o accoun he isola ion o specula i e h ead s a es in each p ocesso , and how he new da a e sions p oduced by specula- i e h eads is me ged wi h he main memo y. 2.4.3. Con lic De ec ion. Dependence iola ions can be checked wi h ei he a lazy o an eage app oach: Lazy Con lic De ec ion a oids he need o check o con lic s on e e y access, by delaying his ask o a la e s age be o e he commi ope a ion. This solu- 1Unless o he wise no ed, he ollowing discussion applies o bo h loop-le el and block-le el TLS sys ems. 2No e ha WAW dependence iola ions can be a oided by a commi ope a ion ha ollows sequen ial se- man ics. Rega ding WAR dependences, he use o local e sions o exposed da a a oids his p oblem. ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. ZZ:6 A. Es ebanez, D. R. Llanos, and A. Gonzalez-Esc ibano ion implies o s o e he sequence o accesses o each specula i e da um by di e en h eads, in o de o ensu e ha all accesses we e pe o med ollowing sequen ial se- man ics. Al hough his app oach a oids ime-consuming checks du ing he specula i e execu ion, he amoun o wo k ha migh be po en ially disca ded is much highe . A mo e s ic app oach, called Eage Con lic De ec ion, looks o po en ial dependence iola ions on e e y access. This design a oids pe o mance losses p oduced by la e checks, by squashing and es a ing h eads as soon as a dependence iola ion is p o- duced. Howe e , he ime de o ed o checking each po en ial dependence iola ion is much highe , slowing down he pa allel execu ion e en when no dependence iola ions a ise. 2.4.4. Scheduling o i e a ions. To specula i ely pa allelize a loop, i should be pa i- ioned in o chunks (o blocks) o i e a ions o be assigned o di e en h eads. Ea ly app oaches included a compile phase capable o classi ying i e a ions in o se s o in- dependen i e a ions. Al hough i e a ions wi hin a se should be execu ed in o de , he se s should be execu ed sequen ially, in o de o a oid dependence iola ions. This compile- ime scheduling solu ion came a he cos o pe o ming a cos ly analysis, ha in many cases could no be ca ied ou due o i s complexi y and/o he p esence o po- en ial dependence iola ions ha depended on un ime in o ma ion. In hese cases, he simples solu ion is o use chunks o ixed size [K uskal and Weiss 1985]. The pa icula size chosen is an impo an design decision. The use o smalle chunks will educe squashing cos s, a he cos o a highe scheduling o e head. On he o he hand, bigge chunks will inc ease he cos o h ead squashing and may lead o load imbal- ance. To mi iga e hese p oblems, a iable chunk size s a egies o iginally designed o achie e load balancing in pa allel compu a ions, such as [Hummel e al. 1992; Poly- ch onopoulos and Kuck 1987], can also be used in specula i e execu ion. Rega ding he pa icula con ex o TLS, [Llanos e al. 2007] p oposed a a iable chunk size o he specula i e execu ion o andomized inc emen al algo i hms, an impo an class o p oblems whe e he p obabili y o a dependence iola ion dec eases as execu ion p o- ceeds. Thei wo k uses smalle chunks o he i s i e a ions, whe e andomized inc e- men al algo i hms p esen mo e dependence iola ions, hen g adually inc eases he chunk size o educe scheduling o e heads, and inally educes he size o he chunks again o achie e a be e load balancing. The use o chunk sizes ha ollows a p ede ined dis ibu ion, howe e , may no be he bes solu ion. Specula i e pa alleliza ion poses a mo e complex scheduling chal- lenge han adi ional pa alleliza ion, because, o i egula applica ions, bo h he numbe and he pa icula dis ibu ion o dependence iola ions a e unknown be o e he loop is execu ed. The e o e, he idea o changing he chunk size a un ime depend- ing on he numbe o squashes p oduced makes sense [Llanos e al. 2008]. Recen ly, [Es ebanez e al. 2015] p oposed a me hod, called Moody Scheduling, ha makes use o bo h he numbe o e-execu ions o he las chunks o i e a ions and hei endency (inc easing, dec easing, s able) o igu e ou an app op ia e chunk size o he ollowing chunk o be scheduled. 2.4.5. Squashing al e na i es. I a RAW dependence iola ion is p oduced, all da a calcu- la ed by he o ending h ead ( he one ha ha e consumed he inco ec alue) should be disca ded. The mechanism chosen o do so is a design decision ha se e ely a ec s pe o mance. Some app oaches jus disca d he h eads ha ha e consumed his pa - icula , w ong alue, and o he s disca d he o ending h ead and all i s successo s. This leads o he ollowing solu ion space, as desc ibed by [Ga cia-Yaguez e al. 2014]: ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. A Su ey on Th ead-Le el Specula ion Techniques ZZ:7 —S ops pa allel execu ion: Fi s solu ions, such as [Rauchwe ge and Padua 1995], simply disca d he en i e specula ion execu ion when a dependence iola ion was p oduced, and hen es a he loop sequen ially om he beginning. Due o hei high cos in e ms o execu ion ime, hese solu ions only bene i loops ha we e indeed pa allel. —Inclusi e squashing: This app oach s ops and es a s he i s h ead ha ha e con- sumed he w ong alue, oge he wi h all i s successo s, ega dless o whe he hey ha e consumed any alue om he o ending h ead. Due o i s simplici y o imple- men a ion, his is he mos used solu ion (see [Cin a and To ellas 2002; Cin a and Llanos 2003; P abhu and Oluko un 2003; Ceze e al. 2006]), al hough i may dis- ca d po en ially use ul wo k ca ied ou by a successo ha has no consumed any pollu ed da a. —Exclusi e squashing: This app oach squashes (a) he o ending h ead, (b) all suc- cesso h eads ha ha e consumed any alue gene a ed by him, and (c) all h eads ha ha e consumed any alue p oduced by he a o emen ioned squashed h eads. In o he wo ds, only successo h eads ha ha e no consumed any alue ha may be de i ed om he o ending h ead a e allowed o su i e. No e ha his solu ion may disca d h eads ha ha e consumed alues om he o ending h ead ha ha e no ela ionship wi h he alue ha igge ed he dependence iola ion. [Li e al. 2005] ied o implemen his ideas in ha dwa e. [Colohan e al. 2006] also used his kind o squashing mechanism in he con ex o da abases (whe e es a ing a h ead leads o big pe o mance losses), and used sub- h eads o check o squashed h eads. [Tian e al. 2010b] also p oposed a solu ion ha does no disca d all he p oduced alues, only a small pa o hem. Also, [Ga c´ ıa-Y´ ag¨ uez e al. 2011; Ga cia-Yaguez e al. 2014] de eloped a so wa e-only e sion o his idea, wi h he help o a lis ha s o es which h eads ha e consumed a alue o a pa icula p edecesso . —Pe ec squashing: Disca ds o ending h eads and hose successo s ha ha e con- sumed he inco ec alue o any alue gene a ed using i . Th eads ha ha e con- sumed co ec alues om he o ending h ead a e no squashed. This is he ap- p oach ha leads o ewe squashes. Howe e , o keep ack o he de ini ion and use o each pa icula da um, an in-dep h analysis should be pe o med, This ope a ion seems o be oo cos ly. Fo example, [Akka y and D iscoll 1998] p oposed a speci ic able o s o e dependences, while [Ro enbe g e al. 1997] used a able ha sa ed all in e media e alues. Ne e heless, [Tian e al. 2011] add essed his p oblem and concluded ha his squash mechanism is no p o i able. The abo e discussion assumes ha he da a dependences a e handled a he da a- elemen g anula i y le el. No e ha , i he TLS sys em uses a g anula i y coa se han he da a-elemen o specula i e da a, o example a he cache le el, alse con lic s may appea , leading o unnecessa y squashes o specula i e h eads. The ollowing sec ion desc ibes he ideas ha led o mode n TLS echniques. 3. PRECURSORS One o he i s app oaches cen e ed on he pa alleliza ion o loops ha may p esen dependence iola ions was he one p oposed by [Knigh 1986]. Wi h he unc ional languages in mind, speci ically he Mul i-Lisp app oach, [Hals ead 1985] in oduced a ha dwa e app oach ha allowed specula ion h ough he use o wo di e en caches, one dedica ed o s o ing hose alues loaded om memo y, and he o he used o hold hose alues p oduced by he p ocesso whose accu acy was no con i med ye , hus using lazy e sion managemen (see Sec . 2.4.2). [Midki and Padua 1987] desc ibed a solu ion o synch onize he concu en execu ion o singly-nes ed loops, while [Zhu and Yew 1987] desc ibed an algo i hm o handle all ypes o loops desc ibed in Sec . 2.1. ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. ZZ:8 A. Es ebanez, D. R. Llanos, and A. Gonzalez-Esc ibano [Aiken and Nicolau 1988] desc ibed ano he scheduling algo i hm (see Sec . 2.4.4), which analyzed loops and ob ained he op imal, dependence- ee dis ibu ion, making use o compile- ime analysis echniques (See Sec .2.4.4). In hose yea s, [Bax e e al. 1989] pe o med esea ch o ex ac some pa allelism o Doconside loops, a kind o egula Doac oss loops (see Sec . 2.1). whe e i e a ions could be ea anged, in o de o p ese e dependence seman ics, and pa allelize as many i e a ions as possible. They de eloped a compile plugin ha di ided i e a ions in o subse s o i e a ions ha de- pend on each o he , so as o execu e se e al independen subse s a he same ime. Al- hough his pape was ocused on p og ams whose dependences a e known a compile ime, i also men ioned codes no schedulable a s a - ime [Mi chandaney and Sal z 1988; Sal z and Mi chandaney 1988], which a e codes whose dependences could only be ex ac ed du ing hei execu ion, and he e o e a compile- ime scheduling mech- anism is no applicable. [K o hapalli and Sadayappan 1988] explo ed a solu ion o emo e an i and ou pu dependences (see Sec . 2.1). Fo ha pu pose, hey pe o med a e e ence analysis, s o ing mul iple copies o suspicious a iables used in he loop. La e , [K o hapalli and Sadayappan 1990] p oposed a dynamic schedule based on syn- ch onism (see Sec . 2.4.4), ha allowed doac oss loops o be add essed wi h complex in e -i e a ion dependences. A e wa ds, [Wol and Lam 1991] used ma ices o ans- o m and pa allelize loops in a gene al way, wi h he help o compile- ime scheduling mechanisms capable o dealing wi h nes ed loops. The idea o he use o a dynamic inspec o -execu o model appea ed a ha ime. Wi h his app oach, an inspec o loop checks o dependences in a p elimina y phase, and i no dependences a ise, a second phase execu es he loop in pa allel. [Sal z e al. 1991] in oduced his me hod in o de o pa allelize loops, showing ha his echnique allowed a signi ican pe o mance imp o emen in loops wi h a big numbe o ope a- ions, whe e inspec o phase ime was no signi ican compa ed o he execu o phase. Howe e , none o hese app oaches pa allelize loops wi h ou pu dependences. [Chen e al. 1994] de eloped a so wa e solu ion ha educed delays be ween p ocesso com- munica ions and allowed he pa alleliza ion o loops wi h ou pu dependences. They eused some esul s du ing he execu ion, allowing he o e lap o dependence i e a- ions and he sha ing o some in o ma ion be ween inspec o and execu o phases. 4. HARDWARE-BASED APPROACHES Se e al ha dwa e implemen a ions ha e been de eloped o suppo TLS, mainly h ough he addi ion o auxilia y egis e s o manage specula ion. E en hough mos ha dwa e app oaches ha e some pa s implemen ed in so wa e, in his sec ion, we will e iew bo h pu e ha dwa e-based and mixed implemen a ions. The e a e mainly wo ways o implemen TLS on ha dwa e (HTLS): De eloping a chip om sc a ch, o cus omizing an exis ing chip. The modi ica ion o an exis ing chip led o he de elop- men o Simul aneous Mul i h eading (SMT) p ocesso s3. This sec ion is s uc u ed in h ee pa s. The i s desc ibes he app oaches ha did no ely upon any p e iously de eloped scheme; he second de ails hose based on he SMT a chi ec u e; and he hi d depic s hose ha p oposed CMP enhancemen s. 4.1. Pionee s 4.1.1. Mul iscala pa adigm. [Sohi e al. 1995] de eloped he Mul iscala p ocesso , one o he i s and mos impo an app oaches ha execu ed sequen ial code (called asks) 3[Packi isamy e al. 2008; Tang e al. 2005] compa ed SMT wi h CMP (Chip Mul ip ocesso s) in he con ex o TLS, gi ing a pe spec i e o pe o mance, powe and he mal; [Unge e e al. 2003] desc ibed chips ha suppo mul i h eading. Howe e , a ull desc ip ion o hese p ocesso s is beyond he scope o his su ey, and will no be p o ided. ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. A Su ey on Th ead-Le el Specula ion Techniques ZZ:9 in pa allel h ough specula ion. The unde lying idea was o pe o m some asks in pa allel wi h he use o a chip ha included se e al p ocesso s, ensu ing sequen ial seman ics. Pa alleliza ion was o ganized by using g aphs o asks. In his way, each p ocesso ecei ed a ask and execu ed i . Consis ency was ensu ed wi h he help o addi ional con ol logic, ha synch onized he p oduc ion o egis e alues in p ede- cesso asks wi h he consump ion in successo asks. A ha dwa e moni o also en- su es co ec ness in specula i e memo y accesses. The execu ion o pa allel asks in each p ocesso ollowed a ixed o de , needed o ensu e sequen ial seman ics. To han- dle his, a ing o p ocesso s was p oposed. I a p ocesso used a w ong alue om a p edecesso , i s ask was squashed and es a ed (see Sec . 2.4.5). When each p oces- so inished i s execu ion, alues we e commi ed in he o de imposed by he ing. As will be seen in Sec . 5.1.2, his idea was la e used by se e al so wa e-based TLS so- lu ions o implemen sliding-window mechanisms. The au ho s also sugges ed he use o a alue p edic o (see Sec . 2.3.3) o educe squash o e heads, and o imp o e load balance among p ocesso s in o de o a oid was ing compu a ional cycles, h ough he choice o an app op ia e g anula i y. [Sohi e al. 1995] a i med ha co ec ness o he ope a ions could be ensu ed by di e en ha dwa e implemen a ions. A ull desc ip- ion o one ha suppo s he Mul iscala a chi ec u e can be ound in [B each e al. 1994; B each 1998; F anklin 1993; Vijaykuma 1998]. [Vijaykuma 1998; Vijaykuma and Sohi 1998] also desc ibed e icien ways o choosing a good ask di ision by using compile- ime scheduling echniques (see Sec . 2.4.4). Imp o emen s in he s o age o specula i e alues. Se e al solu ions ied o educe o e heads wi h he use o lazy e sion managemen (see Sec . 2.4.2) [F anklin and Sohi 1996; Gopal e al. 1998] desc ibe se e al me hods o suppo di e en da a e - sions p oduced du ing specula i e execu ion, h ough he use o ha dwa e wi h he Mul iscala a chi ec u e. [F anklin and Sohi 1996] p oposed ARB, an Add ess Resolu- ion Bu e used by all p ocesso s. This solu ion in oduced some o e heads due o he a ic caused by he simul aneous accesses o he ARB. [Gopal e al. 1998] p oposed a Specula i e Ve sioning Cache (SVC), in ended o o e come he limi a ions o ARB by assigning a di e en cache o each p ocesso . [Jacobson e al. 1997a] s udied di e en b anch p edic ion echniques o con ol specula ion (see Sec . 2.3.1): An au oma a- based p edic o , a p edic ion based on he his o y, and an add ess p edic o o jumps and indi ec calls. 4.1.2. The T ace p ocesso . [Ro enbe g e al. 1997] de eloped an a chi ec u e based on he pa allel execu ion o aces. Unlike he asks used in he Mul iscala pa adigm, ha we e ob ained by he compile di iding he sequen ial p og am, a ace is a dy- namic sequence o ins uc ions ha a e buil as he p og am execu es, and s o ed in a so-called ace cache [Ro enbe g e al. 1996]. This p oposal consis ed o a p ocesso composed o di e en p ocessing elemen s, each ha ing he o ganiza ion o a small- scale supe scala p ocesso , wi h enough space o hold an en i e ace and enough unc ional uni s and egis e iles. Ins uc ions we e execu ed in pa allel, while in e - ace dependences we e specula ed wi h he use o alue p edic o s. Imp o emen s o T ace. [Pa el e al. 1998] de ised a way o educe he size o aces and a modi ica ion o b anches wi h he aim o making hem mo e p edic able. [Black e al. 1999] modi ied he o iginal T ace app oach, managing aces as se ies o poin e s o basic blocks s o ed in cache. [Ro enbe g and Smi h 1999] add essed he p oblem o con ol independence o be e exploi he pa allelism o his a chi ec u e, using con ol specula ion (see Sec . 2.3.1) o s uc u e codes in o con ol-independen code blocks. [Jacobson and Smi h 2000] imp o ed he ins uc ion dispa ching o ace caches h ough he cons uc ion o se s o aces be o e hey we e needed. Se e al yea s la e , ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. ZZ:16 A. Es ebanez, D. R. Llanos, and A. Gonzalez-Esc ibano in o de o ake ad an age o he wo k ca ied ou be o e a dependence iola ion ap- pea s, and hus ied o minimize he numbe o squashed h eads o hose ha had ac ually consumed a pollu ed alue and i s sucesso s (a echnique known as inclusi e squashing (see Sec . 2.4.5). Again, we will ollow a his o ical pe spec i e o desc ibe he esea ch in his ield. We will i s cen e ou a en ion on hose solu ions whe e p og amme s should explic- i ly in oke un ime lib a y unc ions and/o compile suppo o manage specula i e execu ion. Then, we will mo e o solu ions ha a e based on highe -le el p og am- ming abs ac ions. We will inish his discussion wi h some p oposals ela ed o TLS beha io , and a b ie e iew o some wo ks ha mixed TLS wi h o he echniques. 5.1. Solu ions elying on compile- ime and un ime suppo Fi s app oaches equi ed p og amme s o use di e en me hods o explici ly in oke TLS mechanisms. The mos ep esen a i e ones a e desc ibed below. 5.1.1. LRPD es . We can place he o igins o So wa e TLS (STLS) in he wo k ca ied ou by [Rauchwe ge and Padua 1995; 1999], wi h hei esea ch in he pa allelism o doall loops. They p oposed he use o a es called LRPD o suppo he specula i e pa - alleliza ion o loops wi h some back acking capabili ies. This p oposal e-execu ed he loop se ially i he un ime es ailed, a squashing solu ion ha is simple o implemen bu wi h a huge cos in case o misspecula ion (see Sec . 2.4.5). The p oposal wo ked as ollows: The a ge loop was i s ly ans o med h ough p i a iza ion ( ha is, mak- ing p i a e copies o sha ed a iables) and educ ion pa alleliza ion (de e mining a compile- ime ha ce ain ope a ions a e indeed educ ions, and eplacing hem wi h a pa allel algo i hm), and hen i was specula i ely execu ed as a doall loop. Du ing his pa allel execu ion, he es s o ed he i e a ion numbe whe e sha ed a iables we e de ined and/o used. A e he pa allel loop execu ion, a ully-pa allel da a dependence es was applied o e his in o ma ion o ensu e ha he loop had no c oss-i e a ion dependence. I he es ailed, he loop was sequen ially e-execu ed. O he wise, he pa allel execu ion o he loop was conside ed success ul. This app oach had he dis- ad an age o de ec ing c oss-i e a ion dependences only a e he end o he pa allel execu ion, hus implying a hea y pe o mance penal y. [Gup a and Nim 1998] p e- sen ed a mo e e icien me hod o specula i e a ay p i a iza ion ha did no equi e he compu a ion o be olled back when a pa icula a iable was ound o p oduce a dependence iola ion. To do so, hey p esen ed a echnique ha allowed he ea ly de ec ion o loop-ca ied dependences, and ano he ha de ec ed pa alleliza ion haz- a ds immedia ely a e hey we e p oduced. In addi ion, hey p oposed a se o new un ime es s o specula i e pa alleliza ion o loops ha de ied pa alleliza ion me h- ods based solely on s a ic analysis. [Dang e al. 2002] de eloped a echnique o ex ac he maximum a ailable pa allelism o loops ha we e known o p esen some depen- dences. This solu ion p esen ed an e olu ion o he LRPD es , called Recu si e LRPD (R-LRPD). The basic idea was o ans o m a pa ially-pa allel loop in o a sequence o ully-pa allel loops. A each s age, his p oposal specula i ely execu ed all emaining i e a ions in pa allel and he R-LRPD es was applied o de ec he po en ial depen- dences. 5.1.2. So wa e e sions o ha dwa e solu ions. [Rundbe g and S ens ¨ om 2000] applied many o he ideas o ha dwa e-based specula i e a chi ec u es in so wa e. Fi s , name dependences we e sol ed by dynamically enaming da a a un ime. Second, he o e - head o es o ing he o iginal si ua ion a e a misspecula ion was g ea ly educed by educing he amoun o da a o commi , and by suppo ing pa allel implemen a- ions o he commi phase. Thi d, some an i da a dependence iola ions we e a oided by suppo ing lazy e sion managemen wi hou he need o en o ce synch oniza ions ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. A Su ey on Th ead-Le el Specula ion Techniques ZZ:17 be ween a pai o con lic ing h eads. Fou h, ue da a dependence iola ions we e de- ec ed when hey happened, which educes he cos o misspecula ions. To do so, each ins uc ion on specula i e da a was augmen ed wi h a checking code ha de ec s da a dependence iola ions dynamically, ha is, using eage con lic de ec ion (Sec . 2.4.3). Finally, i commi ed da a ollowing sequen ial seman ics. [Cin a and Llanos 2003; 2005] de eloped a di e en scheme based on an agg essi e sliding window. I checks o da a dependence iola ions on e e y specula i e s o e, while a oiding synch oniza ion whene e possible. The sliding window used consis ed o an a ay o slo s which s o e he s a us o each unning h ead, and poin e s o hei own e sion o he specula i e da a, Commi s we e ca ied ou in o de om he non- specula i e h ead. Each ime a commi ope a ion was inished, he sliding window ad anced one posi ion, allowing a new, mos -specula i e h ead o s a . This solu ion used lazy e sion managemen , eage con lic de ec ion and inclusi e squashing. Mo e ecen ly, [Es ebanez e al. 2014b] imp o ed his solu ion wi h a di e en implemen- a ion ha suppo ed he specula i e access o dynamically-alloca ed da a s uc u es and suppo o he use o poin e a i hme ic. This solu ion used a sophis ica ed me a- da a managemen (see Sec . 2.4.1) wi h he help o hash ables o educe he ime needed o ind he mos up- o-da e e sion o a da um (see Sec . 2.3.2), a p oblem also desc ibed in [Tian e al. 2010b]. 5.1.3. Based on mas e /sla e pa adigm. [Zilles and Sohi 2002] in oduced he Mas- e /Sla e specula i e pa allelism, a new kind o specula ion whose basics we e he use o a mas e h ead and some sla es ha pe o med he ask assigned by hei mas e . The main idea o his echnique was o di ide a compile ime he p og am in o asks ha would be ca ied ou by he sla es, while he mas e h ead p edic ed he alues ha would be p oduced by each ask and con inued wi h he execu ion o he code wi hou wai ing o hei esul s. This app oxima ion needed o check all he alues p oduced by sla es a e he execu ion o a ask wi h espec o he alues p edic ed by he mas e . I bo h we e equal, he mas e ’s p edic ion had been success ul, on he o he hand, a misspecula ion had been de ec ed. In his case, he wo k inco ec ly ca - ied ou by he mas e and all sla es since he las checkpoin needed o be disca ded and e-execu ed. 5.1.4. Au oma ic h ead ex ac ion. [O oni e al. 2005] p oposed an au oma ic app oach o h ead ex ac ion. The sys em, called DSWP, exploi ed he ine-g ained pipeline pa allelism o many applica ions o ex ac long- unning, concu en ly execu ing h eads. Thei esul s showed signi ican imp o emen s when execu ing hese appli- ca ions on a dual-co e CMP. 5.1.5. Complemen ing compile- ime echniques o au o-pa alleliza ion. [Tou na i is e al. 2009] p oposed he use o p o ile-d i en pa allelism de ec ion o augmen he numbe o loops ha may conside ed sa e o pa allelize, elying on he use o inal app o al. This wo k also uses machine-lea ning echniques o ake be e mapping decisions o di e en a ge a chi ec u es. 5.1.6. O he solu ions: SpLIP, MiniTLS, and La e . [Oancea e al. 2009] de eloped SpLIP, a specula i e ool cen e ed on dec easing o e heads o specula i e ope a ions o p e i- ous app oaches, implemen ing non-locking ope a ions whe e was possible, making use o hash unc ions o me ada a managemen (see Sec . 2.4.1) and elying on e sions o da a ins ead o ollbacks (see Sec . 2.4.2). [Yiapanis e al. 2013] in oduced a new s uc u e ha educed memo y o e heads o classical app oaches based on he idea o mapping e e y use -accessed add ess in o an a ay o in ege s using a hash unc- ion. The au ho s implemen ed his compac da a s uc u e in wo app oaches, namely MiniTLS and La e . The main cha ac e is ic o MiniTLS was ha h eads upda ed ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. ZZ:18 A. Es ebanez, D. R. Llanos, and A. Gonzalez-Esc ibano memo y loca ions in-place, and also ha all ope a ions ollowed as and op imis ic design pa e ns. As in SpLIP, hash unc ions we e used o me ada a managemen . Howe e , his app oach used ollback mechanisms ins ead o e sion managemen , because specula i e h eads modi ied alues di ec ly, possibly p oducing e o s ha needed o be handled. This solu ion is simila o SpLIP, so bo h we e compa ed in his wo k. La e ollowed a di e en design, implemen ing a lazy e sion managemen o alues, oge he wi h pessimis ic design pa e ns in i s ope a ions. The s uc u e used was a bi di e en , bu i was based on he same ope a ions and pa e ns. This ap- p oach also in oduced a combina ion o inspec o -execu o echniques (desc ibed in Sec . 3) and he LRPD es (desc ibed in Sec . 5.1.1), implemen ing he new solu ion upon hem. 5.1.7. TLS compile and un ime o dis ibu ed sys ems. [Kim e al. 2012] p esen an au- oma ic specula i e pa alleliza ion sys em o clus e s, composed o a pa allelizing compile and a specula i e un ime ha minimizes he o e heads due o alida ions, h ough he use o lazy e sion managemen and con lic de ec ion.. O he STLS un- ime solu ions o dis ibu ed en i omen s a e co e ed in Sec . 5.4. 5.1.8. TLS o web applica ions. [Ma insen e al. 2013] used a specula i e mechanism in he con ex o web b owsing. To do so, hey implemen ed hei so wa e by means o he Squi el ish Ja aSc ip en i onmen , ha enabled he pa allel execu ion o Ja asc ip unc ions. They modi ied Squi el ish in e p e e o enable each ins ance o he in e - p e e o be execu ed as a h ead, while execu ing as many ins ances as unc ions. The used a iables we e main ained in a special ec o ha showed modi ied alues o de ec dependence iola ions. The use o TLS in his con ex allowed hese au ho s o achie e no iceable speedups. 5.1.9. Apollo. [Jimbo ean e al. 2012a; Jimbo ean 2012; Jimbo ean e al. 2013] in- oduced a TLS amewo k specially designed o specula i ely execu e nes ed loops, by using ea u es o he polyhed al model [Ancou and I igoin 1991] o dynamically ans o m code in o a mo e op imized e sion ha led o highe speedups. Fi s , a com- pile [Jimbo ean e al. 2012b] gene a ed skele ons6 ha we e he basis o execu ions, due o hei abili y o p oduce di e en code e sions ha could be selec ed a un- ime. Then, a dynamic pa was esponsible o (a) ep esen ing memo y accesses as p edic ing linea unc ions o he loop indices, wi h he help o in e pola ing unc ions, (b) pe o ming dynamic dependence analysis and ans o ma ion selec ion, (c) ins an- ia ing he pa allel skele on code, and (d) guiding he execu ion. The execu ion was based on p o iling he code se e al imes du ing he execu ion in o de o choose he polyhed al ans o ma ions ha could be e speed up he execu ion. The de ec ion o dependence iola ions (see Sec . 2.3.2) was done a h ee le els: Basic scala s, memo y accesses, and loop bounds. This amewo k led he au ho s o pa allelize some bench- ma ks ha had no been pa allelized be o e due o dependence managemen hu dles. 5.1.10. HVD-TLS. [Fan e al. 2012] de eloped a so wa e-based specula i e amewo k ha imp o ed classical TLS mechanisms by he de elopmen o new echniques o im- p o e alue p edic ion (see Sec . 2.3.3), alue checking, dynamic ask pa i ion, and scheduling (see Sec . 2.4.4). P edic ions pe o med we e done using se e al p edic- o s based on he o iginal alue o he a iables in con lic . Such p edic ions used a p edic o able ha also main ained he numbe o co ec p edic ions. Values we e checked by he main h ead o p e en commi ing unmodi ied alues, a si ua ion e- 6Skele ons [Da ling on e al. 1993] a e a se o high-o de pa allel o ms in ended o be used as basic build- ing blocks o pa allel implemen a ions. They include p og am ans o ma ions o ease po abili y be ween di e en sys ems. ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. A Su ey on Th ead-Le el Specula ion Techniques ZZ:19 pea ed many imes acco ding o he au ho s. Also, his sys em allowed di e en le - els o g anula i y o be assigned a un ime, ollowing a linea scheme o a heu is ic scheme, whe e he sys em moni o ed he execu ion and changed he g anula i y ac- co dingly. 5.2. Solu ions elying on addi ional p og amming abs ac ion laye s Ou second se o so wa e-based solu ions eased he use o TLS by o e ing new, highe -le el abs ac ion laye s. 5.2.1. Fas T ack. [Kelsey e al. 2009] de eloped a sys em called Fas T ack, whe e a p og amme can ins all po en ially-unsa e op imized code while lea ing he ask o e o checking and eco e y o he unde lying implemen a ion. Speci ically, hei p o- g amming in e ace allowed use s o sugges as e implemen a ions based on pa ial knowledge o a p og am and i s usage. Fas T ack di ided code in o wo b anches, he as ack and he no mal ack, and p og amme s could change be ween bo h acks when needed. Thei implemen a ion included bo h compile- ime and un ime suppo . A compile inse s unc ion calls o ensu e ha he as ack p oduced he same e- sul as he sequen ial execu ion. To p o ec un ime da a, he sys em elied on he compile o inse checking code ha p o ec s s ack da a. Rega ding global and heap da a, he sys em elied on he ope a ing sys em o p o ec hem, by u ning o w i e pe missions o hem in bo h acks, and ins alling cus om page- aul handle s. These handle s i s eco ded which page had been modi ied in an access map and hen e- enabled w i e pe missions. The un ime suppo checked p og am co ec ness h ough he compa ison o esul s a he end o he acks. I bo h esul s we e simila , esul s we e supposed o be co ec . O he wise, he as ack esul s we e disca ded. In his sys em, one p ocesso was ese ed o un he as ack, and he es o he execu ion o no mal acks. 5.2.2. The Copy-o -Disca d model. [Tian e al. 2008; 2009] p oposed he Copy-o -Disca d (Co D) execu ion model, in which he execu ion o pa allel h eads was sepa a ely managed by a non-specula i e one. Specula i e h eads ead alues o he non- specula i e h ead and pe o med hei compu a ion. A e ha , specula i e h eads we e commi ed in o de . Then, esul s we e checked by a non-specula i e h ead so as o p ese e he seman ics o he sequen ial o de , using a lazy con lic de ec ion (see Sec . 2.4.3). The commi ope a ion was pe o med by he non-specula i e h ead h ough he Co D mechanism, which checked whe he esul s we e co ec . In his case, esul s we e copied o he non-specula i e da a. O he wise, hey we e disca ded a no addi ional cos , hanks o he use o e sion copies. Co D and dynamic memo y. The Co D app oach did no gi e suppo o hose appli- ca ions whose specula i e a iables we e dynamically alloca ed, so [Tian e al. 2010b] enhanced Co D o be used wi h p og ams ha had such dynamic da a s uc u es. The main p oblem o his app oach was da a a e sing, because a dynamic s uc u e could change hei size du ing he execu ion. Poin e s imposed ano he p oblem, since a specula i e copy o a dynamic s uc u e migh ha e a poin e wi h an add ess o a non-specula i e copy. In o de o sol e hese p oblems, hey p oposed using a mapping able ha ansla ed add esses among specula i e and non-specula i e h eads. They also included op imiza ions in he ea men o linked s uc u es. Finally, [Tian e al. 2010a] used a alue p edic o o imp o e he pa alleliza ion o p og ams wi h equen and p edic able c oss-i e a ion dependences (see Sec . 2.3.2). Reducing misspecula ions. [Tian e al. 2011] la e ied o u he educe misspec- ula ions. They p oposed an app oach in ended o euse almos all he co ec calcu- la ions pe o med by a h ead whose i e a ions had su e ed dependence iola ions, ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. ZZ:20 A. Es ebanez, D. R. Llanos, and A. Gonzalez-Esc ibano ins ead o disca ding all his in o ma ion, as mos app oaches did. To do so, hey used a pa ial specula i e space in addi ion o he p ima y specula i e space o each h ead. This new space main ained he i s ead alues o a specula i e a iable. I a misspec- ula ion was ound, only he successo spaces o he o ending space we e squashed (see Sec . 2.4.5). This app oach led o be e pe o mance and o a educ ion in he numbe o dependence iola ions, due o lowe eco e y imes. 5.2.3. TLS based on he use o compile- ime di ec i es. [Bhowmik and F anklin 2002] de- sc ibed a compile amewo k o TLS ha allowed he pa alleliza ion o all ins uc- ions o a code, ins ead o only hose ha compose a loop. This ea u e specially bene- i ed non-nume ical applica ions wi h complex ins uc ions. Codes we e ini ially ana- lyzed by he compile and p o iled o p oduce a con ol low g aph. I was hen used o p oduce pa i ions ha could be execu ed by mul iple h eads. [Chen e al. 2003] also de eloped a compile ha ocused on p o iding a quan i a i e analysis o codes wi h complex dependences. Thei aim was o gi e p obabili ies abou he possible lows o he code, and de ec i a squash was likely o be p oduced. Mi osis. Mi osis is a compile amewo k de eloped by [Qui˜ nones e al. 2005] ca- pable o deciding which agmen s o code could be specula i ely execu ed. To do so, he Mi osis compile ma ked he beginning o a egion whose ou come could be spec- ula i ely guessed wi h a so-called spawning poin (SP), and i s end wi h he con ol quasi-independen poin (CQIP) ma k. When he sequen ial execu ion eached he SP, a specula i e h ead was launched. This h ead p edic ed he possible alues o he ou come o he pa allel egion and used hem o s a he specula i e execu ion o he code om he CQIP. Meanwhile, he non-specula i e h ead con inued i s execu ion. I no e o s we e p oduced, specula i e h eads we e commi ed, o he wise, hey we e disca ded. The choice o hese spawning poin s was a key pa o he wo k. To do so, ma ks we e chosen wi h he use o a syn he ic ace. I selec ed he mos sui able pa s o codes o be specula i ely execu ed ega ding some equi emen s, such as he amoun o wo kload o ou ines wi h espec o he o al, o possible misspecula ions. Spice C. SpiceC was an app oach p oposed by [Feng e al. 2011]. SpiceC imple- men ed a numbe o di ec i es ha , when added o sequen ial code, eased pa allel p og amming. P og amme s did no need o be pa icula ly ca e ul abou communi- ca ions o dependences, because his model suppo ed doall,doac oss, pipelining and specula i e pa allelism. This solu ion also suppo ed dynamic s uc u es and poin e add esses. SpiceC h eads had hei own p i a e space o da a. A sha ed global space was used o s o e sha ed da a. Th eads’ i s accesses we e e e ed o sha ed space and loaded o each local space, whe e ollowing accesses we e edi ec ed o. When h eads ended hei execu ions, hey checked o misspecula ions, and commi ed hei da a o he sha ed space i hey we e co ec . Di ec i es we e simila o OpenMP’s [Dagum and Menon 1998], so sequen ial p og ams only needed a ew addi ional di ec- i es: A di ec i e o sugges wha kind o pa allelism would be used, and ano he o ma k whe e commi ope a ions had o ake place. [Feng e al. 2012a] ex ended SpiceC wi h some addi ional di ec i es o suppo I/O ope a ions wi hin pa allel loops. To he bes o ou knowledge, his was he i s ap- p oach ha add essed he pa alleliza ion o his kind o codes h ough TLS. The main idea behind his esea ch was o b eak he c oss-i e a ion dependences caused by I/O ope a ions (see Sec . 2.3.2) modi ying he o iginal code. To pa allelize inpu ope a ions, his app oach calcula ed ile poin e s be o e en e ing he loop o be used in each i e - a ion. File poin e copies we e c ea ed on demand by he i e a ions ha used hem. Rega ding ou pu ope a ions, hey equi ed he use o some addi ional bu e s, in o - de o s o e in e media e ou pu s p oduced by each h ead. Each ou pu alue was ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. A Su ey on Th ead-Le el Specula ion Techniques ZZ:21 s o ed in he co esponding h ead bu e and lushed a he end o each i e a ion ol- lowing sequen ial seman ics. [Feng e al. 2012b] also augmen ed SpiceC di ec i es o pa allelize loops wi h dynamically-linked da a s uc u es. This wo k ied o manage di e en da a pa i ions o loops using he same code, add essing he p oblem o codes whe e mul iple h eads managed se e al da a pa i ions. ATLaS. [Aldea e al. 2014; 2015] de eloped a GCC plugin so as o add loop-based TLS suppo o OpenMP. Thei p oposal include he de elopmen o a new OpenMP specula i e clause o be used in o loops [Aldea e al. 2012], which allowed p og am- me s o decla e all a iables whose eads o w i es may lead o dependence iola ions. The use o his clause gua an eed ha all de ini ions and uses o specula i e a iables would ollow sequen ial seman ics. The ATLaS amewo k consis ed on a GCC plug-in ha ga e suppo o he new specula i e clause, and a un ime lib a y ha managed he specula i e execu ion. The ATLaS un ime lib a y is able o anspa en ly suppo specula ion o e a iables o any size, and pe mi s he use o poin e a i hme ic. I s implemen a ion o e ed e sion managemen , eage con lic de ec ion, ixed, dynamic, and adap i e chunk scheduling, and bo h inclusi e and exclusi e squashing. The in- e nals o he un ime lib a y ha managed dependence iola ions we e desc ibed in [Es ebanez e al. 2014b]. The en i e ATLaS amewo k can be eely downloaded om a las.in o .u a.es. 5.2.4. The Galois model. [Kulka ni e al. 2007; 2009] in oduced Galois, a sys em ha suppo ed complex poin e -based se s o elemen s in op imis ic pa allelism. They we e cen e ed on benchma ks ha should ge a subse o poin s om a big se , in o de o ob ain a solu ion o he p oblem. To do so, hey in oduced wo cons uc s called op imis ic i e a o s ha could be added o objec -o ien ed p og amming languages like Ja a: The se i e a o , in ended o execu e a loop ha p ocesses in pa allel an uno de ed se o elemen s, and he o de ed-se i e a o , ha a e ses in pa allel pa ially-o de ed se s while ensu ing sequen ial seman ics. The consis ency o da a was implemen ed using locks. Mo eo e , o allow eco e y om misspecula ions, all ope a ions had hei co esponding in e se me hods. Wi h his pu pose, an undo log was de ined o each i e a ion. In o de o manage all i e a ions, his solu ion de ined a commi pool ha con ained da a such as he s a e o i e a ion execu ions, o he posi- ion o he log. I con olled he en i e execu ion, deciding how i e a ions we e assigned and commi ed, con lic s we e sol ed, e c. E iciency imp o emen h ough da a pa i ioning. A e ha , [Kulka ni e al. 2008] in oduced some mechanisms aimed o imp o e he e iciency o Galois, by be e ex- ploi ing locali y o e e ence, educe mis-specula ion, and p oducing a lowe synch o- niza ion o e head. The mechanisms p oposed include da a pa i ioning, o assign ele- men s o da a s uc u es o co es; da a-cen ic assignmen policy o imp o e locali y; eplacing ine-g ain synch oniza ion on da a s uc u e elemen s by coa se -g ain syn- ch oniza ion on da a s uc u e pa i ions; and o e -decomposi ion o da a, o assign se e al pa i ions o he same co e, hus a oiding ha a lock on a pa i ion s alls he execu ion o ha co e. Scheduling. [Kulka ni e al. 2008] add essed he p oblem o scheduling (see Sec . 2.4.4), de eloping an addi ional amewo k o Galois. Al hough i e a ions could be execu ed in any o de wi hin hei baseline scheduling policy, his wo k showed he ine iciencies associa ed o his beha io , and p oposed an imp o emen based on clus- e ing (selec a clus e o i e a ions), labelling (assign he selec ed clus e s o co es), and o de ing (o de o he clus e s o be execu ed) o i e a ions. Scheduling s a egies o i egula applica ions in TLS we e also add essed by [Jo and Kulka ni 2010] wi h Galois. Thei s a egies wen om “s ealing” he wo k o o e loaded p ocesso s by idle ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. ZZ:22 A. Es ebanez, D. R. Llanos, and A. Gonzalez-Esc ibano p ocesso s in he s a ic assignmen , o using a cen alized place as a wa ehouse o he ex ac ed pa i ions. A p o ile : Pa aMe e . [Kulka ni e al. 2009b] de eloped a ool o ex ac pa allelism p o iles om i egula applica ions. This me hod ook abs ac measu es o he in- he en pa allelism o he di e en poin s o a code, showing ins uc ions ha could be execu ed concu en ly. Al hough his ool has been used in he con ex o Galois, he au ho s a i med ha i is amewo k-independen . [Kulka ni e al. 2009a] also in oduced a sui e o benchma ks o es i egula applica ions wi h he use o TLS lib a ies, including hose used in he men ioned pape s. 5.2.5. Op imizing i egula applica ions. [M´ endez-Lojo e al. 2010] desc ibed h ee manual echniques o op imize i egula applica ions in o de o imp o e hei pa allel execu- ion. The i s one was based on he idea o modi ying codes in such a way ha all ead ope a ions we e done be o e any w i e ope a ion. The second one, called “one- sho ”, was based on he de ec ion o dependences be o e he execu ion. I none we e de ec ed, checks o hem could be disabled, and code could be pa allelized wi hou locks. Finally, o hose algo i hms whose bo lenecks we e loca ed in he accesses o da a se s (app op ia e o he benchma ks es ed by hem, desc ibed in [Kulka ni e al. 2009a]), hey de eloped he “i e a ion coalescing” op imiza ion. While in Galois he e was a one- o-one co espondence be ween i e a ions and da a elemen s o be p ocessed (which was called ac i i ies), his i e a ion allowed a single i e a ion o g ab mul i- ple ac i e elemen s om he se o da a elemen s o be p ocessed (called he wo king se ), hus educing he o e head associa ed o hei access. La e , [P oun zos e al. 2011] comple ed his wo k by au oma izing he manual echniques desc ibed. They add essed again he o e head p oblems ha eme ged om op imis ic pa alleliza ion, speci ically, hose ela ed o con lic checking and undo ac ions. The cen e o his e- sea ch was o educe locks and ollbacks o he sha ed objec s, using some in e ed p ope ies. In 2011, [Kulka ni e al. 2011] analyzed whe he he o de used o launch me hods a ec ed execu ion imes. 5.2.6. SEED. An app oach o specula i e loop execu ion ha handled nes ed loops was ecen ly p oposed by [Gao e al. 2013]. They de eloped and implemen ed SEED, a ool ha p o ided a un ime schedule capable o adap i ely selec ing loops o pa al- leliza ion in e ms o hei po en ial bene i s, by pe o ming a cos -bene i analysis ha ook in o accoun he inpu da a. This ool was composed by wo phases, one ela ed o compila ion ime, and he o he ela ed o un ime. In he compile phase, loops we e selec ed, h eads we e exposed in o de o be la e c ea ed, and he esul ing code was op imized using p ecompu a ion and so wa e alue p edic ion (see Sec . 2.3.3) o e- duce misspecula ions. A un ime, he basic TLS ope a ions, such as h ead spawning, dependence iola ions de ec ion, and squashes, we e ca ied ou , oge he wi h he use o adap i e scheduling echniques (see Sec . 2.4.4) ha we e sensi i e o inpu da a. 5.3. TLS mixed wi h o he echniques 5.3.1. Helpe h eads, unahead and mul i pa h execu ion. [Xekalakis e al. 2009] p oposed a model ha combined di e en echniques such as TLS, helpe h eads, and una- head execu ion, in o de o dynamically choose a un ime he mos app op ia e com- bina ion. The helpe h eads echnique is based on he un ime gene a ion o small h eads (also called slices) o imp o e he e iciency o he main h ead, o exam- ple, by esol ing highly-unp edic able b anches and cache misses. By con as , una- head execu ion was based on execu ing ins uc ions in ad ance when a long la ency ope a ion was expec ed. Runahead h eads ei he igno e o p edic he ou comes o his long la ency ope a ion. Consequen ly, unahead h eads would be as e han he ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. A Su ey on Th ead-Le el Specula ion Techniques ZZ:23 o he s, and hey would se e o p edic cache misses o help TLS h eads. In o he wo ds, hese p e e ched h eads we e essen ially helpe h eads ac ing in a unahead mode o help he execu ion o main h eads. The main di e ence o his echnique wi h espec o helpe h eads was ha he o me did no equi e addi ional h eads. [Xekalakis and Cin a 2010] la e combined TLS wi h Mul iPa h execu ion, a ech- nique consis ing in execu ing he wo b anches o ha d- o-p edic b anches. The main idea behind his app oach was o enhance p ocesso s wi h mul iple-con ex execu ion o enable a as way o disca d e oneous da a o w ong b anches. The execu ion had no mal TLS and Mul iPa h modes, depending on he numbe o occu ences o ha d- o- p edic b anches. The p e ious combina ions we e mo e de ailed, ex ended and mixed in [Xekalakis e al. 2012], whe e he au ho s desc ibed a sys em ha applied TLS o loops. O he echniques we e also p oposed, such as he use o p e e ched h eads when delays we e de ec ed. 5.3.2. Con inuous specula ion. [Zhang e al. 2010] desc ibed con inuous specula ion, a echnique whose main objec i e was o achie e ull-occupancy o p ocesso s. Fo ha pu pose, hey used specula ion echniques o achie e he pa alleliza ion o la ge se- quen ial codes. Thei solu ion used a sliding window and a g oup classi ica ion o ensu e he co ec o de o he asks. To ge in o ma ion abou he possibly pa allel egions o a sequen ial code, hey used BOP [Ding e al. 2007; Ding 2011], a ool ha analyzed he p og am beha io o pa allelize i . 5.3.3. STLS and T ansac ional Memo y. The e we e se e al wo ks ha made a join use o TLS and T ansac ional Memo y (TM) solu ions. [Meh a a e al. 2009] desc ibed STM- Li e, a STM implemen a ion cus omized o acili a e p o ile-guided au oma ic loop pa - alleliza ion, by suppo ing TLS using a simpli ied a ian o STM. STMLi e was spe- cially designed o educe o e heads o accesses o logs o a iables used in ansac ions. [Raman e al. 2010] p oposed SMTX, a so wa e sys em ha gene alized exis ing so - wa e TLS memo y sys ems o suppo specula i e pipelining schemes, and was uned o loop pa alleliza ion. I was specially designed o exploi ha dwa e MTX (mul i- h ead ansac ions) capabili ies. Concep ually, an MTX p o ides a p i a e memo y ha was ini ialized wi h he con en s o commi ed memo y a he ime o c ea ion o he MTX. Se e al h eads could pa icipa e concu en ly in he MTX, by pe o ming loads and s o es in his p i a e memo y. A he end o he MTX, i no con lic es we e de ec ed, he con en s o he p i a e memo y we e commi ed. O he wise, he MTX was olled back. [Ba e o e al. 2012] p oposed uni ying so wa e ansac ional mem- o y and STLS in TLSTM. They de eloped a so wa e ool ha imp o ed he execu ion o each ansac ion o pa allel p og ams h ough he use o TLS. 5.3.4. So wa e-based lock elision. [Roy e al. 2009] p oposed a so wa e e sion o he specula i e lock elision p oposed by [Rajwa and Goodman 2001] (see Sec 4.4.2) ha was ully implemen ed in so wa e. I a misspecula ion was p oduced, he sys em exe- cu ed he o iginal lock. Synch oniza ion and p i a iza ion we e implemen ed h ough special ins umen a ion o objec s and h ough signals be ween h eads implemen ed inside he Linux ke nel. 5.4. STLS on dis ibu ed-memo y sys ems The e ha e been some e o s on applying TLS echniques on clus e s o commodi y se e s. [Kim e al. 2010] p esen a un ime moni o called Dis ibu ed So wa e Mul i- h eaded T ansac ional Memo y (DSMTX) ha allows he applica ion o pipeline pa - allelism, mul i- h eaded ansac ions and TLS on dis ibu ed-memo y en i onmen s. [Kodu u e al. 2013] desc ibed dyDSM, a dis ibu ed-sha ed memo y abs ac ion o p ocess la ge dynamic g aphs ha p o ides suppo o exploi ing specula i e pa al- ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. ZZ:24 A. Es ebanez, D. R. Llanos, and A. Gonzalez-Esc ibano lelism. The balance be ween communica ion and compu a ion in g aph-based applica- ions is s udied in [Cha an Kodu u e al. 2014], p oposing a new un ime, called ABC2, ha dynamically modi ied he con igu a ion o he unde lying DSM. Finally, [Palmie i e al. 2011] p oposed a ansac ional eplica ion p o ocol, named OSARE, buil on op o an Op imis ic A omic B oadcas (OAB) se ice, ha in u n was designed o speed up A omic B oadcas s in dis ibu ed-memo y sys ems. OSARE oppo unis ically p o- cesses ansac ions in mul iple, specula i e se ializa ion o de s, o inc emen he like- lihood ha he inal message o de ing es ablished by he OAB se ice ma ches one o he al eady specula ed se ializa ion o de s. 5.5. STLS using GPUs Nowadays, pa allelism applied o GPUs is one o he mos p o i able esea ch ields due o hei la ge numbe o compu ing uni s. This cha ac e is ic makes hem desi - able o ind ways o use TLS wi h hese a chi ec u es. [Liu e al. 2010] discussed how TLS could be co ec ly used in he con ex o GPU compu a ion. Meanwhile, [Diamos and Yalamanchili 2010] ex ended Ha mony, a un ime o he e ogeneous, many-co e sys ems, o suppo specula ion in GPUs. [Samadi e al. 2012] in oduced Pa agon, a solu ion ha combined CPU and GPU execu ions o achie e he bes pe o mance. [Feng e al. 2012; 2014] p oposed a amewo k o un loops specula i ely in GPUs. The main idea o hei solu ion was o di ide he asks ha should be ca ied ou by a spec- ula i e un ime amewo k in o i e ca ego ies, and o assign some o hem o CPUs and he o he s o GPUs. Scheduling, esul s commi ing and misspecula ion eco e - ies we e assigned o CPUs, while compu a ion and misspecula ion checks we e ca ied ou in GPUs. In a mo e ecen app oach, [Zhang e al. 2013] in oduced a new lib a y based on sliding windows ha suppo TLS in GPUs. Classical solu ions ha we e ex- pec ed o ha e a be e beha io wi h GPUs, such as hyb id dependence checking, and he use o a pa allel commi scheme, we e adap ed by hese au ho s o hei so wa e. 5.6. O he p oposals Finally, we will now desc ibe o he so wa e-based app oaches ha uses specula ion in pa icula domains. 5.6.1. Fini e-S a e Machine in TLS. [Zhao e al. 2012; 2014] in oduced he use o p ob- abilis ic analysis in o he design o specula ion schemes. In pa icula , hey ocused on applica ions ha we e based on Fini e-S a e Machines. The au ho s a i med ha his ype o applica ions had he mos p e alen dependences o all he p og ams. They de eloped a p obabilis ic model o o mula e he ela ionship be ween specula i e ex- ecu ions and he p ope ies o he a ge compu a ion and inpu s. Based on ha o - mula ion, hey p oposed wo model-based specula ion schemes ha au oma ically cus- omized hemsel es wi h he bes con igu a ions o a gi en Fini e-S a e Machine and i s inpu s. [Zhao and Shen 2015] p esen ed a se o echniques o emo e he need o o line aining o collec p obabilis ic p ope ies ha help o educe he p obabil- i y o misspecula ions. Ins ead, hei echniques allowed p obabilis ic analysis o be pe o med on- he- ly. 5.6.2. MUTLS. [Cao and Ve b ugge 2013] in oduced a mixed model o o k h eads in bo h in-o de and ou -o -o de ways in a TLS lib a y. Thei wo k was based on he use o he LLVM compile amewo k [La ne and Ad e 2004] which allowed mul- iple sou ce languages and a ge a chi ec u es h ough he use o an in e media e ep esen a ion. MUTLS allowed h eads o o k and join in di e en pa s o he code, and also implemen ed ba ie s o a oid some ollbacks. Func ions anno a ed wi h o k and join poin s a e ans o med a compile ime. Fo each one, a specula i e e sion was gene a ed, ha included helpe unc ions o in e ac ion wi h he TLS un ime ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. A Su ey on Th ead-Le el Specula ion Techniques ZZ:25 lib a y, he use o synch oniza ion poin s, and he assignmen o local bu e s. Th eads we e managed by ou modules: one dedica ed o main aining he s a us o specula i e h eads, wo dedica ed o manage local and global a iables o specula i e h eads, and he las one used o managing o he modules and in e ac wi h he LLVM specula o pass. 5.6.3. TLS o decomp ess: SDM. [Jang e al. 2013] desc ibed a TLS scheme specially designed o be applied o decomp ession algo i hms. Thei app oach was cen e ed on he applica ion o p edic ion echniques based on pa ial decomp ession and pa e n ma ching, o quickly iden i y block chunks ha can be independen ly decomp essed. The ool decomp essed in pa allel all he blocks iden i ied. 6. OTHER STUDIES RELATED TO TLS The e a e se e al wo ks ha used TLS o o he pu poses, such as imp o ing manual pa alleliza ion, o pe o ming module-le el specula ion. O he s udies include how he ene gy consumed by TLS p oposals could be educed. In his sec ion we will e iew some o hem. 6.1. TLS as a help o manual pa alleliza ion In o de o a oid making specula i e codes ha migh be slowe han he o iginal sequen ial ones, some esea che s ha e p oposed echniques o p edic o e heads o specula i e pa alleliza ion. Fo example, he wo k de eloped by [Dou and Cin a 2004; 2007] con ained a compile pass ha can be used o es ima e he o e heads and he expec ed esul ing pe o mance gains, i any. [Ding e al. 2007] p oposed a so wa e- based TLS sys em o help in he manual pa alleliza ion o applica ions. The sys em equi ed he p og amme o ma k “possibly pa allel egions” (PPR) in he applica ion o be pa allelized. The sys em elied on a so-called “ ou namen ” model, wi h di e - en h eads coope a ing o execu e he egion specula i ely, while an addi ional h ead an he same code sequen ially. I a single dependence a ose, specula ion ailed en- i ely and he sequen ial execu ion esul s we e used ins ead. [Ke e al. 2011] imp o ed ha wo k wi h a sys em ha elied on dependence hin s p o ided by he p og amme . This allowed explici da a communica ion be ween h eads, hus educing un ime dependence iola ions. [Ioannou and Cin a 2011] s udied he p oblem o aking ad- an age o u u e many-co e a chi ec u es by complemen ing pa allel p og amming a a coa se-g ain le el wi h ha dwa e TLS suppo o launch ine-g ain implici specu- la i e h eads. O he au ho s ha e ocused on p o iding assis ance o hose p og am- me s ha ex ac TLS om he applica ions. Fo example, [Aldea e al. 2011; Wu e al. 2008] de eloped ools ha made a s a ic and/o dynamic p o ile o he codes, e u ning in o ma ion ha allowed a decision o be made abou which loop would be he bes can- dida e o be specula i ely pa allelized. [P abhu e al. 2010] de eloped some di ec i es and ope a ions o acili a e p og amme s o make hei own specula i e p og ams. [Chen e al. 2004] designed a dependence p o ile o ex ac in o ma ion om a code. [Bha acha yya 2012] also de eloped a simila ool ha s udied he p o i abili y o TLS wi h he use o p o iling. Mo e ecen ly, [Bha acha yya and Ama al 2013] used poly- hed al analysis o de ec dependences o loops a compile ime (see Sec . 2.3.2), s a ing ha his analysis o e came he p e ious one. 6.2. Module-le el specula ion Module-le el specula ion is he applica ion o specula ion in a module-based laye . [Chen and Oluko un 1998] applied his echnique o objec -o ien ed Ja a p og ams. [Wa g and S ens ¨ om 2001] compa ed he use o objec -o ien ed and impe a i e lan- guages in he con ex o Module-le el pa allelism, concluding ha he e we e no sig- ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. ZZ:32 A. Es ebanez, D. R. Llanos, and A. Gonzalez-Esc ibano Robe H. Hals ead, J . 1985. MULTILISP: a language o concu en symbolic compu a ion. ACM T ans. P og am. Lang. Sys . 7, 4 (Oc . 1985), 501–538. DOI:h p://dx.doi.o g/10.1145/4472.4478 Pe Hamma lund and e al. 2014. Haswell: he ou h-gene a ion In el co e p ocesso . IEEE Mic o 2 (2014), 6–20. Lance Hammond, Benedic A. Hubbe , Michael Siu, Manoha K. P abhu, Michael Chen, and Kunle Oluko un. 2000. The S an o d Hyd a CMP. IEEE Mic o 20, 2 (Ma ch 2000), 71–84. DOI:h p://dx.doi.o g/10.1109/40.848474 Lance Hammond, Ma k Willey, and Kunle Oluko un. 1998. Da a Specula ion Suppo o a Chip Mul- ip ocesso . In P oceedings o he Eigh h In e na ional Con e ence on A chi ec u al Suppo o P o- g amming Languages and Ope a ing Sys ems (ASPLOS VIII). ACM, New Yo k, NY, USA, 58–69. DOI:h p://dx.doi.o g/10.1145/291069.291020 John L. Henning. 2006. SPEC CPU2006 Benchma k Desc ip ions. SIGARCH Compu . A chi . News 34, 4 (Sep . 2006), 1–17. DOI:h p://dx.doi.o g/10.1145/1186736.1186737 John L. Henning. 2007. SPEC CPU Sui e G ow h: An His o ical Pe spec i e. SIGARCH Compu . A chi . News 35, 1 (Ma ch 2007), 65–68. DOI:h p://dx.doi.o g/10.1145/1241601.1241615 Mau ice He lihy and J. Elio B. Moss. 1993. T ansac ional Memo y: A chi ec u al Suppo o Lock- ee Da a S uc u es. In P oceedings o he 20 h Annual In e na ional Symposium on Compu e A chi ec u e (ISCA ’93). ACM, New Yo k, NY, USA, 289–300. DOI:h p://dx.doi.o g/10.1145/165123.165164 Ben He zbe g and Kunle Oluko un. 2009. DBT86: A Dynamic Bina y T ansla ion Resea ch F amewo k o he CMP E a. In P oceedings o he 2nd Wo kshop on Pa allel Execu ion o Sequen ial P og ams on Mul i-co e A chi ec u es (PESPMA ’09). 41–46. Ben He zbe g and Kunle Oluko un. 2011. Run ime au oma ic specula i e pa alleliza ion. In P oceedings o he 9 h Annual IEEE/ACM In e na ional Symposium on Code Gene a ion and Op imiza ion (CGO ’11). IEEE Compu e Socie y, Washing on, DC, USA, 64–73. h p://dl.acm.o g/ci a ion.c m?id=2190025. 2190054 Susan Flynn Hummel, Edi h Schonbe g, and Law ence E Flynn. 1992. Fac o ing: A me hod o scheduling pa allel loops. Commun. ACM 35, 8 (1992), 90–101. Nikolas Ioannou and Ma celo Cin a. 2011. Complemen ing use -le el coa se-g ain pa allelism wi h implici specula i e pa allelism. In P oceedings o he 44 h Annual IEEE/ACM In e na ional Symposium on Mic oa chi ec u e. ACM, 284–295. N. Ioannou, J. Singe , S. Khan, P. Xekalakis, P. Yiapanis, A. Pocock, G. B own, M. Luj´ an, I. Wa son, and M. Cin a. 2010. Towa d a mo e accu a e unde s anding o he limi s o he TLS execu ion pa adigm. In Wo kload Cha ac e iza ion (IISWC), 2010 IEEE In e na ional Symposium on. IEEE Compu e Socie y, Washing on, DC, USA, 1–12. DOI:h p://dx.doi.o g/10.1109/IISWC.2010.5649169 M.M. Islam, A. Busck, M. Engbom, S. Lee, Michel Dubois, and P. S ens om. 2007a. Limi s on Th ead- Le el Specula i e Pa allelism in Embedded Applica ions. In Ele en h Wo kshop on In e ac ion be ween Compile s and Compu e A chi ec u es (INTERACT-11). 10. M.M. Islam, A. Busck, M. Engbom, S. Lee, Michel Dubois, and P. S ens om. 2007b. Loop- le el Specula i e Pa allelism in Embedded Applica ions. In Pa allel P ocessing, 2007. ICPP 2007. In e na ional Con e ence on. IEEE Compu e Socie y, Washing on, DC, USA, 3–13. DOI:h p://dx.doi.o g/10.1109/ICPP.2007.53 Quinn Jacobson, S e e Benne , Nikhil Sha ma, and James E. Smi h. 1997a. Con ol Flow Specula ion in Mul iscala P ocesso s. In P oceedings o he 3 d IEEE Symposium on High-Pe o mance Compu e A - chi ec u e (HPCA ’97). IEEE Compu e Socie y, Washing on, DC, USA, 218–. h p://dl.acm.o g/ci a ion. c m?id=548716.822688 Quinn Jacobson, E ic Ro enbe g, and James E. Smi h. 1997b. Pa h-based Nex T ace P edic ion. In P oceed- ings o he 30 h Annual ACM/IEEE In e na ional Symposium on Mic oa chi ec u e (MICRO 30). IEEE Compu e Socie y, Washing on, DC, USA, 14–23. h p://dl.acm.o g/ci a ion.c m?id=266800.266802 Quinn Jacobson and James E. Smi h. 2000. T ace P econs uc ion. In P oceedings o he 27 h Annual In e na ional Symposium on Compu e A chi ec u e (ISCA ’00). ACM, New Yo k, NY, USA, 37–46. DOI:h p://dx.doi.o g/10.1145/339647.339653 Hakbeom Jang, Channoh Kim, and Jae W. Lee. 2013. P ac ical specula i e pa alleliza ion o a iable- leng h decomp ession algo i hms. In P oceedings o he 14 h ACM SIGPLAN/SIGBED con e ence on Languages, compile s and ools o embedded sys ems (LCTES ’13). ACM, New Yo k, NY, USA, 55–64. DOI:h p://dx.doi.o g/10.1145/2465554.2465557 Alexand a Jimbo ean. 2012. Adap ing he poly ope model o dynamic and specula i e pa alleliza ion. Ph.D. Disse a ion. Uni e si y o S asbou g, S asbou g,F ance. Ad iso (s) Clauss, Philippe. Alexand a Jimbo ean, Philippe Clauss, Jean-F anois Dollinge , Vincen Loechne , and JuanManuel Ma inez Caama˜ no. 2013. Dynamic and Specula i e Polyhed al Pa alleliza ion Using Compile - ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. A Su ey on Th ead-Le el Specula ion Techniques ZZ:33 Gene a ed Skele ons. In e na ional Jou nal o Pa allel P og amming 42, 4 (2013), 529–545. DOI:h p://dx.doi.o g/10.1007/s10766-013-0259-4 Alexand a Jimbo ean, Philippe Clauss, Benoˆ ı P adelle, Luis Mas angelo, and Vincen Loechne . 2012a. Adap ing he Polyhed al Model As a F amewo k o E icien Specula i e Pa alleliza ion. In P oceedings o he 17 h ACM SIGPLAN Symposium on P inciples and P ac ice o Pa allel P og amming (PPoPP ’12). ACM, New Yo k, NY, USA, 295–296. DOI:h p://dx.doi.o g/10.1145/2145816.2145861 Alexand a Jimbo ean, Luis Mas angelo, Vincen Loechne , and Philippe Clauss. 2012b. VMAD: An Ad- anced Dynamic P og am Analysis and Ins umen a ion F amewo k. In P oceedings o he 21s In e - na ional Con e ence on Compile Cons uc ion (CC’12). Sp inge -Ve lag, Be lin, Heidelbe g, 220–239. DOI:h p://dx.doi.o g/10.1007/978-3-642-28652-0 12 Youngjoon Jo and Milind Kulka ni. 2010. B ie Announcemen : Locali y-awa e Load Balancing o Specula i ely-pa allelized I egula Applica ions. In P oceedings o he 22Nd ACM Symposium on Pa allelism in Algo i hms and A chi ec u es (SPAA ’10). ACM, New Yo k, NY, USA, 183–185. DOI:h p://dx.doi.o g/10.1145/1810479.1810516 Chuanle Ke, Lei Liu, Chao Zhang, Tongxin Bai, B ian Jacobs, and Chen Ding. 2011. Sa e Pa allel P o- g amming using Dynamic Dependence Hin s. In OOPSLA’11 P oceedings. ACM, New Yo k, NY, USA, 243–258. A un Keja iwal, Milind Gi ka , Xinmin Tian, Hideki Sai o, Alexand u Nicolau, Alexande V. Vei- denbaum, U pal Bane jee, and Cons an ine D. Polych onopoulos. 2010a. Exploi a ion o Nes ed Th ead-le el Specula i e Pa allelism on Mul i-co e Sys ems. In P oceedings o he 7 h ACM In- e na ional Con e ence on Compu ing F on ie s (CF ’10). ACM, New Yo k, NY, USA, 99–100. DOI:h p://dx.doi.o g/10.1145/1787275.1787302 A un Keja iwal, Milind Gi ka , Xinmin Tian, Hideki Sai o, Alexand u Nicolau, Alexande V. Veiden- baum, U pal Bane jee, and Cons an ine D. Ppoluch onopoulos. 2010b. On he E icacy o Call G aph- le el Th ead-le el Specula ion. In P oceedings o he Fi s Join WOSP/SIPEW In e na ional Con- e ence on Pe o mance Enginee ing (WOSP/SIPEW ’10). ACM, New Yo k, NY, USA, 247–248. DOI:h p://dx.doi.o g/10.1145/1712605.1712645 A un Keja iwal, Xinmin Tian, Milind Gi ka , Wei Li, Se gey Kozhukho , U pal Bane jee, Alexande Nico- lau, Alexande V. Veidenbaum, and Cons an ine D. Polych onopoulos. 2007. Tigh analysis o he pe o - mance po en ial o h ead specula ion using spec CPU 2006. In P oceedings o he 12 h ACM SIGPLAN symposium on P inciples and p ac ice o pa allel p og amming (PPoPP ’07). ACM, New Yo k, NY, USA, 215–225. DOI:h p://dx.doi.o g/10.1145/1229428.1229475 A un Keja iwal, Xinmin Tian, Wei Li, Milind Gi ka , Se gey Kozhukho , Hideki Sai o, U pal Bane jee, Alexand u Nicolau, Alexande V. Veidenbaum, and Cons an ine D. Polych onopoulos. 2006. On he pe - o mance po en ial o di e en ypes o specula i e h ead-le el pa allelism: The DL e sion o his pape includes co ec ions ha we e no made a ailable in he p in ed p oceedings. In P oceedings o he 20 h annual in e na ional con e ence on Supe compu ing (ICS ’06). ACM, New Yo k, NY, USA, 24–. DOI:h p://dx.doi.o g/10.1145/1183401.1183407 Ki k Kelsey, Tongxin Bai, Chen Ding, and Chengliang Zhang. 2009. Fas T ack: A So wa e Sys em o Specula i e P og am Op imiza ion. In P oceedings o he 7 h Annual IEEE/ACM In e na ional Sympo- sium on Code Gene a ion and Op imiza ion (CGO ’09). IEEE Compu e Socie y, Washing on, DC, USA, 157–168. DOI:h p://dx.doi.o g/10.1109/CGO.2009.18 Hanjun Kim, Nick P Johnson, Jae W Lee, Sco A Mahlke, and Da id I Augus . 2012. Au oma ic specula i e DOALL o clus e s. In P oceedings o he Ten h In e na ional Symposium on Code Gene a ion and Op imiza ion. ACM, 94–103. Hanjun Kim, A un Raman, Feng Liu, Jae W Lee, and Da id I Augus . 2010. Scalable specula i e pa al- leliza ion on commodi y clus e s. In P oceedings o he 2010 43 d Annual IEEE/ACM In e na ional Symposium on Mic oa chi ec u e. IEEE Compu e Socie y, 3–14. Tom Knigh . 1986. An a chi ec u e o mos ly unc ional languages. In P oceedings o he 1986 ACM con e ence on LISP and unc ional p og amming (LFP ’86). ACM, New Yo k, NY, USA, 105–112. DOI:h p://dx.doi.o g/10.1145/319838.319854 Sai Cha an Kodu u, Min Feng, and Raji Gup a. 2013. P og amming la ge dynamic da a s uc u es on a DSM clus e o mul ico es. In 7 h In e na ional Con e ence on PGAS P og amming Models. 126. Poonacha Konge i a, Ka hi gama Ainga an, and Kunle Oluko un. 2005. Niaga a: A 32-Way Mul i h eaded Spa c P ocesso . IEEE Mic o 25, 2 (Ma ch 2005), 21–29. DOI:h p://dx.doi.o g/10.1109/MM.2005.35 Venka a K ishnan and Josep To ellas. 1998. Execu ing Sequen ial Bina ies on a Clus e ed Mul i h eaded A chi ec u e wi h Specula ion Suppo . In P oceedings o he 1998 Fou h In e na ional Symposium on High-Pe o mance Compu e A chi ec u e (HPCA ’98). IEEE Compu e Socie y, Washing on, DC, USA. ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. ZZ:34 A. Es ebanez, D. R. Llanos, and A. Gonzalez-Esc ibano V. K ishnan and J. To ellas. 1999. A chip-mul ip ocesso a chi ec u e wi h specula i e mul i h eading. Compu e s, IEEE T ansac ions on 48, 9 (1999), 866–880. DOI:h p://dx.doi.o g/10.1109/12.795218 V. P. K o hapalli and P. Sadayappan. 1988. An app oach o synch oniza ion o pa allel compu ing. In P o- ceedings o he 2nd in e na ional con e ence on Supe compu ing (ICS ’88). ACM, New Yo k, NY, USA, 573–581. DOI:h p://dx.doi.o g/10.1145/55364.55420 V. P. K o hapalli and P. Sadayappan. 1990. Dynamic scheduling o DOACROSS loops o mul ip ocesso s. In Da abases, Pa allel A chi ec u es and Thei Applica ions,. PARBASE- 90, In e na ional Con e ence on. IEEE Compu e Socie y, Washing on, DC, USA, 66–75. DOI:h p://dx.doi.o g/10.1109/PARBSE.1990.77118 C.P. K uskal and A. Weiss. 1985. Alloca ing Independen Sub asks on Pa allel P ocesso s. So wa e Engi- nee ing, IEEE T ansac ions on SE-11, 10 (1985), 1001–1016. M. Kulka ni, M. Bu sche , C. Casca al, and K. Pingali. 2009a. Lones a : A sui e o pa allel i egula p og ams. In Pe o mance Analysis o Sys ems and So wa e, 2009. ISPASS 2009. IEEE In e na ional Symposium on. IEEE Compu e Socie y, Washing on, DC, USA, 65–76. DOI:h p://dx.doi.o g/10.1109/ISPASS.2009.4919639 Milind Kulka ni, Ma in Bu sche , Rajeshka Inkulu, Kesha Pingali, and Calin Casc¸a al. 2009b. How Much Pa allelism is The e in I egula Applica ions?. In P oceedings o he 14 h ACM SIGPLAN Sym- posium on P inciples and P ac ice o Pa allel P og amming (PPoPP ’09). ACM, New Yo k, NY, USA, 3–14. DOI:h p://dx.doi.o g/10.1145/1504176.1504181 Milind Kulka ni, Pa ick Ca ibaul , Kesha Pingali, Ganesh Ramana ayanan, B uce Wal e , Ka i a Bala, and L. Paul Chew. 2008. Scheduling S a egies o Op imis ic Pa allel Execu ion o I egula P og ams. In P oceedings o he Twen ie h Annual Symposium on Pa allelism in Algo i hms and A chi ec u es (SPAA ’08). ACM, New Yo k, NY, USA, 217–228. DOI:h p://dx.doi.o g/10.1145/1378533.1378575 Milind Kulka ni, Donald Nguyen, Dimi ios P oun zos, Xin Sui, and Kesha Pingali. 2011. Exploi - ing he Commu a i i y La ice. In P oceedings o he 32Nd ACM SIGPLAN Con e ence on P o- g amming Language Design and Implemen a ion (PLDI ’11). ACM, New Yo k, NY, USA, 542–555. DOI:h p://dx.doi.o g/10.1145/1993498.1993562 Milind Kulka ni, Kesha Pingali, Ganesh Ramana ayanan, B uce Wal e , Ka i a Bala, and L. Paul Chew. 2008. Op imis ic Pa allelism Bene i s om Da a Pa i ioning. In P oceedings o he 13 h In e na ional Con e ence on A chi ec u al Suppo o P og amming Languages and Ope a ing Sys ems (ASPLOS XIII). ACM, New Yo k, NY, USA, 233–243. DOI:h p://dx.doi.o g/10.1145/1346281.1346311 Milind Kulka ni, Kesha Pingali, B uce Wal e , Ganesh Ramana ayanan, Ka i a Bala, and L. Paul Chew. 2007. Op imis ic pa allelism equi es abs ac ions. In PLDI 2007 P oceedings. ACM, New Yo k, NY, USA, 211–222. Milind Kulka ni, Kesha Pingali, B uce Wal e , Ganesh Ramana ayanan, Ka i a Bala, and L. Paul Chew. 2009. Op imis ic Pa allelism Requi es Abs ac ions. Commun. ACM 52, 9 (Sep . 2009), 89–97. DOI:h p://dx.doi.o g/10.1145/1562164.1562188 Ch is La ne and Vik am Ad e. 2004. LLVM: A Compila ion F amewo k o Li elong P og am Analysis & T ans o ma ion. In P oceedings o he In e na ional Symposium on Code Gene a ion and Op imiza- ion: Feedback-di ec ed and Run ime Op imiza ion (CGO ’04). IEEE Compu e Socie y, Washing on, DC, USA, 75–. h p://dl.acm.o g/ci a ion.c m?id=977395.977673 Peng Li and Song Guo. 2010. Ene gy Minimiza ion on Th ead-Le el Specula ion in Mul ico e Sys ems. In P oceedings o he 2010 Nin h In e na ional Symposium on Pa allel and Dis- ibu ed Compu ing (ISPDC ’10). IEEE Compu e Socie y, Washing on, DC, USA, 125–132. DOI:h p://dx.doi.o g/10.1109/ISPDC.2010.17 Xiao-Feng Li, ZhaoHui Du, Chen Yang, Chu-Cheow Lim, and Tin-Fook Ngai. 2005. Specula i e Pa al- lel Th eading A chi ec u e and Compila ion. In P oceedings o he 2005 In e na ional Con e ence on Pa allel P ocessing Wo kshops (ICPPW ’05). IEEE Compu e Socie y, Washing on, DC, USA, 285–294. DOI:h p://dx.doi.o g/10.1109/ICPPW.2005.81 Xiao-Feng Li, Zhao-Hui Du, Qingyu Zhao, and Tin-Fook Ngai. 2003. So wa e alue p edic ion o specula- i e pa allel h eaded compu a ions. In Fi s alie P edic ion Wo kshop. 18–25. Shaoshan Liu, Ch is ine Eisenbeis, and Jean-Luc Gaudio . 2010. Specula i e Execu ion on GPU: An Explo a o y S udy. In P oceedings o he 2010 39 h In e na ional Con e ence on Pa allel P ocessing (ICPP ’10). IEEE Compu e Socie y, Washing on, DC, USA, 453–461. DOI:h p://dx.doi.o g/10.1109/ICPP.2010.53 Wei Liu, James Tuck, Luis Ceze, Wonsun Ahn, Ka in S auss, Jose Renau, and Josep To ellas. 2006. POSH: a TLS compile ha exploi s p og am s uc u e. In P oceedings o he ele en h ACM SIGPLAN sym- posium on P inciples and p ac ice o pa allel p og amming (PPoPP ’06). ACM, New Yo k, NY, USA, 158–167. DOI:h p://dx.doi.o g/10.1145/1122971.1122997 ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. A Su ey on Th ead-Le el Specula ion Techniques ZZ:35 Diego R. Llanos, Da id O den, and Bel´ en Palop. 2007. New Scheduling S a egies o Randomized Inc e- men al Algo i hms in he Con ex o Specula i e Pa alleliza ion. IEEE T ans. Compu . 56, 6 (2007), 839–852. DOI:h p://dx.doi.o g/10.1109/TC.2007.1030 Diego R. Llanos, Da id O den, and Bel´ en Palop. 2008. Jus -In-Time Scheduling o Loop-based Specula i e Pa alleliza ion. Pa allel, Dis ibu ed, and Ne wo k-Based P ocessing, Eu omic o Con e ence on 0 (2008), 334–342. DOI:h p://dx.doi.o g/10.1109/PDP.2008.13 Yangchun Luo, Wei-Chung Hsu, and An onia Zhai. 2013. The Design and Implemen a ion o He e ogeneous Mul ico e Sys ems o Ene gy-e icien Specula i e Th ead Execu ion. ACM T ans. A chi . Code Op im. 10, 4, A icle 26 (Dec. 2013), 29 pages. DOI:h p://dx.doi.o g/10.1145/2541228.2541233 Ped o Ma cuello, An onio Gonzalez, and Jo di Tubella. 1998. Specula i e mul i h eaded p ocesso s. In P o- ceedings o he 12 h in e na ional con e ence on Supe compu ing (ICS ’98). ACM, New Yo k, NY, USA, 77–84. DOI:h p://dx.doi.o g/10.1145/277830.277850 Jos´ e F. Ma ´ ınez and Josep To ellas. 2002. Specula i e Synch oniza ion: Applying Th ead-le el Specula ion o Explici ly Pa allel Applica ions. In P oceedings o he 10 h In e na ional Con e ence on A chi ec u al Suppo o P og amming Languages and Ope a ing Sys ems (ASPLOS X). ACM, New Yo k, NY, USA, 18–29. DOI:h p://dx.doi.o g/10.1145/605397.605400 Jan Ma insen, Hakan G ahn, and Ande s Isbe g. 2013. Using Specula ion o Enhance Ja aSc ip Pe o mance in Web Applica ions. IEEE In e ne Compu ing 17, 2 (Ma ch 2013), 10–19. DOI:h p://dx.doi.o g/10.1109/MIC.2012.146 Moj aba Meh a a, Je Hao, Po-Chun Hsu, and Sco Mahlke. 2009. Pa allelizing sequen ial applica ions on commodi y ha dwa e using a low-cos so wa e ansac ional memo y. In P oceedings o he 2009 ACM SIGPLAN con e ence on P og amming language design and implemen a ion (PLDI ’09). ACM, New Yo k, NY, USA, 166–176. DOI:h p://dx.doi.o g/10.1145/1542476.1542495 Ma io M´ endez-Lojo, Donald Nguyen, Dimi ios P oun zos, Xin Sui, M. Ambe Hassaan, Milind Kulka- ni, Ma in Bu sche , and Kesha Pingali. 2010. S uc u e-d i en Op imiza ions o Amo - phous Da a-pa allel P og ams. In P oceedings o he 15 h ACM SIGPLAN Symposium on P in- ciples and P ac ice o Pa allel P og amming (PPoPP ’10). ACM, New Yo k, NY, USA, 3–14. DOI:h p://dx.doi.o g/10.1145/1693453.1693457 Samuel P Midki and Da id A Padua. 1987. Compile algo i hms o synch oniza ion. Compu e s, IEEE T ansac ions on 100, 12 (1987), 1485–1495. R. Mi chandaney and J. H. Sal z. 1988. Dodynamic: A cons uc o on- he- ly pa alleliza ion o loops. Tech- nical Repo 650. Yale Uni e si y. in p epa a ion. Cosmin E. Oancea, Alan Myc o , and Tim Ha is. 2009. A ligh weigh in-place implemen a ion o so wa e h ead-le el specula ion. In P oceedings o he wen y- i s annual symposium on Pa allelism in algo i hms and a chi ec u es (SPAA ’09). ACM, New Yo k, NY, USA, 223–232. DOI:h p://dx.doi.o g/10.1145/1583991.1584050 Kunle Oluko un, Lance Hammond, and Ma k Willey. 1999. Imp o ing he pe o mance o specula i ely pa allel applica ions on he Hyd a CMP. In P oceedings o he 13 h in e na ional con e ence on Supe - compu ing (ICS ’99). ACM, New Yo k, NY, USA, 21–30. DOI:h p://dx.doi.o g/10.1145/305138.305155 Kunle Oluko un, Basem A. Nay eh, Lance Hammond, Ken Wilson, and Kunyung Chang. 1996. The Case o a Single-chip Mul ip ocesso . In P oceedings o he Se en h In e na ional Con e ence on A chi ec u al Suppo o P og amming Languages and Ope a ing Sys ems (ASPLOS VII). ACM, New Yo k, NY, USA, 2–11. DOI:h p://dx.doi.o g/10.1145/237090.237140 K. Oluko un, O.A. Oluko un, L.S. Hammond, and J.P. Laudon. 2007. Chip Mul ip ocesso A chi ec u e: Tech- niques o Imp o e Th oughpu and La ency. Mo gan & Claypool Publishe s, San Ra ael, CA, USA. h p://books.google.es/books?id=spZZDwuAgUYC Je ey Oplinge , Da id Heine, Shih Liao, Basem A. Nay eh, Monica S. Lam, and Kunle Oluko un. 1997. So wa e and Ha dwa e o Exploi ing Specula i e Pa allelism wi h a Mul ip ocesso . Technical Repo . S an o d Uni e si y, S an o d, CA, USA. Je ey T. Oplinge , Da id L. Heine, and Monica S. Lam. 1999. In Sea ch o Specula i e Th ead-Le el Pa - allelism. In P oceedings o he 1999 In e na ional Con e ence on Pa allel A chi ec u es and Compila ion Techniques (PACT ’99). IEEE Compu e Socie y, Washing on, DC, USA, 303–. h p://dl.acm.o g/ci a ion. c m?id=520793.825732 Guilhe me O oni, Ram Rangan, Adam S ole , and Da id I Augus . 2005. Au oma ic h ead ex ac ion wi h decoupled so wa e pipelining. In P oceedings o he 38 h annual IEEE/ACM In e na ional Symposium on Mic oa chi ec u e. IEEE Compu e Socie y, 105–118. V. Packi isamy, Yangchun Luo, Wei-Lung Hung, A. Zhai, Pen-Chung Yew, and Tin-Fook Ngai. 2008. E i- ciency o h ead-le el specula ion in SMT and CMP a chi ec u es - pe o mance, powe and he mal ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. ZZ:36 A. Es ebanez, D. R. Llanos, and A. Gonzalez-Esc ibano pe spec i e. In Compu e Design, 2008. ICCD 2008. IEEE In e na ional Con e ence on. IEEE Compu e Socie y, Washing on, DC, USA, 286–293. DOI:h p://dx.doi.o g/10.1109/ICCD.2008.4751875 Venka esan Packi isamy, Shengyue Wang, An onia Zhai, Wei-Chung Hsu, and Pen-Chung Yew. 2006. Sup- po ing Specula i e Mul i h eading on Simul aneous Mul i h eaded P ocesso s. In P oceedings o he 13 h In e na ional Con e ence on High Pe o mance Compu ing (HiPC’06). Sp inge -Ve lag, Be lin, Hei- delbe g, 148–158. DOI:h p://dx.doi.o g/10.1007/11945918 19 V. Packi isamy, A. Zhai, Wei-Chung Hsu, Pen-Chung Yew, and Tin-Fook Ngai. 2009. Explo ing specu- la i e pa allelism in SPEC2006. In Pe o mance Analysis o Sys ems and So wa e, 2009. ISPASS 2009. IEEE In e na ional Symposium on. IEEE Compu e Socie y, Washing on, DC, USA, 77–88. DOI:h p://dx.doi.o g/10.1109/ISPASS.2009.4919640 Sh u i Padmanabha, And ew Luke ah , Ree upa na Das, and Sco Mahlke. 2013. T ace Based Phase P edic ion o Tigh ly-coupled He e ogeneous Co es. In P oceedings o he 46 h Annual IEEE/ACM In e na ional Symposium on Mic oa chi ec u e (MICRO-46). ACM, New Yo k, NY, USA, 445–456. DOI:h p://dx.doi.o g/10.1145/2540708.2540746 Robe o Palmie i, F ancesco Quaglia, and Paolo Romano. 2011. Osa e: Oppo unis ic specula ion in ac i ely eplica ed ansac ional sys ems. In Reliable Dis ibu ed Sys ems (SRDS), 2011 30 h IEEE Symposium on. IEEE, 59–64. Il Pa k, Babak Falsa i, and T. N. Vijaykuma . 2003. Implici ly-mul i h eaded P ocesso s. In P oceedings o he 30 h Annual In e na ional Symposium on Compu e A chi ec u e (ISCA ’03). ACM, New Yo k, NY, USA, 39–51. DOI:h p://dx.doi.o g/10.1145/859618.859624 Sanjay Je am Pa el, Ma ius E e s, and Yale N. Pa . 1998. Imp o ing T ace Cache E ec i eness wi h B anch P omo ion and T ace Packing. In P oceedings o he 25 h Annual In e na ional Sympo- sium on Compu e A chi ec u e (ISCA ’98). IEEE Compu e Socie y, Washing on, DC, USA, 262–271. DOI:h p://dx.doi.o g/10.1145/279358.279394 A. Phansalka , A. Joshi, L. Eeckhou , and L. K. John. 2005. Measu ing P og am Simila i y: Expe imen s wi h SPEC CPU Benchma k Sui es. In P oceedings o he IEEE In e na ional Symposium on Pe o - mance Analysis o Sys ems and So wa e, 2005 (ISPASS ’05). IEEE Compu e Socie y, Washing on, DC, USA, 10–20. DOI:h p://dx.doi.o g/10.1109/ISPASS.2005.1430555 Ch is ophe J. F. Picke . 2007. So wa e Specula i e Mul i h eading o Ja a. In Companion o he 22Nd ACM SIGPLAN Con e ence on Objec -o ien ed P og amming Sys ems and Applica ions Companion (OOPSLA ’07). ACM, New Yo k, NY, USA, 929–930. DOI:h p://dx.doi.o g/10.1145/1297846.1297950 Ch is ophe J. F. Picke and Cla k Ve b ugge. 2005. SableSpMT: A So wa e F amewo k o Analysing Specula i e Mul i h eading in Ja a. In P oceedings o he 6 h ACM SIGPLAN-SIGSOFT Wo kshop on P og am Analysis o So wa e Tools and Enginee ing (PASTE ’05). ACM, New Yo k, NY, USA, 59–66. DOI:h p://dx.doi.o g/10.1145/1108792.1108809 Ch is ophe J. F. Picke and Cla k Ve b ugge. 2006. So wa e Th ead Le el Specula ion o he Ja a Lan- guage and Vi ual Machine En i onmen . In P oceedings o he 18 h In e na ional Con e ence on Lan- guages and Compile s o Pa allel Compu ing (LCPC’05). Sp inge -Ve lag, Be lin, Heidelbe g, 304–318. DOI:h p://dx.doi.o g/10.1007/978-3-540-69330-7 21 C. D. Polych onopoulos and D. J. Kuck. 1987. Guided sel -scheduling: A p ac ical scheduling scheme o pa allel supe compu e s. IEEE T ans. Compu . 36, 12 (Dec. 1987), 1425–1439. DOI:h p://dx.doi.o g/10.1109/TC.1987.5009495 Leo Po e , Bumyong Choi, and Dean M. Tullsen. 2009. Mapping Ou a Pa h om Ha dwa e T ansac ional Memo y o Specula i e Mul i h eading. In P oceedings o he 2009 18 h In e na ional Con e ence on Pa allel A chi ec u es and Compila ion Techniques (PACT ’09). IEEE Compu e Socie y, Washing on, DC, USA, 313–324. DOI:h p://dx.doi.o g/10.1109/PACT.2009.37 Manoha K. P abhu and Kunle Oluko un. 2003. Using Th ead-le el Specula ion o Simpli y Manual Pa alleliza ion. In P oceedings o he Nin h ACM SIGPLAN Symposium on P inci- ples and P ac ice o Pa allel P og amming (PPoPP ’03). ACM, New Yo k, NY, USA, 1–12. DOI:h p://dx.doi.o g/10.1145/781498.781500 Manoha K. P abhu and Kunle Oluko un. 2005. Exposing specula i e h ead pa allelism in SPEC2000. In P oceedings o he en h ACM SIGPLAN symposium on P inciples and p ac ice o pa allel p og amming (PPoPP ’05). ACM, New Yo k, NY, USA, 142–152. DOI:h p://dx.doi.o g/10.1145/1065944.1065964 P akash P abhu, Ganesan Ramalingam, and Kapil Vaswani. 2010. Sa e p og ammable spec- ula i e pa allelism. In P oceedings o he 2010 ACM SIGPLAN con e ence on P og am- ming language design and implemen a ion (PLDI ’10). ACM, New Yo k, NY, USA, 50–61. DOI:h p://dx.doi.o g/10.1145/1806596.1806603 Dimi ios P oun zos, Roman Mane ich, Kesha Pingali, and Ka h yn S. McKinley. 2011. A Shape Analysis o Op imizing Pa allel G aph P og ams. In P oceedings o he 38 h Annual ACM SIGPLAN-SIGACT ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. A Su ey on Th ead-Le el Specula ion Techniques ZZ:37 Symposium on P inciples o P og amming Languages (POPL ’11). ACM, New Yo k, NY, USA, 159–172. DOI:h p://dx.doi.o g/10.1145/1926385.1926405 Joan Puiggali, Boleslaw K Szymanski, Teo Jo ´ e, and Jose L Ma zo. 2012. Dynamic b anch specula ion in a specula i e pa alleliza ion a chi ec u e o compu e clus e s. Concu ency and Compu a ion: P ac ice and Expe ience 25, 7 (2012). Ca los Ga c´ ıa Qui˜ nones, Ca los Mad iles, Jes´ us S´ anchez, Ped o Ma cuello, An onio Gonz´ alez, and Dean M. Tullsen. 2005. Mi osis compile : an in as uc u e o specula i e h eading based on p e-compu a ion slices. In P oceedings o he 2005 ACM SIGPLAN con e ence on P og am- ming language design and implemen a ion (PLDI ’05). ACM, New Yo k, NY, USA, 269–279. DOI:h p://dx.doi.o g/10.1145/1065010.1065043 Ra i Rajwa and James R. Goodman. 2001. Specula i e Lock Elision: Enabling Highly Concu en Mul i- h eaded Execu ion. In P oceedings o he 34 h Annual ACM/IEEE In e na ional Symposium on Mi- c oa chi ec u e (MICRO 34). IEEE Compu e Socie y, Washing on, DC, USA, 294–305. h p://dl.acm. o g/ci a ion.c m?id=563998.564036 A un Raman, Hanjun Kim, Thomas R. Mason, Thomas B. Jablin, and Da id I. Augus . 2010. Specula i e pa alleliza ion using so wa e mul i- h eaded ansac ions. In P oceedings o he i een h edi ion o ASPLOS on A chi ec u al suppo o p og amming languages and ope a ing sys ems (ASPLOS XV). ACM, New Yo k, NY, USA, 65–76. DOI:h p://dx.doi.o g/10.1145/1736020.1736030 Easwa an Raman, Neil Vahha ajani, Ram Rangan, and Da id I. Augus . 2008. Spice: specula i e pa - allel i e a ion chunk execu ion. In P oceedings o he 6 h annual IEEE/ACM in e na ional sym- posium on Code gene a ion and op imiza ion (CGO ’08). ACM, New Yo k, NY, USA, 175–184. DOI:h p://dx.doi.o g/10.1145/1356058.1356082 Law ence Rauchwe ge . 2011. Specula i e Pa alleliza ion o Loops. In Encyclopedia o Pa allel Compu ing, Da id Padua (Ed.). Sp inge US, USA, 1901–1912. DOI:h p://dx.doi.o g/10.1007/978-0-387-09766-4 35 Law ence Rauchwe ge and Da id Padua. 1995. The LRPD es : Specula i e un- ime pa alleliza ion o loops wi h p i a iza ion and educ ion pa alleliza ion. SIGPLAN No . 30, 6 (June 1995), 218–232. DOI:h p://dx.doi.o g/10.1145/223428.207148 L. Rauchwe ge and D. A. Padua. 1999. The LRPD Tes : Specula i e Run-Time Pa alleliza ion o Loops wi h P i a iza ion and Reduc ion Pa alleliza ion. IEEE T ansac ions on Pa allel and Dis ibu ed Sys ems 10, 2 (1999), 160–180. Jose Renau, Ka in S auss, Luis Ceze, Wei Liu, Sm u i Sa angi, James Tuck, and Josep To ellas. 2005. Th ead-Le el Specula ion on a CMP can be ene gy e icien . In P oceedings o he 19 h an- nual in e na ional con e ence on Supe compu ing (ICS ’05). ACM, New Yo k, NY, USA, 219–228. DOI:h p://dx.doi.o g/10.1145/1088149.1088178 J. Renau, K. S auss, L. Ceze, Wei Liu, S.R. Sa angi, J. Tuck, and J. To ellas. 2006. Ene gy-E icien Th ead- Le el Specula ion. Mic o, IEEE 26, 1 (2006), 80–91. DOI:h p://dx.doi.o g/10.1109/MM.2006.11 Jose Renau, James Tuck, Wei Liu, Luis Ceze, Ka in S auss, and Josep To ellas. 2005. Tasking wi h ou - o -o de spawn in TLS chip mul ip ocesso s: Mic oa chi ec u e and compila ion. In P oceedings o he 19 h annual in e na ional con e ence on Supe compu ing (ICS ’05). ACM, New Yo k, NY, USA, 179–188. DOI:h p://dx.doi.o g/10.1145/1088149.1088173 Anne Roge s, Ma in C. Ca lisle, John H. Reppy, and Lau ie J. Hend en. 1995. Suppo ing Dynamic Da a S uc u es on Dis ibu ed-memo y Machines. ACM T ans. P og am. Lang. Sys . 17, 2 (Ma ch 1995), 233–263. DOI:h p://dx.doi.o g/10.1145/201059.201065 E ic Ro enbe g, S e e Benne , and James E. Smi h. 1996. T ace Cache: A Low La ency App oach o High Bandwid h Ins uc ion Fe ching. In P oceedings o he 29 h Annual ACM/IEEE In e na ional Symposium on Mic oa chi ec u e (MICRO 29). IEEE Compu e Socie y, Washing on, DC, USA, 24–35. h p://dl.acm.o g/ci a ion.c m?id=243846.243854 E ic Ro enbe g, Quinn Jacobson, Yiannakis Sazeides, and Jim Smi h. 1997. T ace P ocesso s. In P oceed- ings o he 30 h Annual ACM/IEEE In e na ional Symposium on Mic oa chi ec u e (MICRO 30). IEEE Compu e Socie y, Washing on, DC, USA, 138–148. h p://dl.acm.o g/ci a ion.c m?id=266800.266814 E ic Ro enbe g and Jim Smi h. 1999. Con ol Independence in T ace P ocesso s. In P oceedings o he 32Nd Annual ACM/IEEE In e na ional Symposium on Mic oa chi ec u e (MICRO 32). IEEE Compu e Soci- e y, Washing on, DC, USA, 4–15. h p://dl.acm.o g/ci a ion.c m?id=320080.320084 Ami abha Roy, S e en Hand, and Tim Ha is. 2009. A Run ime Sys em o So wa e Lock Elision. In P o- ceedings o he 4 h ACM Eu opean Con e ence on Compu e Sys ems (Eu oSys ’09). ACM, New Yo k, NY, USA, 261–274. DOI:h p://dx.doi.o g/10.1145/1519065.1519094 Pe e Rundbe g and Pe S ens ¨ om. 2000. Low-Cos Th ead-Le el Da a Dependence Specula ion on Mul i- p ocesso s. In Wo kshop on Scalable Sha ed Memo y Mul ip ocesso s. ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. ZZ:38 A. Es ebanez, D. R. Llanos, and A. Gonzalez-Esc ibano J. H. Sal z and R. Mi chandaney. 1988. How o schedule complex loops in pa allel. Technical Repo 657. Yale Uni e si y. Joel H Sal z, Ra i Mi chandaney, and Kay C owley. 1991. Run- ime pa alleliza ion and scheduling o loops. Compu e s, IEEE T ansac ions on 40, 5 (1991), 603–612. Meh zad Samadi, Ami Ho ma i, Janghaeng Lee, and Sco Mahlke. 2012. Pa agon: Collabo a i e Spec- ula i e Loop Execu ion on GPU and CPU. In P oceedings o he 5 h Annual Wo kshop on Gene al Pu pose P ocessing wi h G aphics P ocessing Uni s (GPGPU-5). ACM, New Yo k, NY, USA, 64–73. DOI:h p://dx.doi.o g/10.1145/2159430.2159438 Gu inda S. Sohi, Sco E. B each, and T. N. Vijaykuma . 1995. Mul iscala p ocesso s. In P oceedings o he 22nd annual in e na ional symposium on Compu e a chi ec u e (ISCA ’95). ACM, New Yo k, NY, USA, 414–425. DOI:h p://dx.doi.o g/10.1145/223982.224451 J. S e an and T Mow y. 1998. The Po en ial o Using Th ead-Le el Da a Specula ion o Facili a e Au o- ma ic Pa alleliza ion. In P oceedings o he 4 h In e na ional Symposium on High-Pe o mance Com- pu e A chi ec u e (HPCA ’98). IEEE Compu e Socie y, Washing on, DC, USA, 2–. h p://dl.acm.o g/ ci a ion.c m?id=822079.822712 J. G ego y S e an, Ch is ophe Colohan, An onia Zhai, and Todd C. Mow y. 2005. The STAMPede App oach o Th ead-le el Specula ion. ACM T ans. Compu . Sys . 23, 3 (Aug. 2005), 253–300. DOI:h p://dx.doi.o g/10.1145/1082469.1082471 J. G eggo y S e an, Ch is ophe B. Colohan, An onia Zhai, and Todd C. Mow y. 2000. A scalable app oach o h ead-le el specula ion. In P oceedings o he 27 h annual in e na ional symposium on Compu e a chi ec u e (ISCA ’00). ACM, New Yo k, NY, USA, 1–12. DOI:h p://dx.doi.o g/10.1145/339647.339650 J. G ego y S e an, Ch is ophe B. Colohan, An onia Zhai, and Todd C. Mow y. 2002. Imp o ing Value Com- munica ion o Th ead-Le el Specula ion. In P oceedings o he 8 h In e na ional Symposium on High- Pe o mance Compu e A chi ec u e (HPCA ’02). IEEE Compu e Socie y, Washing on, DC, USA, 65–. h p://dl.acm.o g/ci a ion.c m?id=874076.876480 Peiyi Tang and Pen-Chung Yew. 1986. P ocesso Sel -Scheduling o Mul iple-Nes ed Pa allel Loops.. In ICPP, Vol. 86. CRC P ess, USA, 528–535. YuXing Tang, Kun Deng, and XingMing Zhou. 2005. The Design Space o CMP s. SMT o High Pe o mance Embedded P ocesso . In Embedded So wa e and Sys ems, Lau enceT. Yang, Xingshe Zhou, Wei Zhao, Zhaohui Wu, Yian Zhu, and Man Lin (Eds.). Lec u e No es in Compu e Science, Vol. 3820. Sp inge , Be lin Heidelbe g, 30–38. DOI:h p://dx.doi.o g/10.1007/11599555 6 Chen Tian, Min Feng, and Raji Gup a. 2010a. Specula i e Pa alleliza ion Using S a e Sepa a ion and Mul iple Value P edic ion. In P oceedings o he 2010 In e na ional Symposium on Memo y Managemen (ISMM ’10). ACM, New Yo k, NY, USA, 63–72. DOI:h p://dx.doi.o g/10.1145/1806651.1806663 Chen Tian, Min Feng, and Raji Gup a. 2010b. Suppo ing specula i e pa alleliza ion in he p es- ence o dynamic da a s uc u es. In P oceedings o he 2010 ACM SIGPLAN con e ence on P o- g amming language design and implemen a ion (PLDI ’10). ACM, New Yo k, NY, USA, 12. DOI:h p://dx.doi.o g/10.1145/1806596.1806604 Chen Tian, Min Feng, Vijay Naga ajan, and Raji Gup a. 2008. Copy o Disca d execu ion model o specu- la i e pa alleliza ion on mul ico es. In P oceedings o he 41s annual IEEE/ACM In e na ional Sym- posium on Mic oa chi ec u e (MICRO 41). IEEE Compu e Socie y, Washing on, DC, USA, 330–341. DOI:h p://dx.doi.o g/10.1109/MICRO.2008.4771802 Chen Tian, Min Feng, Vijay Naga ajan, and Raji Gup a. 2009. Specula i e Pa alleliza ion o Sequen ial Loops on Mul ico es. In . J. Pa allel P og am. 37, 5 (Oc . 2009), 508–535. DOI:h p://dx.doi.o g/10.1007/s10766-009-0111-z Chen Tian, Changhui Lin, Min Feng, and Raji Gup a. 2011. Enhanced specula i e pa alleliza- ion ia inc emen al eco e y. In P oceedings o he 16 h ACM symposium on P inciples and p ac ice o pa allel p og amming (PPoPP ’11). ACM, New Yo k, NY, USA, 189–200. DOI:h p://dx.doi.o g/10.1145/1941553.1941580 Josep To ellas. 2011. Specula ion, Th ead-Le el. In Encyclopedia o Pa allel Compu ing, Da id Padua (Ed.). Sp inge US, USA, 1894–1900. DOI:h p://dx.doi.o g/10.1007/978-0-387-09766-4 170 Geo gios Tou na i is, Zheng Wang, Bj¨ o n F anke, and Michael FP O’Boyle. 2009. Towa ds a holis ic ap- p oach o au o-pa alleliza ion: in eg a ing p o ile-d i en pa allelism de ec ion and machine-lea ning based mapping. In ACM Sigplan No ices, Vol. 44. ACM, 177–187. Jo di Tubella and An onio Gonzalez. 1998. Con ol specula ion in mul i h eaded p ocesso s h ough dynamic loop de ec ion. In P oceedings o he 1998 Fou h In e na ional Symposium on High- Pe o mance Compu e A chi ec u e (HPCA ’98). IEEE Compu e Socie y, Washing on, DC, USA, 14–23. DOI:h p://dx.doi.o g/10.1109/HPCA.1998.650542 ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. A Su ey on Th ead-Le el Specula ion Techniques ZZ:39 Dean M. Tullsen, Susan J. Egge s, Joel S. Eme , Hen y M. Le y, Jack L. Lo, and Rebecca L. S amm. 1996. Exploi ing Choice: Ins uc ion Fe ch and Issue on an Implemen able Simul aneous Mul i h eading P o- cesso . In P oceedings o he 23 d Annual In e na ional Symposium on Compu e A chi ec u e (ISCA ’96). ACM, New Yo k, NY, USA, 191–202. DOI:h p://dx.doi.o g/10.1145/232973.232993 Dean M. Tullsen, Susan J. Egge s, and Hen y M. Le y. 1998. Simul aneous Mul i h eading: Maximizing On- chip Pa allelism. In 25 Yea s o he In e na ional Symposia on Compu e A chi ec u e (Selec ed Pape s) (ISCA ’98). ACM, New Yo k, NY, USA, 533–544. DOI:h p://dx.doi.o g/10.1145/285930.286011 Theo Unge e , Bo u Robiˇ c, and Ju ij ˇ Silc. 2003. A Su ey o P ocesso s wi h Explici Mul i h eading. ACM Compu . Su . 35, 1 (Ma ch 2003), 29–63. DOI:h p://dx.doi.o g/10.1145/641865.641867 T. N. Vijaykuma . 1998. Compiling o he mul iscala a chi ec u e. Ph.D. Disse a ion. The Uni e si y o Wisconsin - Madison. AAI9813127. T. N. Vijaykuma and Gu inda S. Sohi. 1998. Task selec ion o a mul iscala p ocesso . In P oceedings o he 31s annual ACM/IEEE in e na ional symposium on Mic oa chi ec u e (MICRO 31). IEEE Compu e Socie y P ess, Los Alami os, CA, USA, 81–92. h p://dl.acm.o g/ci a ion.c m?id=290940.290963 S e en Wallace, B ad Calde , and Dean M. Tullsen. 1998. Th eaded Mul iple Pa h Execu ion. In P oceedings o he 25 h Annual In e na ional Symposium on Compu e A chi ec u e (ISCA ’98). IEEE Compu e Socie y, Washing on, DC, USA, 238–249. DOI:h p://dx.doi.o g/10.1145/279358.279392 Shengyue Wang, Xiao u Dai, Ki an S. Yellajyosula, An onia Zhai, and Pen-Chung Yew. 2006. Loop Se- lec ion o Th ead-le el Specula ion. In P oceedings o he 18 h In e na ional Con e ence on Lan- guages and Compile s o Pa allel Compu ing (LCPC’05). Sp inge -Ve lag, Be lin, Heidelbe g, 289–303. DOI:h p://dx.doi.o g/10.1007/978-3-540-69330-7 20 F ed ik Wa g and Pe S ens ¨ om. 2001. Limi s on Specula i e Module-Le el Pa allelism in Impe a i e and Objec -O ien ed P og ams on CMP Pla o ms. In P oceedings o he 2001 In e na ional Con e ence on Pa allel A chi ec u es and Compila ion Techniques (PACT ’01). IEEE Compu e Socie y, Washing on, DC, USA, 221–230. h p://dl.acm.o g/ci a ion.c m?id=645988.674160 F ed ik Wa g and Pe S ens ¨ om. 2003. Imp o ing Specula i e Th ead-Le el Pa allelism Th ough Mod- ule Run-Leng h P edic ion. In P oceedings o he 17 h In e na ional Symposium on Pa allel and Dis- ibu ed P ocessing (IPDPS ’03). IEEE Compu e Socie y, Washing on, DC, USA, 12.2–. h p://dl.acm. o g/ci a ion.c m?id=838237.838521 F ed ik Wa g and Pe S ens ¨ om. 2005. Reducing misspecula ion o e head o module-le el specula i e execu ion. In P oceedings o he 2nd con e ence on Compu ing on ie s (CF ’05). ACM, New Yo k, NY, USA, 289–298. DOI:h p://dx.doi.o g/10.1145/1062261.1062310 Michael E Wol and Monica S Lam. 1991. A loop ans o ma ion heo y and an algo i hm o maximize pa allelism. Pa allel and Dis ibu ed Sys ems, IEEE T ansac ions on 2, 4 (1991), 452–471. Peng Wu, A un Keja iwal, and C˘ alin Cas¸ca al. 2008. Compile -D i en Dependence P o iling o Guide P o- g am Pa alleliza ion. In Languages and Compile s o Pa allel Compu ing, Jos´ e Nelson Ama al (Ed.). Sp inge -Ve lag, Be lin, Heidelbe g, 232–248. DOI:h p://dx.doi.o g/10.1007/978-3-540-89740-8 16 P. Xekalakis and M. Cin a. 2010. Handling b anches in TLS sys ems wi h Mul i-Pa h Execu ion. In High Pe o mance Compu e A chi ec u e (HPCA), 2010 IEEE 16 h In e na ional Symposium on. IEEE Com- pu e Socie y, Washing on, DC, USA, 1–12. DOI:h p://dx.doi.o g/10.1109/HPCA.2010.5416632 Polych onis Xekalakis, Nikolas Ioannou, and Ma celo Cin a. 2009. Combining Th ead Le el Specula ion, Helpe Th eads and Runahead Execu ion. In P oceedings o he 23 d In e - na ional Con e ence on Supe compu ing (ICS ’09). ACM, New Yo k, NY, USA, 410–420. DOI:h p://dx.doi.o g/10.1145/1542275.1542333 Polych onis Xekalakis, Nikolas Ioannou, and Ma celo Cin a. 2012. Mixed Specula i e Mul i h eaded Execu ion Models. ACM T ans. A chi . Code Op im. 9, 3, A icle 18 (oc 2012), 26 pages. DOI:h p://dx.doi.o g/10.1145/2355585.2355591 Polych onis Xekalakis, Nikolas Ioannou, Salman Khan, and Ma celo Cin a. 2010. P o i abili y-based powe alloca ion o specula i e mul i h eaded sys ems. In Pa allel & Dis ibu ed P ocessing (IPDPS), 2010 IEEE In e na ional Symposium on. IEEE, 1–11. Pa aske as Yiapanis, Demian Rosas-Ham, Ga in B own, and Mikel Luj´ an. 2013. Op imizing so wa e un- ime sys ems o specula i e pa alleliza ion. ACM T ans. A chi . Code Op im. 9, 4, A icle 39 (Jan. 2013), 27 pages. DOI:h p://dx.doi.o g/10.1145/2400682.2400698 Chao Zhang, Chen Ding, Xiaoming Gu, Ki k Kelsey, Tongxin Bai, and Xiaobing Feng. 2010. Con inuous specula i e p og am pa alleliza ion in so wa e. In P oceedings o he 15 h ACM SIGPLAN Symposium on P inciples and P ac ice o Pa allel P og amming (PPoPP ’10). ACM, New Yo k, NY, USA, 335–336. DOI:h p://dx.doi.o g/10.1145/1693453.1693501 Chenggang Zhang, Guodong Han, and Cho-Li Wang. 2013. GPU-TLS: An E icien Run ime o Specu- la i e Loop Pa alleliza ion on GPUs. In Clus e , Cloud and G id Compu ing (CCG id), 2013 13 h ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY. ZZ:40 A. Es ebanez, D. R. Llanos, and A. Gonzalez-Esc ibano IEEE/ACM In e na ional Symposium on. IEEE Compu e Socie y, Washing on, DC, USA, 120–127. DOI:h p://dx.doi.o g/10.1109/CCG id.2013.34 Zhijia Zhao and Xipeng Shen. 2015. On- he-Fly P incipled Specula ion o FSM Pa alleliza ion. In P oceed- ings o he Twen ie h In e na ional Con e ence on A chi ec u al Suppo o P og amming Languages and Ope a ing Sys ems. ACM, 619–630. Zhijia Zhao, Bo Wu, and Xipeng Shen. 2012. Specula i e pa alleliza ion needs igo : p obabilis ic analysis o op imal specula ion o ini e-s a e machine applica ions. In P oceedings o he 21s in e na ional con e ence on Pa allel a chi ec u es and compila ion echniques (PACT ’12). ACM, New Yo k, NY, USA, 433–434. DOI:h p://dx.doi.o g/10.1145/2370816.2370882 Zhijia Zhao, Bo Wu, and Xipeng Shen. 2014. Challenging he emba assingly sequen ial: pa allelizing i- ni e s a e machine-based compu a ions h ough p incipled specula ion. In ACM SIGARCH Compu e A chi ec u e News, Vol. 42. ACM, 543–558. Chuan-Qi Zhu and Pen-Chung Yew. 1987. A scheme o en o ce da a dependence on la ge mul i- p ocesso sys ems. So wa e Enginee ing, IEEE T ansac ions on SE-13, 6 (June 1987), 726–739. DOI:h p://dx.doi.o g/10.1109/TSE.1987.233477 C aig Zilles and Gu inda Sohi. 2002. Mas e /sla e specula i e pa alleliza ion. In P oceedings o he 35 h annual ACM/IEEE in e na ional symposium on Mic oa chi ec u e (MICRO 35). IEEE Compu e Soci- e y P ess, Los Alami os, CA, USA, 85–96. h p://dl.acm.o g/ci a ion.c m?id=774861.774871 ACM Compu ing Su eys, Vol. X, No. Y, A icle ZZ, Publica ion da e: 20YY.