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 AlbuquerqueAugust, 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
. . .
.
EOC88808vii
II
.
. . .
....
. . .
17 egistrzt Evento. . .
1.
2 ProcedimentoUFL)
. . .
)
. . .
24)
. . . , . . .
25 epetidor. . .
27 vento. . .
2 111.5.2 Processo)
. . .
31 11.7 Prevenção. . .
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ç
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
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ítuloI11
descreve o mecanismo de reexecução, discutindo, extensamente, os algoritmos de monitoração e reexecução implementados, dém das dificulades a s s eciadas ao mapeamento em sistemas distribuídos ponto-&ponto.
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
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 entreA 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
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 (CONd 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
exeapreseaitadm nos dem&ã capítul
ornando alternativo replicado, que compacta s repse
de dadoag tais como vetoices ou m&Eisee, Exemplo:
i(O5 i <
n ) +(
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
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
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
Sonda 1 I I
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
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 forem 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
Pro or
representa a imerçh de
bnf e de um pogr rico antes e de
[;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
m o b recebe e trata
FR
cessa, após o recebimento de um ã i a d dees 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
stop :
U
e stop : sinal de ler&
coordena a reexecuçh deterPPainiístic
de monitorsção. Essenci
rs. A ativação
processm e, portanto, somente oa; eventos
A ocorrência de a uma Unidade envolve um
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 eUni
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
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 ccorrentemente, 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
eoev :
em de fim de evento
e f irn : boolewo que controla a ter
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 rececanais 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
ephy devem ser doc
o &redctynende a unidade de disco, diminuindo, com isso, de escrita e leitura do
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
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 epermaneça bhque receber a mens
os Convmor de Protocolo e iiltiplex tem capacidade para apmazenar nina bica mensagem, somente
pacidade um foi escol
1, ilustra o funcion snvereor de P~otocolo.
a 1niaLiiresa do mecdsmo, qu
camen.de acoplada, o custo da comunicq%o 6 rel
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).
'
é tramsfe.erida dm processos E para os processosas entre estes processos elecem um psodoc tipo,
e infornnqk trocada entre estes processw i
A
proposta dee a outra de reposta (send), c
de mensagens
(k",
independente sma forma, o nimero totas vwizkc;Ges do o
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, ondex
e: O'A carga computaciolad varia deacordo com a, dimensão dw matleize~ hrnecidtza ao8 33
s testeél realizadm em um process rentes correspon
e somente foram e
ticionamento coincidente com cessadores correapondem
e reerrecugs80, o
vem:
p o r q - z * n , 512 que representa, apen
,
excluindo, dee-tereferente 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..
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 ocresidem 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- daprocessos 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
ade de processadores presentes no sistema e contribui,
nte pequeno, se c
o. Suponha, ent", que urna apEcaç&s fracamente as.
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 nev : número de evento8 trata
nev
$ - C
n2 -1- nev
com o número de proe ecznda o valor de nev na
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 gemFigura 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 Repetidorresultando em
A
expressão matemática obtida permite extrapolar as seguintes observ-;ões1, P a r a n
=
O 3P
=
CConcluindo, inicialmente,
P
atinge seu ponto de máximo, decaindo a medida em que a dimensão das matrizes de entradaA
eB
cresce, até atingir um valor prati- camente constante. Os vaiores das constantesC,
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 TabelasV.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 mensagemFigura
IV
.5: Comportamento do Algoritmode
Multiplica<;ão por Elemento em Relqão a Carga Computacional-
Medidas realizadas em 2 processadores utilizando o algoritmo Repetidor0 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
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
es e C.
L.
Amoleim,V.
C. bom. Uma Inlsodiatçkti
Com-Citro,