Beruflich Dokumente
Kultur Dokumente
2. Escalonamento
de
Processos
em
Consideraes Iniciais
A utilizao de sistemas computacionais distribudos tem aumentado cada
de
computao
preferido
quando
comparada
computao
centralizada.
Existem vrios campos novos e atrativos de pesquisas em sistemas
computacionais distribudos tais como: agentes mveis (Muhugusa, 1998),
multimdia (Little & Ghafoor, 1990; Little & Ghafoor, 1992) e computao mvel
(Davies et al, 1996; Davies et al, 1998). Por outro lado, existem reas tradicionais e
que ainda no esto totalmente sedimentadas, sendo alvo de interesse de muitas
pesquisas. O desenvolvimento de tcnicas e mtricas eficientes para a distribuio
de processos entre os elementos de processamento ainda um grande desafio
existente em sistemas computacionais distribudos.
Essa atividade de distribuio, conhecida como escalonamento de processos,
visa atingir um conjunto de objetivos relacionados com medidas de desempenho,
como por exemplo: melhorar o compartilhamento de recursos, otimizar o tempo
mdio de resposta, promover o balanceamento de cargas, maximizar a utilizao
dos recursos, entre outros. Esses objetivos so muitas vezes conflitantes e o
8
vez mais potncia computacional, em virtude dos algoritmos cada vez mais
complexos que so utilizados e do tamanho do conjunto de dados envolvido no
processamento. Sendo assim, a busca por melhor tempo de processamento e,
conseqentemente, melhor desempenho na execuo das aplicaes constitui o
fator principal que impulsiona o desenvolvimento da computao paralela distribuda.
A computao paralela consiste, basicamente, no uso de elementos de
processamento que cooperam e comunicam-se entre si para solucionarem
problemas complexos ou no, de maneira mais rpida do que se estivessem sendo
solucionados seqencialmente (Almasi & Guttilieb, 1994). Assim, a computao
paralela (executada em arquiteturas paralelas) surgiu com o objetivo de reduzir o
tempo de processamento de aplicaes especficas que demandam altas taxas de
processamento.
Por outro lado, o surgimento dos sistemas computacionais distribudos deu-se,
basicamente, devido necessidade de compartilhamento de recursos, normalmente
de alto custo e fisicamente separados.
O desenvolvimento e disponibilidade de microprocessadores mais potentes e
de menor custo, aliado ao avano na tecnologia de comunicao de dados
(propiciando a utilizao de redes de computadores de alta velocidade) foram
aspectos que contriburam e estimularam consideravelmente o interesse na
utilizao de sistemas distribudos.
Com o avano tecnolgico foi possvel a unio da computao paralela e dos
sistemas computacionais distribudos, surgindo assim o que constitui a computao
paralela distribuda. Nesse caso tem-se a computao paralela sendo implementada
sobre uma plataforma MIMD com memria distribuda (Tanenbaum, 1992;
sistemas
computacionais
distribudos
apresentam
uma
srie
de
convencionais
ou
confiabilidade,
expansibilidade,
concorrncia,
compartilhamento
aos
sistemas
tolerncia
de
recursos,
centralizados:
falhas,
e
um
disponibilidade,
transparncia,
possvel
abertura,
aumento
de
processamento,
espao
de
memria,
11
12
Algoritmo de Escalonamento
Mecanismo
Poltica
Informao
Participao
Localizao
Carga
Transferncia
Migrao
Seleo
Mtricas
Comunicao
14
Figura 2.2 Classificao Hierrquica Proposta por Casavant (Casavant & Kuhl, 1988)
16
Figura 2.3. Um sistema distribudo sem balanceamento de carga (Shivaratri et al., 1992)
18
adaptativo e no uniforme (instvel) (Casavant & Kuhl, 1988; Shirazi et al, 1995a,
1995b; Silva, 1997; Souza et al, 1999; Mehra, 1993).
Atualmente, os problemas de escalonamento, principalmente quando se
deseja o balanceamento de cargas, que tm emergido em sistemas computacionais
distribudos so os no-determinsticos, uma vez que informaes exatas sobre os
recursos e as aplicaes raramente esto disponveis. Pode-se ainda adicionar a
isso a no uniformidade ou instabilidade do sistema.
Alm de suas caractersticas de software e hardware, as classes de software
bem como a carga de trabalho que um sistema tem que processar, tambm
influenciam seu desempenho.
2.4
Consideraes Finais
Este captulo discutiu a importncia do uso de escalonamento de processos
20