• No se han encontrado resultados

PEM - Modelo de Ejecución Paralela basado en redes de Petri

N/A
N/A
Protected

Academic year: 2021

Share "PEM - Modelo de Ejecución Paralela basado en redes de Petri"

Copied!
125
0
0

Texto completo

(1)

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

(2)
(3)

Í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)

4.2 Multiplicaciónde Matrices... 84

5 Conclusiones,impactoesperadoylíneasabiertasdeinvest

i-gación 103

5.1 Conclusioneseimpactoesperado ...103

5.2 Líneasabiertasdeinvestigación...107

(5)

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

(6)
(7)

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.

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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),

(13)

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.

(14)

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

(15)

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

(16)

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)

(17)

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+

(18)

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

(19)

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

(20)

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

(21)

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:

(22)

•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

(23)

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

(24)

µ→ µ...→ µ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

(25)

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

(26)

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

(27)

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

(28)

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.

(29)

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

(30)

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

(31)

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

(32)

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.

(33)

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í,

(34)

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

(35)

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

(36)

•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.

(37)

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

(38)

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

(39)

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

(40)

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

(41)

•Π 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

Referencias

Documento similar

• Red 4_5_1 (Figura 6.7).. Además, todas las neuronas se encuentran conectadas entre sí. La diferencia entre las redes anteriores radica en el número de neuronas

Hipótesis: El problema planteado, podrá ser resuelto utilizando la modelación conjunta de Redes de Petri Coloreadas RPC o CPN por sus siglas en Inglés Coloured Petri Nets y el Modelo

Este artículo trata del diseño de un sistema automático en detección y diagnostico de fallas (SDDF) para el caso de la rotura de tubo en la empresa Termotasajero Colgener, el

However, as the part of the nodes that consumes more energy is the radio chip (typically between 70% and 90% of the total energy consumed by the node, depending on the

Ahora introducimos el concepto de localidad estructural para guiar la división de la red, esto es: “ dividir las redes por las transiciones agrupando elementos en los sub- conjuntos

The BCI was designed so the recognition can be done using two different modes, which are: “Global Mode”, where all previously recorded training samples for all subjects

i UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIER?A ESCUELA PROFESIONAL DE INGENIER?A ELECTR?NICA DISE?O DE UN CONTROLADOR PID CON AUTOSINTON?A BASADO EN UN MODELO DE REDES

Para el control de acceso total, se realiza una relación entre seguridad y comodidad para evitar que alguien extraño tenga acceso a ciertos recursos. Es