scieee Science in your language
[en] (orig)

Evaluating the capabilities of the Xeon Phi platform in the context of software-only, thread-level speculation

Abstract

Producción Científica

Read accessible full text

Evaluating the capabilities of the Xeon Phi platform in the context of software-only, thread-level speculation

Author: Estébanez López, Álvaro,Llanos Ferraris, Diego Rafael,González Escribano, Arturo
Publisher: Universidad de Valladolid, Escuela de Ingeniería Informática
Year: 2015
Source: https://uvadoc.uva.es/bitstream/10324/29118/1/hlpp2015.pdf
Noname manusc ip No.
(will be inse ed by he edi o )
E alua ing he capabili ies o he Xeon Phi pla o m in
he con ex o so wa e-only, h ead-le el specula ion
Al a o Es ebanez ·Diego R. Llanos ·
A u o Gonzalez-Esc ibano
Recei ed: da e / Accep ed: da e
Abs ac In el Xeon Phi accele a o s a e one o he newes de ices used in
he ield o pa allel compu ing. Howe e , he e a e compa a i ely ew s udies
conce ning hei pe o mance when using mos o he exis ing pa alleliza ion
echniques. One o hem is h ead-le el specula ion, a echnique ha op imis i-
cally ies o ex ac pa allelism o loops wi hou he need o a compile- ime
analysis ha gua an ees ha he loop can be execu ed in pa allel.
In his a icle we e alua e he pe o mance deli e ed by an In el Xeon
Phi cop ocesso when using a so wa e, s a e-o - he-a h ead-le el specula-
i e pa alleliza ion lib a y in he execu ion o well-known benchma ks. Ou
esul s show ha , al hough he Xeon Phi deli e s a ela i ely good speedup in
compa ison wi h a sha ed-memo y a chi ec u e in e ms o scalabili y, he low
compu ing powe o i s compu a ional uni s when speci ic ec o iza ion and
SIMD ins uc ions a e no exploi ed, indica es ha u he de elopmen o new
speci ic echniques o his pla o m is needed o make i compe i i e o he
applica ion o specula i e pa alleliza ion compa ing wi h high-end p ocesso s
o con en ional sha ed-memo y sys ems.
Keywo ds Th ead-Le el Specula ion ·Specula i e Pa alleliza ion ·Op i-
mis ic Pa alleliza ion ·TLS ·Xeon Phi
A. Es ebanez ·D.R. Llanos ·A. Gonzalez-Esc ibano
Depa amen o de In o ma ica, Uni e sidad de Valladolid, Campus M. Delibes, 47011 Val-
ladolid, Spain
E-mail: al [email p o ec ed]a.es
D.R. Llanos
E-mail: [email p o ec ed]a.es
A. Gonzalez-Esc ibano
E-mail: [email p o ec ed]a.es
2 Es ebanez e al.
1 In oduc ion
Cu en ly, physical limi a ions o single co e chips a e inducing a quick de el-
opmen o mul ico e a chi ec u es. One o he mos ecen app oaches is he
In el R
Xeon PhiTM [3,11,20], a cop ocesso wi h mo e han 60 co es able o
execu e ei he o loaded and na i e codes. None heless, due o i s own no el y,
his cop ocesso has no ye been ex ensi ely es ed wi h non- egula pa al-
lel codes. The dissemina ion o expe imen al esul s unde hese condi ions
would be eally use ul o es he beha io and capabili ies o his compu ing
esou ce.
In his pape we use a Xeon Phi cop ocesso o un i egula applica ions
ha we e specula i ely pa allelized, wi h he help o a so wa e-only, specula-
i e pa alleliza ion lib a y. Th ead-Le el Specula ion (TLS) [8,34,35,42], also
called Specula i e Pa alleliza ion (SP) [14,18,22,46] o Op imis ic Pa allelism
[25,26] ies o ex ac pa allelism o loops ha can no be conside ed ully
pa allel a compile ime. TLS op imis ically assumes ha dependence iola-
ions will no occu , launching he pa allel execu ion o he loop. A ha dwa e
o so wa e moni o ensu es he co ec ness o ha assump ion. I a depen-
dence iola ion is de ec ed, o ending h eads a e s opped and e-s a ed in
o de . A e sol ing he issue, he op imis ic, pa allel execu ion is allowed o
con inue. The a ge o TLS sys ems a e usually o loops. O he loops can
be conside ed as well, bu as long as hei numbe o i e a ions can no be
so easily p edic ed, he applicabili y o TLS solu ions is limi ed by scheduling
p oblems.
In o de o handle he specula i e pa alleliza ion o a loop, all a iables
ha e o be classi ied as p i a e, sha ed, o “specula i e”1. All eads o a spec-
ula i e a iable a e eplaced a compile ime wi h a unc ion ha eco e s he
mos up- o-da e alue o his a iable. In a simila way, all w i es o a spec-
ula i e a iable a e eplaced wi h a unc ion ha no only pe o ms he w i e
ope a ion, bu also ensu es ha no h ead execu ing a subsequen i e a ion
has al eady consumed an ou da ed alue o his a iable.
The mos common solu ion o main ain specula i e da a is o allow each
h ead o keep a e sion copy o all he specula i e a iables ha ha e been
locally accessed. Once a h ead inishes he execu ion o i s chunk o i e a ions,
all changes in he specula i e da a a e commi ed o main memo y.
TLS is use ul when execu ing codes ha p esen sca ce dependence io-
la ions a un ime. O he wise, cos s associa ed o check o co ec ness, s op
and e y execu ions, and commi men s, make his echnique ine icien .
The con ibu ion o his pape is o es he pe o mance o a s a e-o -
he-a TLS un ime lib a y using an In el Xeon Phi. This cop ocesso has
a big numbe o pa allel h eads, he e o e, i is in e es ing o measu e i s
beha io wi h a sha ed-memo y echnique such as TLS, when da a is pe ma-
nen ly sha ed among h eads. Ou expe imen al esul s show ha he bench-
1This issue can be add essed by he p og amme , o by he use o speci ic compile s such
as [4].
E alua ing he Xeon Phi pla o m in he con ex o so wa e-only TLS 3
ma ks conside ed scale well when unning hem wi h a Xeon Phi cop ocesso .
Howe e , ou esul s also show ha , due o he i egula na u e o he a -
ge applica ions o TLS echniques, and he modes compu ing capabili ies
o each indi idual co e when ec o ized and SIMD ins uc ions a e no ex-
ploi ed, execu ion imes a e much highe han hose gauged in con en ional
sha ed-memo y sys ems.
The es o his pape is s uc u ed as ollows: Sec ion 2 desc ibes he main
cha ac e is ics o he Xeon Phi cop ocesso . Sec ion 3 desc ibes he so wa e-
based, TLS amewo k used o es he cop ocesso . Sec ion 4 desc ibes bo h
he expe imen al en i onmen and he benchma ks used. Sec ion 5 shows some
expe imen al esul s in e ms o pe o mance measu ed in a sha ed-memo y
sys em wi hou cop ocesso , and in a Xeon Phi cop ocesso . Sec ion 6 summa-
izes some wo ks ha helps o pu in o pe spec i e ou con ibu ion. Finally,
Sec . 7 concludes his pape .
2 In el Xeon Phi in a nu shell
In el Xeon Phi [3,11,20] is a cop ocesso launched by In el in 2012. I is called
cop ocesso because, al hough i can un a Linux ope a ing sys em by i sel ,
i should be placed aside ano he p ocesso o wo k p ope ly. Al hough i s
imp essions migh sugges a numbe o simila i ies, i is no an accele a o
such as GPUs. Whe eas he In el Xeon Phi co es a e mo e simila o classical
comple e CPUs, he GPUs h ead scheduling ha dwa e is di e en . Fu he -
mo e, In el Xeon Phi cop ocesso s do no use he g id, and g oups o h eads
concep 2in he same way, and also he memo y la ency hiding mechanisms a e
di e en . This issue hinde s easy code mig a ions o he la e kind o accele a-
o s, and equi es and in-dep h unde s anding o special p og amming models
as CUDA [30], o OpenCL [23]. On he o he hand, he Xeon Phi cop ocesso
is able o use all s anda d pa allel p og amming models such as OpenMP [12],
POSIX h eads, MPI [43], o e en OpenCL. Thus, using his new cop ocesso
only equi es a minimum lea ning cu e, assuming ha he p og amme knows
a leas one o hese common pa allel p og amming models.
2.1 In e nal de ails
In el Xeon Phi cop ocesso s ha e up o 61 co es a 1090 MHz, in e connec ed
by a high-speed bidi ec ional ing. Each co e is enhanced wi h ou ha dwa e
h eads (up o 244 h eads pe cop ocesso ), and wi h a 512-KB L2 cache. L2
2As he eade may know, GPUs ha e a hie a chical ha dwa e a chi ec u e, so hey should
be p og ammed wi h a hie a chical h ead s uc u e in mind [7], ha uses he concep o
h eads, blocks, and g ids. A h ead is he simples uni o execu ion, in ended o p ocess
a speci ic code. A block is de ined as a g oup o h eads, whe e h eads can be execu ed
concu en ly o sequen ially wi h no o de . A his le el, a block allow he coo dina ion
o i s h eads wi h he use o ba ie s. A g id is a g oup o blocks wi hou any possible
synch oniza ion among hem.
4 Es ebanez e al.
PCIe
Clien
Logic
GDDR
MC
GDDR
MC
GDDR
MC
GDDR
MC
4- h eads
Co e
L2
4- h eads
Co e
L2
TDTD
4- h eads
Co e
L2
4- h eads
Co e
L2
TDTD
4- h eads
Co e
L2
4- h eads
Co e
L2
TDTD
4- h eads
Co e
L2
4- h eads
Co e
L2
TDTD
Fig. 1 O e iew o he mic oa chi ec u e o an In el Xeon Phi cop ocesso .
cache le els a e sha ed by all co es. Fu he mo e, in addi ion o 64-bi x86
ins uc ions, co es o e 512-bi wide SIMD ec o s, making ec o iza ion he
mos powe ul way o gain pe o mance. The cop ocesso is gene ally connec ed
o he hos sys em ia he PCI Exp ess bus, and suppo s up o 8 GB GDDR5
memo y. Figu e 1 b ie ly desc ibes he a chi ec u e o he In el Xeon Phi.
2.2 Use o he Xeon Phi
The e a e mainly wo ways o execu ing an OpenMP p og am in o a Xeon Phi
cop ocesso :
Na i e Execu ion: The In el Xeon Phi cop ocesso is capable o unning a
Linux ope a ing sys em. I is possible o log in o he Xeon Phi om he
hos p ocesso using SSH, h ough a mic0 ne wo k in e ace, added o he
ke nel by a module p o ided by In el, and use i na i ely. Thus, i allows
he execu ion o he ypical Linux-based commands as well as ou own
p og ams.
O load Ex ensions om he hos : In el de ined a se o p agmas and keywo ds
o be used in pa allel codes in o de o execu e hem in cop ocesso s.
A p og amme only needs o decla e he egion which should be exe-
cu ed in a cop ocesso . Inside his egion, any kind o unc ion can be
used. Fo example, in he case o OpenMP, a single p agma de ined as
#p agma o load a ge {mic} should be used, whe e mic ep esen s he
iden i ie o he a ge Xeon Phi cop ocesso . In addi ion, we should poin
ou he a iables ha will be used in he cop ocesso , decla ing hei use
E alua ing he Xeon Phi pla o m in he con ex o so wa e-only TLS 5
wi h he clauses in(),ou (), o inou (). The use o a iables wi h dy-
namic size equi es o explici ly decla e he size, e.g. in(a:leng h(n)). These
a iables will be copied om he hos o he de ice, and/o ice e sa,
depending on hei usage.
As can be seen, he Xeon Phi p og amming me hodology is eally con e-
nien in o de o gain speedup wi h a ela i ely low p og amming e o .
3 Desc ip ion o he ATLaS un ime lib a y
The ATLaS amewo k [4] enhances OpenMP wi h a new clause o allow he
specula i e use o a iables inside a p og am. The use o his ool is simple: A
p og amme only needs o include he lis o specula i e a iables in he p ede-
ined specula i e clause o al pa allel o di ec i e. The compila ion and un ime
sys em au oma ically ans o ms he code o a e sion capable o unning in
pa allel while p ese ing sequen ial seman ics. To do so, he sys em augmen s
all accesses o specula i e a iables, adap ing hem o he unc ions o he
ATLaS un ime lib a y [15], ha ensu es sequen ial consis ency. In his wo k,
we ha e modi ied he un ime lib a y so as o adap i o pa icula i ies o he
In el Xeon Phi cop ocesso . Howe e , ou aim was doing as ew modi ica ions
as possible. A mo e in-dep h adap a ion would equi e a deep modi ica ion o
he lib a y implemen a ion, ha is ou o he scope o his pape .
The ATLaS un ime lib a y suppo s he specula i e execu ion o o loops
wi h dynamic and poin e - e e enced specula i e a iables, handling dynamic
memo y, and managing, on demand, he space needed o specula i e a iables
in each h ead. This TLS un ime lib a y allows he pa alleliza ion o loops
wi h a iables o any da a ype, allowing he p og amme o e e ence hese
a iables ei he by name o by add ess. In his sec ion we will b ie ly show he
a chi ec u e o ou lib a y in o de o unde s and he s uc u es and ope a ions
in which he In el Xeon Phi will be es ed.
3.1 ATLaS un ime da a s uc u es
Fig. 2 ou lines he da a s uc u es needed by he specula i e un ime lib a y.
In his sec ion we will only b ie ly desc ibe he main cha ac e is ics o his
solu ion: A de ailed explana ion can be ound in [4,15]. A he op o he
igu e, we can see wo poin e s o he non-spec and he mos -spec h eads, ha
a e he h eads in cha ge o he execu ion o he non-specula i e and mos -
specula i e chunks o i e a ions. The non-specula i e chunk is he one whose
execu ion is no specula i e, while he mos -specula i e one is he one ha is
mo e likely o su e a dependence iola ion om a p edecesso h ead. Below
hese poin e s he e is a ma ix wi h Wwindow slo s ( ou in he igu e)
implemen ing a sliding window ha manages he un ime o he lib a y. Each
slo is esponsible o handle he specula i e execu ion o a pa icula se o
i e a ions. Each slo is composed o wo ields, STATE wi h he s a e o he

6 Es ebanez e al.
1
Non−spec window slo
3
Mos −spec window slo
Poin e
o e .
copy
Da a
size
Poin e
o local
e sion
Ve sion
s a e
18.997
b1
9
a1
Poin e
o e .
copy
Da a
size
Poin e
o local
e sion
Ve sion
s a e
7
a3 b3
25.8
&a 1 EXPLD
MOD&b 4 &b3
&a3
18.997
b2 c2
128.215 7
a2
Poin e
o e .
copy
Da a
size
Poin e
o local
e sion
Ve sion
s a e
8&c ELUP&c2
&b 4 EXPLD&b2
&a 1 &a2 MOD
Running Done Running F eeSTATE
Poin e o e sion copy
Sliding window
loa bcha a
double c
9 23.4
32.88
specula i e
a iables
Use −labeled
&a
&b &b1 MOD
EXPLD&a11
4
Ve sion copy da a s uc u es
Slo 1 Slo 2 Slo 3 Slo 4
Fig. 2 Da a s uc u es o ou new specula i e lib a y.
execu ion being ca ied ou in each slo ; and a poin e o main ain he posi ion
o he specula i e a iables used by each slo in he execu ion.
We can also ollow a possible execu ion wi h he aid o he Fig. 2. In
ha igu e, he sys em is execu ing h ee consecu i e chunks o i e a ions in
pa allel using h ee h eads. Ea lie chunks ha e al eady been commi ed, and
he execu ion o “ u u e chunks” has no been launched ye .
I is e y impo an o unde s and ha he e is no a ixed associa ion
be ween h eads and slo s. Whene e a h ead is assigned a new chunk o
i e a ions, i is also assigned a slo o wo k in, ha is loca ed a he igh o
he mos -specula i e slo . This allows o main ain an o de ela ionship among
he chunks being execu ed.
In he example, he h ead wo king in Slo 1 is execu ing he non-specula i e
chunk o i e a ions (as indica ed by i s RUNNING s a e); he ollowing chunk
has been al eady execu ed and i s da a has been le he e o be commi ed
a e he non-spec chunk inishes (since i is in DONE s a e), while he las
one, he mos -specula i e chunk launched so a , is also RUNNING. In o he
wo ds, he h ead in cha ge o he second chunk has al eady inished, while
he non-spec and mos -spec h eads a e wo king. I mo e chunks we e pending,
he eed h ead would be assigned he ollowing chunk, s a ing i s execu ion
in Slo 4. Slo 2 can no be e-used ye , because he execu ion o chunk 2 le
changes o specula i e a iables ha s ill ha e o be commi ed. When he
non-specula i e h ead wo king in Slo 1 inishes, i will commi i s esul s
and he esul s s o ed in all subsequen DONE slo s, since commi s should be
ca ied ou in o de . A e ha , in ou example, he non-spec poin e will be
ad anced o Slo 3 o e lec he new si ua ion.
E alua ing he Xeon Phi pla o m in he con ex o so wa e-only TLS 7
Exp. Loaded and Upda ed
(ELUP)
Exposed Loaded
(EXPLD)
No Accessed
Modi ied
(MOD)
s o e
load
s o e
Spec.
Spec.
Spec.
Spec. load
Spec. load / Spec. s o e
Spec. load / Spec. s o e
Fig. 3 S a e ansi ion diag am o specula i e da a.
In addi ion o i s STATE, each slo poin s o a da a s uc u e ha holds he
e sion copies o he da a being specula i ely accessed. Fig. 2 ep esen s a loop
wi h h ee specula i e a iables. A a gi en momen , he h ead execu ing he
non-specula i e chunk has specula i ely accessed a iables aand b. Each ow
o he e sion copy da a s uc u e keeps he in o ma ion needed o manage
he access o a di e en specula i e a iable. The i s column indica es he
add ess o he o iginal a iable, known as he e e ence copy. The second one
indica es he da a size. The hi d one indica es he add ess o he local copy
o his a iable associa ed o his window slo . Finally, he ou h column
indica es he s a e associa ed o his local copy. Once accessed by a h ead, he
e sion copies o he specula i e da a can be in h ee di e en s a es: Exposed
Loaded, indica ing ha he h ead has o wa ded i s alue om a p edecesso
o om he main copy; Modi ied, indica ing ha he h ead has w i en o ha
a iable wi hou ha ing consumed i s o iginal alue; and Exposed Loaded and
Upda ed, whe e a h ead has i s o wa ded he alue o a a iable and has
la e modi ied i . The ansi ion diag am o hese s a es is shown in Fig. 3.
Fig. 2 ep esen s a si ua ion whe e he h ead wo king in Slo 1 has pe -
o med a specula i e load om a iable a(ob aining i s alue om he e e -
ence copy) and a specula i e s o e o a iable b. Rega ding a, he igu e shows
ha he h ead wo king in Slo 3 has o wa ded i s alue. Wi h espec o
a iable b, he in o ma ion in he igu e shows ha bhas been o e w i en
bo h by h eads wo king in Slo s 1 and 3 wi hou aking in o accoun i s p io
alue (since bo h e sion a e in Modi ied s a e). When he commi men o he
da a gene a ed by hese h eads ake place, a iable bwill be i s o e w i en
by he e sion copy p oduced by he non-specula i e h ead. A e inishing
his commi ope a ion, he non-spec poin e ad ances one posi ion, and when
8 Es ebanez e al.
he h ead loca ed in Slo 2 inishes, i will o e w i en again he a iable b
wi h he new alue.
3.2 Specula i e ope a ions
In o de o manage e sioning and de ec dependence iola ions on specula i e
a iables, all accesses o specula i e a iables a e eplaced a compile ime wi h
a unc ion ha manages he s uc u es desc ibed abo e. Reading a specula i e
a iable implies o ob ain he mos upda ed alue o his a iable, in o de o
a oid, as much as possible, dependence iola ions. Fo he same eason, w i e
ope a ions a e also eplaced wi h a unc ion ha , in addi ion o s o ing he
alue in an in e media e place, checks i any successo h ead (a h ead which
execu es a chunk o subsequen i e a ions) has used an ou da ed e sion o
his a iable. In his case, he h ead should disca d he da a calcula ed so a
du ing he execu ion o he cu en chunk o i e a ions and es a i . When
doing so, he h ead will o wa d he co ec alue o he a iable. As can
be in e ed, while a load o s o e ope a ion o a scala da um only equi es
o pe o m a single memo y access, he ans o ma ion o his ope a ion in
a specula i e load o s o e equi es o eplace he single memo y access o a
unc ion call ha pe o ms all he equi ed ac ions. This implies ha he ime
consumed by he specula i e load o s o e ope a ion can be easily wo o h ee
o de s o magni ude highe han he o iginal one.
The pa ial commi ope a ion is exclusi ely ca ied ou by he non-specula i e
h ead. E e y ime a h ead should check i i s da a ha e o be commi ed o
disca ded, i i s checks i i has no been squashed and i is he non-specula i e
h ead. I he h ead is specula i e, he slo is le , since i will be commi ed
la e by he non-spec h ead.
I is in e es ing o no e ha each h ead only w i es on i s local e sion
copy da a s uc u e, so no c i ical sec ions a e needed o p o ec hem. The
only c i ical sec ion used p o ec s he sliding window da a s uc u e, because,
wi hou i , a h ead could o e w i e ano he h ead’s s a e.
4 Expe imen al se up
The goal o his wo k is o es he Xeon Phi cop ocesso in o -loading mode
o specula i ely execu e in pa allel di e en , well-known benchma ks. In his
way, he ATLaS un ime lib a y was adjus ed o o load he execu ion o he
pa allel loop o he Xeon Phi cop ocesso , wi hou u he op imiza ions such
as ec o iza ion, one o he mos impo an ea u es o he Xeon Phi. In any
case, his ea u e is no e y use ul o ou benchma ks, mainly composed o
i egula code.
To es he pe o mance o he ATLaS TLS un ime, we ha e used h ee
di e en eal-wo ld benchma ks, oge he wi h a syn he ic one. The eal-wo ld
applica ions include he 2-dimensional Con ex Hull p oblem (2D-Hull) [10],
E alua ing he Xeon Phi pla o m in he con ex o so wa e-only TLS 9
he Delaunay T iangula ion p oblem [29,13], and a C implemen a ion o he
TREE benchma k [5]. The syn he ic benchma k is he Fas [4].
The 2D-Hull p oblem sol es he compu a ion o he con ex hull (smalles
enclosing polygon) o a se o poin s in he plane. We ha e pa allelized Cla kson
e al. [10]’s implemen a ion. The algo i hm s a s wi h he iangle composed
by he i s h ee poin s and adds poin s in an inc emen al way. I he poin
lies inside he cu en solu ion, i will be disca ded. O he wise, he new con ex
hull is compu ed. No e ha any change o he solu ion ound so a gene a es
a dependence iola ion, because o he successo h eads may ha e used he
old enclosing polygon o p ocess he poin s assigned o hem. The p obabili y
o a dependence iola ion in he 2D-Hull algo i hm depends on he shape
o he inpu se . The e o e, we ha e used h ee di e en , en-million-poin
inpu se s o un his benchma k. The Kuzmin inpu se ollows a Gauss-
Kuzmin dis ibu ion, wi h a highe densi y o poin s a ound he cen e o
he dis ibu ion space, which leads o e y ew dependence iola ions, since
poin s a om he cen e a e e y sca ce. The wo o he inpu se s, Squa e
and Disc, cause mo e dependence iola ions han Kuzmin, wi h hei poin s
uni o mly dis ibu ed inside a squa e and a disc, espec i ely. The Squa e inpu
se leads o an enclosing polygon wi h ewe edges han he Disc inpu se ,
hus gene a ing ewe dependence iola ions.
The second eal-wo ld applica ion is he andomized inc emen al cons uc-
ion o he Delaunay T iangula ion using he Jump-and-Walk s a egy, which
was in oduced by M¨ucke e al. [29,13]. This inc emen al s a egy s a s wi h
a numbe o poin s, called ancho s, whose con aining iangles a e known. The
algo i hm inds he closes ancho o he poin o be inse ed ( he jump phase),
and hen a e ses he cu en iangula ion un il he iangle ha con ains
he poin o be inse ed is ound ( he walk phase). The goal o he algo i hm
is o ind he ne wo k o iangles in which all he ci cumci cles o all iangles
in he ne wo k a e emp y, i.e., he ci cumci cle o each iangle con ains no
o he e ices han hose h ee ha de ine he iangle. We ha e used an inpu
se o 5000 ancho s, and one million poin s o be inse ed.
The TREE p oblem [5], unlike he p e ious wo applica ions, does no su -
e om dependence iola ions, bu i is s ill no pa allelizable a compile ime
because he compile is no able o ensu e ha he e a e no da a dependencies.
Compile s also ind hu dles in se e al sum and maximum educ ions con ained
in he code. We ha e un his benchma k wi h a 4096-poin inpu se .
We ha e also used a syn he ic benchma k called Fas [4], which p esen s
almos no dependences be ween i e a ions, and which was designed o es he
e iciency o he specula i e scheduling mechanism, wi h ew i e a ions
We ha e used wo di e en pla o ms o compa e he scalabili y o he spec-
ula i e execu ion o ou benchma ks. The i s one is He acles, a 64-p ocesso
se e , equipped wi h ou 16-co e AMD Op e on 6376 p ocesso s a 2.3GHz
and 256GB o RAM, which uns Cen OS 7 Linux. The second one is Chime a,
a se e equipped wi h wo In el Xeon E5-2620 V2 p ocesso s wi h six co es
each, 32 Gb o RAM, and a Xeon Phi 3120A cop ocesso wi h 6 Gb o RAM
unning a 1.1 GHz. The sys em also uns Cen OS 7 Linux.
16 Es ebanez e al.
o applica ions) and i an e o was p oduced, he execu ion was es o ed o a
co ec , sa ed s a e, ins ead o being es a ed.
Some essays a e ocused in he implemen a ion o exis ing algo i hms in o
cop ocesso s. Fo example, [33] de eloped a mul i-node 1D FFT implemen a-
ion on cop ocesso s; [27] implemen ed a spa se ma ix- ec o mul iplica ion;
and [32] de eloped a SQL engine ha bene i ed om he inhe en pa allelism
ela ed o Xeon Phi cop ocesso s.
Fu he mo e, as i is he case, he e a e many o he pape s cen e ed on
he measu emen o he pe o mance ob ained om a Xeon Phi. [38] was one
o he i s pape s ha used In el Xeon Phi cop ocesso ( ha was called In el
Knigh s Fe y) o e alua e he pe o mance o scien i ic applica ions. La e ,
C ame e al. [11] e alua ed he beha io o some OpenMP benchma ks in a
Xeon Phi cop ocesso . They a i med ha common OpenMP codes could be
easily mig a ed o In el Xeon Phi, gaining mo e pa allel pe o mance wi hou
adding o e heads. This s udy was enhanced in [39]. [16] also es ed he Xeon
Phi h ough he de elopmen o some mic obenchma ks.
7 Conclusions
In his wo k we ha e e alua ed he beha io o he Xeon Phi cop ocesso in
he con ex o so wa e-only, h ead-le el specula ion (TLS), a pa allel ech-
nique ha op imis ically execu es in pa allel sequen ial codes wi hou a p io
dependence analysis. In el Xeon Phi cop ocesso s a e one o he s a e-o - he-
a a chi ec u e ha aims o execu e pa allel codes. Ou expe imen al esul s
show ha he pa icula memo y a chi ec u e o he Xeon Phi leads o be e
scalabili y wi h ega ds o specula i e execu ion, wi h be e ela i e speedups
han hose ob ained using a con en ional, sha ed-memo y a chi ec u e. How-
e e , he ela i e low compu ing powe o i s compu a ional uni s when speci ic
ec o iza ion and SIMD ins uc ions a e no exploi ed, indica es ha u he
de elopmen o new speci ic echniques o his pla o m is needed o make i
compe i i e o he applica ion o specula i e pa alleliza ion compa ing wi h
high-end p ocesso s o con en ional sha ed-memo y sys ems.
Al hough he use o a Xeon Phi cop ocesso o execu e so wa e-based, TLS
codes is no compe i i e, he Xeon Phi a chi ec u e migh be use ul when com-
bining TLS solu ions wi h o he exis ing echniques such as alue p edic ion
o helpe h eads. In his way, some o he a ailable h eads could be used
o help TLS execu ion, educing dependence iola ions and hus imp o ing
pe o mance.
Acknowledgemen s This esea ch is pa ly suppo ed by he Cas illa-Leon Regional Go -
e nmen (VA172A12-2); MICINN (Spain) and he Eu opean Union FEDER (MOGECOPP
p ojec TIN2011-25639, HomP og-He Sys p ojec TIN2014-58876-P, CAPAP-H5 ne wo k
TIN2014-53522-REDT).

E alua ing he Xeon Phi pla o m in he con ex o so wa e-only TLS 17
Re e ences
1. AMD Op e onTM 6300 Se ies p ocesso - quick e e ence guide. URL h ps://www.
amd.com/Documen s/Op e on_6300_QRG.pd . [Las isi : June 2015]
2. In el R
Xeon PhiTM p oduc amily: P oduc b ie . URL h ps://www-ssl.
in el.com/con en /dam/www/public/us/en/documen s/p oduc -b ie s/
high-pe o mance-xeon-phi-cop ocesso -b ie .pd . [Las isi : June 2015]
3. In el R
Xeon PhiTM cop ocesso ins uc ion se a chi ec u e e e ence manual. URL
h ps://so wa e.in el.com/si es/de aul / iles/ o um/278102/327364001en.pd .
[Las isi : June 2015]
4. Aldea, S., Es ebanez, A., Llanos, D., Gonzalez-Esc ibano, A.: An openmp ex ension
ha suppo s h ead-le el specula ion. IEEE T ansac ions on Pa allel and Dis ibu ed
Sys ems PP(99), 1–1 (2015). DOI 10.1109/TPDS.2015.2393870
5. Ba nes, J.E.: TREE. Ins i u e o As onomy. Uni e si y o Hawaii (1997). URL p:
//hubble.i a.hawaii.edu/pub/ba nes/ eecode/
6. Cadambi, S., Co iello, G., Li, C.H., Phull, R., Rao, K., Sanka adass, M., Chak ad-
ha , S.: Cosmic: Middlewa e o high pe o mance and eliable mul ip ocessing on xeon
phi cop ocesso s. In: P oceedings o he 22Nd In e na ional Symposium on High-
pe o mance Pa allel and Dis ibu ed Compu ing, HPDC ’13, pp. 215–226. ACM, New
Yo k, NY, USA (2013). DOI 10.1145/2462902.2462921. URL h p://doi.acm.o g/10.
1145/2462902.2462921
7. Cai, P., Cai, Y., Chand aseka an, I., Zheng, J.: A gpu-enabled pa allel gene ic algo i hm
o pa h planning o obo ic ope a o s. In: Y. Cai, S. See (eds.) GPU Compu ing and
Applica ions, pp. 1–13. Sp inge Singapo e (2015). DOI 10.1007/978-981-287-134-3 1.
URL h p://dx.doi.o g/10.1007/978-981-287-134-3_1
8. Cin a, M., Llanos, D.R.: Towa d e icien and obus so wa e specula i e pa alleliza ion
on mul ip ocesso s. In: P oceedings o he SIGPLAN Symposium on P inciples and
P ac ice o Pa allel P og amming (PPoPP) (2003)
9. Cin a, M., Llanos, D.R.: Design space explo a ion o a so wa e specula i e pa alleliza-
ion scheme. IEEE T ans. on Pa al. and Dis . Sys ems 16(6), 562–576 (2005)
10. Cla kson, K.L., Mehlho n, K., Seidel, R.: Fou esul s on andomized inc emen al con-
s uc ions. Compu . Geom. Theo y Appl. 3(4), 185–212 (1993)
11. C ame , T., Schmidl, D., Klemm, M., an Mey, D.: Openmp p og amming on in el
xeon phi m cop ocesso s: An ea ly pe o mance compa ison (2012)
12. Dagum, L., Menon, R.: OpenMP: an indus y s anda d API o sha ed-memo y p o-
g amming. IEEE Compu a ional Science & Enginee ing 5(1), 46–55 (1998). DOI
10.1109/99.660313
13. De oye, L., M¨ucke, E.P., Zhu, B.: A no e on poin loca ion in Delaunay iangula ions
o andom poin s. Algo i hmica 22, 477–482 (1998)
14. Dou, J., Cin a, M.: Compile es ima ion o load imbalance o e head in specula i e pa -
alleliza ion. In: P ocs o he 13 h In . Con . on Pa allel A chi ec u es and Compila ion
Techniques, PACT ’04. IEEE Compu e Socie y, Washing on, DC, USA (2004)
15. Es ebanez, A., Llanos, D., Gonzalez-Esc ibano, A.: New da a s uc u es o handle
specula i e pa alleliza ion a un ime. In e na ional Jou nal o Pa allel P og amming
pp. 1–20 (2015). DOI 10.1007/s10766-014-0347-0. URL h p://dx.doi.o g/10.1007/
s10766-014-0347-0
16. Fang, J., Sips, H., Zhang, L., Xu, C., Che, Y., Va banescu, A.L.: Tes -d i ing in el xeon
phi. In: P oceedings o he 5 h ACM/SPEC In e na ional Con e ence on Pe o mance
Enginee ing, ICPE ’14, pp. 137–148. ACM, New Yo k, NY, USA (2014). DOI 10.1145/
2568088.2576799. URL h p://doi.acm.o g/10.1145/2568088.2576799
17. F anklin, M., Sohi, G.S.: ARB: A ha dwa e mechanism o dynamic eo de ing o mem-
o y e e ences. IEEE T ans. Compu . 45(5), 552–571 (1996). DOI 10.1109/12.509907
18. Gao, L., Li, L., Xue, J., Yew, P.C.: SEED: A s a ically-g eedy and dynamically-adap i e
app oach o specula i e loop execu ion. IEEE T ansac ions on Compu e s 62(5), 1004–
1016 (2013)
19. Gopal, S., Vijaykuma , T.N., Smi h, J., Sohi, G.: Specula i e e sioning cache. In:
High-Pe o mance Compu e A chi ec u e, 1998. P oceedings., 1998 Fou h In e na-
ional Symposium on, pp. 195–205 (1998). DOI 10.1109/HPCA.1998.650559
18 Es ebanez e al.
20. Je e s, J., Reinde s, J.: In el Xeon Phi cop ocesso high-pe o mance p og amming.
Newnes (2013)
21. Jimbo ean, A., Clauss, P., Dollinge , J.F., Loechne , V., Ma inez Caamao, J.: Dynamic
and specula i e polyhed al pa alleliza ion using compile -gene a ed skele ons. In e na-
ional Jou nal o Pa allel P og amming 42(4), 529–545 (2014)
22. Kelsey, K., Bai, T., Ding, C., Zhang, C.: Fas 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
Symposium on Code Gene a ion and Op imiza ion, CGO ’09, pp. 157–168. IEEE Com-
pu e Socie y, Washing on, DC, USA (2009). DOI 10.1109/CGO.2009.18
23. Kh onos: Open Compu ing Language (OpenCL) (2010). h p://www.kh onos.o g/
opencl/, Las isi : Decembe 2, 2013
24. K ishnan, V., To ellas, J.: A chip-mul ip ocesso a chi ec u e wi h specula i e mul i-
h eading. IEEE T ansac ions on Compu e s 48(9), 866–880 (1999)
25. Kulka ni, M., Pingali, K., Wal e , B., Ramana ayanan, G., Bala, K., Chew, L.P.: Op i-
mis ic pa allelism equi es abs ac ions. In: PLDI 2007 P oceedings. ACM (2007)
26. Kulka ni, M., Pingali, K., Wal e , B., Ramana ayanan, G., Bala, K., Chew, L.P.: Op i-
mis ic pa allelism equi es abs ac ions. Commun. ACM 52(9), 89–97 (2009)
27. Liu, X., Smelyanskiy, M., Chow, E., Dubey, P.: E icien spa se ma ix- ec o mul-
iplica ion on x86-based many-co e p ocesso s. In: P oceedings o he 27 h In e na-
ional ACM Con e ence on In e na ional Con e ence on Supe compu ing, ICS ’13, pp.
273–282. ACM, New Yo k, NY, USA (2013). DOI 10.1145/2464996.2465013. URL
h p://doi.acm.o g/10.1145/2464996.2465013
28. Ma cuello, P., Gonzalez, A., Tubella, J.: Specula i e mul i h eaded p ocesso s. In: P ocs
o he 12 h In l con e ence on Supe compu ing, ICS ’98. ACM, New Yo k, USA (1998)
29. M¨ucke, E.P., Saias, I., Zhu, B.: Fas andomized poin loca ion wi hou p ep ocessing
in wo- and h ee-dimensional Delaunay iangula ions. In: SoCG ’96 P oceedings, pp.
274–283 (1996)
30. NVIDIA: NVIDIA CUDA A chi ec u e In oduc ion and O e iew Ve sion 1.1 (2009)
31. Oancea, C.E., Myc o , A., Ha is, T.: 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, USA (2009)
32. Olsen, S., Romose , B., Zong, Z.: Sqlphi: A sql-based da abase engine o in el xeon phi
cop ocesso s. In: P oceedings o he 2014 In e na ional Con e ence on Big Da a Science
and Compu ing, BigDa aScience ’14, pp. 17:1–17:6. ACM, New Yo k, NY, USA (2014).
DOI 10.1145/2640087.2644172. URL h p://doi.acm.o g/10.1145/2640087.2644172
33. Pa k, J., Bikshandi, G., Vaidyana han, K., Tang, P.T.P., Dubey, P., Kim, D.: Te a-scale
1d wi h low-communica ion algo i hm and in el® xeon phi™ cop ocesso s.
In: P oceedings o he In e na ional Con e ence on High Pe o mance Compu ing, Ne -
wo king, S o age and Analysis, SC ’13, pp. 34:1–34:12. ACM, New Yo k, NY, USA
(2013). DOI 10.1145/2503210.2503242. URL h p://doi.acm.o g/10.1145/2503210.
2503242
34. Raman, E., Vahha ajani, N., Rangan, R., Augus , D.I.: Spice: specula i e pa allel i -
e a ion chunk execu ion. In: P ocs o he 6 h annual IEEE/ACM In l symposium on
Code gene a ion and op imiza ion, CGO ’08. ACM, New Yo k, USA (2008)
35. Rauchwe ge , L., Padua, D.: The l pd es : Specula i e un- ime pa alleliza ion o loops
wi h p i a iza ion and educ ion pa alleliza ion pp. 218–232 (1995). DOI 10.1145/
207110.207148
36. Rezaei, A., Co iello, G., Li, C.H., Chak adha , S., Muelle , F.: Snapi y: Cap u ing
snapsho s o o load applica ions on xeon phi manyco e p ocesso s. In: P oceedings
o he 23 d In e na ional Symposium on High-pe o mance Pa allel and Dis ibu ed
Compu ing, HPDC ’14, pp. 1–12. ACM, New Yo k, NY, USA (2014). DOI 10.1145/
2600212.2600215. URL h p://doi.acm.o g/10.1145/2600212.2600215
37. Ro enbe g, E., Benne , S., Smi h, J.E.: T ace cache: A low la ency app oach o high
bandwid h ins uc ion e 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, pp. 24–35. IEEE Compu e
Socie y, Washing on, DC, USA (1996)
E alua ing he Xeon Phi pla o m in he con ex o so wa e-only TLS 19
38. Sa ish, N., Kim, C., Chhugani, J., Sai o, H., K ishnaiye , R., Smelyanskiy, M., Gi ka ,
M., Dubey, P.: Can adi ional p og amming b idge he ninja pe o mance gap o pa -
allel compu ing applica ions? In: P oceedings o he 39 h Annual In e na ional Sympo-
sium on Compu e A chi ec u e, ISCA ’12, pp. 440–451. IEEE Compu e Socie y, Wash-
ing on, DC, USA (2012). URL h p://dl.acm.o g/ci a ion.c m?id=2337159.2337210
39. Schmidl, D., C ame , T., Wienke, S., Te bo en, C., Mlle , M.: Assessing he pe o mance
o openmp p og ams on he in el xeon phi. In: F. Wol , B. Moh , D. an Mey (eds.)
Eu o-Pa 2013 Pa allel P ocessing, Lec u e No es in Compu e Science, ol. 8097, pp.
547–558. Sp inge Be lin Heidelbe g (2013). DOI 10.1007/978-3-642-40047-6 56. URL
h p://dx.doi.o g/10.1007/978-3-642-40047-6_56
40. Sohi, G.S., B each, S.E., Vijaykuma , T.N.: 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, pp.
414–425. ACM, New Yo k, NY, USA (1995). DOI 10.1145/223982.224451
41. Tian, C., Feng, M., Gup a, R.: Suppo ing specula i e pa alleliza ion in he p esence o
dynamic da a s uc u es. In: P ocs o he 2010 ACM SIGPLAN con on P og amming
language design and implemen a ion, PLDI ’10. ACM, New Yo k, NY, USA (2010)
42. Tian, C., Feng, M., Naga ajan, V., Gup a, R.: Copy o disca d execu ion model o
specula i e pa alleliza ion on mul ico es. In: P ocs o he 41s annual IEEE/ACM In l
Symp on Mic oa chi ec u e, MICRO ’41. Washing on, DC, USA (2008)
43. Walke , D.W.: The design o a s anda d message passing in e ace o dis ibu ed
memo y concu en compu e s. Pa allel Compu . 20(4), 657–673 (1994). URL h p:
//po al.acm.o g/ci a ion.c m?id=180103
44. Wallace, S., Calde , B., Tullsen, D.M.: Th eaded mul iple pa h execu ion. In: P o-
ceedings o he 25 h Annual In e na ional Symposium on Compu e A chi ec u e,
ISCA ’98, pp. 238–249. IEEE Compu e Socie y, Washing on, DC, USA (1998). DOI
10.1145/279358.279392
45. Yiapanis, P., Rosas-Ham, D., B own, G., Luj´an, M.: 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), 39:1–39:27
(2013)
46. Zhao, Z., Wu, B., Shen, X.: 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 ocs 21s In l Con on
Pa allel a chi ec u es and compila ion echniques, PACT ’12. New Yo k, USA (2012)