87
(presidente)

(presidente) literatura como e a etapa de moniítorq a, simplesmente, a repetiçiio deternainística de uni comportair mento anteriormente monitor de reexecuçiio do nsedria dis elos

  • Upload
    vuanh

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

(presidente)

PPE como parte dori, reqiusitos nece~sriri

Abstract of Thesis presented to COPPE as partid fulfillment of the requirements

for the degree of Master of Science (M. Sc.)

A Mechanism for Deterministic Replaying of Parallel Programs

Anna Thereza Cortinas Albuquerque

August, 1992

Thesis Supervisor: Claudio Luis Amorim

Department: Programa de Engenharia de Sistemas e Computaçk

The debugging of a parallel program is an extremely difficult task. Parallel programs

are inherently nondeterrninistic. Many debugging methodologies for sequentid pro-

grama are not effective for parallel prograsris. This feature has estimulated the

development of mechanisms for controlling parallel programs' execution, avoiding

the nondeterministic behavior. One of the moet important replaying mechanisms

is called Instant Replay. This work addresses parallel programs nsing shared me-

mory and presents a rninor impact on systems' performance. The aim of this work

thesis is to describe the project and the evduation of a mechanism for determinis-

tic replaying of parallel programs running on distributed memory multi-processors.

Severa1 theorical aspects of the mechanismb design were proposed during Instant

Replay's devolpment . The dgorithms envolved were writen in occam programming

language aad the tests were performed in m 8 transputer hypercube.

ist libur'do . . . . . . . .

EOC88808

Com . . . . , . . .

vii

II . . . . . . . . . . . . . . . . . . . . .... . . . . . . 17

egistrzt Evento . . . . . . . . . . . . . . . . . . . . . 1

. 2 Procedimento UFL) . . . . . . . . . . . . . . .

) . . . . . . . . . . . . . . . . 24

) . . . , . . . . . . . . . . . . 25

epetidor . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

vento . . . . . . . . . . . . . . . . . . . . . 2

111.5.2 Processo ) . . . . . . . . . . . . . . . 31

11.7 Prevenção . . . . . . . . . . . . . . . . . . . . . . . . . .

de Tempo com I/ . . . . . . . . . . . . . . . . . . . 65

pardelm, no entanto, possuem u a nãlo deterministica;

a a partir do& mesmos dados

Portanto, um certo comportamento

nte repodwido execuçks sub-

endo, a depurqh cíclica, a príncipio, n ser aplicada a

este tipo de computaç

execução.

iio ciclica e de muit

foram propmtos difere que controhm a execuçiio do

et erminístico. Estes mecanismos

rnonidoraçcão e reegecuçiio.

ncorrentemente, o mecanismo observa e registra

mecanism~~a, prop gela natureaa d eventoza, monitor

rnetidos a este tipo de smo. Est a interferência, frequenteme

na literatura como

e a etapa de moniítorq

a, simplesmente, a repetiçiio deternainística de uni comportair

mento anteriormente monitor

de reexecuçiio

do nsedria dis

elos em rnemória

execuçiio deve garantir) simplesmente, que cada u m dos processos da computação

receba as mensagens segundo a mesma ordem parcial a cada execução. Não é

necesscário o armazenamento dos conteddos das mensagens, pois estes são pecons-

truidos idênticos durante as reexecuçôes. C o m isso, o volame de informações usa-

das na reprodução de uma certa execução é consideravelmente pequeno. E, con-

seqiientemente, a inserção de sondas para a monitoraçiio destas informações oca-

siona u m impacto limitado sobre a performance da computação. As propostas dis-

cutidas neste trabalho de tese se baseiam nestas observações.

O projeto do mecanismo, aqui descrito, especifica um algoritmo distribuido que se

superpõe as computações e implementa procedimentos de monitoração e reexecução.

O algoritmo é composto por uma coleção de sondas e processos bastaate simples,

que distribuem o processamento, aumentando o grau de concorrência, evitanto a

criação de gargalos e, assim, procurando minimizar as perturbações impostas aa

computações.

A avaliqão do desempenho do mecanismo procura determinar o grau de interferência

imposto as computações, relacionando medidas de tempo, envolvendo a execução de

uma aplicqão e os procedimentos de monitoração e reexecução.

O conteúdo deste documento pode ser resumido como:

O Capítulo I1 discute diversos conceitos relacionados a comput ação distribuída,

visando apresentar a nomenclatura, notação e os aspectos teóricos que contribuem

para o entendimento das definições, conceitos e algoritmos apresentados nos capítulos

subsequent es.

O Capítulo I11 descreve o mecanismo de reexecução, discutindo, extensamente, os

algoritmos de monitoração e reexecução implementados, dém das dificulades a s s e

ciadas ao mapeamento em sistemas distribuídos ponto-&ponto.

O Capítulo IV m&sa medidas de tempo obtidas em arma bateria de testes que obje-

tivou quantificar o grau de interferência imposto pelo mecanismo a duas aplicações.

Os testes procuraram exercitar o comportamento do mecanismo em relação ao custo

da comunicação entre processadores e as flutuaçiks na carga computacional. Os

programas envolvidos foram implementados utilizando a linguagem de programação

occarn e os testes realizados em um hiperctibo formado por 8 processadores do tipo

twnspzste~.

O Capítulo V resume os resultados mais significativos alcançados durante o desen-

volvimento deste trabalho e apresenta algumas sugestões para futuras extensões.

discute diversos conceiios rel

a nomenclatura, not

eção de process

memória e u

ão entre os processador

de canas's jásicos, são

condições de erro e s

estes executaf exc

em, e o outro leitura ou recep$o de menea

Para o processador remetente, o c to de salda e para o receptor de entrada

cert a bwefa &st nte envolve o projeto de um

or uma rede de canais lógicos

istribuído 4 feita a partir

a vkrtice simboliza um processo e cada arco entre

uni&reciond de cornunic

os interconectados pelo c

d o que dee-crever um a do sistema &s-

s na estrutura origind

gicw também podem ser

rada ou de saida [ti] [6].

A i n t e rqh entre

pendente no canal C!

A crapacidade de é x e ~ o e, portanto,

e redize é necemário qu on e receptor estejam sincro-

de ser expmdida p a um valor finito

(capacidade limitada) me&mte r5, permitindo, com iseo, que o

fira um certo número de mens nnr ai6 se Moquear.

G contém Ugl f ótulo

h 1 inteiro, 1 byte e u

rupo de processos

rocessador Virtual de Cornunicaçla"~ (P VC). ons&vel, dentre outr

funções, pela implement ão de um mec smo de rotemento trmepaente

e livre de inter ão (deadkocFu).

ais to.P VC e frorn.P

o a uma coleçiio de e m

uando el8stem urna ou mais

m dos seus canais de entrada, eleciona somente

da, a transmite g

e, portanto, ne

ue a primeira seja tran

. Coraversor de Protocoko (CON

ultiplex e Conversar

d o por iam guarda e uma lista de comandos. Um

um comando de

o ou combinado

fuctáved. Isto 6,

tem d o s true e/ou o comando de recepçiio foi complet

iversw cornand ã podem ser reunidos em um cornando aiternativo, res-

srxriamente, um único

Somente a lista dê comasidos arda escolhido Q exe

apreseaitadm nos dem&ã capítul

ornando alternativo replicado, que compacta s repse

de dadoag tais como vetoices ou m&Eisee, Exemplo:

i(O5 i < n ) +

( l k t a de comandos );

( lista de comandos );

or

( lkba de comandos );

( lista de comandos );

e CompHezidade. Um sistema istribuido é composto por múltipbs processos

os entre diferentes proee

para a molaitor-ão de u

ortamenio do sistema, m

que uma execução seja ie-

ama pardeio, liv

ao mapemnento em um gistema

km são exatamente ém disso, o fluxo computmional descrito

sarna k uriico e a co utaçâO é deter~nietica.

de um processo podem ser

que chegam através dos canais de e

e atzav8s dos canais de saída rep~esendam o

so como dado de entrada.

os sâlo funçÊdo exdusi-

Generalizando esta observq

smar que se um mec

s processos entâlo uma certa e

smo de reexecução

u ç h de uma certa execução

secjluentemente, a inserção

ritmo distribuído form

rocesso possui n can

única identidade, repre

não eietindo, no ent o, gudguer r e s t r i~k no que concerne a canais

a processos distintw.

Um certo mec atua concorrent ement

mplificwdo, ~ e j a ci, um dos

ante uma execução a do e rnonitoraça"o é

sejam q e c2 can processo pi cuj identidades s&

evento8 ocorreram em pi, ou

~ecebeu uma m n e

r onde pi resi

ordem parcial dos evento8 de

oritmo, os rótul

uzir uma e m c q x i o ,d eqas'valente a a.

é descrito como:

observe novamente os c a cl e c2 pertencentes ao

pi com identidades si

se "2'' precede "1 "

é recebida por c1 até que c2 complete

a mesma ordem p

s execuç&s cx e

sendo, os processos tidoa ao mcanismo pwsuem uma natureaa deterrninírstica.

srno descrito representa um oritmo &atribuído que se uperpk a urna

ementa org procedimentoe, de monidorcep-io ou rpeeb~?eczlção. ..

por uma coleção de sond t ante simples, que

o processamnto, aumentado o rau de concorrência, evitando a criqãs

uzindo a interferencia (probe ct) [13] 1123 sobre

e reexecução como

a7

os a um processo.

eo. centraliza

Monitor coleta e arrn

uivo que é, pode

ar a reexecuc;&o da mes

urante urna execul;&o,

eventos ocorsdos nos processos.

oritmo considera du de implementaç

1. Orientada ao

exercem o csntr

Sonda 1 I I

petidor - o exemplo ilustra a es

2. Orientada 16 ensapern. Os b rs s k declarados no contexto

concentram a tareh de armazenamento dm rótulos. As

forma indireta, tran

pEca@o possui uma c

e, na connunicaç%o c

ernoto. Este, por sua vez, pmsui um único can

cessoa presentes no s

sociada a cada um

sos no sentido de reconhecer e re~gistra a ocorrênci

artir da inserção de ir

é recebida, o obser

istua Evento esta0 conect ao8 eeus respectivos

to atrwes de uma coleção de canais de comunica~ão.

canal, conecta uma única U correspondente, de for

em um mesmo cand

Evento nn monit

a a&cionais conect

por uma Unidade, no sentido de reconhecer e

es e depois da

e cipd : canais de entr

d.ci, : identidades

s -d~.monStor : c ais que conect

Pro or

representa a imerçh de

bnf e de um pogr rico antes e de

s vsriáveis enc

[;J, M), Vi (O 5 i < n) =-+

no aiãmazenamento do^ rótulo

um rótulo rolt e o e

nsão do procedimnto é copi

ritmo do Procedimento E Locd

igura 111.5, sgo:

ento doã rótula

mob recebe e trata

FR cessa, após o recebimento de um ã i a d de

e indica a fim s do pocesso moni

es presentes em bufler e a

iáveis do algonitmo [Fi

46 to.CHisc~ : c m d que csnceta

e to.monitor : c m

recebida através de to. monibor

o rótulo de um evento

masenamento do

o que controla a tenaiin

iio escritos em uma ordenaçoo

istente com aquela recebida no b

iae idenlificam o processo

stop :

U

e stop : sinal de ler&

e f irn : bode o que controla a terrminagtzo

coordena a reexecuçh deterPPainiístic

de monitorsção. Essenci

Ber descrito como: dura~te uma execução,

rs. A ativação

processm e, portanto, somente oa; eventos

A ocorrência de a uma Unidade envolve um

sa, uma barreira 6 setir

germamcem er

iasda ef apa, a mens em k recebida,

comusicq~o

ser dos instantes entre ira e o acionamento

do ginaEgdor, nenhuma outra men

Cada processo da icação é vincul

le processo, es

troca de comando

seleciona ouira U d

processo recebem coma ri da^ através de c m

número de c&nds e Uni

smdo um único c m d , c

vento e, conseqüentemente, o proces três canais a&cionds,

As implementações da bmreira e do sin esanenle, a co-

grama genéric

QB pp : pEOG~?880

e to.repluy : c m d que conecta p; ao

recebida atra%rés

em de habilit

a eoeu : mensagem

Processo eplcey controla o aion

o, garantinto que

uarda at6 que ind de fim de evento eja retornacto, si

s Unidélcles são acion eistindo, portanto, du

multmeamente, dentro do mesmo processo. Nenhuma aes%

a no que concerne a Uni

ntm 6 controlada para c

correntemente, e, sim aendo, não existe uma ordem do&d préd

ocoarGncia dm eventm.

aiência de acioiczamento a a partir dos vdores urna-

em uma variávd do t

valores, que na verdade r

eoev :

em de fim de evento

e f i rn : boolewo que controla a ter

cs ptr : apodador para o pr

rocesso Disco eplay anaEisa o arquivo moat

tribui, entre o~ procesa eplay, oa rót

conduzida mediante a r e c e x b

obre o cand de

R cessa quando k rece

canais de entrada. caracteriza o t6rdno da

e -to.disco : canais que cone

e f rorn.$isco : canais que

recebidas através de to.disco

e req : mensagem de pe

que indica o nú rs de stopa recebido;

ephy devem ser doc

o &redctynende a unidade de disco, diminuindo, com isso,

de escrita e leitura do

escrito anteriormate, o al. 01: coordena a reexee

nte, a ocorrência d a event R a recepçiio de mens

~sf abdecida durante a nloriP

role exercido pelo

em deadloek, como di~cutido a se

aplecidnde de armasenamento limif

ns sobre um c m d sem ae bloquear, c a r s t

de deadkocli: de

s vdo~es xero ou um. Cabe destacar

de deadkock aqui g:: osto rak é unico.

eSicwes.

ISLT cqae idade zero, o m e c ~ s m o deve antir que o gsocesao e

permaneça bhque receber a mens

os Convmor de Protocolo e iiltiplex tem capacidade para apmazenar nina bica mensagem, somente

EL capacidade um, o mecmis e o processo emissor

pacidade um foi escol

1, ilustra o funcion snvereor de P~otocolo.

avia Processo 1

a 1niaLiiresa do mecdsmo, qu

camen.de acoplada, o custo da comunicq%o 6 rel

custo da comuni de, em face a carga computxiond. P

seções descrevem e ambiente cios testes,

iaina paralela de mmória &st

oito nós de processmento, po

millons o$ ialiructiona per seco

of fioating-point operations per second).

ecem o que foi de~crito.

pela forma como a

' é tramsfe.erida dm processos E para os processos

as entre estes processos elecem um psodoc

tipo,

e infornnqk trocada entre estes processw i

A proposta de

e a outra de reposta (send), c

de mensagens (k", independente

sma forma, o nimero tot

as vwizkc;Ges do o

número de procesrsad

que envolve trhsito e rote neagens, aumenta. s~ixn sedo, a málise

relaçh ao custo

lemento, carncleGea

a evolução do ove~heczci!~ par número de eventos

tros envokvidos no eatudo o comportamento do overhead a

&o durante a reexecuçGo (Seção I

Yroe: número ( a e ç h IV.1);

ventos: número de eventw processa ua~9es 1V.l e l.V.2);

v e ~ h e a d (9%) -- * 100, onde x e: O

'A carga computaciolad varia deacordo com a, dimensão dw matleize~ hrnecidtza ao8 33

eventos inspeciondos gelo imecmismo B dado gela .1 pise $ inbepen-

s testeél realizadm em um process

rentes correspon

e somente foram e

ticionamento coincidente com

cessadores correapondem

2%'m fick do 'crmsputer eyiiivde a, 64 p

e reerrecugs80, o

vem:

p o r q - z * n , que representa, apen 512

, excluindo, dee-te

referente a int monitoragko, 6

uele inerente B constri~sh overiaead se deve,

chamada ao re iorno procedimento ao

processo

&meralo 6, também, a um niimro qiidques de prsces

R 'Iabdiks V.1 e '6.2 exe

rizes 160 x 160 entre 3% e 6%.

esconsider ando rtencentes a hterfaçe de

temente da

e xnonitorqão é c

isto 6, nm..

xecução a ndmero enke oi.1

era, em muito (em tomo de t r ê ~

que corresponde

eplicy, &scutidw nas Sec;ões 111.5.2 e 111.5.3, re

nm - p (9%) -

0.097% do número total de mensage

no sentido cle orientar a ordem de oc

residem os p r ~ c e ~ s w da

sZncronixa&áo t r a n s m i s s ã o s incroa iz_ão swxpc$io dos + d a 4- dos 4- da

processos mensagem processos mensagem

m 1 processador (Tab

o overheed *. P

.5, nm, representa o nú

a discutgsS da Seç

eado na troca

processas Conversar de e de Comunicaç&o. Ca

em entre process roveniente de d

so, durante a reexecuç

ade de processadores presentes no sistema e contribui,

um custo de comunica~ão re

nte pequeno, se c

o. Suponha, ent",

que urna apEcaç&s fracamente as.

1 5 m 5 512.

canismo apresenta u

vaisto;&$ no custo da coiziunicasão e, con~eqiaenteme

ara msi;t~izes de entrada de climens

8ea desenvolvi

vadas, para a i

u m relativamente pequeno

or~ procedimentw de momtoração e see-

uiído e ao ciisto da co

oxitmos aqui estud amente coanhecid

sibiHit a reixiomar as qanntidades de pxocess

o de revelar o perfi to do overhead e

coniput xional. ortanto, a .foEmdao;&o apresentada a seguir.

Seja P o percetual referente

@ C : constante de psoporcionab

e n : &mensão

e nev : número de evento8 trata

nev $ - C

n2 -1- nev

com o número de proe

ecznda o valor de nev na

idmo de MdtipEca~50 Xeinento o vdor do ter

Figura IV.2: Comportamento do Algoritmo de Multiplicação por Bloco em Relação a Carga Computacional - Medidas realizadas em 2 processadores utilizando o algo. ritmo Monitor nas implementqões orientada ao procedimento e orientada a mensai

gem

Figura IV.3: Comportamento do Algoritmo de Multiplicação por Bloco em RelaçBo a Carga Computacional - Medidas realizadas em 8 processadores utilizando o alge ritmo Repetidor

resultando em

A expressão matemática obtida permite extrapolar as seguintes observ-;ões

1, Paran = O 3 P = C

Concluindo, inicialmente, P atinge seu ponto de máximo, decaindo a medida em

que a dimensão das matrizes de entrada A e B cresce, até atingir um valor prati-

camente constante. Os vaiores das constantes C, C' e C" variam de acordo com

as características dos algoritmos Monitor e Repetidor, determinado a velocidade do

decaimento e o ponto de máximo. As curvas apresentadas nas Figuras IV.4 e IV.5

confirmam as consideraçcães desenvolvidas.

IV.3.3 Medidas de Tempo com 110

A medidas tempo apresentadas anteriormente desconsideram o tempo gasto pelo me-

canismo de reexecução em operações de entrada e salda (I/O), por ser este parâmetro

estritamente dependente da tecnologia da máquina hospedeira utilizada. Como ilus-

tração, foram levantados alguns valores que incluem o tempo total de execução (com

I/O) para testes realizados em 1 processador conectado a um hospedeiro do tipo

IBM/PC-XT. Os resultados apresentados nas Tabelas V.4 e V.5 comparam valores

de overhed, que somam ou não a parcela referente as atividades de entrada e salda.

Estas atividades envolvem, exclusivamente, operações de leitura e escrita em uma

unidade de disco rígido.

Figura IV -4: Comportamento do Algoritmo de Multiplicação por Elemento em Relação a Carga Computacional - Medidas realizadas em 2 processadores utilizando o algoritmo Monitor nas implementações orientada ao procedimento e orientada a mensagem

Figura IV .5: Comportamento do Algoritmo de Multiplica<;ão por Elemento em Relqão a Carga Computacional - Medidas realizadas em 2 processadores utilizando o algoritmo Repetidor

0 objetivo deste trabalho tese foi o projeto e a avaIiagão

oposto deveria provoc

dterasão do c o q o r t

aplicações, foi t ot dmente deseiavol

r processador do tipo brn?zsputer em con

ortnmentlo do mec

riicaggo entre process

emonstraram que o procedi-

overhead ficou limitado entre 0.0

e reeseciqk revelou t3 de overhead consider

a~&t4 entre 1.75% e 204.SR%, agr

o em .Jiini;áo do nUn~ero de

mir deternninisticamente um certo comnport

a depurasão e

namento da performunce

tempo, referesite

es e C. L. Amoleim, V. C. bom. Uma Inlsodiatçk ti Com-

scoia de Computaçh, 19

Citro, A. F. Souza. Debuggging and

Artakgsis of Lave-SenE