• Nenhum resultado encontrado

Publicações do PESC Um Mecanismo de Reexecução Determinística de Programas Paralelos

N/A
N/A
Protected

Academic year: 2021

Share "Publicações do PESC Um Mecanismo de Reexecução Determinística de Programas Paralelos"

Copied!
87
0
0

Texto

(1)
(2)
(3)
(4)
(5)

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.

(6)

ist libur'do

. . .

.

EOC88808

(7)

vii

II

.

. . .

....

. . .

17 egistrzt Evento

. . .

1

.

2 Procedimento

UFL)

. . .

)

. . .

24

)

. . . , . . .

25 epetidor

. . .

27 vento

. . .

2 111.5.2 Processo

)

. . .

31 11.7 Prevenção

. . .

(8)
(9)

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ç

(10)

iio ciclica e de muit foram propmtos difere que c o n t r o h m 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 n s e d r i a dis

(11)

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.

(12)

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.

(13)

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

(14)

em, e o outro leitura ou recep$o de menea Para o processador remetente, o c to de salda e para o receptor d e 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 r q h entre

(15)

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

(16)
(17)

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

(18)

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

(19)

(

lista de comandos

);

or

(

lkba de comandos

);

(

lista de comandos

);

e CompHezidade. Um sistema istribuido é composto por múltipbs processos os entre diferentes proee

(20)

para a molaitor-ão de u ortamenio do sistema, m

(21)

que uma execução seja ie-

ama pardeio, liv

(22)

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

(23)

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:

(24)

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

(25)

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

(26)

Sonda 1 I I

(27)

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

(28)
(29)

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

(30)

Pro or

representa a imerçh de

bnf e de um pogr rico antes e de

(31)

[;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

(32)

ritmo do Procedimento E Locd

igura 111.5, sgo:

ento doã rótula

m o b recebe e trata

FR

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

(33)

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

(34)

stop :

U

e stop : sinal de ler&

(35)

coordena a reexecuçh deterPPainiístic

de monitorsção. Essenci

(36)

rs. A ativação

processm e, portanto, somente oa; eventos

A ocorrência de a uma Unidade envolve um

(37)
(38)

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

(39)

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 a i o n o, garantinto que

(40)
(41)

uarda at6 que i n d 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 o r d e m do&d préd ocoarGncia dm eventm.

aiência de acioiczamento a a partir dos vdores urna- em uma variávd do t

(42)

eoev :

em de fim de evento

e f irn : boolewo que controla a ter

(43)

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 t 6 r d n o da

e -to.disco : canais que cone

e f rorn.$isco : canais que

recebidas através de to.disco

e req : mensagem de pe

(44)
(45)

ephy devem ser doc

o &redctynende a unidade de disco, diminuindo, com isso, de escrita e leitura do

(46)

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

(47)
(48)

de deadkocli: de

s vdo~es xero ou um. Cabe destacar de deadkock aqui g:: osto rak é unico.

eSicwes.

ISLT

c q a e i d a d e 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

(49)
(50)
(51)
(52)

pacidade um foi escol

1, ilustra o funcion snvereor de P~otocolo.

(53)
(54)

a 1niaLiiresa do mecdsmo, qu

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

(55)

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

(56)
(57)
(58)

'

é 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

(59)

as vwizkc;Ges do o

(60)

que envolve t r h s i t o e rote neagens, aumenta. s~ixn s e d o , 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

(61)

s testeél realizadm em um process rentes correspon

e somente foram e

ticionamento coincidente com cessadores correapondem

(62)

e reerrecugs80, o

vem:

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

,

excluindo, dee-te

referente a int monitoragko, 6

uele inerente B constri~sh overiaead se deve,

chamada ao r e i o r n o

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

(63)

xecução a ndmero enke oi.1

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

(64)

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 i n c r o a i z _ ã 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

a discutgsS da Seç eado na troca

processas Conversar de e de Comunicaç&o. Ca

em entre process roveniente de

d

(65)

ade de processadores presentes no sistema e contribui,

(66)

nte pequeno, se c

o. Suponha, ent", que urna apEcaç&s fracamente as.

(67)

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

(68)

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

(69)

e nev : número de evento8 trata

nev

$ - C

n2 -1- nev

com o número de proe ecznda o valor de nev na

(70)

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

(71)

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

(72)

resultando em

A

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

1, P a r a n

=

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.

(73)

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

(74)

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

(75)
(76)

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

(77)

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

(78)

es e C.

L.

Amoleim,

V.

C. bom. Uma Inlsodiatçk

ti

Com-

(79)
(80)

Citro,

A.

F.

Souza. Debuggging and Artakgsis of Lave-SenE

(81)
(82)
(83)
(84)
(85)
(86)
(87)

Referências

Documentos relacionados

O Documento Orientador da CGEB de 2014 ressalta a importância do Professor Coordenador e sua atuação como forma- dor dos professores e que, para isso, o tempo e

Pretendo, a partir de agora, me focar detalhadamente nas Investigações Filosóficas e realizar uma leitura pormenorizada das §§65-88, com o fim de apresentar e

O protocolo adotado neste estudo está de acordo com o sugerido pelo Consenso internacional atualizado sobre a gestão do citomegalovírus no transplante de órgãos

Para isso, estuda-se o caso de pessoas que utilizam o sistema de Transporte Rápido por Ônibus (Bus Transit Rapid - BRT), no corredor Norte-Sul do Sistema de

As resistências desses grupos se encontram não apenas na performatividade de seus corpos ao ocuparem as ruas e se manifestarem, mas na articulação micropolítica com outros

Haja vista as modificações decorrentes à pneumonectomia, referindo- se principalmente àquelas citadas em literatura, o objetivo do presente estudo foi o de avaliar as

Tripp (2005), igualmente, descreve a pesquisa-ação, voltada ao contexto educativo, como um método que, essencialmente, envolve tentativas continuadas, sistemáticas

Por fim, como era esperado, o Diário do Nordeste, pertencente ao maior grupo de comunicação do Ceará e o periódico mais vendido no Estado é, dentre todos, aquele que mais adotou