programas para avaliação de sistemas operacionais com

Propaganda
processo
no
sistema.
Se
houver
Néum
processadores,
oregistro
de
execução
dosistema
problema
Um
dos
deste
trabalho
divulgar
estes
programas,
disponíveis
do
desempenho
destes
programas,
podemos
prever
otempo
comportamento
doprincipal.
9.
Float
banco
deobjetivos
dados,
onde
aconcorrente.
busca
determinado
élicenciamento.
otornando-os
objetivo
A
BIBLIOGRAFIA
permitir
programação
Neste
caso,
ocomputadores,
programador
ééoresponsável
pela
deteção
"PROGRAMAS
PARA
AVALIAÇÃO
DE
SISTEMAS
OPERACIONAIS
Finalmente,
espera-se
que
este
relatório
tenha
contribuído
para
esclarecimento
de
Na
comparação
entre
o1987
desempenho
de
vários
comum
normalizar
os
concluída
emesperar
março
de
eade
se
encontra
disponível
para
O PLURIX
.6.
Poderia-se
que,
com
adição
de
um
outro
processador,
as
operações
de para
E/S
(7.0)
(6.9)
(4.9)
(3.0+0.0)
(2.6+0.1)
poderia
ser
reduzido
para
T/N.
àqueles
que
utilizam
ou
desenvolvem
sistemas
operacionais
com
filosofia
UNIX;
cada
tipo
de
aplicação.
.Se
Microprocessador
com
múltiplos
registros
e
instruções
para
salvamento
e
recuperação
análise
dos
tempos
é
a
mesma
que
a
do
programa
anterior.
COM
FILOSOFIA
UNIX
E
SUA
UTILIZAÇÃO
EM
SISTEMAS
COM
MÚLTIPLOS
dúvidas
acerca
da
eficiência
da
utilização,
tanto
de
múltiplos
microprocessadores,
como
resultados
em
relação
a
um
deles.
Na
obtenção
da
média
total
dos
resultados
do
paralelismo
e
nova
codificação
do
programa.
Como
exemplo
deste
tipo
podemos
tem
uma
estrutura
mais
flexível
que
o
UNIX
e
é
multiprocessado,
possui
também
A
seguir
relacionamos
os
pontos
significativos
observados
na
comparação
com
outros
uma
ou
mais
destas
condições
for
retirada,
normalmente
o
"deadlock"
poderá
ser
fossem
prejudicadas,
devido
ao
aumento
da
disputa
pelo
uso
do
barramento.
Na
execução
Syscall
3.5
5.5
4.0
1.5
1.4
1.1 citar:
4.
Shell
É
um
programa
que
pode
ser
executado
de
duas
maneiras:
com
o
auxílio
de
um
estabelecendo-se
assim
meios
comuns
para
a
avaliação
e
comparação
destes
sistemas.
contexto;
PROCESSADORES"
de
1.
BYTE
sistemas
operacionais
"High
Tech
com
Horsepower"
filosofia
UNIX.
Byte,
Peterborough,
N.H.,
McGraw-Hill,
12(8):
normalizados,
não
se
deve
utilizar
a
média
aritmética,
utilize
sim
a
média
geométrica
C
concorrente,
vários
tipos
de
FORTRAN,
etc.
MINIS
MICROS
E
SUPERMINIS
8
e
16
BITS
extensões
para
desenvolvimento
de
"software",
que
não
são
encontradas
na
definição
doa
sistemas:
evitado.
AEd.
prevenção
do
"deadlock"
pode
ser
estática
ou
dinâmica.
A
prevenção
estática
do
programa
"disktest",
o
fator
de
ganho
obtido
foi
1.0,
ou
seja,
não
houve
perdas
com
(3.4)
(4.8)
(4.0)
(0.1+1.4)
(0.2+2.4)
processador
de
ponto
flutuante,
ou
com
o
uso
de
rotinas
de
uma
biblioteca
matemática.
Existem
então
duas
abordagens
para
avaliação
do
ganho
obtido
com
a
inclusão
de
outro
(ver
Ref.
5),
pois
a
utilização
da
média
aritmética
pode
levar
a
uma
interpretação
errada
Os
pontos
importantes
do
UNIX
são
entrada
e
saída,
a
interface
com
o
usuário
("shell"),
101-108,
July
1987;
UNIX.
exige
mudança
no
código
dos
programas
(ordem
de
alocação
dos
recursos);
já
a
inclusão
de
outro
processador.
Como
os
processadores
possuem
memória
"cache",a
taxa
Funcall
48.0
37.0
15.0
18.9
10.6
1.8
Este
programa
na
realidade
um
conjunto
de
diversos
utilitários
frequentemente
dos
resultados;
Ao
avaliar-se
oécomputador
deve-se
deixar
claro
a
utilização
ou
não
coprocessador.
simular
um
ambiente
multiusuário
típico,
com
um
mix
de
"jobs";
ou
avaliar
ACache
segunda
parte
deste
relatório
trata
da
aplicabilidade
destes
programas
para
avaliação
os
dutos
dedinâmica
comunicação
entre
processos
("pipe"),
o
compilador
"C",
as
chamadas
ao aíde
para
aumentar
taxa
de
execução
e
diminuir
ocupação
do
barramento
de
14.
Diskwrite/Diskread
Nos
últimos
anos,
um
conjunto
grande
de
novas
linguagens
foi
proposto,
incluindo-se
.processador:
Com
o local
PEGASUS
configurado
com
um
processador,
e
a
partir
dos
resultados
da
prevenção
depende
das
condições
de
execução
e
pode
causar
perda
de
de
ocupação
do
barramento
é
bem
menor,
daí
os
resultados
obtidos;
Programa
PROGRAMA
VAX
PC-XT
VAX
PC-AT
ZILOG
MC500
PEGASUS
SUN21120
PEGASUS
EBC
32010
Ganho
(47.8)
(36.8)
(14.9)
(18.8+0.1) (19.4+0.3)
utilizados
em
ambientes
do
tipo
UNIX.
Este
programa
faz
uso
do
"shell"
e
de
alguns
Este
programa
executa
14
multiplicações
e
divisões
de
ponto
flutuante
e
repete
o
ocomunicação;
ganho
máximo
que
se
poderia
obter
em
uma
paralelização
ideal,
desprezando-se
os
ambientes
com
múltiplos
processadores,
ou
seja,
como
utilizá-los
para
medir
o
ganho
sistema
("syscall")
e
a
capacidade
de
processamento
de
funções
de
usuário
(cálculos
AUTOR
:
Gabriel
Pereira
da
Silva
(*)
2.
CAJANI,
V.
"Architectural
Issues
in
Designing
a
Unix
Multiprocessor
System".
PASCAL
CONCORRENTE,
MODULA-2,
OCCAM
e
ADA,
entre
outras.
O
PLURIX
apresenta
várias
características
particulares,
entre
elas
a
utilização
de
execução
de
programas
com
uso
intensivo
de
processador,
obteve-se
a
seguinte
relação:
desempenho,
se
não
for
bem
implementada,
dada
a
sua
complexidade.
780
750
11/70
32-1
32-2
Relativo
Pipe
10.2
11.0
9.0
10.5
7.9
1.3 que
sempre
indicar
as
características
de
máquina
em
avaliação,
tais
como:
memória
utilitários
para
salvar
em
disco,
manipular
e
finalmente
remover
do
disco
uma
processo
10.000
vezes.
que
pudessem
prejudicar
a
eficiência
final.
Microprocessing
and
Microprogramming,
Amsterdan,
North-Holland,
20
(1-3):
79-84,
seDeve-se
obtém
com
oordenar,
acréscimo
de
outro
processador
ao
sistema.
É
descrita
então
a
inteiros
epermite
de
ponto
flutuante).
A
seguir,
fazemos
uma
descrição
sumária
dos
programas
O
UNIX
métodos
de
acesso
sequencial
e
aleatório
para
arquivos
em
disco.
Estes
semáforos,
Diferentemente
para
das
coordenar
extensões
a
utilização
de
linguagem,
de
seus
estas
recursos
novas
pelos
linguagens
vários
contém
processos
construções
em
.fatores
Na
tabela
de
resultados,
com
o
uso
de
dois
processadores,
o
tempo
de
"processador"
Sieve
1.7
2.4
2.3
1.6
0.8
2.0
Pipe
7.6
2.1
1.5
3.7
1.3
1 de
(5.3)
(6.5)
(3.9)
(0.1+4.6)
(0.2+6.9)
instalada,
memória
em
disco,
velocidade
de
processador,
tipo
de
processador
e
uso
do
lista
de
em
inglês.
Os
utilitários
usados
são
todos
ferramentas
padrão
UNIX;
se
Apr
1987;
.orientadas
Usoselecionamos
depalavras
semáforos
de
contagem
na
alocação
dos
recursos;
metodologia
utilizada
para
a
avaliação
do
sistema
multiprocessado
PEGASUS/PLURIX,
que
para
avaliar
estas
facilidades:
programas
verificam
estas
implementações.
O
programa
"diskwrite"
cria,
abre
e
escreve
execução.
O
de
semáforos
é
feitos
através
da
associação
do
valor
do
semáforo
ao
para
aplicações
paralelas.
Contudo,
cada
uma
destas
linguagens
é
usualmente
PEGASUS
=uso
1.0
VAX-780
________________________
algumas
tarefas
é
maior
que
o
tempo
"real",
ou
seja,
o
tempo
de
processamento
seria
(1.5+0.1)
(1.7+0.1)
(1.6+0.1)
(1.5+0.0)
(1.3+0.1)
Sos
163.1
213.5
129.0
de
ponto
flutuante.
Isto
permite
caracterizar
o
ambiente
em
que
estão
sendo
aprocessador
implementação
do
"shell"
em
teste
não
for
idêntica
à
do
UNIX,
pode
haver
problemas
A
determinação
de
um
ambiente
típico
seria
bastante
difícil
e
imprecisa,
pois
o
ambiente
com
apresentação
e
análise
dos
resultados
obtidos.
sequencialmente
número
de
recursos
em
disponíveis
um
arquivo.
em
O
um
programa
determinado
"diskread"
instante.
é
apresentado
Quando
este
em
valor
duas
versões:
se
torna
RESUMO:
projetada
para
permitir
uma
forma
de
paralelismo.
Provavelmente
por
isto,
nenhuma
PEGASUS
=
1.4
VAX-750
|
"JOBS"
|
maior
que
o
tempo
total
de
execução
da
tarefa.
Na
realidade,
o
tempo
de
"processador"
Syscall
4.8 39.8 7.0
8.0 5.3
3.86.8
3.14.2
1.23
Syscall
7.0
(161.1)
(212.5)
(129.0)
executados
deuniversalmente.
avaliação,
e(0.2+7.5)
explicar
possíveis
diferenças
nas
medidas
na
execução
deste
programa.
.destas
Prevenção
dinâmica
de
"deadlock";
3.
FALLER,
N.;
SALENBAUCH,
P.e "Técnicas
Projeto
Utilizadas
na
Construção
do
10.
S.O.S.
negativo,
oé aos
processo
que
tentou
alocar
recurso
tem
sua
execução
suspensa.
O com
típico
varia
aplicação
para
aplicação.
Optou-se
então
avaliar
o ganho
máximo
que
em
uma
aprogramas
leitura
étempos
sequencial
naeste
outra
acesso
éapor
aleatório.
Na
comparação
linguagens
foi
aceita
PEGASUS
=de
1.6
PDP-11/70
NÍVEL
5delas
| (0.4+4.0)
INDEPENDENTES
| o de
mostrado
soma
dos
de
processamento
da
tarefa
em
cada(0.3+6.1)
um
dos
(0.8+6.2)
(0.3+3.5)
Disktesttem
30.3 tipos dedo
70.0
30.0
33.8
33.8
1.0
efetuadas
em
computadores
mesmo
tipo,
mas
com
configurações
diferentes;
PLURIX
vários
semáforos
(ver
ref.
3),
que
servem
para
implementar
o
Supermicro
PEGASUS-32X
e
do
Sistema
Operacional
PLURIX",
DATA
NEWS,
São
seria
obtido,
com
a
divisão
de
um
programa
em
processos
de
igual
tamanho,
e
em
1.
Syscall
outros
resultados
existentes,
deve-se
consi-derar
qual
a
versão
que
foi
utilizada.
Este
relatório
apresenta
um
conjunto
de
programas
para
avaliação
de
sistemas
PEGASUS
=
1.3
ZILOG
MODEL
11+
|
E
|
processadores,
explicando-se
assim
os
valores
obtidos;
Funcall
1.0 7.8
1.7
1.0
0.42.8
0.42.6
1.02
Sieve
2.9
2.3
(12.5)
(15.1)
(10.7)
(0.2+15.1)
(0.2+15.1)
multiprocessamento.
Por
outro
lado,
o
UNIX
licenciado
pela
AT&T
não
possui
estas
.Ultimamente,
Sistema
operacional
multiprocessador,
que
torna
a
existência
de
vários
processadores
Este
programa
verifica
a
habilidade
de
cálculo
em
ponto
flutuante
de
somas
e
somas
de
Paulo,
SP,
CWB,
Ano
X
(269):
pp.
12-16,
30
Abr.
1985;
operacionais
do
tipo
UNIX
(+).
Discute-se
também
o
uso
destes
programas
para
número
igual
ao
número
de
processadores.
a
procura
tem
sido
por
computadores
capazes
de
permitir
PEGASUS
=
2.0
AT&T
3B2
|
PROGRAMAS
|
*
Diskwrite
26.0
105.0
55.0
ferramentas
sincronização.
Para
testes
em
disco
deve-se
indicar
o chamadas
estado
do
sistema
indicando
se é um
5.
Sieve
transparente
ao
usuário.
quadrados
para
todos
números
entre
10
euma
10000.
Vários
tipos
dedas
programas
aplicativos
avaliação
de
sistemas
multiprocessadores.
Alguns
resultados
obtidos
em
computadores
2.
OS
PROGRAMAS
DE
AVALIAÇÃO
Este
programa
determina
as
perdas
ao
sistema.
Realiza
várias
iterações
de
Em
qualquer
dos
casos,
um
fator
que
influencia
fortemente
oarquivos,
desempenho
destes
multiprocessamento
aos
nível
de
processo,
para
ele
devede
dispor
seguintes
=de
2.1
ALTOS
586
|_______________________
| isto,
.PEGASUS
No
método
utilizado
simulou-se
o nas
uso
de
linguagem
com
paralelismo
ideal.
Piper
3.2 8.5
4.6
8.1
4.53.5
3.84.3 *
1.23
Shell
3.2
1.5
2 FALLER,
Mbyte
(6.3)
(24.9)
(21.3)
disco
de trabalho
ou não.
tomar
especial
cuidado
emidênticos
verificar
ocom
número
comerciais
são
Éestatíticos),
feita
comparação
destes
resultados
aqueles
(formatador
texto,
pacotes
frequentemente
fazem
uso deste
tipo
dede um
4.
N.;
SALENBAUCH,
P.uma
"Plurix,
O Sistema
Operacional
Multiprocessador
um
pedido
para
retornar
oDeve-se
número
de
identificação
processo.
programas,
éde
o |apresentados.
número
de
buffers
de
E/S
existentes
no
sistema.
Para
simular
esta
situação,
foram
colocados
dois
programas
para
serem
facilidades:
|com
Entretanto,
considerando-se
um
"mix"
típico
osdo
programas
utilizados,
obtêm-se
(0.1+1.2)
(0.2+2.1)
(0.0+3.4)
(0.0+2.0)
(0.1+3.3)
Diskread
26.7
79.0
38.0
utilização
dos
processadores
éindicação
homogênea,
ou
seja,
qualquer
um
dos
processadores
obtidos
no
PEGASUS/PLURIX,
sistema
multiprocessador
desenvolvido
no
NCE"buffers"
E/S
com
que
está
configurado
ode|UNIX
sistema
operacional,
pois
alterar
O
programa
"Sieve
of
Eratosthenes"
(crivo
Eratósthenes)
éSão
um
programa
largamente
A
comunicação
entre
processos
éum
possível
através
dae utilização
de
"pipes",
que
são
processamento.
do
NCE/UFRJ:
de
Processos",
DATA
NEWS,
Paulo,
SP,
CWB,
2.1
- ALGUMAS
CONSIDERAÇÕES
SOBRE
PROGRAMAS
DE
AVALIAÇÃO
ao
mesmo
tempo.
No
caso
aproveitamento
ideal
(fator
depodem
ganho=2),
oAno
.executados
Todos
osdesistemas
operacionais
são
dodo
tipo
as
fontes
de
referência
são
| Sincronização
PASSOS
"JOBS"
ganho
médio
de
1.4.
Isto
éDE
uma
de
que,
em
um
mesmo
em
um
ambiente
Shell
3.3 32.2
3.8
4.0
Loop
12.0
6.3
6.4
3
2Troca
Mbyte
(6.4)
(15.7)
(13.3)
UFRJ.
executar
ode
sistema
operacional,
embora
um
deles
seja
responsável
pelo
bastante
resultados
utilizado.
Ele
verifica
aobtidos.
capacidade
máxima
do
edizer
eficiência
compilador
"buffers"
de
comunicação,
além
da
utilização
deprocessador
semáforos
para
compartilhar
regiões
X
(290):
26-35,
24
Sep.
1985;
Nesta
chamada
envolvidos
asvários
seguintes
perdas:
o7.4
tempo
gasto
preparar
tempo
de
execução
dos
dois
processos
por
dois
processadores
seria
opara
mesmo
que
oe de
.pode
rápida
contexto
entre
os
processos
residentes
nos
processadores;
independentes
e| estão
de
qualidade.
Pelo
acima
exposto
podemos
que
osdo
NÍVEL
4os
E
| apenas
multiusuário,
haverá
um
ganho
significativo;
(0.3+1.3)
(0.4+1.5)
(0.2+1.7)
TABELA
atendimento
de
interrupção
dos
periféricos.
Se
um
determinado
processo,
executando
determinando
1899
números
primos
entre
1hoje
e |8190
(vera ref.
5).ocorrência
O
tempo
da
críticas.
Existe
noo32
PLURIX
um
esquema
de
de
de
"deadlock":
executar
ode
desvio
para
núcleo;
oprocessador.
tempo
para
realizar
função
pedida;
osignificativo
tempo
3.
NaMULTIPROCESSAMENTO
avaliação
de
sistemas
operacionais,
para
que
asIprevisão
medidas
realizadas
sejam
execução
um
processo
por
um
|ainda
PARTES
RELACIONADAS
microprocessadores
de
bits
apresentam
um
desempenho
equivalente
aos gasto em
Loop
2.6
5.1
7.9
Nos
tempos
dados
pela
função
"time"
do
UNIX,
temos
ode
seguinte:
um
processador,
realiza
uma
chamada
ao
sistema,
osão
mesmo
processador
pode
executar
para
ouma
contexto
usuário
ser
restaurado;
a| not
eventual
de
tempo
quando
uma
troca
rotina
"time"
éalgumas
tempo
de
"usuário",
ou
ainda
o "real",
que
possui
praticamente
o mesmo
11.
Savage
caso
situação
de
circularidade
seja
detectada
os
processos
são
obrigados
arealidade,
largar
osa
5.
FLEMING,
P.J.
&UM
WALLACE,
"How
to
Lie
with
Statistics:
The
Correct
Way
significativas,
regras
devem
ser
observadas.
Aperda
seguir
enumeramos
algumas
Uso
de
registros
para
facilitar
a troca
de
contexto;
|ode
DE
PROGRAMA
de
32
bits,
no
que
diz
respeito
àe capacidade
processamento.
Na
.superminis
Considerou-se
nesta
análise
que
osJ.J.
processadores
exatamente
iguais.
Na
(2.5+0.1)
(7.1+0.2)
TABELA
IIIimportante
AT&T
3B-2
= Benchmarks
WE32100,
2Mbytes
RAM,
32
Disco,
UNIX
v.
2;
ABSTRACT:
de
contexto
entre
processos
é(4.9+0.1)
necessária.
O
tempo
atempo
considerar
aqui éum
o (3):
de
rotina
sistema
operacional
que
realiza
esta
função.
valor.
recursos
alocados
e avaliação
reiniciar,
automatomaticamente
eo após
um
aleatório,
novo
to
Summarize
Results".
Communications
ofligeiramente
the
ACM,
New
York,
29que
3.1
- ARQUITETURA
E SISTEMA
OPERACIONAL
considerações
para
de
ambientes
do
UNIX:
|_______________________
| Mbytes
comparação
com
supermicros
deum
mesa
(de
16
etipo
32),
foi
significativamente
dada
ado
constituição
do
sistema,
dos
processadores
édesempenho
mais
rápido
o
Diskwrite
2.0
3.0
4.0
ALTOS
586-30
I8086,
512
Kbytes
Mbytes
Disco,
XENIX
v.de
7;
O
tempo
de
"usuário"
ode
tempo
gasto
pelo
processo
executando
instruções
não
"sistema"
"real",
que
são
bem
próximos.
um
ponto
flutuante,
que
realiza
25.000
iterações
uma
pedido
os
recursos.
218-21,
Mar
1986;
.Também
Acesso
rápido
à=
memória,
com
esquema
de30
livre
conteção;
|programa
|alocação
superior,
oéou
que
indica
a éinfluência
da RAM,
arquitetura
utilizada
nodedesempenho
final.
O uso de
outro.
Epara
em
sistemas
com
vários
processadores,
sempre
haverá
diferenças
na
capacidade
PC-XT
128K
-11+
8088,
477
MHz,
512
RAM,
PC/IX
ZILOG
Z8000,
512
Kbytes
RAM,
52
Mbytes
Disco,
Zeus
v.um
III;
this
technical
report,
amemória
set
ofKbyte
portable
programs
toexecutado
evaluate
UNIX-like
operational
privilegiadas
(p.e.,
cálculos
aritméticos,
busca,
chamada
a processador
funções
sequência
de=operação,
com
funções
trigonométricas
e transcendentais.
No
PEGASUS
cada
processador
tem
um
microprocessador
Motorola
MC68020
de
.InVários
sistemas
do
tipo
UNIX
oferecem
um
de
operação
Osusuário,
4.
ANÁLISE
DOS
RESULTADOS
|32X,
ROTINAS
| modo
um
barramento
padrão,
cache
eordenação,
periféricos
inteligentes
certamente
fazde
de
processamento
de
cada
um.
Assim,
um
processo
emmonousuário.
mais
PC-AT
80886,
6
MHz,
512
Kbyte
RAM,
XENIX
Diskread
8.0
8.0
9.5
PEGASUS
=
68020,
4
Mbytes
RAM,
85
Mbytes
Disco,
PLURIX
1.0.
systems
is12MHZ,
presented.
The
use of
those
benchmarks
to sem
evaluate
multiprocessor
systems
is
etc.);
3.2
-O
UTILIZADO
Loop
A
distribuição
de
tarefas
entre
os
vários
processadores
é Revisited",
responsabilidade
de
um
processo
6.
GILBREATH,
J.trabalhando
and
GILBREATH,
G.
"Erathotenes
Byte,
Peterborough,
32
bits
aMÉTODO
com
memória
estados
de
espera.
A
memória
programas
de avaliação
devem
ser
executados
em
ambiente
multiusuário,
maneira
que
| SUB-ROTINAS
|"cache"
diferença.
lento
é prejudicado,
processos
idênticos
teriam
tempo
de
execução
diferentes,
MC-500
68010,
10
MHz,
4[7].
Kbyte
cache,
Mbyte
RAM,
RT processo
UNIX
V.colhidos
2.2A
128K
Dados
obtidos
referência
2.
Funcall
also
appreciated.
Some
results
obtained
from
commercial
computers
are
showed,
and a
de
nome
("dispatcher").
Existe
uma
cópia
deste
para
cada
NH,
McGraw
(2):
283-326,
1983;
4onde
compartilhados
por
dados
eem
instruções,
política
de
atualização
Existem
4-"despachante"
tabelas
de9 fossem
resultados.
NaJan
primeira
delas
apresentamos
dados
na
qualquer
"overhead"
normal
do
sistema
seja
levado
."cache"
Mecanismos
de
sincronização
efetivo
entre
vários
processadores;
NÍVEL
3possui
|na
EKbytes
|os
dependendo
deHill,
executados.
É 2preciso
que
oconta;
sistema
operacional
tenha
SUN
2/120
-ativo
68010,
10
2referentes
Mbyte,
4.2
BSD
UNIX
O
de
"sistema"
éMHz,
osesão
tempo
gasto
executando
comparision
with
anomultiprocessor
system,
named
PEGASUS/PLURIX
and
developed
at
Existem
várias
explorar
ofila
paralelismo
em
um
computador.
Nos
parágrafos
processador
sistema.
Como
aeprocesso
de
processos
é "loops"
única,
acomandos
função
deste
processo
Este
pequeno
programa
verifica
a de
capacidade
de
realizar
ede
incrementar
variáveis.
12.
Whetstone
"write-through",
mapeamento
direto
uma
taxa
de
acerto
média,
85%.
Oprivilegiados
processador
[7].
Estes
dados
ao
desempenho
de
alguns
supermicros
namicros
|formas
CO-ROTINAS
|um
.referência
Natempo
comparação
com
ode
EBC32010,
que
tem
PLURIX
licenciado,
outros
mecanismos
para
compensar
as
eventuais
diferenças
existentes
entre
oscom
processadores,
TABELA
II
EBC32010
68010,
10
MHz,
1
Mbyte,
E-IX
V.
1.0
(Plurix)
(p.e.,
comandos
do
sistema)
etempo
mais
"overhead"
a"Performance
de
sistema
(p.e.,
troca
de
Neste
programa
avaliamos
opara
gasto
em
uma
chamada
de
que
realiza
ada
soma
é,
de
tempos
em
tempos,
verificar
sealgum
existe
algum
processo
serque
executado.
NCE-UFRJ,
also
done.
se
seguem,
descrevemos
as
várias
opções
existentes,
efeita
aquelas
foram
adotadas
Ele
verifica
ais
aritmética
para
inteiros
de
32
bits,
que
opara
final
éCaso
7.
HENDRICKS,
S.;
DENNEY,
M.;
HALLIDAY,
D.
Tests
on
Unix
possui
também
um
circuito
manutenção
de
consistência
dos
dados
execução
dos
programas
apresentados.
O
número
de
iterações
éafunção,
explicitado
pois
varia
Os
programas
devem
ser
executados
mais
de
uma
vez
enível
média,
para
garantir
a ano
.que
Ferramentas
de
software
para
do
desempenho
edesempenho
depuração;
|_______________________
|automática
de
16
bits,
podemos
notar
que
omonitoração
mesmo
apresenta
um
desempenho
equivalente
ou
eventualmente
através
da
atribuição
de
"pesos"
asendo
cada
processador
na
hora
de
calcular
exista
algum
processo
pronto,
outilizado
referido
processador
realizar
uma
troca
de
contexto
eum
contexto
entre
processos);
de
trêsprograma
variáveis.
O
tempo
significativo
é oadequada
de
"usuário",
já para
que
não
realizamos
PEGASUS/PLURIX.
Finalmente,
descrevemos
otabela
método
empregado
avaliar
o do
dependente
da
do
processador
e da
eficiência
do
compilador.
No
caso
É
um
muito
popular,
para
medir
desempenho
na
execução
dede
Micros",
UNIQUE,
Denville,
N.J.,
3 podem
(7):
20-28,
Summer
1984;
"cache".
muito,
de
acordo
com
aRAM,
fonte
de
referência.
Já
aexecução.
II4.1
apresentamos
dados
validade
dos
resultados
obtidos,
que
sofrer
interferências,
deos
processos
|velocidade
| caso
superior
aos
Isto
indica
uma
implementação
dop.e.,
PLURIX,
que
prioridade
que
um
processo
volta
àneste
fila
de
VAX-780
=com
4demais.
Mbytes
256
Mbytes
Disco,
UNIX
BSD;
1.
Tempo
de
passa
aobtido
executar
oou
processo.
Ogerado
acesso
àobtidos
processos
éadequado.
de
exclusão
ou
seja,
só
E/S
ao Mbytes
sistema.
com
multiprocessamento,
aproveitando-se
isto
os programas
descritos
processador
68020,
ochamadas
código
pode
serde
o seguinte:
operações
ponto
flutuante.
Possui
uma
mistura
tanto
de
operações
demútua,
ponto
flutuante,
referentes
ade
minis
edesuperminis
na
referência
[8].
Observe
que para
alguns
sistema
operacional;
.ganho
Software
aplicação
edimensionadas
sistema
para
interação
com
opara
usuário.
| "LOOPS"
| apenas
apresenta
soluções
bem
efila
de
desempenho
VAX-750
=dealguns
2Sistema
Mbytes
RAM,
121
Disco,
UNIX
4.1
BSD;
Tempo
Usuário
é2.
permitido
porindica.
vez.
.(*)
O
tempo
"real"
éprocessador
o "Benchmarking
que
oonome
Não
adesoma
dos
de desvios
sistema
e usuário.
Engenheiro
Eletrônico
(UFRJ/1983),
aluno
mestrado
dauma
COPPE/
UFRJ,
Analista
•8.
anteriormente.
HINNANT,
Unix
Systems".
Byte,
Peterborough,
N.H.,
McGraw
como
aritmética
chamada
funções,
indexação
detempos
"arrays",
condicionais
Além
dos
processadores,
PEGASUS
está
configurado
com
placa
de
memória,
programas
o=anúmero
deRAM,
iterações
éde
diferente
existente
na
referência
[7].
Nas umA
NÍVEL
2 do
|D.F.
Einteira,
|édaquele
PDP-11/70
1um
Mbyte
400
Mbytes
Disco,
UNIX
2.8
BSD;
3.
Tempo
Real
diferença
Uma
outra
étranscendentais.
maneira
o=interessante
de
gasto
realizar
esperando
este
operações
verificando
de
E/S
aapresenta
serem
eficiência
completadas,
do
compilador
aguardando
"C",
doUm
NCE/UFRJ,
Cx.
Postal
2324,
CEP
Rio
de
Janeiro,
RJ.
Áreas
interesse:
movel
#tempo
d0ser
Hill,
9tabelas
(8):que
132-5,
400-9,
Aug.
1984;
emain:
funções
É
oresultados
que
se
chama
um
programa
"sintético",
pois
pretente
controlador
de
terminais
eteste,
um
controlador
de
periféricos
decapacidade
armazenamento
Sempre
possível,
deve
indicado,
além
da
média,
aV.
variância
dos
dados
obtidos;
apresentados
do
operando
com
um
ou
com
doiséde
Além
disto,
ésão
uso
de
semáforos
para
alocação
de
recursos
e de
acesso
ade
áreas
|1000000-1,
ITERAÇÕES
|de
.duas
ponto
ao(UPP-TI)
se
observar
é20.001,
que
oPEGASUS
PC/AT
uma
PEGASUS
4necessário
Mbytes
RAM,
85
Mbytes
Disco,
PLURIX
1.0.
*
Adaptado
para
o
Shell
do
Plurix
No
caso
de
haver
vários
processos
na
fila,
está
montado
umvalor
esquema
prioridade
sinais
medir
de
a(UPP-SCSI).
diferença
outros
processos,
do
tempo
dormindo
de
usuário
ou
entre
ainda
dois
aguardando
programas:
na
em
filaencontrados;
um
detão
processos;
deles
realizamos
Avaliação
edo
Processamento
Paralelo,
Microprocessadores.
loop:
DBRA
d0,
loop
Paralelismo
éDesempenho,
o(User
processamento
simultâneo
de
"jobs",
programas,
rotinas,
subrotinas,
representar
um
programa
típico
aplicação
Foi
originalmente
escrito
emque
massa
Cada
placa
de
memória
tem
para
4desimples
Mbytes,
podendo
ou
através
desvio
oude
através
do
maior
esemáforos
menor
processadores.
críticas,
tanto
de
código
como
dados.
OEBC32010,
uso
decapacidade
não
éaté
como
|_______________________
|científica.
processamento
de
inteiros
equivalente
ao
mas
perde
em
uma
comparação
5.
CONCLUSÃO
Tempos:
Real
+padrão,
Sys)
garante
aouexecução
de
todos
os
processos
pelos
vários
processadores
sistema.
Esta
uma
atribuição
a uma
variável
diretamente,
no
outro
estaprocessamento
atribuição
através
de
"loops"
instruções,
conforme
diagrama
I.fazemos
Emprogramas.
geral,
paralelo
9.
JACOBS,
HERB
&
JACK,
A. os
"The
Unix
System
Adapts
todo
a Parallel
ecomportar
apesar
das
versões
mais
conhecidas
terem
sido
implementadas
oALGOL,
sistema
até
4desempenho
Todos
controladores
são
inteligentes
eem
realizam
parece,
em
alguns
casos
é placas.
possível
chegar
ana
uma
situação
de
impasse,
onde
um
ou
mais
|na
| figura
final,
considerando-se
oTEST,
obtido
em
todos
os
Dados
obtidos
referência
[8].
Dados
obtidos
ref.
[11]
e da
[8].
função
é realizada
pelo
"escalador"
("scheduler").
.(+)
No
caso
do
PEGASUS/PLURIX
oum
menor
intervalo
de
tempo
discriminável
é 16
ms;
uma
chamada
de
Tanto
melhor
oum
compilador,
quanto
ae48-52,
diferença
entre
UNIX
é uso
marca
registrada
AT&T,
Bell
se
refere
ao
defunção.
paralelismo
em
destes
níveis,
ou
numa
destes.
Jádestes
oosA
Processing".
Unix
World,
Mountain
View,
CA,
Tech
Valley,
3combinação
(16):
54,
55,
June
FORTRAN,
apresentamos
aqui
uma
versão
implementada
em
"C".
transferências
dados
direto
para
ade
memória
(DMA).
Os
programas
devem
ser
executados
sem
qualquer
usuário
nomenor
sistema,
para
que
os
Na
tabela
III
apresentamos
os
dados
obtidos
em
referências
diversas
da
execução
processos
esperam
indefinidamente
por
recurso.
Está
caracterizado
um
"deadlock".
|nas
SENTENÇAS
| Laboratories.
Este
relatório
apresentou
uma
série
programas
portáteis
para
avaliação
de
ambientes
tempos
de
"usuário".
7.
Fibo
termo
multiprogramação
écondições
usado
para
se
referir
ao
compartilhamento
dos recursos
do
1986;
sejam
medidos
nas
mesmas
condições
para
todos
os com
programas;
programas
emmultiprocessamento,
micros
de
bits. Aqui
a comparação
édefeita
um
seguir
são
as16
necessárias
e suficientes
parao aEBC32010,
ocorrência
de um
NÍVEL
1 relacionadas
|Procurou-se
E
| correta
Na
análise
do
os
seguintes
pontos
do
tipo
UNIX.
indicar
aobservamos
maneira
utilizá-los
esignificativos:
mostrar
o grau
de
No
PLURIX,
os
processos
menor
tempo
de
privilegiados,
para
. Os
temposque
de
e de
"sistema",
costumam
também
ser
apresentados
tempo
processador
entre
vários,
independentes,
Istosão
é realizado
emcontrolar
um
O
controlador
de
terminais
(UPP-TI)
possui
um
processador
Z-80,
e émesmo
capaz
de
supermicro
tem
um PLURIX
licenciado.
"deadlock":
|"usuário"
INSTRUÇÕES
| execução
portabilidade
que
apresentam,
podendo
serprocessos.
utilizados
desde
amais
avaliação
de como
micros
de que
tempo
médio
de
espera
dos
na as
fila
de
Desta
maneira,
deOs
"processador",
no
épossui
aem
soma
destes
dois.
Este
programa
calcula
os
primeiros
números
daexecução
sequência
depara
Fibonacci
(1, no
2,SCSI,
3,
5e...),
13.
Disktest
no
qual
os24
processos
alternam
entre
omenor.
usobarramento
de
processador
de
10.
HWANG,
KAI
"Advanced
Parallel
Processing
with
Supercomputer
Architectures"
até
16
terminais.
Aque
UPP-SCSI
interface
para
disquete
emétodo
no
programas
devem
sercaso
iguais
todas
Não
devem
ser
utilizadas
.osistema
Com
a monoprocessador,
colocação
de
mais
umprocessos
processador,
e| máquinas.
utilizando-se
oseja
descrito
capítulo
|_______________________
mesa
até
a de superminis.
No
caso
do
PEGASUS/PLURIX
foram
adotadas
as
aobteve-se
seguir:
Ade
quanto
maior
o :tempo
de
"processador"
(usuário
+
sistema)
de
processo,
tanto
3.
Piper
repetindo
oe/ou
processo
para
100
iterações.
É programas
um
programa
querelacionadas
verifica
acontrole
capacidade
E/S.
Proceedings
offor
The
IEEE,
New
York,
N.Y.,
75
(10):
1348-79,
1987;
qual
estão
conectados
duas
unidades
disco
eresultados
uma
unidade
de
fita.
Na
configuração
Finalmente,
na
última
tabela
apresentamos
os
obtidos
noum
PEGASUS
operando
extensões
códigos
diferentes
daqueles
relacionados;
anterior,
verificou-se
que
na
execução
dos
"sieve"
e Oct.
"funcall"
um
a)
Exclusão
mútua
Se
é possível
quedecada
processo
no
sistema
tenha
exclusivo
FIGURA
I opções
forma
de
paralelismo
adotada
foi
a de
ou
seja,
ade[1]
existência
de
menor
será
a sua
prioridade.
Quanto
mais
tempo
um
aguardar
por
uma
operação
processamento
dedestinado
aritmética
inteira
eprogramas
uso
funções
recursivas.
Este
programa
édois
acapacidade
verificar
amultiprocessamento,
velocidade
doprocesso
sistema
em
operações
desistemas
E/S.
O
atual,
estes
discos
têm
uma
total
de
armazenamento
deavaliação
85
Mbytes.
com
um
erecursos
com
processadores,
para
osde
programas
obtidos
na
ref.
e [14].
O
fator
fator
de
ganho
entre
1.8
e 2.0.
Estes
fazem
uso
intensivo
funções
de
sobre
os
que
alocou;
Objetivou-se
também,
esclarecer
sobre
os
pontos
relevantes
para
de
processos
independentes
executando
simultaneamene
nos
vários
processadores.
No
E/S,
tanto
mais
sua
prioridade
éalém
aumentada.
INTRODUÇÃO
2.2
-MIPS
OS
PROGRAMAS
DE
AVALIAÇÃO
Este
éasespecificamente
destinado
a medir
asão
eficiência
do
sistema
para
passar
teste
contém
3com
sequências:
Multiprocessamento
é um
modo
de
processamento
que
permite
existência
deaos
11.
"Performance
Brief"
MIPS
Systems
Inc.,
Sunnyvale,
CA,
Oct.
.1.Se
oprograma
compilador
fornece
opção
otimização,
esta
deve
ser
usada.
Se
oa"hardware"
de
ganho
entre
duas
configurações
éComputer
mostrado
na
última
coluna.
usuário
(aritmética
inteira,
ordenação,
busca,
etc.)
eparalelo
favorecidos
com1986;
operacionais
filosofia
UNIX;
de caracterizar
asdiretamente
reais
vantagens
que
existem
momento
existe
oduto
uso
de
compiladores
sistema,
mas
éque
possível
no
futuro
•com
dados
um
("pipe").
Oprocessadores.
"pipe"
é32
uma
facilidade
muito
importante
em
um
multiprogramação
com
ou
mais
Multitarefa
é obtido;
um
caso
especial
de
O
barramento
utilizado
éum
do
tipo
VME,
comparalelos
bitsliberar
de
dado
erecursos
endereço,
assíncrono,
com
permite
o não
uso de
variáveis
em
registro,
elas
devem
ser
Entretanto,
oem
uso
destas
a através
utilização
de
múltiplos
processadores,
ressaltando-se
os
casos
que
sua
b)
Não
preempção
:processador,
Se
um
processo
somente
pode
ostambém
alocou
após
o
adição
de
mais
um
explicando-se
assim
onoutilizadas.
resultado
o12.
uso
de
linguagens
extenção
concorrentes.
Como
oos
máximo
O
uso
de
mais
processador
oferece
um
ganho
imediato
nas
configurações
Este
relatório
técnico
apresenta
uma
de
programas
portáteis
avaliação
de
A
avaliação
ideal
de
um
sistema
ée/ou
aquela
feita
executando-se
atempos
aplicação
finalde
doMay
usuário
sistema
UNIX,
sendo
utilizado
por
vários
utilitários
(p.e.,
"lint")
epara
pela
interface
de
8.
Quicksort
MOTOROLA
"Motorola
MC68020
Benchmark
Report"
Motorola,
BR-322,
1.
Cria
um
arquivo
ede
escreve
registros,
de
512
bytes
cada;
multiprocessamento,
definindo-se
uma
tarefa
como
sendo
um
"job"
subrotina
nos
arbitragem
de
prioridade
fixa
entre
ossérie
processadores,
sendo
onúmero
mais
àou
esquerda
mais
facilidades
deve
estar
claramente
indicado
na
apresentação
dos
resultados;
Neste
trabalho,
para
efeito
de1000
apresentação
dos
resultados,
medidos
com
dois
utilização
não
éum
eficiente.
seu
término;
processadores
no
PEGASUS/PLURIX
é1000
pequeno,
não
pode
haver
uma
granularização
multiusuário,
pois
oprogramas
tempo
de com
resposta
para
apermite
execução
das
tarefas
dosnão
usuários
diminui:
do
tipo
UNIX.
Estes
programas
têm
como
principal
característica
a dos
eambientes
comandos
verificando
("shell").
obarramento
seu
desempenho
noagrande
computador
existente.
Como
isto
é, na
maior
1986;
2.
Lêexecução
este
sequencialmente
em
iterações;
níveis
3 ouarquivo
4 da
figura
I. permite
prioritário.
O
colocação
até
21
módulos,
entre
processadores,
foram
divididos
por
dois.
Isto
uma
melhor
visualização
.processadores
Na
dos
uso
de
chamadas
ao
sistema
(syscall),
o ganho
excessiva
processos
pequenos),
sob
pena
de
perda
decada
eficiência
devido
ou
seja,
os
processos
aguardam
menos
tempo
na
fila
do
sistema,
já
que
há tempos
mais
eaexecuta
foram
coletados
na
literatura
especializada.
Nesta
literatura
podemos
parte
das
possível,
uma
série
de
programas
existentes
na
literatura
Este
programa
umcoletamos
algoritmo
de
"quicksort",
ordenando
100
vezes
um
"array"
3.
Faz
1000
buscas
aleatórias
etempos
lê
um
registro
de
512
bytes
para
busca.
memória
evezes,
E/S.
.portabilidade,
Os
tempos
dos
programas
devem
ser
medidos
usando
um
método
consistente
e acurado.
resultados,
pois
divindo-se
os
do
caso
com
um
processador,
pelos
do
casoa
Deve-se
notar
importância
da
eficiência
do
compilador
"C"
no
desempenho
não
sóàs
dos
c)
Espera
:(com
Se
os
processos
podem
manter
os
recursos
já
alocados
enquanto
esperam
por
SUPERMICROS
foi
bastante
pequeno
(1.1
amuito
1.2),
apesar
de
haver
bastante
uso
de
processador.
Note
que,
trocas
detambém
contexto.
servidores
para
executá-los.
•13.
Os
tempos
de
"sistema"
etipo
"real"
são
de
particular
interesse.
Oo tempo
"real"
éescrita
de
encontrar
também
resultados
de
vários
sistemas
comerciais,
que
nosEstes
permite
realizar
especializada,
que
tem
como
característica
principal
ade
portabilidade.
programas
1000
elementos
doCA,
"long".
Exercita
funções
tais
como:
chamada
subrotinas,
UNIQUE,
Rescue,
4operacional,
(12),
Nov.
1987,
11p.;
Pode-se
explorar
odoInfopro,
paralelismo
dentro
programa,
escrito
emde
linguagem
O
UNIX
oferece
um
mecanismo
padrão
deacesso
medição
tempo
("time"),
que
diz
ointeresse
tempo
com
dois
processadores,
obtém-se
diretamene
ode
fator
de
ganho.
programas,
como
também
sistema
que
tem
sua
maior
parte
nesta
recursos
adicionais;
chamada
ao
sistema
utilizada
(getpid),
faz
aum
um
recurso
de
exclusão
mútua
(tabela
porque
desvios
acondicionais,
maioria
dos
"pipes"
ereproduzidos
manipulação
são
implementados
de
"arrays".
em
disco.
Oresultados
tempo
"sistema"
édados,
a as
comparações,
p.e.,
com
alguns
supermicros
nacionais,
cujos
são
apresentados
podem
ser
facilmente
em
qualquer
ambiente
UNIX,
permitindo
A
escrita
e"usuário"
aatravés
representam
a movimentação
de
volume
de
sequencial,
do
deALTOS
compiladores
capazes
de
detectar
ogrande
paralelismo
eexercitar
"real",
de
esequencial
de
"sistema"
pelo
programa;
O
PLURIX
éleitura
um
sistema
operacional
com
filosofia
UNX.
O
UNIX
éde
um
sistema
linguagem.
Neste
sentido,
está
sendo
elaborado
um
novo
compilador
"C",
especialmente
de
processos)
onde
só
éuso
permitido
ogastos
acesso
de
um
processador
por
vez.
Como
oconvertêPrograma
AT&T
ZILOG
PEGASUS
PEGASUS
Ganho
Para
oparalelização
uso
em
multiprocessamento,
a
eficiência
na
execução
dos
procesos
é
conseguida
Uma
ideal
seria
aquela
em
que
o
problema
pudesse
ser
dividido
em
N
medida
de
foi
gasto
para
preparar
e
executar
o
"pipe".
A
diferença
entre
o
tempo
14.
CURNOW,
H.J.;
WICHMAN,
B.A.,
"A
Synthetic
Benchmenk",
Computer
Journal,
neste
trabalho.
funções
mais
comumente
utilizadas
em
ambientes
operacionais
do
tipo
UNIX.
A
partir
como
em
cópia
de
arquivos.
A
busca
aleatória
representa
a
atividade
de
pesquisa
em
lo
em
código
Contudo,
este
método
é
bastante
limitado.
Uma
outra
maneira
é
proprietário
daparalelo.
AT&T,
e
tem
se
afirmado
como
um
padrão
de
sistemas
operacionais
de
desenvolvido
para
o
MC68020,
a
fim
de
explorar
toda
as
suas
potencialidades.
A
análise
dos
resultados
pode
ser
dividida
em
duas
partes:
comparação
com
outros
d)
Espera
circular
:
Ocorre
quando
vários
processos
ficam
esperando
cada
um
pelo
programa
équanto
bastante
pequeno,
esta
perda
de
tempo
passa
a
ser
significativa;
3B2
586-30
11+
32-1
32-2
Relativo
através
de:
blocos
de
igual
tempo
execução.
Paranormalmente
cada
bloco
de
paralelismo,
criado
"real"
oetempo
de1976.
"sistema"
dá osituação
tempo
gasto
para 3.1
acesso
ao disco.
19(1):
utilizar
uma
extensões,
orientadas
para
arquitetura,
para
16
e 32e43-49,
bits.
OFeb
PLURIX
foi
desenvolvido
no
sendo
que
aa versão
1.0um
foi
sistemas
avaliação
dodecom
multiprocessamento.
recurso
que
olinguagem
outro
alocou,
numa
de NCE/UFRJ,
dependência
circular.
Sieve
7.1
7.0
5.0
1.7seria
1.8
Download