Você está na página 1de 10

Computao Paralela Questionrio

Sistemas de Memria
Compartilhado-Distribuda

Lucas Matos Muniz

30 de junho de 2015

Questo 1: O que entende por sistema de memria compartilhado-distribuda?


Memria compartilhada distribuda um sistema que abstrai vrios aspectos da
memria distribuda convencional evitando a troca de mensagem e assim facilitando a
programao.
Questo 2: D exemplos e discuta sobre diferenas entre software DSM (Distributed
Shared Memory) e hardware DSM.
A primeira diferena o nvel de velocidade e integrao da rede, onde o shardware
mais rpido que o software. A segunda diferena que em sistemas de hardware cada
n esta com um nico SO, j sistemas de software cada n executa seu prprio SO. E no
hardware precisa de um controlador do n.
Questo 3: O modelo de programao usado em sistemas de hardware e/ou software
DSM diferentedos modelos que j estudaram (passagem de mensagens e memria
centralizada)? Por que? D exemplos de pequenos trechos de cdigo.
Sistemas distribudos so diferentes de sistemas paralelos, onde os ns apresentam forte
acoplamento, ou seja, eles no atuam com autonomia de processamento. Em contraste, a
computao dos elementos de um sistema distribudo fracamente acoplada. Outro fator
comum nos sistemas distribudos a ausncia de memria compartilhada entre os
diferentes ns. Com isso no h memria no sistema que possa ser acessvel de forma
generalizada. A memria local pertence a um n e somente os componentes do n tem
acesso a ela. Nos sistema paralelos e num subconjunto especfico de sistemas distribudos
que possuem memria compartilhada, diferentes ns podem comunicar-se diretamente
atravs de memria compartilhada.
Questo 4: Quais so os principais problemas a serem resolvidos por hardware e
software DSM?
Localizar um bloco de dados e substitu-lo.
Questo 5: O que modelo de memria com consistncia sequencial?
Um sistema seqencialmente consistente se o resultado de qualquer execuo o
mesmo que seria obtido se as operaes de todos os processadores fossem executados
em uma dada ordem seqencial, e as operaes de cada processador individualmente
aparecessem, nessa seqncia, na ordem especificada por seu programa.
Questo 6: Discuta sobre os modelos de coerncia de memria empregados em sistemas
DSM. Mostre vantagens e desvantagens de cada um deles.
O modelo de consistncia de memria define a ordem forma legal de um processador
fazer acessos memria compartilhada, quando observado por outro processador.
Formas fortes de modelos de consistncia tipicamente aumentam a latncia de acesso
memria e a bandwith requerida, enquanto facilitam a programao. Modelos mais
relaxados, os quais permitem reordenao, pipelining, e sobreposio,
consequentemente melhoram a performance, mas exigem um alto envolvimento do
programador na sincronizao de acesso dados compartilhados. Para otimizar este
comportamento, sistemas com mltiplos modelos de consistncia tm surgido. Modelos
de memria fortes que tratam acessos de sincronizao da mesma forma que operaes

de escrita e leitura so chamados consistncia sequencial e processador. Modelos mais


relaxados que distinguem entre acessos de sincronizao e acessos de leitura e escrita
so chamados consistncia weak, release, lazy release, e entry. Consistncia sequencial
pode ser conseguida forando acessos serializados memria compartilhada por meio
de uma fila FIFO. Consistncia processador assume que a ordem na qual diferentes
processadores podem ver operaes de memria no precisam ser identicas, mas todos
os processadores devem observar a sequencia de writes demandada por cada
processador na mesma ordem. Diferente da consistncia sequencial, a consistncia
processador permite que operaes de leitura passem a frente de operaes de escrita na
fila a partir da qual requisies de memria so servidas. Consistncia weak requer que
a memria se torne consistente somente em acessos de sincronizao. Um acesso de
sincronizao deve esperar por at que todos os acessos anteriores sejam completados,
enquanto operaes de leitura e escrita devem esperar somente que acessos de
sincronizao anteriores sejam completados. Consistncia release divide acesso de
sincronizao em acessos acquire e release, de forma a proteger acessos memria
compartilhada entre o par acquire-release. Neste modelo acessos de escrita e leitura
podem executar somente aps todos os prvios acquires no mesmo processador tenham
completado. Alm disso, acessos release podem executar somente aps todos as prvias
operaes de leitura e escrita tenham completado. Consistncia lazy release um
melhoramento da consistncia release. Invs de propagar as modificaes na memria
compartilhada em cada release, as modificaes esperam at que um prximo acquire
relevante. Isto minimiza a quantidade de dados trocados pelos processadores.

Questo 7: Qual diferena entre protocolos de atualizao e de invalidao? Existem


outros protocolos?
Invalidao e Atualizao Se um processador l um valor apenas uma vez e no
precisa dele novamente, um protocolo de atualizao impe um overhead Se dois
processadores fazem testes intercalados com atualizaes em uma varivel, um
protocolo de atualizao melhor. Ambos os protocolos sofrem falsas sobrecargas de
compartlhamento (duas palavras que no so compartlhadas, porm ficam na mesma
linha de cache). A maioria das mquinas atuais usam protocolos de invalidao
Questo 8: Descreva os passos utilizados por um software DSM (por exemplo,
TreadMarks) para aceder um dado (1) que est presente na memria do processo que
requisita o dado e (2) que no est presente na memria do processo que requisita e este
no o dono do dado.
Quando a memria compartilhada acessada por um processador, TreadMarks
determina onde o dado est fisicamente presente, e se necessrio transmite o dado para
o processador sem a interveno do programador. Quando a memria compartilhada
modificada por um processador, TreadMarks assegura que outros processadores sero
notificados da mudana, portanto eles no tero dados obsoletos. Esta notificao no
imediata nem global. Notificao imediata seria realizada freqentemente e notificao
global normalmente iria enviar para processadores informaes que no seriam
pertinentes a maioria deles. Ao invs, esta notificao entre processos realizada
quando eles so sincronizados. Programas livres de condies de corrida produzem o

mesmo resultado se a notificao for imediata ou postergada at a sincronizao, e a


acumulao de vrias notificaes em uma nica mensagem no momento da sincronizao reduz o overhead de comunicao entre processos.
Questo 9: O que um sistema DSM home-based?
um sistema Software DSM baseado em residncia de pginas que utiliza um modelo
de consistncia relaxada para manter a coerncia da memria compartilhada. Neste
modelo, a consistncia de memria garantida em pontos de sincronizao utilizandose de locks e barreiras. Estes pontos de sincronizao so delimitados por acquires c
re/eases, que correspondem a aquisio de /ocks e liberao dos mesmos, assim como a
chegada a barre iras.

Questo 10: Como pode ser feita a proteo de pginas de memria em sistemas com
mltiplos escritores tais como TreadMarks e HLRC?
Uma cpia atualizada da pgina deve ser requisitada ao processador home da pgina.
Como os trabalhadores so implementados como processos distintos, eles possuem
estruturas relacionadas a proteo de memria distintas. Quando a proteo de uma
pgina alterada para permitir o acesso, esta alterao vlida apenas para aquele
trabalhador. Portanto, um trabalhador pode ter acesso a uma determinada pgina de
memria e outro no mesmo n no possuir esta permisso de acesso.
Questo 11: O que compartilhamento falso? D exemplo. Quais so as formas de se
evitar compartilhamento falso em software DSM?
A descrio sobre falso compartilhamento aplica-se a um sistema DSM implementado
em software baseado em pgina que utiliza consistncia de liberao preguiosa e
protocolo de vrios escritores. LRC e protocolo de vrios escritores aliviam os piores
efeitos do falso compartilhamento. Em particular, leituras e escritas concorrentes a
mesma pgina no causam comunicao no momento do acesso. No entanto, causam
comunicao extra na forma de mensagens desnecessrias ou mensagens com dados
desnecessrios. Para evitar o falso compartilhamento so utilizadas as tcnicas: Adaptable
View, Agregao Dinmica e Comparao.
Questo 12: Qual a causa de thrashing em sistemas DSM?
O problema de thrashing pode ocorrer quando item de tempo no mesmo bloco de dados
esto sendo atualizados pelo n mltiplo na mesma equipe o problema pode ocorrer
com qualquer tamanho de bloco , mais provvel com maior tamanho do bloco.
Questo 13: Colemo que lazy release consistency implementada em TreadMarks?
O sistema TreadMarks um sistema de memria partilhada distribuda que utiliza o modelo de
consistncia "Lazy Release Consistency". Este sistema tambm utiliza o protocolo Multiple
Writers de forma a evitar a falsa partilha (False Sharing), ou seja, o efeito de "ping-pong" que
uma pgina pode ter entre dois processos em acesso mesma pgina mas em zonas distintas.
O protocolo Multiple Writers permite o acesso mltiplo uma vez que cada processo identifica as
alteraes realizadas sobre cada pgina comparando a pgina final com uma cpia (Twin)dela
prpria antes dos acessos de escrita.

Mtricas de Desempenho e Arquiteturas Paralelas


Questo 1: O que diz a lei de Amdahl?
Relaciona o speedup total de um sistema com o speedup de uma poro do sistema.
Questo 2: Por que a lei de Amdahl causou desmotivao da comunidade de
programao paralela na poca em que foi publicada?
A lei de Amdahl ignora o custo das operaes de comunicao/sincronizao associadas
introduo de paralelismo numa aplicao. Por esse motivo, a lei de Amdahl pode
resultar em predies pouco realsticas para determinados problemas.
Questo 3: A lei de Gustafson ajudou a renovar o nimo da comunidade de
procesamento paralelo. Por que?
Enquanto a lei de Amdahl parte do tempo de execuo sequencial para estimar o
speedup mximo passvel de ser conseguido em mltiplos processadores, a lei de
Gustafson-Barsis faz precisamente o contrrio, ou seja, parte do tempo de execuo em
paralelo para estimar o speedup mximo comparado com a execuo sequencial.
Questo 4: O que so os modelos de carga fixa, tempo fixo e memria fixa?
Carga fixa = maquinas maiores para computar + rpido
Tempo fixo = maquinas maiores para problemas maiores.
Memoria fixa = maquinas maiores para problemas que precisam de + memorias.
Questo 5: Quais so as mtricas de desempenho utilizadas normalmente para medir
desempenho de sistemas que utilizam memria fixa? E carga fixa? E tempo fixo?
Ao se analisar o desempenho de programas paralelos, com intuito de comparar
algoritmos distintos, algumas mtricas so normalmente utilizadas, tais como o fator de
acelerao e eficincia
Questo 6: Quais so os principais impedimentos para explorao de paralelismo?
exatamente a disponibilidade de software de terceiros com qualidade (um nmero tpico
para as diferentes marcas seria 1500 aplicaes) que tem potencializado o mercado das
estaes de trabalho de elevado desempenho. Por sua vez, a ausncia de aplicaes
disponveis no mercado tem sido um dos fatores a restringir a adoo de equipamentos
paralelos por parte das empresas em geral. Alguns aspectos na oferta dos equipamentos
paralelos se mostram razoavelmente padronizados. O uso de estaes de trabalho Unix
de elevado desempenho como interface para o usurio bastante usual. Por sua vez, quase
todos os fornecedores esto se propondo a suportar padres de rede NFS, Ethernet,
TCP/IP, HIPPI, FDDI, e em breve ATM/SONET. Estes dois aspectos so positivos para
insero do hardware paralelo como servidores em uma rede de sistemas abertos. Por
outro lado, a padronizao fraca ou inexistente nas reas de linguagem e de arquitetura
do hardware. A teoria para o processamento paralelo foi desenvolvida aps a tecnologia
e ainda se encontra imatura em muitos aspectos. Deste modo, a teoria historicamente no
vem sugerindo caminhos ou at mesmo limites para explorao tecnolgica. Como

resultado, ainda no esto disponveis na abrangncia necessria, representaes abstratas


da computao paralela, lgicas para avaliao da mesma, ou at mesmo algoritmos
paralelos que sejam comprovadamente eficientes nas diversas arquiteturas reais.
Questo 7: O que speedup superlinear? Em que condies um program pode alcanar
speedups superlineares?
O speedup diz-se superlinear quando a razo entre o tempo de execuo sequencial e o
tempo de execuo em paralelo com p processadores maior do que p.
Questo 8: O que entende por prefetching e forwarding?
A busca antecipada de instruo (prefetching) ou superposio de busca (fetch overlap)
consiste em buscar a prxima instruo, enquanto a atual est sendo executada. No caso
do forwarding, deve-se coletar o resultado dos registradores de pipeline e realizar o
encaminhamento para a ALU que necessita dos dados.
Questo 9: O que so tcnicas de tolerncia a overheads? Cite algumas e explique como
funcionam.
Principal fator para qualquer tcnica de tolerncia a falhas. De um modo geral, a deteco
de erros diretamente proporcional confiabilidade do sistema. No prtico, entretanto,
equipar o mesmo com um grande nmero de facilidades para deteco de erros, sobretudo
devido ao custo e "overheads" impostos por extensivas verificaes. O sistema no deve
ter nenhum ponto comum de falhas relacionado com seu checador, sendo o ideal que este
fosse projetado por uma equipe diferente de projetistas. Podemos citar trs critrios que
caracterizam um projeto ideal: deveria ser derivado to somente das especificaes do
sistema; deveria ser capaz de fazer uma completa checagem do sistema;deveria ser
independente do sistema.
Questo 10: O que uma rede de interconexo?
As redes de interconexo so de fundamental importncia nas arquiteturas paralelas. No
importa o tipo da arquitetura, todo computador paralelo necessita de uma rede de
interconexo: comunicao entre os seus diversos recursos de processamento,
armazenamento e entrada/sada. Alguns aspectos que devem ser considerados quando se
analisa o desempenho de uma rede de comunicao so: latncia (tempo de trnsito de
uma mensagem pela rede de comunicao), largura de Banda (quantidade de trfego de
mensagens que a rede de comunicao suporta), conectividade (quantidade de vizinhos
que cada processador possui), confiabilidade (conseguida, por exemplo, atravs de
caminhos redundantes) ,escalabilidade: possibilidade de acrscimo de dispositivos sem a
necessidade de alterao das caractersticas da rede.
Questo 11: Como que a topologia de uma rede de interconexo pode afetar o
desempenho de um programa paralelo?
Estudos sobre comunicao em sistemas de processamento paralelo vm sendo realizados
h vrias dcadas. A partir desses estudos, percebeu-se um conjunto de fatores que podem
afetar a escolha do subsistema de interconexo, dentre eles: desempenho, escalabilidade,
reuso, confiabilidade, requisitos fsicos, simplicidade e custo. Analisando o modo como
esses requisitos se apresentam nos sistemas de processamento paralelo e inspirando-se

nas tradicionais redes de computadores, os subsistemas de interconexo foram tratados


como redes de interconexo (interconnection networks) e uma classificao tambm foi
adotada. De acordo com a topologia, a rede de interconexo pode ser classificada como:
De meio compartilhado; Direta, Indireta ou; Hbrida
Questo 12: Explique como funciona uma rede esttica que utiliza perfect shuffle.
As redes estticas so conhecidas com redes de permutao de bits. Assim, o padro de
bit uma rotao esquerda no endereo da linha, tambm conhecido como perfectshuffle, por exemplo, a linha 1 ou 0001 em binrio ir conectar a linha 2 ou 0010 em
binrio.
Questo 13: O que wormhole routing?
Uma propriedade de uma passagem de mensagens, do sistema em que cada parte de uma
mensagem transmitida de forma independente e uma parte pode ser encaminhado para o
prximo n antes de a mensagem inteira ter sido recebido.
Questo 14: Quais so as vantagens e desvantagens de redes estticas e dinmicas?
Redes estticas-Vantagens: Maior segurana, uma vez que existe apenas um caminho
de entrada/sada da rede; Processamento da informao no router mais rpido.
Desvantagens: Sem redundncia ou tolerncia a falhas - no caso de um link falhar, perdese a comunicao por completo, j que o router no ir tentar descobrir um caminho
alternativo; Em redes de grandes dimenses torna-se impraticvel configurar todas as
rotas manualmente.
Contudo, os routers no analisam todas estas mtricas em simultneo. Existem para isso
algoritmos que suportam os protocolos de encaminhamento e podem usar apenas uma ou
mais mtricas com veremos no ponto seguinte. semelhana das rotas estticas existem
vantagens e desvantagens na utilizao das rotas dinmicas que so apresentadas abaixo.
Vantagens: Garante redundncia e tolerncia a falhas; Boa aplicabilidade para redes de
grande dimenses. Redes dinmicas Desvantagens : Falta de controlo nas rotas
escolhidas (tarefa do protocolo de encaminhamento); Processamento da informao no
router mais lento devido aos clculos impostos pelo protocolo de encaminhamento.

Cluster e Grid Computing


Questo 1: O que um cluster? Qual a diferena entre um cluster e uma NOW
(network of workstations)?
Cluster (ou clustering) , em poucas palavras, o nome dado a um sistema que relaciona
dois ou mais computadores para que estes trabalhem de maneira conjunta no intuito de
processar uma tarefa. Estas mquinas dividem entre si as atividades de processamento e
executam este trabalho de maneira simultnea. J um tipo de sistemas distribudos so
as Redes de Estaes de Trabalho (NOW - Network Of Workstations), onde vrias
mquinas convencionais - estaes de trabalho - so interligadas por uma rede de
comunicao convencional, como a Ethernet, formando assim uma mquina NORMA
com baixo custo de implantao e alto nvel de escalabilidade.
Questo 1: Assuma que lhe foi dada a tarefa de construir um cluster com centenas de
mquinas. Quais so os problemas esperados e como solucion~los (por exemplo:
refrigerao e energia eltrica)?
O cluster aumenta a disponibilidade e performance para as aplicaes, particularmente as
grandes tarefas computacionais. Uma grande tarefa computacional pode ser dividida em
pequenas tarefas que so distribudas ao redor das estaes (nodos), como se fosse um
supercomputador massivamente paralelo. comum associar este tipo de cluster ao
projeto Beowulf da NASA. Estes clusters so usados para computao cientifica ou
anlises financeiras, tarefas tpicas para exigncia de alto poder de processamento.
Questo 2: Agora que voc j montou seu cluster (a parte fsica) precisa instalar algum
software. Qual seria a melhor escolha?
A melhor escolha vai depender do tipo de aplicao que se deseja para o cluster, pode ser
voltada para a rea cientfica ou diversas outras.
Questo 3: O que um gerenciador de recursos (resource manager)? D exemplos e
discuta sobre diferenas entre eles.
Com a demanda crescente de recursos de armazenamento, medida que as organizaes
dependem mais de dados do que nunca, os administradores de TI enfrentam o desafio de
supervisionar uma infraestrutura de armazenamento maior e mais complexa, ao mesmo
tempo em que controlam o tipo de informao nela disponvel. Atualmente, gerenciar
recursos de armazenamento no apenas inclui o tamanho do volume de dados e sua
disponibilidade, como tambm a imposio de polticas corporativas e um entendimento
muito bom de como o armazenamento existente est sendo usado, o que proporciona um
planejamento estratgico seguro e uma resposta adequada s alteraes organizacionais.
O Gerenciador de Recursos de Servidor de Arquivos um conjunto de ferramentas que
permite aos administradores entender, controlar e gerenciar a quantidade e os tipos de
dados armazenados nos servidores. Ao usar o Gerenciador de Recursos de Servidor de
Arquivos, os administradores podem inserir cotas em volumes, arquivos de triagem ativos
e pastas, alm de gerar relatrios de armazenamento abrangentes. Esse conjunto de
instrumentos avanados no apenas ajuda o administrador a monitorar de modo eficiente
os recursos de armazenamento existentes, mas tambm auxilia no planejamento e na
implementao de alteraes futuras de diretiva.

Questo 4: O que um grid?


Computao em GRID, computao em grade/grid, ou ainda, grelha de clculo, um
modelo computacional capaz de alcanar uma alta taxa de processamento dividindo as
tarefas entre diversas mquinas, podendo ser em rede local ou rede de longa distncia,
que formam uma mquina virtual. Esses processos podem ser executados no momento
em que as mquinas no esto sendo utilizadas pelo usurio, assim evitando o desperdcio
de processamento da mquina utilizada.
Questo 5: Quais so as diferenas fundamentais entre sistemas distribudos tradicionais
e grids?
As diferenas fundamentais entre um grid e um sistema distribudo tradicional esto na
grande heterogeneidade de recursos, na dinamicidade do ambiente e na alta latncia das
redes que os interligam. Um grid uma forma de agregao que pode acontecer de vrias
formas, inclusive atravs dos mecanismos de cooperao e negociao proporcionados
pelos agentes.
Questo 6: Quais so os requisitos bsicos para que um recurso/usurio faa parte de
um grid?
Em um Grid, as decises de escalonamento so divididas em duas camadas, com parte da
responsabilidade pelo escalonamento sendo transferida dos escalonadores de recurso para
o nvel de aplicao. As decises tomadas pelo escalonador de aplicaes (quais recursos
sero utilizados e quais tarefas cada um destes recursos realizar) so normalmente
baseadas em um modelo do desempenho da aplicao e em dados sobre o estado atual
dos vrios recursos que formam o Grid. Portanto, escalonadores de aplicao tm que
conhecer detalhes das aplicaes que escalonam i.e. eles so construdos com uma
aplicao (ou classe de aplicaes) em mente. Alm disso, escalonadores de aplicao
normalmente precisam saber quanto tempo cada recurso vai levar para processar uma
dada tarefa. Sem esta informao, difcil escolher os melhores recursos a utilizar, como
tambm determinar qual tarefa alocar a cada um desses recursos.
Questo7: O que um meta-escalonador?
Um Meta-escalonador desempenha um papel cada vez mais importante para melhorar
tanto o desempenho, quanto a disponibilidade e escalabilidade. O Meta-escalonador
composto de dois componentes: o broker que responsvel por submeter jobs e gerenciar
os recursos do grid e o escalonador de servios que faz a seleo do melhor conjunto
disponvel de recursos para execuo da tarefa enviada pelo cliente. Para alcanar esse
objetivo, o Meta-escalonador lida com as prioridades que so geradas segundo as
restries temporais contratadas a partir de um acordo de nvel de servio estipulado
(SLA - Service Level Agreement).
Questo 8: Como feito o gerenciamento de aplicaes em ambientes que utilizam o
Condor como gerenciador de recursos?

Em um agregado (cluster), os nodos que foram configurados como recursos para o


Condor formam um Condor Pool. Atravs do comando condor_status podemos
determinar quais so os integrantes ativos de um Pool.

Questo 9: O que faz o Condor DAGMan?


DAGMan (Directed Acyclic Graph Manager) um meta-escalonador para tarefas a serem
submetidas ao Condor. Condor no escalona as tarefas de acordo com as dependncias,
mas apenas aloca as maquinas a serem utilizadas para a execuo de programas.