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