PEM- Mode
lodeE
jecuc
iónPara
le
la
basadoenRedesdePetr
i
Wo
l
fmann
,AaronGustavoHorac
io
Tes
isparaa
lcanzare
lgradode
DoctorenC
ienc
iasIn
formát
icas
D
irector
:
Ing
.ArmandoDeG
iust
i
Facu
ltaddeIn
formát
ica
Un
ivers
idadNac
iona
ldeLaP
lata
Índ
icedeconten
idos
1 Introducción 3
2 Redesde Petri 11
2.1 IntroducciónalasRedesdePetri... 11
2.2 RedesdePetriColoreadas... 16
2.3 Estrategiaspara modelaralgoritmosparalelos... 23
2.4 DesplegadodeRedesdePetriColoreadas... 31
3 ModelodeEjecución Paralela 35 3.1 Definicióndel ModelodeEjecuciónParalela... 35
3.2 Diseñodel Modelo ... 41
3.3 Implementacióndel Modelo ... 45
3.4 Elusodel modeloPEMparaelprogramador... 48
3.5 Trabajosrelacionados... 51
4 Experimentación 61 4.1 AlgoritmodeFactorizacióndeCholesky ... 61
4.1.1 EjecuciónSimulada... 70
4.1.2 Ejecuciónenelframework... 76
4.1.3 La máquinaconprocesadoresAMD... 76
4.2 Multiplicaciónde Matrices... 84
5 Conclusiones,impactoesperadoylíneasabiertasdeinvest
i-gación 103
5.1 Conclusioneseimpactoesperado ...103
5.2 Líneasabiertasdeinvestigación...107
Pre
fac
iodeagradec
im
ientos
Unaprofundagratitudyagradecimientoa miesposaDanielaporsueterna
pacienciaycompañíaalolargodetantosañosdesacrificio.Tambiénpara
mishijos,alosquelesherobadocientosdehorasde midedicaciónhacia
ellosparapoderconcluirconestatarea.A mispadresyabuela,queaunque
ausentes,nopodríahaberllegadohastaaquísinsuapoyoincondicionalen
etapas mástempranasdeesteproceso.Alrestode mifamiliayamistades,
porsuapoyoycomprensión.
Tambiénunreconocimientoygratituda midirector,elIngeniero
Ar-mandodeGiusti,porhabereliminadolosobstáculosquesurgieronalolargo
deesteprocesoysuconfianzaciegaenmíparapoderllegarabuenpuerto.A
losprofesoresalolargodelacarreradedoctorado,yenespecialaFernando
Tinetti,porlasenseñanzasqueaportaronalolargodeestacarrera
.Tam-biénaloscolegas,particularmentea Orlando Micolini,porelintercambio
deideasquedejaronprofundashuellasenestetrabajo.Porúltimo,atodo
elpersonaldelaFacultaddeInformáticadelaUniversidadNacionaldela
Plata,yenparticularalasintegrantesdelaSecretaríadePosgrado
,porfa-cilitarenormementecadatrámiteytareaquefuenecesariorealizar,deforma
Cap
ítu
lo1
Introducc
ión
Laprogramaciónparalelaesaquellaor
ientadaagenerarprogramasdecom-putaciónqueseejecutenen másdeunaunidaddeprocesamientoenforma
simultánea.Suprincipalobjetivoesgenerarcódigoquetome menortiempo
deejecuciónqueelejecutadoporunúnicoprocesador.Porlotantonotiene
razóndesersinoproduceuna mejoraenelrendimientodelaejecución,
entendiendoporrendimiento,altiempoquedemoraenejecutarsetodoel
programa.Obviamentedebeserconsistenteencuantoalresultadofinaldela
ejecución,quedebeserel mismo,paraunoovariosprocesadorescorriendo
enparalelo.
Ladisciplinanoesnueva.Susurgimientoespráct
icamentecontemporá-neoconelnacimientodelacomputación[Des87]. Ensunacimiento,los
equiposerantancaros,quedisponerdeunacomputadoraonerosacomola
deaquellosdíasparaejecutarunsoloprograma,eraineficienteeconóm
ica-mente,porloquelamultiprogramacióneraalgonaturalenaquellossistemas
operativos.Losavancestecnológicoshicieronquehoyendíaexistan muy
pocosequiposdeprocesamientoquedispongandeunúnicoprocesador.
Sinembargo,elobjetivodela mejoraenelrendimientonoessimplede
alcanzar
.Nosepuedeponerunprogramahechoparacorrerenformasecuen-cial,enuna máquinacon másdeunprocesadoryqueenformaautomática
empieceacorrerenparalelo.Sibienhayintentosenesadirección,susresu
l-tadosnologranalcanzarelpotencialquelosprocesadoresparalelosbrindan.
Esnecesarialaintervencióndeunprogramadorparaquetrans
formeunpro-gramasecuencialenparalelo,oal menoslodesarrolledeesaformadesdeel
inicio,paraobtenerresultadosacordealosrecursosutilizados.
jecu-tarseenparalelo,noesfácildelograr. Paraellodebetenerseencuenta
laejecuciónsimultáneadelcódigoenvariosprocesadores. Dejamostota
l-mentedeladoaquellosprogramasquepuedendividirseentareasquepueden
realizarseindependientementeunadeotra. Quizásseaunaformaidealde
paralelismoporsubajacomplejidad,peronoesdeinteréssuinvestigación
yaque,porunlado,esunproblemadesolucióntrivial,yporotrolado,es
pocofrecuente.
Eldesafíodelaprogramaciónparalelasurgecuandoelalgoritmotiene
dependenciasinternasquedebenserrespetadasparaqueelresultadofinal
puedaalcanzarsecorrectamente.Elordendeejecucióndelasinstruccionesde
unprogramadebeseralteradoocombinadoenformadiferentealsecuencial
paraserejecutadoenparaleloconlarestriccióndequeelresultadooriginal
semantenga.Esteeselconceptodedivisióndetareas,unadelasfuentesdel
paralelismo.Lastareasdeunprogramasecuencialsedividenensubtareas
quedebenserrealizadaspormásdeunprocesadorenparalelo,sinalterarel
resultado.
Ademásdeladivisióndetareasexisteotrafuenteprincipaldeparalelismo,
yeslareferidaaladivisióndedatos.Estasurgecuandoelconjuntodedatos
eslosuficientementegrandeparapoderserdivididoyprocesadopor más
deunprocesador.Enesoscasos,losprocesadoresejecutanel mismocódigo
sobrediferentejuegodedatos,deformatalqueseganatiempodeejecución
elpoderprocesarenparalelo.
DeestaformasellegaalataxonomíadeFlynndelaarquitecturade
procesadoresparalelos[RR10],queestádefinidaapartirdeuncuadrode
dobleentrada,unadimensiónparadatosyotraparacódigo,quedetermina
cuatroformatosdearquitecturas:SISD,SIMD, MISD, MIMD.’S’refierea
single,’M’amultiple,’I’ainstructiony’D’adata.EsclaroqueSISDnoes
paralelo,lasrestantessí.Laanalogíaentrelaarquitecturadeprocesadores
yladeprogramaparalelosesdirecta,salvandoladistanciaenqueanivel
deprogramas,enlugardeinstrucciones,serefiereaprogramas,yparalos
datos,serefiereabloquesdedatosenlugardeunvalorindividual.
Engeneral,unproblemadeprogramaciónparalelaesunacombinación
dedivisióndedatosydivisióndetareas,esdecir MPMD.Sifueraparalelo
porunosolodeestosfactores,elproblemaesderesoluciónrelativamente
simple.Solodivisióndetareas,implicaanalizarlaestructuradelalgoritmo,
particionarlaejecuciónyasignaracadaprocesador.Enelotroextremo,
solodivisióndedatos,oembarazosamenteparalelo,tieneunasolucióndel
asignadounjuegodedatosdiferenteacadaprocesador.
Lociertamentecomplejodeunprogramaparaleloeslaexistenc
iadede-pendenciasentretareascombinadoconladivisióndedatos,yaqueimplica
sincronismoenlaejecución.Unprocesadorinactivonopuedeiniciaruncóm
-putohastaquelastareasanteriores,lascualesleaportandatos
,hayanfi-nalizado.Estanecesidaddesincronismoentrelosprocesadoresesunadelas
causasprincipalesdelapérdidadeeficienciaenlosprogramasparalelos.Se
debeesperarhastaqueelantecesorfinaliceparapodercontinuar,yd
ichaes-peraimplicainactividad,justamenteloquesedeseaevitarparapoderlograr
unbuenrendimiento.
Estudiaryanalizarunalgoritmoparadetectarlasdependenciasyla
formadereorganizarlasinstruccionesparaganarenrendimiento,noesuna
tareasimple,niexisten métodologiasdesarrolladasparasurealización.Si
bienexisteelclásicoanálisisdedependencias, RaR, RaW, WaRy WaW
[RR10],aplicarloaunalgoritmoconunvolumendedatosquejustifique
suejecuciónenparalelo,generalmente milesdevalores,resultaprohibitivo,
porloqueestecriteriodebeaplicarseparadividirbloquesdedatos. Yla
formaopatrónenquelosdatosseandivididos,esporahora,unaactividad
dependientedelintelectodecadapersona.
Otrofactorparaalcanzarunbuenrendimientoese
lbuenusodelamemo-riacache.Loscomponentesdehardwareutilizadosparaalmacenardatos,las
memorias,tienenunesquemacuyotiempodeaccesocorreparaleloconel
costodeelaboracióndelcomponente.Siempreexistentiemposdedemoraen
elaccesodealosdatosporpartedeunprocesador,yesnormaqueamenor
demora, mayorcosto.Porloqueelalmacenamientodegrandescantidades
dedatosserealizasobre memorias máseconómicas. Debidoaque,como
sedijoanteriormente,laprogramaciónparalelaesconvenienteparagrandes
volúmenesdedatos,elesquemadeaccesoaestosescrucialparaunbuen
rendimiento.
La memoria,comountodo,estácompuestaporunajerarqu
íadecom-ponentes,los másrápidos máscercanosalprocesadorylos máslentos, más
distantes,entérminosdetiemposdeacceso.Las memorias másrápidasse
denominan memoriacache,yaquecontienencopiasdelosdatosexistentes
ennivelinferior.Elesquemadeaccesoesdesdeunnivelsuperioraunnivel
inferior.Cadavezqueundatoesnecesario,sebuscaenelnivelsuperior,ysi
noexisteenesenivel,generauna“falladecache”,queesresueltabuscando
el mismoenunnivelinferior.Comoelnivelinferiores máslento,unafalla
decachenopuedenevitarse,sedebetratardereducirlasal mínimoposible
[RR10].
Elproblemadelasfallasdecacheespertinentealaprogramaciónen
generalynoexclusivodelaprogramaciónparalela.Noobstante
,estepro-blemaesexaltadocuandodosprocesadoresquecompartenuncomponente
físicodememoriacachetrabajansobreconjuntosdedatosdiferentes,porlo
queterminancompitiendoporelusodel mismo.Unabuenaprogramación
paraleladebeteneruncuentaestosfactoresparaobtenerlosrendimientos
aceptables.
Lostrabajosanterioresaliniciodelasinvestigacionesquedieronlugara
estatesis,presentanproblemasenelrendimientoporcausasdelsincronismo.
Tantoseaelcasodelalgoritmopara multiplicaciónde matricesenentornos
declustersdecomputadoras[WT08,TW08,TW09, WT09]oparaequipos
conmúltiplesprocesadores[TW08,TW09],comotambiénparaelalgoritmo
defactorizaciónde matricesde Cholesky[Wol10, TW11].Entodasestos
trabajos,lafuenteprincipaldeinactividaddelosprocesadoreseslaespera
porelsincronismoplanteadoenelalgoritmoparalelo,setratedeprimitivas
deltipobarrieren memoriacompartida[CJP07],odeltipobroadcasten
memoriadistribuida[SOHL+98].Comoseutilizaronbibliotecasderutinas
usualesdeálgebralineal,elcódigofuentedeestasrutinasestáfueradel
alcancedelprogramador.Loqueestepuedecontrolaresladivisióndedatos,
detareas,ysuasignaciónaprocesadores,porloqueelsincronismoesla
variableaajustarpara mejorarrendimientos.
Nosedebeeludir,quelasincronizaciónfacilitaeldesarrollodeprogramas
paralelos.Es mássimpleplantearquelosprocesadorestrabajenenparalelo
sobrediversosjuegosdedatososobrediversastareasyqueavanzancada
unoensuprocesamientohastaundeterminadopuntodeejecuciónendonde
todosconcluyensutareayapartirdeallíseplanteaunanuevadistribución
decómputoparalelo.Dadoquelaprogramaciónparalelanoresultanatural
alprogramadorquehacesusprimerasexperienciaseneltema,lospuntosde
convergenciaenelprocesamientoayudanalrazonamiento.Sinembargo,en
trabajosprevios,secomprobóquelainactividadporsincronismosellevaba
másdel50%deltiempototaldeejecucióndelalgoritmodeCholesky[Wol10,
TW11].Estehechofuedeterminanteparabuscarunaopciónaesteformade
programaciónparalela.
Eliminarelsincronismoenlaejecuciónparalelaimplicaqueelavancede
laejecuciónencadaprocesadorparaleloesindependientedelavancedesus
lproce-samientoparaqueelalgoritmoparalelocomountodosee
jecutecorrecta-mente.Elcoordinadordebedeterminarquetareasestánrealizadas,cuales
pendientes,cualespendientesyhabilitadas,ycualespend
ientesperoalaes-peradelaresolucióndedependenciasdedatos.Elcoordinadordebeasignar
lashabilitadasaalgúnprocesadorinactivo.El modelo“Master/Slave”es
elejemplo máscomúndeestaformadeprogramación[KGGK94].Eneste
modelo,existeunprocesollamado “Master”encargadodedefiniryasignar
lastareasacadaproceso“Slave”parasurealización.
Unproblemahabitualeneste modeloeslasobrecargade
lproceso“Mas-ter”,quealsersecuencial,debeatender,deaunoporvez,acada“Slave”
inactivoparaasignarlelatarea.Además,silosdatosnoestándistribuidos
entrelosesclavos,aumentalasobrecargaaltenerquecomunicarlosdatosa
losprocesadorestrabajadoresparaquepuedanrealizarsutrabajo
.Lacon-centraciónenunoomásprocesoscoordinadoressuelegenerarinactividadpor
esperaenlosesclavos.Porotrolado,encasodedisponerpocosprocesadores
paralelos,puedesermuygravosoalosfinesdelrendimientogeneral,asignar
unprocesadorexclusivamentealatareadeadministración.
Otromodeloasíncronoeseldenominado“Peertopeer”.Estáconformado
porunareddecomputadorasquepuedenactuarcomoservidoresocomo
clientes,proveyendoosolicitandoservicios.Sufinalidadprincipalesevitar
laconcentracióndeserviciossobreunservidor,queencasodedesperfectos
ofallas,producelacaídadel mismo.El modeloplanteaquealtrabajaren
formadistribuida,laservicialidadse mantiene,yaquesiempreexistiráun
equipo“par”(peer)quepuedasuplantaralcaído[CLR09].Esunmodeloque
tieneunaorientaciónalsostenimientodeserviciosmásquealaprogramación
yejecuciónparaleladealgoritmos.
LateoríadelaplanificaciónoSchedulingcomoes másconocida,estudia
laasignaciónderecursoslimitadosaactividadeseneltiempo,conlafinalidad
deoptimizarenalgúnsentido,elusodelosrecursos.Existeunaramaque
estudiaelschedulingdeprocesosdecómputos,entendiendoporrecursoa
asignar,nosoloalosprocesadores,sinonotambiénaloscomponentesde
sistemasdecomunicaciones[RV09].Lasherramientasdesarrolladaseneste
dominioalcanzanunóptimoenelusodelosrecursos,locualtieneuncosto
computacional.Siestecostoesinaceptablementealto,sebuscantécnicasque
permitanalcanzarunsubóptimo.
Desdeelpuntodevistadelautor,lateoríadeschedulingobtieneresu
l-tadosquesonpuntualmenteinsuperables,peroesunateoríapocoútilpara
esnecesarioprecisar,elalgoritmo(elusodelosrecursos,entérminosde
scheduling)ylosrecursos.Larealidad,esqueparaunalgoritmodado,con
untamañodedatosdado,conuna máquinaparaleladada,conunnúmero
dadodeprocesadores,determinandolavelocidaddelrelojdeestos,elancho
debandadelaredqueinterconectalascomputadorasyunaciertacantidad
de memoriadistribuidaenunnúmerofijodebancos,lateoríadescheduling
puededeterminarelóptimo.Esdecir,esnecesariofijartodaslascondiciones
particularesparacalcularlo.Entérminosdetiempodeejecución
,esunsched-ulerestático.
Lonormalesquelascondicionesnoseanestáticasyquelosalgoritmos
seandistintos,elvolumendedatosacomputarporelalgoritmocambie,
laparticióndeestostambién,la máquinatengadist
intonúmerodeproce-sadores,loscanalesdememoriaydecomunicacionestengandistintosanchos
debanda,etc.Esdecir,lascondicionesquepermitencalcularunóptimo,
nosonestables,porloqueelcálculodelóptimoes materialmenteimposible
paratodosycadaunodeestoscasos.
Esesperablequeelschedulerdetareasseadinámicoyqueeviteuna
sobrecargadeprocesamientotalquenojustifiquesuutilización.Siguiendo
estecriterio,esprobablequenosealcanceelóptimo,yaquesedejande
ladoloselementosnecesariosparacalcularlo,perodesdeunpuntodevista
práctico,unquasi-optimorápidamentefactiblees mejorqueunóptimocon
uncostocomputacionalimposible.
Otratécnicausualenlaprogramaciónparalelaeselusodelosdiagramas
dedependencia.Estospartendeunadescomposicióndelalgoritmoentareas
ygeneranungrafodirigidocuyosvérticesrepresentantareasylasaristas,la
dependenciaqueexisteentredostareas.Comoelgrafoesdirigido,laarista
vaensentidodelatareahabilitada[BLKD07].Estaestructuradedatoss
ig-nificaunamejorarespectodeutilizarotrasestructuraspararepresentaraun
algoritmo,comoeselcasodelastablas.Elusodeestasparadeterm
inarde-pendenciasesengorrosocuandoelnúmerodetareaseselevado.Sinembargo,
el mecanismodeschedulingdelastareashabilitadasentrelosprocesadores
inactivosnoformapartedeeste modeloderepresentacióndelalgoritmo.
Tomandoencuentatodosestosantecedentes,seestudiólaposibilidad
deutilizarRedesdePetri[Dia09]para modelarunalgoritmoparalelo.Este
tipoderedessedestacanpara modelarsistemasconcurrentes,yaqueen
susemántica,laocurrenciadeeventosque modificanelestadodel modelo,
puedeserensimultáneo,adiferenciadelasmáquinasdeestadofinito(FSM),
presentanlaRedesdePetri,essurepresentacióngráfica,quesemánticamente
esclara,ypermitevisualizargráficamenteunaredcomplejaconsimplicidad.
También,comoesunaherramientaanalítica,esposibleanalizarlacorrectitud
del modeloconlosrequerimientosyobjetivosdel mismo.
Las RedesdePetritambiénpermitenidentificardentrodesu modelo,
loquesonloseventos,por mediodelas Transicionesyporotrolado,lo
quesoncondicionesparaquedichoeventopuedeocurrir,lasPlazas.Deesta
forma,unalgoritmopuedeserrepresentadoconmayorclaridadaungrafode
dependencias,yaquesepresentanydistinguenclaramenteloselementosque
locomponen,asaber,lastareas,por mediodelaTransiciones,ylosdatos,
por mediosdelasPlazas.Estasúltimas,asuvez,puedenactuardenexo
entredostareas,sisonelresultadodeunatareaylaentradadeotra. De
estaforma,ladependenciadedatosserepresentanaturalmente.Siaestas
facilidadeslesumamossuinmejorablecapacidadderepresentarconcurrencia,
utilizarestasredesparaelmodeladodealgoritmosparalelosesindiscutido.
Sinembargo,elcaminoderepresentaralgoritmosparalelosconRedesde
Petrinoestáexentodeinconvenientes.Elprimero,ymássobresaliente,esel
rápidocrecimientodelaredalagregartareas.Unaredextensaesdifícilde
interpretargráficayanalíticamente.Eshabitualquelosalgoritmospuedan
dividirseennumerosastareas,y másaúnsihaydivisióndedatosensu
ejecución,porloqueelnúmerodetareasarepresentarcrecerápidamente.
El modelodelalgoritmodebeserlosuficientementeclaroparapoderser
entendidoycontroladoporpartedelprogramador,delocontrario,noes
útil.
Laejecucióndelared,oalgoritmoparalosfinesdeestatesis,tampocoes
implícitoenlaReddePetri.Lasemánticadeejecución,puedeserparalela,
perotambiénpuedesersecuencial,dependiendodel modoenquequieraser
utilizada.Estefactor,juntoconelpresentadoenelanteriorpárrafo,fueron
losprincipalesdesafíosquehuboqueenfrentareneldesarrollodeestatesis
paralograrqueelmodeladodelalgoritmopuedasersimple,yasuvez,pueda
servirdebaseparaunaejecuciónparalela.
Esportodoestoqueel objetivo delatesisesladefinicióndeun
modelodeejecuciónparaleloquebasadoenlarepresentacióndeunalgoritmo
paraleloconRedesdePetri,permitaaunconjuntoflexibledeprocesadores
independientesentresí,ejecutarelalgoritmoenformaasíncronaconaltos
rendimientosyqueelprogramadortengacapacidaddeajustarlosparámetros
deejecuciónenvistade mejorasderendimiento.
je-cucióndeprogramasparalelosquepermitamodelarelalgoritmo,ypasardel
modeloalaejecuciónasíncronapreservandoel modelo.LasRedesdePetri
sonlaherramientabásicaeindiscutiblementepertinenteparalograre
lobje-tivo.Undesafíoescubrirlabrechaogapexistenteentreel modeladoyuna
ejecucióndelprogramaparaleloderendimientosaceptablesyescalables.Para
ello,debeexistirunavinculacióndelmodeloconunconjuntodeunidadesde
procesamientoquecorranenparalelo.
EnlabibliografíavigentenofueronhalladosejemplosqueusenalasRedes
dePetricomoherramientade modeladoycomo motordeejecuciónsobre
procesadoresrealesdecomputaciónenformasimultánea.Existennumerosos
desarrollosdesimulación,peronodeejecucióndirectaen máquinasfísicas
quepuedanobtenerunaltorendimiento.Paraalcanzarestosrendimientos,
esnecesarioademás,queelschedulingdelastareasplanteadasenelmodelo
seadinámicoyflexibleporrazonesdeeficiencia.
Elcontenidodelatesisesdivididoenpocoscapítulos:enelcapítulo2
sepresentanlosconceptosbásicosdeRedesdePetriutilizadosalolargode
estedocumento,lascaracterísticasdelmodeladodealgoritmosconestetipo
deredesyunejemplosobreunalgoritmoespecífico,elcualseráutilizado
posteriormente.Enelcapítulo3escompletadoel modelodeprogramación
paralelaplanteado,agregandocomponentesorientadosalaejecuc
iónpar-aleladelalgoritmomodelado.Enelcapítulo4sepresentanlosexperimentos
ytrabajosrealizadosqueconvalidanel modeloplanteado,condiferentesa
l-goritmos,bibliotecasderutinasy máquinasparalelas,yfinalmente,enel
capítulo5sepresentanlasconclusiones,elimpactoesperadoylalíneasde
Cap
ítu
lo2
RedesdePetr
i
ElpresentecapítulopresentalosconceptosbásicossobreRedesdePetri.No
hasidorealizadoconlaintencióndeseruntratadocompletodeltema,y
muchaspropiedadesimportantesdelasRedesdePetrinohansidoincluidas
aquí.Sonpresentadossololosconceptosnecesariosparaelrestodeltrabajo.
Seincluyeademásunasecciónqueexponelaestrategiautilizadapara
mod-elaralgoritmosconaltoniveldeabstracción,ysobrecómoconvertireste
modeloabstractoenotro modelo mássimplequepermitaserejecutadoen
paralelofacilmente.
2
.1 Introducc
iónalas RedesdePetr
i
Una ReddePetri Net(PN)esungrafodirigidobipartitocompuestopor
nodosllamadosPlazasy Transiciones. UsualmentelasPlazasrepresentan
“estados“ylasTransiciones“acciones“.ElconjuntodePlazassedenotacomo
P yelconjuntode TransicionescomoT.Elgrafoesbipartitoyaquelos
conjuntosP yT sondisjuntos,P∩T = ∅.Losarcosdelgrafosiempre
conectanunaPlazaconunaTransiciónoviceversa.Elconjuntodearcos
AesdefinidocomoA⊆(P×T)∪(T×P).Losarcossondenominadosde
entradaodesalidadependiendosiladireccióndelarcoesdeunaPlazaa
unaTransiciónoensentidocontrario,respectivamente[Dia09,IA06].
LaPNposeetokensqueexistensolamenteenlasPlazas,ygeneralmente
representan“hechos“.Lafunciónde marcadoµesunafunción,µ:P→ N
quedeterminaelnumerodetokensexistentesencadaPlaza.ElVectorde
detokensencadaPlaza.Enestemodelobásico,todoslostokenssoniguales
yfungibles.ElestadoinicialdeunVectorde Marcadoesdenominadocomo
M0.
Elpresetdeuna TransiciónteselconjuntodePlazasdeentradade
t,yesdefinidocomo•t= {p∈ P :∀(p,t)∈ A}. Deigual maneraes
definidoelpostsetdetcomot•= {p∈P :∀(t,p)∈A}.Ambosconceptos
determinanelconjuntodePlazasdeentradaydesalidadeunaTransición
t,respectivamente.
Una Transición tesllamada”habilitada“cuandotodossus Plazasde
entradatienentokens,esdecir,M[p]>0,paratodop∈•t.Hastaaquíha
sidoimplícitoquelosarcosdelgrafotienenunpesode1,tantosielarco
esarco(p,t)o(t,p).Elpesodeunarcoa∈A esdefinidoporlafunción
w(a):A→ N,locualdeterminaqueelpesopuedeserunnúmeronatural
positivo.Unvalormayorqueunorepresentaqueesnecesariomásdeuntoken
parahabilitarlaTransición,tantoscomoseaelpeso.Así,unaTransiciónt
quedahabilitadasiM[p]≥w(p),paratodop∈•t.
Elestadogeneraldelaredevolucionacuandouna Transiciónes”d
is-parada“.Enel modelobásicodePN,una Transiciónesautomáticamente
disparadasiestáhabilitada.Estoimplica movimientodetokensdesdelas
PlazasdeentradahacialasPlazasdesalida.Este movimientoesrealizado
mediantelasoperacionesdeabsorcióneinyectadodetokensenlasPlazasde
entradaysalidarespectivamente.
CuandounaTransicióntesdisparada,el Vectorde
Marcadoesactua-lizadodelasiguienteforma:
M [p]= M[p]−w(p) p∈•t M[p]+w(p) p∈t• M[p] default
locualesexpresadoconlanotaciónM −→M .t
ElconjuntodeestadosdeM quesepuedealcanzarapartirdelosdisparos
realizadosdesdeelestadoinicialM0esllamado MarcadodeAlcanzabilidad
(Reachability Marking), (M0),yesdefinidocomo:
(M0)={M |M0−→M }∗ (2.1)
elconjuntodeVectoresde Marcado.ElGrafodeAlcanzabilidadeselgrafo
formadoporlarelacióndedisparoentre Vectoresde Marcado. Enotras
palabras,eselgrafoquerepresentatodoslosvaloresalcanzablesparaM,
porsucesivosdisparosapartirdeunestadoinicialM0.
LasRedesdePetritienenmuchaspropiedadesmatemáticasimportantes.
Sedestacantresdeellas:
1.ElproblemadelaalcanzabilidadesdecidirsielmarcadoM puedeser
alcanzadodesdeelestadoinicialM0porunaseriededisparos.
2.Elproblemadelasobrevivencia(Liveness). Un marcadosin T
ran-sicioneshabilitadasesllamado muerto. Una PNespseudo-viva,si
∀M ∈ (M0)∃t∈T:testáhabilitada,loquesignificaquetodoslos
marcadosalcanzablestienenunaTransiciónquepuedeserdisparada.
Una PNesquasi-vivasi ∀t∈ T,∃M ∈ (M0):testáhabilitada
enM,loquesignificaquetodaslasTransicionestienenal menosun
marcadoenqueestánhabilitadas. UnaPNesvivasi ∀M ∈ (M0)
y∀t∈ T,∃M ∈ (M):testáhabilitadaM ,loquesignificaque
paratodoslos marcadosalcanzables,todaslasTransicionesquedarán
habilitadasenal menosun marcadoposterior.
3.ElproblemadeladelimitaciónBoundedness.UnaPNesdelimitadasi
todassusPlazastienenalo máximoktokensentodoslos marcados
alcanzables,(tambiéndenominadok-bounded).UnaPNessegurasies
1-bounded.
Lateoríadegrafosenseñaqueelcon
juntodearcosApuedeserrepre-sentadopormediodeunamatriz[AHU83],llamadala MatrizdeIncidencia.
Una MatrizdeIncidenciaD ∈N|P|×|T|,representacadaPlazaenunafilay
cadaTransiciónenunacolumna,ylosvaloresenla matrizsonw(a)ocero
segúnelarcoa=(p,t)oa=(t,p),pertenezcaonoaA.
Sedefinendos MatricesdeIncidencia:D−andD+,llamadas Matrizde
IncidenciaNegativayPositivarespectivamente,yrepresentanlosvaloresde
lospesosdelasPlazasdeentradaydesalida.Extendiendolanotación,a−
(i,j)
eselarcodelaPlazaien•jya+
(i,j)eselarcoienj•. Deestaforma,los
valoresenD−yD+sondefinidoscomo:
D−
(i,j)=w(a−(i,j))
D+
Frecuentementesedefineuna MatrizdeIncidenciaúnicaD=D+−D−,
peroparaelrestodeestedocumento,seconsideraráalparde matricesD+
yD−,porrazonesqueseránvistas másadelante.
Existenvariasdefiniciones matemáticasdeuna Redede Petri[IA06,
Dia09,JK09],delascualesseelijela másapropiadaalosfinesdeltrabajo.
PorellosedefineaunaTokenPetriNet(TPN)comolan-upla:
TPN=(P,T,D−,D+) (2.2)
siendoP,T,D−yD+lodefinidoanteriormente.UnaReddePetri Marcada
eselpar(TPN,M).
Siguiendoladefiniciónbasadaen MatricesdeIncidencia,paradeterminar
elconjuntodeTransicioneshabilitadasenun marcadoM,solosenecesitan
operacioneselementalesdelálgebralineal.Enefecto,siD−
jyDj+representan
laj-avacolumna(Transición)enD− yD+ respectivamente,laTransición
jestáhabilitadasiladiferenciavectorialIj= M −Dj− notieneningún
valornegativo,esdecir,todaslasPlazasdeentradadelaTransiciónjtiene
suficientestokensparasatisfacersudisparo.
ElVectorde MarcadoM determinaelestadodelared.Dadounestado
particular,elconjuntodeTransicioneshabilitadasEesdefinidocomo:
E={j|Ij=M −D−j∧∀k=1...|P|:Ij(k)≥0} (2.3)
Elcomportamientodelaredpuedeservistopor mediodelasecuencia
dedisparosdeTransiciones. Variassemánticashansidodefinidasparalos
disparos,segúnelnúmerodeTransicionesquepuedanserdisparadasenforma
simultánea.EnunextremodeestasopcionessolounaTransicióndelconjunto
E puedeserdisparadaalavez,yenelextremoopuesto,sedisparantodas
enparalelo.Lasopcionesintermediastambiénsonválidas.
LasemánticaquepermitedispararsolounaTransicióndelconjuntoE
defineuncomportamientoserialdelared,anulandolaprop
iedadmáimpor-tantedelasPN:la modelizacióndelaconcurrencia.Porello,lasemántica
másfrecuentementeusadaesladeldisparodetodaslasTransicioneshabi
l-itadasensimultáneo. Muchasdelapropiedades matemáticasdelasPNson
obtenidasapartirdeestasemántica.
El modelo matemáticasdelasRedesdePetripuedeservistocomouna
pava prcd prod wait buff wrte cava read cons use
Figure2.1:ReddePetrique modelauns
istemadeunproductoryuncon-sumidor,conunbufferlimitadointermedio.
[HMU06].ElFSApermite modelarunconjuntodeestadospor mediode
unconjuntodesímbolosdeentradaquecambianelestadodel modeloa
partirdeunafuncióndetransición.LaprincipaldiferenciaconlasTPNes
queloscambiosenunaFSAsonhechosdeaunoalavezylaúnicaforma
derepresentarconcurrenciaesusandoelproductocartesianodetodoslos
estadosposibles.Esevidentelacomplejidaddeunanálisisdeunmodelocon
unnúmerograndedeestados,dadoelcarácterexponencialdelnúmerode
combinacionesposibles.ElroldeltokenenlasTPNesdesimplificareste
númerocombinatoriodeposiblesestadospor mediodesurepresentación.
UnejemplodeunaTPNesgraficadoenlaFig.2.1,querepresentaun
modelotípicodeproductor/consumidorconunbufferintermedio.LaPlaza
pavarepresentaelestadodedisponibilidaddelproductor,ysimilarmente
paralaPlazacava,paraelconsumidor.La Transiciónprodrepresentala
accióndeproducir,cuyaPlazadesalidarepresentalaexistenciadeunbien
producido.Acontinuación,laTransiciónwrterepresentaelhechodetransm
i-tirelbienproducidoalbuffer,cuyassalidasrepresentanelretornoalestado
dedisponibilidadparaelproductoryelobjetoenelbuffer.Elconsumidor
,es-tandodisponible,esperaaqueelproductorenvíeelobjetoalbuffer.Unavez
sucedidoesto,elconsumidorlotomapormediodeldisparodelaTransición
cons,yluegolousayvuelvealestadodedisponibilidad.
La TPNreciéndescriptapermitetenerunbufferdetamaño mayora
uno.Enefecto,silaPlazawaittienentokens,entonceselproductorpuede
enviarhastanobjetosantesdequeelconsumidorcomienceatomarlos.
Unimpactodiferenteescausadoenla TPNsisedisponede másdeun
productoroconsumidorsobreel mismobuffer.LaFig.2.2ilustraelcasode
pava1 prcd1 prod1 wait buff pava2 prcd2 prod2 wrte1 wrte2 cava1 read1 cons1 use1 cava2 read2 cons2 use2
Figure2.2:TPNque modelaunsistemadedosproductoresydosconsum
i-dores,conunbufferlimitadointermedio.
mismo buffer.Estaredtienesemejanzasconlaanterior,perodifiereenque
haytantasTransicioneswrteyconscomoproductoresyconsumidoressean
modelados,respectivamente.Esfácilextrapolarestemodeloaunaúnicacola
deimpresión,alimentadaporvariascomputadorasyconvariasimpresoras
disponiblesparalacola.
Cuandoelnúmerodeproductoresyconsumidorescrece,seagravael
modeladoconestetipodeRedesdePetri,complicandoademáslalecturae
interpretacióndelgrafo.EnlapróximasecciónespresentadountipodeRedes
dePetriquesimplificaesteproblema,permitiendogeneralizarel modelo.
2
.2 RedesdePetr
i Co
loreadas
LasTPNtienenlapropiedaddequetodoslostokenssonequivalentes,porlo
quenoexistenvariacionesentreellos.Sinembargo,hay muchassituaciones
dondeesnecesariodistinguiruntokendeotroporquerepresentasdiferentes
diferenciarlostokens,definiendotantasPlazascomodiferentestokensdeben
serrepresentados.EstaestrategiageneraredesconungrannúmerodePlazas
yTransiciones,dificultandolacomprensiónyelanálisissinlaayudadeuna
herramientainformatizada.
LasRedesdePetriColoreadas(ColouredPetri Net-CPN)hanevo
lu-cionadocomounaclasedeRedesdePetrideAltoNivel[Dia09]quepermiten
modelarproblemascomplejosenformacompacta.Laprop
iedadquemásre-saltadelasCPNesquelostokenspuedentenerdiferenciasentreellos.El
concepto matemáticodedominioesnecesarioparadefinirel“color”enlas
redes.EnCPNcadaPlazaserelacionaconundominio,yasí,loscolores
representaneldominioasociadoalaPlaza,porloquelostokenspresentan
uncolor.Deestaforma,lostokensdejandeserfungiblescomoenTPN,y
uncolorsimbolizaunvalorquecadatokentieneensudominio.
ElhechodequecadaPlazatengaundominiorelacionadocausaqueel
marcadoseadiferentealdelasTPN.Aquíesnecesariodeterminar,nosolo
cuantostokenstieneunaPlaza,sinotambiénquecolortienecadatoken,yel
númeroderepeticionesparacadacolor.Lateoría matemáticademultiset o
bolsaesusadapararepresentarlostokensenunaPlaza.SeaSunconjunto
novacío,S= s1,s2,...,sn. Unmultiset esunafunciónm :S→ N,que
relacionacadaelementodeSconunnúmeronatural;m(s)∈Nesllamado
elnúmeroderepeticióndes.CadaPlazaptieneunafuncióndemultiset
asociada,mp.
Unconceptoadicionalenlas CPNeseldelaguardadecada Trans
i-ción.EnTPNunaTransiciónestáhabilitadasitienesuficientestokensen
susPlazasdeentrada.EnCPN,comocadaPlazatienesudominioasoc
i-adocon múltiplesvalores,lacondiciónquehabilitaunaTransicióndebeser
másespecífica.Laguardaesunaexpresiónlógicaquedeterminacuandouna
Transiciónquedahabilitadaycualessonlostokensquedebenserabsorbidos
decadaPlazadeentrada.
LadefinicióndeunaReddePetriColoreada(CPN)usadahas
idoadap-tadadelosautoresJensen[JK09]yDiaz[Dia09].UnaReddePetriColoreada
esunan-upla:
CPN=(P,T,A,Σ,V,C,G,E) (2.4)
siendo:
•TesunconjuntofinitodeTransiciones,cumpliendoP∩T=∅.
•Aesunconjuntodearcosdirigidos,A⊆P×T∪T×P.
•Σesunconjuntofinitodedominiosnovacíos(colores).
•V esunconjuntofinitodevariablescontipov,siendoeltipodev:
type(v)∈Σ.
•C:P→ Σeslafuncióndecoloreado,queasignauncoloraunaPlaza.
•G:T→ Exprveslafuncióndeguardas,queasignaunaexpresiónde
tipo“booleano”ExprvaunaTransiciónt.Exprvdenotaunaexpresión
queutilizaunlenguajedeinscripcionesquedecoralared.
•E:A→ Exprveslafuncióndeexpresionesqueasociacadaarcocon
unaexpresiónExprv,cumpliendotype[E(a)] =C(p),elcolordela
Plazaqueconectaelarcoa.
Esnecesariodefiniralgunosconceptosadicionales.SeaC(p)mselconjunto
detodoslosmultisets delcolordelaPlazap.
•ElmarcadoesunafunciónµquerelacionacadaPlazaconunmultiset
detokens,µ(p)⊆C(p)ms.
•µ0defineel marcadoinicialdelared.
•LasvariablesdelaTransicióntsondenotadascomoVar(t)⊆V,que
sonlasvariablesl
ibresqueaparecenenlaguardadetyenlasexpre-sionesdetodoslosarcosconectadosat.
•Laatadura(binding)deunaTransicióntesunafunciónbque mapea
cadavariabledev∈Var(t)conunvalorb(v)∈Type(v).Unaatadura
esdenotadopor v1=val1,v2=val2,...,vn=valn,paralasnvar
ia-blesdelaTransicióntquecomponenVar(t).B(t)denotatodaslas
atadurasunaTransiciónt.
•Unelementodeatadura(bindingelement)esunpar(t,b)talquet∈
T yb∈ B(t).Elconjuntodetodosloselementosdeataduradela
TransicióntesdefinidocomoBE(t)={(t,b)|b∈B(t)}.
•BEdefineelconjuntodetodosloselementosdeataduraenunaCPN.
•UnpasoY ∈BEms esunmultiset finitoynovacíodeelementosde
ParadeterminarcuandounaTransiciónestáhabilitada,debencumplirse
doscondiciones.Primero,laguardadelaTransicióndebesercumplida.Esto
esrepresentadoporG(t)b,laguardadet,evaluadaconlaatadurabdebe
serverdadera.Segundo,debenexistirsuficientestokensencadaPlazade
entradaquesatisfaganlaatadurab.Sea(p,t)querepresentaunarcoaque
esunarcodeentradadetdesdep,y(t,p)unarcodesalidadesdethacia
p.E(p,t)bespecificaelmultiset detokensrequeridoenpparaquetquede
habilitadapor mediodelaatadurab. Ambascondicionessonexpresadas
como:
G(t)b=true (2.5)
∀p∈P:E(p,t)b =µ(p) (2.6)
donde = representalarelaciónde menoroigualenmultisets.Enotras
palabras,debeexistiral menosunacantidaddetokensentodaslasPlazas
deentradadetquesatisfagalaexpresióndearcoE(p,t)evaluadaconla
atadurab.
UndisparosobreunaTransiciónhabilitadaproduceunnuevo marcado
µ definidocomo:
µ(p)=(µ(p)−−E(p,t)b)++E(t,p)b (2.7)
paratodop,donde−− y++ denotanlasoperacionesdesustracciónyde
adiciónsobremultiset respectivamente,E(p,t)b representalostokensel
i-minadosentodaslasPlazasdeentradadet,yE(t,p)blostokensinyectados
ensusPlazasdesalida,ambosevaluadosparalaatadurab.
Comoseseñalóanteriormente,unpasoY esunmultiset deelementos
deatadura.Esrequeridoquecadaelementodeatadura(t,b)incluidoenY
cumplaconlaguardadet,yademás,debesercapazdeeliminartodoslos
tokenssininterferirconlostokensdeotroselementosdeataduradelpaso.
CuandoocurreunpasoY,unnuevomarcadoesproducido,loquesedenota
como:
µ(p)→ µ(p) (2.8)
ytambién,cuandoocurreunasecuenciafinitadepasos,Y1,Y2,...,Yn,el
µ→ µ...→ µn (2.9)
locualdefineelconjuntode marcadosalcanzablesdesdeµ:
(µ0)=µi→ µi+1 (2.10)
parai=0...n−1.
Losconceptospresentadoshastaestepuntosonsolounapequeñaparte
delconocimientodesarrolladosobrelasCPN,perosonsufic
ientesparajus-ticarlaimportanciadeestetipoderedesenla modelizacióndealgoritmos
paralelos.Dadoquelaparticióndedatosyladivis
ióndetareassonloscon-ceptoscentralesenlaprogramaciónparalela,yquelosaltosrendimientosde
procesamientosonalcanzadosporelusodecientoso milesdeprocesadores,
seahacenecesariounaherramientademodelizaciónquepermitaadministrar
ungrannúmerodedivisionesdedatosytareas.
LasfuncionalidadesdelasCPNdescriptashastaaquíhacenqueestetipo
deredesseanunaherramientaexcelentepara modelarunalgoritmo
,ytam-biénparaanalizarlascaracterísticasparalelaspresentesenel,permitiendo
unarepresentacióncompactadel mismo.
Estosfactores motivanelusodel modelo matemát
icodeCPNparare-presentarlosalgoritmos.Dosconceptossonfundamentalesenestatesis.Uno
eslarepresentacióndeladivisióndedatospormediodeloscolores.Así,los
valoresdelosdominiossonlasetiquetasqueidentificanlosbloquesdedatos
usadosenunprogramaparalelo.Elsegundoconceptoeslarepresentacióndel
procesamientopor mediodelasTransiciones,lascualessonutilizadaspara
representarlasrutinasdelalgoritmo.
Deesta manera,lasPlazasdeuna CPNylosdominiossonutilizados
pararepresentardatos,yloscolores,susdivisiones.S
inimportarcuan-tasdivisionesseannecesarias,la CPNquerepresentealalgoritmoserála
misma,difiriendosolamenteenelvalordelparámetroquedefinaelnúmero
dedivisiones.Las TransicionesqueconformenlaCPNsonindependientes
delesquemadedivisióndedatos.Lasfuncionesdeguarda,querepresentan
lascondicionesdelosalgoritmos,tambiénpuedenserparamétricas.Deesta
forma,laestructuradelalgoritmoesinvariantealnúmerovariabledivisiones
dedatos.
LadependenciadedatosentretareasserepresentapormediodelasPlazas
Figure2.3:ReddePetriColoreadaquemodelaunsistemademúltip
lespro-ductores/consumidores,conunbufferlimitadointermedio.
eldatoproducidoporunatareanecesarioparaotraesrepresentadoporun
tokenenunaPlaza,quetieneundoblerol,alconvertirsedesalidadeuna
tareaenentradadeotra,generandounarelacióndedependenciaentreambas
tareas.Lastareasquenotengandependenciaentresí,puedenserdisparadas
(oejecutadasentérminosdealgoritmos),enparaleloporelmodeloenforma
natural.
UnejemplodeCPNespresentadoenlaFig.2.3,que modelaelcasodel
productor/consumidordelasecciónprevia,usandoahoraCPN,locua
lper-miteparametrizarelnúmerodeproductoresydeconsumidoresenelmismo
modelo.ElprincipalcambioesladefinicióndelosdominiosdecadaPlaza,
quesonlaclaveparalaextensióndelmodelodeTPNenCPN.Existenahora
tresdominios,unoparaproductores,<x>,otroparaconsumidores,<y>,
yelúltimoparaeltamañodelbuffer,<z >,cadaunodeloscualeses
implementadocomounnúmeronaturaldesde1top,cybrespectivamente,
denotandoelnúmerodeintegrantesdecadadominio.Noesnecesarioeluso
derepeticiones(multiset)enestecaso.
Enresumen,losdominiosusadosparacadaPlazason:
•Plazaspavayprdc:X ={<x>},x=1...p
•Plazascavayread:Y={<y>},y=1...c
•Plazaswaitybuff:Z={<z>},z=1...b
Ladinámicadelaredeslasiguiente.LaPlazapavatieneinicialmente
ptokens,numeradoscomo1...pyquerepresentanacadaproductor.Igual
paralaPlazacava,de1...c,yparalaPlazawaitparacadabufferdisponible.
Unavezqueelproductorxproduceunobjeto,eltokenxvaalaPlazaprcd;
cuandosedisparawrteeltokenxvuelvealaPlazapavayzesenviadoala
Plazabuff.Estopermitedispararconsque mueveeltokenzhacialaPlaza
waitnuevamente,utilizandounconsumidordisponibley,elcualesinyectado
enread.Luegodesuuso,eltokenyretornaalaPlazacava,concluyendoel
ciclo.
Estecasoeselementalynonecesitadelusodeguardas,peroenuncaso
ióndepro-ductor/consumidor,laguardadeberíaestarenlaTransiciónwr
teexpre-sandolarestricciónrequerida.
EsdestacablelasimplicidadenlanotacióngráficadelaCPN,facilitando
elanálisisdelared,independientementede
lnúmerodeintegrantesquefor-menelmodelo.ComparadoconlaTPNexpuestaenlaFig.2.2quesolotiene
dosproductoresydosconsumidores,laCPNes mássimple,clarayextens
i-ble.
Aestaalturadeldesarrolloesfácilderesaltarunadelasprincipales
facultadesdelas CPN:elaltoniveldeexpresividadquepermite modelar
situacionescomplejasenunarepresentacióncompacta.Estoesparticu
lar-menterelevantepara modelaralgoritmosconbucles,cuyonúmerodeciclos
ycomponentesesparamétrico.
Lallavedel modeladocon CPNesladefinicióndelosdominiosyde
laasignacióndeestosalasPlazas.Enefecto,sisedefinecorrectamenteel
dominiodecadaPlaza,el modelosesimplifica.Eslatarea másdesafiante
enelprocesode modelado,lacual,sieshechaenformalúcida,un modelo
complejosevuelvesimple.
Sinembargo,laaltaexpresiv
idaddelasCPNproduceunimpactoneg-ativoenelobjetivodeestetrabajo.Laejecucióndeunalgoritmoparalelo
representadoporunarednopuedeserhechaenformaeficientedirectamente
desdeelmodelodeCPN.Elrendimientosevea
fectadoporlasobrecargacom-putacionalqueelmodeloexpresivoagrega.Larepresentacióndedominiosen
unprogramadecomputaciónescomplejadadalageneralidaddeelementos
queundominiopuedecontener,haciendonecesarioelusodeestructurasad
i-cionales,comoporejemplolosdiccionarios.Además,lasfuncionesdeguardas
deTransicionesconmásdeunaPlazadeentradadebensereva
luadasento-doslascombinacionesposiblesquelostokenspuedanformar,yelegiruna
queevalúeverdaderaalaexpresión,sumaotraunacargacomputacional.
LaimplementacióncomputacionaldeunaCPNimpl
icaunatareacom-plejaqueescomparableconladefinicióneimplementacióndeunlenguajede
programación:esnecesariodefinirtiposyrealizarparsingyevaluacionesde
expresiones.Estacomplejidaddefuncionam
ientogeneraunasobrecargacom-putacionalentiempodeejecución,quedebesereludidaparalograrobtener
rendimientosaltosenlaejecución.
Apesardeestascaracterísticasnegativas,desarrollarunmodeloconCPN
respetandociertasrestriccionestieneciertasventajasquepuedenserut
lemasex-puestos.Lasdospróximasseccionespresentanlasrestriccionesycondiciones
para modelarunalgoritmoconCPNquefacilitelaejecuciónconnivelesde
rendimientocompatiblesconlosesperadosenunaejecuciónparaleladegran
volumendedatos.
2
.3 Estrateg
iaspara mode
lara
lgor
itmospara-le
los
Enestasecciónsepresentanloslineamientospararepresentarunalgoritmo
paralelousandoelformalismodeCPN.Estoslineamientospermitendefinir
unaCPNquerepresentaunalgoritmoparaleloyqueenunpasoposterior,
puedesertransformadoenunaTPN,queasuvez,esutilizaparaejecutarel
algoritmo,locualseráexpuestoenelcapítulosiguiente.
Considerequeelprogramadorparalelohaanalizadoelalgoritmoyha
determinadolastareasyelnúmerodedivisionesdedatosafindequesea
ejecutadoenparalelo.Elalgoritmopuedeserrepresentadoconuna CPN
haciendo:
•Representarcadatareadelalgoritmopor mediodeunaysolouna
Transición.
•Representarcadaargumentodedatosdecadatarea,porunaúnica
PlazadeentradaenlaTransiciónrespectiva.Enotraspalabras,cada
TransicióntienetantasPlazasdeentradacomoparámetrosdedatos
tengalarutinarepresentada.
•NoutilizarotrasPlazasniTransiciones.
•Conectarcada Transiciónconsusrespectivas Plazasdesalida,que
debenserlas mismas Plazasantesdefinidas. Estehechorepresenta
ladependenciadedatosyaquelasalidadeunaTransiciónesusada
comoentradadeotra.
•DeterminarlosdominiosdecadaPlazaafindesatisfacerlascondiciones
delalgoritmoenlareddefinida.
•Definirel marcadoinicial, µ0,quetendráposicionesencero
,lascor-respondientesaestadosintermediosdelalgoritmo,yposicionesconla
usadosenelalgoritmo.Dichoenformaequivalente,el marcadoinicial
tienesusposicionesencero,exceptoparalasposicionesquerepresenten
lasPlazasquecontienenlosvaloresiniciales.
Untemacentralenlaestrategiaeslacorrectadefinicióndelosdominios
decadaPlazaylasfuncionesdeguarda,lascualesestablecenlascondiciones
delalgoritmo.ComocadaPlazarepresentaunparámetrodeentradadeuna
tarea,eldominiodecadaPlazadebesercapazderepresentarladivisiónde
datosdelacualelparámetroesextraído.Eldominiopuedetenerrestricciones
impuestasporcondicionesquelatareaimponealparámetro.
Estosconceptossonilustradosconlaayudadeunejemplo. Considere
elalgoritmodefactorizacióndeCholesky.Esteesunproblemaclásicodel
álgebralineal,enelcualunamatrizcuadrada,simétricaydefinidapositivaA,
conrangor,esfactorizadacomoA=L∗LT,siendoLunamatriztriangular.
LosvaloresdeLsondefinidosporlassiguientesfórmulas:
lij = aij− j−1 k=1 lik∗ljk /ljj 1≤j<i≤r (2.11) lii = aii− i−1 k=1 l2 ik 1≤i≤r (2.12)
Lasecuaciones(2.11)y(2.12)imponenunadependenciadedatosfuerte,
yaque,paracomputartodoslosvaloresenunafilai,porejemplolii,s
igu-iendolaec.2.12,debehabersecomputadopreviamentelosvaloreslikdeesa
fila,k <i,siguiendoalaec.2.11,yluegodeello,quedandisponibleslos
valoresnecesariosparacomputarelvalordeladiagonalprincipallii.Asu
vez,paracalcularcadalikesnecesariocomputarprimerotodoslosvaloresde
lasfilasiyk,hastalacolumnak−1.Esteesquemadecomputacióndefine
unadependenciadedatosconrestriccionesimportantesvistasuejecución
paralela,locualseráexpuestoenelcapítulo4.
Supongaquela matrizesdivididaenformadebloquescuadrados(tiles)
der/n×r/ndatos,comoessugeridoporla“LAPACK WorkingNotes”191
(LAWN191)[BLKD07],yelprocesamientoeshechoporbloquesconlaayuda
derutinasdefinidasenlasbibliotecasBLAS[BLA01]yLAPACK[ABB+99].
Otrosupuestoesque,comoelalgoritmodeCholeskytrabajasobreunamatriz
simétrica,seutilizalapartetriangularinferiorparalafactorización.
principalsoncomputadosusandolasrutinasxpotrfyxsyrk,ylosrestantes
bloquesconelusodexgemmyxtsrm,siendox={d|s},dependiendosiseusa
dobleosimpleprecisiónnumérica.Elalgoritmoesexpuestoenlasiguiente
tabla,ylaejecuciónesgraficadaenlaFig.(2.4),suponiendon=5.
1 i=1
2 mientras(i≤n)
3 computeelbloquedeladiagonalppal.lii
llamandoaxsyrkyluegoaxpotrf
4 computelosbloqueslji,j>i
llamandoaxgemmyluegoaxtsrm
5 i=i+1
6 saltea2
Figure2.4:PasosenlaejecucióndelalgoritmodeCholesky,conn=5
Sedestacaque,delas4rutinasusadas,solouna,xpotrf,esdefinidaen
LAPACK,ylasrestantestresenBLAS.
PararepresentarelalgoritmoconunaCPN,loslineamientospresentados
anteriormentedicenqueesnecesariodefinirunaTransiciónporcadatarea
diferente.EnnuestroejemplosonnecesariassolocuatroTransiciones
.Tam-biénesnecesariodefinirlasPlazasdeentradadecadaTransición,respetando
elnúmerodeparámetrosdecadatarea.Así,larutinaxpotrfnecesitasolo
unparámetro,xtrsmyxsyrknecesitandosparámetroscadauna,yxgemm
necesitatresparámetros,haciendountotaldeochoPlazas.Deestaforma,se
hadefinidounapartedelaCPN,expuestaenlaFig.2.5,faltandocompletar
lasPlazasdesalida,lasguardasylosdominiosdecadaPlaza.
Paracompletarlared,secontinúaconladefinicióndelosdominiosde
cadaPlaza.Antesdenada,sepresentanlossupuestossobrelosquesebasala
potr1 trsm2 potr <i,i> trsm1 syrk1 gemm2 gemm1 trsm <j,i> <i,i> syrk2 syrk <i,j> <i,i>
gemm3 gemm <i,k> <j,k>
<j,i>
Figure2.5:PrimerpasoeneldesarrollodelunaReddePetriColoreadaque
representaelalgoritmodefactorizacióndeCholesky:definicióndePlazas,
Transicionesyenlacesdeentrada.
sonrotuladospor mediodelpar<i,j >,dondeirepresentalafila,jla
columna,yambostienenrangosi,j=1...n.
Larutinaxpotrfusasolounbloquededatoscomoparámetro,aquellos
ubicadosenladiagonalprincipaldela matriz,porloque,laTransic
iónres-pectivasolonecesitaunaPlazadeentrada,cuyodominiopuedeserdenotado
como<i,i>.
Larutinaxtrsmusadosbloquesdedatoscomoparámetros,elprimero
tomadodelosbloquesdeladiagonalprincipaldela matrizyelsegundo
puedesercualquierbloqueubicadoenla mismacolumnadelprimerbloque
elegido,perodebajodeladiagonalprincipal. Deestaforma,losdominios
paralasPlazasdextrsmsondefinidos,siguiendoelorden,como<i,i>y
<j,i>,paraj=i+1...n.
Larutinaxsyrkusatambiéndosparámetros,elprimeroubicadoenla
diagonalprincipaldelamatrizyelotroescualquierbloqueenlamismafila,
ubicadoenlapartetriangularinferior. Así,losdominiosdelasPlazasde
entradadexsyrksedefinencomo<i,i>y<i,j>,paraj=1...i−1.
Finalmente,larutinaxgemmusatresparámetros.Siseconsideraala
multiplicacióndematricescomoC=A×B,ysesigueelordenalfabéticopara
ladesignacióndelosparámetros,losbloquesdeAyBdebenpertenecerados
filasdiferentesdelapartetriangularinferiordelamatriz.Comolosbloques
númerosdiferentes,de2...n.Seráconsideradoquelafilasuperiordeestas
dos,proveelosbloquesparaelparámetrodeAylainferior,losbloquespara
elparámetroB enlafórmuladeanterior.Elbloquedela matrizCtienela
mismafilaqueelbloquede B,ylacolumnaesigualalafiladelbloquede
A.Porlotanto,losdominiosdelastresPlazasson:
A: <i,k>
B:<j,k>
C:<j,i>
dondei=2...n,j=3...n,i <jyk=1...i−1.LaFig.2.5presenta
lagráficaaestepuntodeavanceeneldesarrollodela CPN.LasPlazas
sonetiquetadascomosusTransicionesyunnúmeroqueindicaelordendel
parámetrodeentradaenlarutinarepresentada.
Alosfinesdecompletarlared,debenagregarselosenlacesquedefinen
lasPlazasdesalidaylasfuncionesdeguarda.RecordarquelasPlazasde
salidarepresentanladependenciadedatosentretareas.Lasalidadelarutina
xpotrfesunbloqueenladiagonalprincipalusadoluegoporxtrsm,porlo
queelbloque<i,i > dextrsmesproveídoporxpotrf.Larutinaxtrsm
producebloquesutilizadosporxsyrkyxgemm.Comoel modelodeCPNno
imponerestriccionessobreelnúmerodetokensinyectadosporeldisparode
unaTransición,losbloquesdesalidadelaejecucióndextrsmsonreplicados
enlasPlazasquelosusanyenelnúmerodevecesqueseanecesariopara
cadaPlaza.Notarlasimilituddeestehechoconelusodebloquesdedatos
en modo“readonly”usualen muchastareas.
Lasalidadelarutinaxsyrkesusadaporellamismahastaquetodaslas
etapasdelprocesamientoseancompletadas,encuyocaso,larutinaxpotrf
usaestasalida.Finalmente,lasalidadelarutinaxgemmesusadatambién
porsímismahastaquetodosloscómputosqueproducenelcálculofinaldel
bloqueCsoncompletados,encuyocaso,lasalidaesutilizadaporlarutina
xtrsm.
LospróximoselementosaseragregadosenlaconstruccióndelaCPNson
lasfuncionesdeguarda.LarutinaxpotrftienesolaunaPlazadeentrada
quenotienelímites,porloquenorequiereunaguarda.Larutinaxtrsmtiene
dosPlazasdeentrada,condominios<i,i>y<j,i>respectivamente,lo
quedefinelaguardaimplícitadequelacolumnadelasegundaPlazadebe
serlamismaquelafiladelaprimea.Estaguardaimplícitaesinnecesariode
LosdominiosdelasdosPlazasdeentradadelarutinaxsyrkson<i,i>
y<i,j>,uncasosimilaralanteriorenelsentidodelaguardaimplícita.La
rutinaxgemmpresentaunaguardaimplícitatambién,perocontresPlazasde
entrada.
Otrotemanecesariodeanalizareseldela multiplicidaddelos tokens
enlas Plazas,cuantossoninyectadosporeldisparodeun Transición,y
cómoquedaexpresadoentérminosdeguardasdesalida.Comocadadisparo
deTransiciónabsorbetokens,lostokensquerepresentanbloquesdedatos
usadosenmodosololecturaenlaejecucióndelatarea,debenserreplicados
encantidadnecesariaparadisponerdeellosencadacasoqueparticipen.
Eselcasodelarutinaxtrsm.Unavezquelarutinaxpotrfhaconcluido,
subloqueresultante,queseubicaenladiagonalprincipaldela matriz,es
utilizadoparacomputartodoslosbloquesdela mismacolumnapordebajo
deladiagonal.Estehechoimponelanecesidaddetenerrepetidalasalidade
larutinaxpotrf(i−1)vecesenlaPlazanúmerounodextrsm,siendoiel
númerodefilacomputadaporxpotrf.Estaduplicaciónesrepresentadaen
elgrafopor mediodelanotación{expression_count}enelenlacehaciala
Plazadesalida.
Conlaredcasicompletamentedefinida,elestadoactua
ldelaCPNdesar-rolladaesmostradaenlaFig.2.6.Algunosnombresdevariables(caracteres)
enlasetiquetasdelosdominioshansidocambiadosafinesde mantenerla
consistenciaentrelasentradasysalidasdeunaTransición.
Aestepuntodeavance,elalgoritmoescompletamenterepresentadopor
laCPN.Esdestacablelaausenciadeguardasexplícitasensurepresentación.
Apesardeserunasituaciónpropiadelalgoritmoconsiderado,lacorrecta
definicióndelosdominiosencadaPlazageneraimplícitamentelasguardas
necesarias,porqueloslímitesycondicionessontransferidosdesdeela
lgo-ritmohaciaeldominiodelosdatosinvolucrados.
Unimportantecorolariopuedeserdeducidodeesteúltimohecho:definir
eldominiopropiodecadaparámetrodelatareasimplificaelalgoritmo.Un
algoritmosimpleesfácildeanalizarydeparalelizar. Apesardequeeste
hechonoestáenelfocodelatesis,esunaconsecuenciaimportantederivada
dedosfuncionalidadespropiasdeuna CPN,laprimera,quecada Plaza
puedetenereldominiopertinenteaella,ylasegunda,queeldisparode
unaTransiciónpermiteinyectartokensenlasPlazasdesalidadedistintos
dominiosalosdeentrada.Estofacilitafacilitaeltrasladodela mayoríade
lasguardasaladefinicióndelosdominiosintervinientesenlatarea.
jecu-potr1 trsm2 potr <i,i> <i,i> {n−i} trsm1 syrk1 gemm2 gemm1 trsm <j,i> <i,i> <j,i > {n−j} <j,i > {j−i−1} <j,i> syrk2 syrk <j,i> <j,j> <j,j> <j,j> gemm3 gemm <i,k> <j,k> <j,i> <j,i> <j,i>
Figure2.6:SegundopasoeneldesarrollodelaReddePetriColoreadaque
representaelalgoritmodefactorizacióndeCholesky:definicióndelosenlaces
desaliday multiplicidad.
ciónparaleladelalgoritmo.Losbloquesdedatoscuadradosquecomponenla
divisióndedatosdela matriztienenunimpactosobrelaformadeejecutar
lasrutinasxsyrkyxgemm.Estasrutinashansidoplaneadasoriginalmente
paratomarbloquesrectangularesdedatosensuejecución,ynoparabloques
cuadrados.Porejemplo,xsyrkproduceunbloquecuadradosobreladiagonal
principalutilizandotodoslosdatosdelafila,generalmente,unb
loquerect-angular,nounbloquecuadrado.Deestaforma,ladivisióndedatosproduce
unadivisióndelatareaoriginalenvariassubtareas,cadaunadelascuales
usaunapartedelosdatosparticipantesenlatareacompleta,yporlotanto,
produceunresultadoparcial.Paraobtenerelresultadocompleto,cadauna
delassubtareasdebeserhechasecuencialmente,yaqueelresu
ltadopar-cialdeunasubtareasdebeseracumuladoconelresultadodelassiguientes
subtareas.
Dadalanecesidaddepreservarelordenenloscómputos,eldominiode
unaPlazaenlarutinasyrkydeotraengemmhansidoextendidosconuna
coordenadaadicionalquerepresentaelordensecuencialdeejecución. Así,
potr1 trsm2 potr <i,i> <i,i> {n−i} trsm1 syrk1 gemm2 gemm1 trsm <j,i> <i,i> <j,i > {n−j} <j,i > {j−i−1} <j,i> syrk2 syrk <j,i> <j,j,i> <j,j,i+1> if(i+1<j) <j,j>if(i+1=j) gemm3 gemm <i,q> <j,q> <j,i,q> <j,i,q+1>if(q<i−1) <j,i>if(q=i−1)
Figure2.7: Redde Petricoloreadaquerepresentaalalgor
itmodefacto-rizacióndeCholesky,decoradoparasuejecuciónparalela.
<j,j,i>,i=1...j−1.Elordensecuencialesrepresentadoporlavariable
i.Luego,comocompletarlatareasyrkparalafilajdebeserhechopormedio
dej−1subtareas,elrangodeies1...j−1.Cadavezqueunasubtareaes
hecha,syrkgenerauntokendesalidaalamismaPlazadeentrada,sumando
unoalacoordenadadeorden,hastaquetodaslassubtareassonhechas,en
cuyocaso,eltokendesalidaesdirigidohacialarespectivaPlazadeentradade
potr.EnlaFig.2.7,estacondiciónesrepresentadapormediodedosguardas
agregadasalosarcosdesalidadelaTransiciónsyrk.De manerasimilar,es
igualmentenecesarioextendereldominiodelaterceraPlazadeentradadela
rutinagemm,quedandocomo<j,i,q>,q=1...i−1,paraqquerepresenta
desalidadelaTransicióngemm.
Habiendocompletadolosúltimoscambiosenlared
,laCPNquerepre-sentaalalgoritmoquedacompleta.Surepresentacióngráficaesexpuestaen
laFig.2.7.
Ensulibro,DiazpresentalascondicionesquedebesatisfacerunaCPN
paraconformaruna ReddePetri“bienformada”[Dia09].Lascondiciones
son:
•Loscoloresdelosdominiospuedenserunicamentee
lproductocarte-sianodecoloresbásicos,aquellosquenodependendeotroscolores.
•Lasfuncionessobrecolorespuedenserhechasso
lamentecontresfun-cioneselementalessobreloscoloresdelosdominios:identidad,sucesor
ybroadcast.
LaCPNconstruidaenestaseccióncumpleconlascondiciones
:susdo-miniossonsubconjuntosdelproductocartesianodenúmerosnaturalesylas
funcionesdeguardasolousanlaidentidadyelsucesorsobredichosdom
in-ios.ElprincipalbeneficiodeestaformadeCPNesquepuedeserconvertida
(desplegada)enunaTPNdeunamanerasimple.Lapróximasecciónexplica
cómohacerloyelimpactoqueestotienesobrelaejecucióndelalgoritmo.
2
.4 Desp
legadode RedesdePetr
i Co
loreadas
DadoqueunaCPNpuedeservistacomounarepresentacióndealtonivel
deuna TPN,elprocesodedesplegadoquetransformauna CPNenuna
TPN,esunprocesoquepreservalasemánticadelaCPN[Dia09],yeslo
opuestoalprocesodegeneralizaciónquerepresentaunaCPN.Eldesplegado
eshechoreemplazandoloscoloresdelosdominiosporPlazasyTransiciones
queproducenunaTPNque mantienelasemánticadelaoriginal.
LaCPNdesplegadaesobtenida mediante:
•CadaPlazaenlaCPNesreemplazadaporunconjuntodePlazasen
laTPN,unaporcadavalorocoloreneldominiodelaPlazaoriginal,
preservandoelnúmeroderepeticionesdecadacolor,estoúltimodebido
aqueserepresentaconel modelodemultiset,porloquecadaPlaza
•CadaTransiciónenlaCPNesreemplazadaporunconjuntodeTrans
i-cionesenlaTPN,unaporcadacombinacióndecoloresobtenidaenel
productocartesianodelasPlazasdeentradaenlaCPN,restringidoa
loscasosenquesusposiblesguardasseanevaluadascomoverdadero.
LasPlazasdeentradadeunaTransicióndesplegadasonlasrespectivas
Plazasgeneradasenelpuntoanterior.
Laúltimacondicióneslaclaveenelprocesodedesplegado:dadoe
lpro-ductocartesianodeloscoloresdem PlazasdeentradadeunaTransicióny
paracadaevaluacióndesufuncióndeguardacomoverdadero
,cadacom-binacióndeestasdefineunaTransiciónenlaTPNym Plazasdeentrada
sonenlazadasalaTransicióndesplegada.Lasemánticaespreservadayaque
cadacombinaciónenlaCPNesreemplazadaporunparúnicode(Plazas
deentrada,Transición)enlaTPN.Deestaforma,enlaTPN,unaTrans
i-ciónrepresentaaunúnicoconjuntodevaloresqueevaluaronverdaderoenla
CPN,ycadaPlazarepresentaunvalorenelrespectivodominioenlaCPN.
Elsiguienteejemploilustraelprocesodedesplegado.Porsimplicidad,
soloseráconsideradoeldesplegadodelaTransiciónsyrkyse muestrasu
gráficaenlaFig.2.8.EndichagráficasevequelaTransiciónreferidatiene
dosPlazasdeentrada,syrk1ysyrk2,condominios<j,i>y<j,j,i+1>
respectivamente,conrangosj=1...nyi=1...j−1paraamboscasos.
LasPlazasdesalidasonsyrk2ypotr1,restringidasporlasguardasque
evalúansii+1<j ono.
Bajoelsupuestodequela matrizesdivididaenn×ntilescuadrados,
conn=3,elproductocartesianodelosdominiosdesyrk1ysyrk2es
compuestoporsolotresvaloresparacada Plazas:< 2,1>,< 3,1> y
< 3,2> parasyrk1y< 2,2,1>,< 3,3,1> y< 3,3,2> parasyrk2,
definiendoentoncesseisPlazasytresTransicionesenlareddesplegada.La
Fig.2.8 muestralarepresentacióngráficadeestecaso.Lanotacióndelas
PlazasyTransicionesrepresentaelnúmerodePlaza/Transiciónynúmerode
colorcorrespondientes.Porejemplo,sy2331representaelsegundoparámetro
convalor< 3,3,1>.Lascondicionesdeguardasdeterminanquelasalida
desyrk31essy2332,perolasalidadesyrk32espotr13.
Enestemomentoesnecesariodestacarlaimportanciadelarepresentación
delaTPN,yaquelaTPNdesplegada,preservalasemánticadelaCPN,y
tambiénrepresentaalalgoritmo.CadaTransiciónenlaTPNrepresentaa
cadatareaindividualycadaPlazaaunbloquededatosenparticular.
sy121 sy2221 potr12 syrk21 sy131 sy2331 sy2332 syrk31 sy132 potr13 syrk32
Figure2.8:TPNdesplegadadelaCPNquerepresentaalalgor
itmodefac-torizacióndeCholesky,paralatareasyrkyn=3.
delareddesplegadapuedeserhechaenprogramáticamente.Unprograma
puedeconstruirambasMatricesdeIncidencia,negativaypositiva,yelVector
de Marcadoensuestadoinicial,representandointernamentecadacolorylas
condicionesdelasguardas.ElnúmerodePlazasyTransicionesdesplegadas
dependedelproductocartesianodeloscoloresenlosdominios,losqueasu
vez,representanalnúmerodedivisionesdedatos.
Tambiénsedestacaquelareddesplegadapuedetenerungrannúmerode
PlazasyTransiciones. Mayorsealacardinalidaddelosdominiosinvo
lucra-dos, mayorseráelnúmerodePlazasyTransicionesdesplegados.Elnúmero
dePlazasdeentradadeunaTransicióntambiénimpactaenelnúmerode
componentesenlareddesplegada,yaquecadacombinaciónenelproducto
cartesianoevaluadaverdaderodebeserincluida.
Elprocesodedesplegadoproducedosmatricesderangotu×pudevalores
0y1,siendotuelnúmerodeTransicionesdesplegadasypu,elnúmerode
Plazasdesplegadas.Enla MatrizdeIncidencianegativa(positiva)resultante,
laposición(i,j)tendráunvalorde1silaPlazajesPlazadeentrada(salida)
delaTransicióni,o0delocontrario.Unvalor1representaqueelbloque
dedatosrelacionadoesusado(producido)porlatarearespectiva.
LaTPNdesplegadatienelassiguientespropiedades
:es1-bounded,pseudo-vivaporquesiemprehayunaTransiciónhabilitadaparaejecutar,yelgrafo
dealcanzabilidadincluyealestadofinaldelalgoritmo,loquedichodeotra
forma,elalgoritmoejecutatodaslastareasyfinalizasuprocesamiento.
Apesardequeunareddesplegadaesvirtualmenteinmanejable
ma-nualmenteporsugrantamaño,suimportanciaresaltapordosfactores.
Primero,representalaejecucióndelalgoritmo.Enefecto,cadaTransición
representaunatareaquedebeserrealizada,yladependenciadedatospuede
serobservadaporeldobleroldelasPlazas,altrabajarcomoentradaysa
l-idadedos,posiblementediferentes,Transiciones.Laejecuciónparalelade
estared.
ElsegundofactordeldesplegadoquesobresaleesquelaTPNpuedeser
representadapor mediodedos MatricesdeIncidenciayunVectorde
Mar-cado.ComocadaTransiciónenladesplegadaesunacombinaciónparticular
delpar(tarea,parámetros),puedeserusadapararelacionarunívocamente
cadafilaycolumnadela MatrizdeIncidenciaconunarutinaylosbloques
dedatosusadosporesta.
ComolasRedesdePetritienenelconceptodesuejecución,la matrices
desplegadasjuntoconlarelaciónentretareasydatosconlasPlazasyT
ran-siciones,definenunordendeejecuciónquerepresentaalalgoritmo,loque,en
otraspalabras,defineunprograma.Enconcordancia,d
ispararunareddes-plegadacomolasconstruidaaquí,esequivalenteaejecutarunprograma.
Laejecucióndelprogramaesguiadaahoraporoperaciones matriciales
simplesquetienenunasobrecargadeejecución mínima.Sonobviamente
necesarioslosprocesadoresqueejecutenlastareasrepresentadasporlas
Transiciones.Sisedisponede
másdeunprocesadorquecorranenpar-alelo,seobtieneunaejecuciónparaleladelalgoritmo.Laejecuciónparalela
tradicional,quetienequeresolverproblemascomoelcontro
ldelasecuen-ciadeejecución,lasbarrerasdeejecuciónylasincronizacióndetareas,es
reemplazadaporsimplesoperacionesdesumasydiferencias matricialesy
comparaciones,generandoasíun modelodeejecuciónparalelodiferente.La
ejecuciónsecuencialoparaleladependerádelnúmerodeprocesadoresusados
enlaejecución.
Enestecapítulohasidodedicadoprincipalmentealarepresentacióndel
algoritmoenunaReddePetriquetienefacilidadesparaserejecutada.El
siguientecapítulopresentaeldesarrolloyfuncionamientodelmodelodee
Cap
ítu
lo3
Mode
lodeE
jecuc
iónPara
le
la
Enelcapítuloanteriorse muestracómo modelarunalgoritmocon Redes
dePetricoloreadas(CPN).EldesplieguedeunaCPNaunaReddePetri
simple(TPN)transformaunaredcompactaenuna másgrandepero más
simpledeejecutar.Enestecapítulosedescribeel modelodeejecuciónque
permitecorrerenparaleloelalgoritmorepresentadoporlaTPNdesplegada.
Seincluyenseccionesconeldiseñoylaejecucióndelmodelo,yfinalmenteel
capítuloconcluyeconunacomparaciónconlostrabajosrelacionados.
3
.1 Defin
ic
iónde
l Mode
lode Ejecuc
ión
Para-le
la
Enelcapítuloanteriorseintrodujouna maneradeutilizarlas Redesde
Petriparamodelarunalgoritmo,evolucionandodesdeunaltonive
lderepre-sentaciónconlasCPNaunarepresentacióndetalladayperoextensaconlas
TPN.Sedijoquelarepresentación matricialespreferidadebidoquepuede
serutilizadaparaejecutarelalgoritmo.Enestasecciónsepresentael
mo-delonecesarioparaejecutarlaTPNdesplegadayquecierralabrechaentre
el modeloylaejecución.
El ModelodeEjecuciónParalela(PEM),comosunombreloindica,es
un modeloparaejecutarprogramasenparalelo,basadoenladefinicióndel
algoritmoaejecutarpor mediodeunaTPN.Dehecho,enlugardeutilizar
lasinstruccionesdebajonivelodirectivasdelcompiladorparaindicarlas
seccionesparalelasdeunprograma,lasmatricesdefinidasanteriormenteenla
delaejecucióndelprogramaparalelo.Ademásdelas matrices,esnecesario
definirotroselementosafinesdecompletarel modelodeejecución,locual
seexplicaacontinuación.
El modeloPEMusavariosdeloselementosdefinidosenelcapítu
loan-terior,yotrosadicionalesquesepresentaenestasección.Pararefrescarlos
conceptosdeunaTPN,expresadosenlasección2.1,seteníaque:
•P esunconjuntofinitodePlazasPi,concardinalidad|P|= p,i=
1...p.
•TesunconjuntofinitodeTransicionesTj,concardinalidad|T|=t,
j=1...t.
•I−eI+sonlas MatricesdeIncidencianegativaypositivadelaTPN,
dedimensionesp×t(I−eI+∈Np×t).
•M,eselVectorde MarcadoparalasPlazas,p×1(M ∈Np).
conlaúnicadiferenciarespectoalacitadasecciónque,originalmentelas
MatricesdeIncidenciaestándenotadascomo D−yD+comoesusualenla
bibliografía,peroaquí,porrazonesprácticas,hansidoredenominadascomo
I−eI+.
Losnuevosconceptosintroducidosenestecapítuloson:
•Mf,eselVectorde MarcadoFinal,p×1(Mf∈Np)querepresentael
estadodelVectoralfinaldeloscálculos.Senecesitaestevectorconel
findeestablecerelfinaldelatransformaciónmediantesucomparación
conelVectorde MarcadoM.
•Seselconjuntodetareasqueelalgoritmodebeejecutar,enotraspa
la-bras,eselconjuntodecómputosindividualesqueprocesanlosdatos,
tomadoscomounatareaindivisible.Seobtienenapartirdelanálisis
hechosobreelalgoritmoconelfindequeseaejecutadoenparalelo.
•τesunafunciónquevadelconjuntodeTransicionesTenelconjunto
detareasS,τ:T→ S.EstafunciónasociacadaTransiciónconuna
tarea.
•δesunafunciónquevadelconjuntodePlazasP enelconjuntode
divisionesdedatos,yasociacadaPlazaconunodelosbloquesenque
•Π esunconjuntofinitodeProcesadoresΠi,concardinalidad|Π|=
π,i=1...π. UnprocesadorΠiesunobjetocapazdeejecutarlas
tareasasociadasacadaTransiciónpor mediodeunallamadaauna
rutina(kernel)deunprograma.CadaprocesadorΠitieneunavariable
lógicae(Πi.e),quetienevaloresverdaderoofalsosegúnelprocesador
esteejecutandooinactivo.
•γiesunafunciónqueasociaparacadaprocesadorΠi,unatareas∈S
conunkernelqueelprocesadorejecuta,alosefectosderealizarla
tarea. Defineelkernelaserejecutadocuandola Transiciónesd
is-parada,yrepresentaelnexoentreelmodeloteóricodelasTPNconla
ejecucióndelalgoritmo.CadaprocesadorΠitienesupropiafunciónγi,
loquepermitequeprocesadoresdiferentesresuelvanlaejecucióndela
tareasasumanera.Porejemplo,silaTransiciónrepresentaunatarea
de multiplicaciónde matrices,unprocesadorpuedeejecutarlatarea
por mediodeunallamadaalarutinaxgemmdelabibliotecaBLAS
implementadasobreCPU,yotroprocesadorala mismarutina,pero
implementadasobreGPU.
•Γeselconjuntodefuncionesγi.
•χesunavariablelógicaquerepresentaunmecanismodeexclus
iónmu-tuasobreM yquepermitequecadaΠiactualiceelVectorde Marcado
M enformasegura.
El ModelodeEjecuciónParalela(PEM)esdefinidocomolan-upla:
PEM=(P,T,I−,I+,M,M
f,S,τ,δ,Π,Γ,χ) (3.1)
paratodaslascomponentescomofueronpreviamentedefinidas.
ElestadoinicialdelPEMes:
•M =M0,el MarcadoinicialenlaTPN.
•χ=true,laexclusiónestaabierta.
•Πi.e=true,∀i=1...π
,dadoquetodoslosprocesadoresestáninac-tivos.
ElmodeloPEMessimilaraldelasRedesdePetritemporizadas(Timed