Upload
vuanh
View
212
Download
0
Embed Size (px)
Citation preview
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.
vii
II . . . . . . . . . . . . . . . . . . . . .... . . . . . . 17
egistrzt Evento . . . . . . . . . . . . . . . . . . . . . 1
. 2 Procedimento UFL) . . . . . . . . . . . . . . .
) . . . . . . . . . . . . . . . . 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ç
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
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
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
[;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
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
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
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).
' é 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
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..
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ç
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