SLURM-BULL-veredas Documentation
|
|
- Maria dos Santos Ramalho
- 5 Há anos
- Visualizações:
Transcrição
1 SLURM-BULL-veredas Documentation Versão Domingos Rodrigues 04/05/2011
2
3 Conteúdo 1 Guia básico para o SLURM do cluster BULL-UFMG 3 2 Submissão de tarefas computacionais Filas de submissão Tarefas seqüenciais Tarefas paralelas (MPI) Tarefas paralelas com threads (MPI+OpenMP) Comparação entre o SLURM e o PBS Pro Variáveis de ambiente Diretório de execução Output Directrizes de submissão i
4 ii
5 Nota: Prezados usuários: Tal como já foi anunciado, a licença do escalonador de filas PBSPro expirou no dia 20 de abril de 2011 e por esta razão foi realizada a migração para um outro gerenciador com licença livre, o SLURM. Este guia prático encontra-se em construção e por isso é bem possível que contenha algumas incorreções. Contamos então com algum retorno dos usuários no sentido de melhorar a apresentação e o conteúdo deste documento de modo a facilitar a compreensão e utilização do SLURM. Guia básico para o SLURM do cluster BULL-UFMG Submissão de tarefas computacionais Comparação entre o SLURM e o PBS Pro Conteúdo 1
6 2 Conteúdo
7 CAPÍTULO 1 Guia básico para o SLURM do cluster BULL-UFMG O SLURM é num escalonador de recursos que possui básicamente três funções, a saber: alocar nós computacionais para acesso exclusivo e/ou não-exclusivo (compartilhado) aos usuários por um determinado período de tempo necessário para executar as tarefas computacionais submetidas (jobs). oferece um ambiente integrado que permite executar e monitorar em tempo real as tarefas lançadas nos nós computacionais alocados. gerencia a fila de submissão, arbitrando conflitos entre os pedidos de recursos computacionais. A lista de ferramentas essenciais que permite a interação dos usuários com o SLURM consiste no seguinte: SRUN: submete na linha de comando um job para execução. SBATCH: submete scripts shell (eg. bash) para a fila de espera do SLURM. SALLOC: reserva recursos do cluster (tempo de cpu, memória, quantidade de nós, etc) para a execução de uma tarefa computacional. SBCAST: para transmissão de um arquivo para todos os nós que foram alocados para um determinado job. SCANCEL: para cancelar um job que esteja sendo executado ou que ainda esteja na fila de espera. SQUEUE: para monitorar o estado dos jobs nas diversas filas de espera do SLURM. SINFO: para monitorar o estado global das partições configuradas (filas). SVIEW: providencia a integração de toda a informação e disponibiliza-a através de uma interface gráfica. Uma mnemônica muito útil é lembrar que todos os comandos do SLURM começam pela letra s. Todos os comandos possuem manuais que podem ser acessados online via linha de comando, tal como por exemplo: [test3@veredas0 ~]$ man sbatch Em geral a grande maioria dos usuários precisa familiarizar-se com três comandos básicos do SLURM, nomeadamente o sbatch, squeue e scancel. Tal como no PBS Pro, a submissão de uma tarefa envolve a elaboração de um script shell (em geral em bash) que possui no seu preâmbulo diretrizes específicas do SLURM. Essas diretrizes começam com a palavra-chave #SBATCH (o análogo da palavra-chave #PBS para o PBS Pro). No corpo do script é então evocado o executável do programa com os seus respectivos parâmetros. 3
8 4 Capítulo 1. Guia básico para o SLURM do cluster BULL-UFMG
9 CAPÍTULO 2 Submissão de tarefas computacionais 2.1 Filas de submissão No UNIVERSO do SLURM o conceito de filas envolve a noção de partição de nós computacionais em grupos. Esses grupos não são necessariamente disjuntos (nós podem participar de mais de uma partição) e podem ser solicitados de acordo com a especificação de recursos do sistema (tempo de cpu, memória, etc). Para respeitar a herança do PBS Pro iremos nos referir indistintamente aos termos filas e partições. O cluster BULL-UFMG possui no momento três filas de submissão definidas apenas pelo recurso walltime: partição full: nós veredas[12-107] sem restrição de tempo. partição short: nós veredas[2-11] máximo 1 hora. O usuário poderá listar a qualquer momento os recursos oferecidos por cada partição com o seguinte comando: [test3@veredas0 ~]$ scontrol show partitions PartitionName=full TotalNodes=96 TotalCPUs=768 RootOnly=NO Default=YES Shared=NO Priority=1 State=UP MaxTime=UNLIMITED Hidden=NO MinNodes=1 MaxNodes=UNLIMITED DisableRootJobs=NO AllowGroups=ALL AllocNodes=ALL Nodes=veredas[12-107] NodeIndices= DefaultTime=NONE PartitionName=short TotalNodes=10 TotalCPUs=80 RootOnly=NO Default=NO Shared=NO Priority=1 State=UP MaxTime=01:00:00 Hidden=NO MinNodes=1 MaxNodes=UNLIMITED DisableRootJobs=NO AllowGroups=ALL AllocNodes=ALL Nodes=veredas[2-11] NodeIndices=0-9 DefaultTime=NONE ou então com, [test3@veredas0 ~]$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST full* up infinite 96 idle veredas[12-107] short up 1:00:00 9 idle veredas[2,4-11] short up 1:00:00 1 down veredas3. Para racionalizar a utilização de recursos é conveniente que o usuário respeite a real demanda de sua tarefa e submeta seu script à partição mais apropriada, ou seja, jobs de curta duração (< 1 hora) na partição short. Caso contrário, pode correr o risco de a sua solicitação permanecer por muito tempo na fila de espera. 5
10 O estado dos jobs submetidos ou em execução poderá também ser examinado no SLURM, tal como era feito no PBS Pro com o comando qstat: [test3@veredas0 ~]$ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 179 short HelloWor test3 R 0:02 2 veredas[4-5] O cancelamento do job anterior pode ser feito facilmente do seguinte modo: [test3@veredas0 ~]$ scancel -v 179 scancel: auth plugin for Munge ( loaded scancel: Terminating job 179 Vejamos então como elaborar alguns scripts de submissão de acordo com o tipo de tarefa. 2.2 Tarefas seqüenciais Aviso: Os exemplos de scripts de submissão que se seguem são para propósitos ilustrativos e representam templates que os usuários poderão adaptar conforme as suas necessidades específicas. Executar um job seqüencial é bastante simples. Basta requisitar a duração necessária para executar a tarefa. Qualquer tarefa puramente seqüencial, que não utiliza MPI ou threads, irá usar necessariamente um core apenas do nó computacional. #!/bin/bash #SBATCH --job-name="testjob" #SBATCH --ntasks=1 #SBATCH --time=01:00:00./a.out > OUTFILE Por defeito o output do script acima será redirecionado para um arquivo do tipo slurm-xxxx.out, onde XXXX é o número do job que foi atribuído pelo SLURM. Este arquivo de output estará localizado no diretório de onde foi feita a submissão. O interessante a notar, e a que nos referiremos mais adiante (ver), é de que este arquivo é criado no instante da execução do script e o seu conteúdo aumenta à medida que o programa vai sendo executado. Remover este arquivo antes da finalização do job acarreta portanto perda total do output da tarefa. Diferentemente no PBS Pro os arquivos de output só eram criados na área do usuário depois de o job finalizar. É possível especificar um nome para o arquivo de output fazendo uso da diretriz #SBATCH --output=meu_job.out. O mesmo vale para o arquivo de erro, #SBATCH --error=meu_job.err. 2.3 Tarefas paralelas (MPI) O exemplo seguinte representa a submissão de um job paralelo MPI que foi compilado com o compilador proprietário da BULL (MPI BULL): mpicc -DALIGNED -c hello.c -o hello.o; mpicc hello.o -o hello.x. Nesta situação permitimos que o SLURM se encarregasse não só da alocação dos recursos, mas também da execução do programa e da inicialização das comunicações na Infiniband através do comando srun. #!/bin/bash #SBATCH -J HelloWorld #SBATCH --ntasks 16 #SBATCH --time 00:30:00 #SBATCH --partition short 6 Capítulo 2. Submissão de tarefas computacionais
11 source /opt/mpi/mpibull s/share/mpibull2.sh mpibull2_devices -d=ibmr_gen2 echo ldd./hello.x echo sleep 15 srun hostname sort srun./hello.x Segue o resultado da execução deste script: [test3@veredas0 SLURM]$ cat slurm-188.out libmpi.so => /opt/mpi/mpibull s/lib/libmpi.so (0x00002b1b ) librt.so.1 => /lib64/librt.so.1 (0x d1a00000) libdl.so.2 => /lib64/libdl.so.2 (0x d0e00000) libpmi.so => /usr/lib64/libpmi.so (0x00002b1b486a0000) libpthread.so.0 => /lib64/libpthread.so.0 (0x d ) libuuid.so.1 => /lib64/libuuid.so.1 (0x e ) libm.so.6 => /lib64/libm.so.6 (0x d0a00000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x dba00000) libc.so.6 => /lib64/libc.so.6 (0x d ) libmpidev.so => /opt/mpi/mpibull s/lib/drivers/ibmr_gen2/libmpidev.so (0x00002b1b488a7 /lib64/ld-linux-x86-64.so.2 (0x d ) libslurm.so.20 => /usr/lib64/libslurm.so.20 (0x00002b1b48ba6000) libibverbs.so.1 => /usr/lib64/libibverbs.so.1 (0x00002b1b48e66000) libsvml.so => /opt/intel/compiler/11.1/069/lib/intel64/libsvml.so (0x00002b1b ) Hello MPI: processor 5 of 16 on Hello MPI: processor 15 of 16 on MPIBull s (Astlik) MPI_THREAD_FUNNELED (job 188) (device gen2) Hello MPI: processor 0 of 16 on Hello MPI: processor 1 of 16 on Hello MPI: processor 2 of 16 on Hello MPI: processor 3 of 16 on Hello MPI: processor 4 of 16 on Hello MPI: processor 7 of 16 on Hello MPI: processor 8 of 16 on Hello MPI: processor 6 of 16 on Hello MPI: processor 9 of 16 on Hello MPI: processor 10 of 16 on 2.3. Tarefas paralelas (MPI) 7
12 Hello MPI: processor 11 of 16 on Hello MPI: processor 12 of 16 on Hello MPI: processor 13 of 16 on Hello MPI: processor 14 of 16 on 2.4 Tarefas paralelas com threads (MPI+OpenMP) Cada nó computacional do cluster BULL da UFMG possui 2 quad-cores totalizando 8 cores. Mostramos a seguir um exemplo de submissão de uma tarefa paralela (MPI+OpenMP) que utiliza a Infiniband, cujo executável foi compilado com o Intel MPI e que requisita 8 processos, sendo que cada processo é um conjunto de 4 threads. Repare que propositalmente, e contráriamente ao caso anterior, a ferramenta mpiexec foi utilizada em vez do srun para lançar os processos MPI. O SLURM foi então utilizado apenas para reservar os recursos necessários. #!/bin/bash #SBATCH -J HelloWorld #SBATCH --partition short #SBATCH --nodes 4 #SBATCH --ntasks 8 #SBATCH --cpus-per-task 4 #SBATCH --time 00:30:00 source /opt/intel/impi/4.0.0/bin64/mpivars.sh export OMP_NUM_THREADS=4 export I_MPI_PMI_LIBRARY=/usr/lib64/libpmi.so export I_MPI_FABRICS=dapl sleep 20 echo ldd./hello echo srun hostname -s sort -u >slurm.hosts mpdboot -n $SLURM_NNODES -f slurm.hosts -r ssh mpiexec -perhost 2 -np 8./hello mpdallexit O diagrama seguinte procura ilustrar a forma como os processos MPI e seus respetivos threads foram distribuídos nos 32 cores dos quatro nós requisitados. A descrição detalhada de cada diretriz #SBATCH poderá ser consultada online através do comando man sbatch. A descrição de cada flag do mpiexec também pode ser obtida através de /opt/intel/impi/4.0.0/bin64/mpiexec -help. ntasks processos (MPI) que utilizam a Infiniband cpus per task threads (OpenMP) nodes QUAD1 QUAD1 QUAD1 QUAD1 QUAD2 QUAD2 QUAD2 QUAD2 veredas2 veredas3 4 nós computacionais 8 Capítulo 2. Submissão de tarefas computacionais
13 CAPÍTULO 3 Comparação entre o SLURM e o PBS Pro Segue alguns comandos essenciais do SLURM e seus equivalentes no PBS Pro. Comando Descrição PBS Pro sbatch submete um script shell qsub srun submete um comando via SLURM no modo interativo qsub -I squeue lista todos os jobs (em execução ou no modo de espera) nas filas qstat scontrol modifica o estado de um job (maioria só é permitida ao root) qalter scancel cancela um job, quer em execução ou na fila de espera qdel 3.1 Variáveis de ambiente Existem também algumas diferenças no tocante às variáveis de ambiente como ilustra a seguinte tabela: SLURM $SLURM_JOB_ID $SLURM_JOB_NAME PBS Pro $PBS_JOBID $PBS_JOBNAME O SLURM não possui o equivalente à variável $PBS_NODEFILE que aponta para o arquivo que contém os nomes dos nós computacionais reservados para a execução do job. Contudo, quando necessário, é possível criar manualmente esse tipo de arquivo com o comando srun: #!/bin/bash -x HOSTFILE=/tmp/hosts.$SLURM_JOB_ID srun hostname -s > $HOSTFILE if [ -z "$SLURM_NPROCS" ] ; then if [ -z "$SLURM_NTASKS_PER_NODE" ] ; then SLURM_NTASKS_PER_NODE=1 fi SLURM_NPROCS=$(( $SLURM_JOB_NUM_NODES * $SLURM_NTASKS_PER_NODE )) fi /path/to/mpirun -machinefile $HOSTFILE -np $SLURM_NPROCS programa.x 9
14 rm /tmp/hosts.$slurm_job_id 3.2 Diretório de execução Uma outra diferença importante que distingue o SLURM do PBS Pro é que enquanto no primeiro escalonador a tarefa batch é executada automáticamente no diretório de onde foi submetido o seu script, o segundo precisa explicitamente que seja introduzida a seguinte linha: #!/bin/bash -x... cd $PBS_O_WORKDIR... As variáveis de ambiente que são definidas durante uma sessão shell do SLURM são automáticamente exportadas para o job batch em todos os nós computacionais no instante em que o script entra em execução. Já no PBS Pro é necessário garantir isso com a introdução da diretriz: #!/bin/bash -x... #PBS -V Output O SLURM apresenta ainda uma vantagem considerável e muito útil para aqueles usuários que precisam inspecionar numéricamente e em tempo real a evolução do seu programa, como por exemplo, a convergência de uma determinada iteração: os arquivos de saída stdout e de erro, stderr (ver as flags do SLURM), são criados automáticamnte no diretório de onde foi submetido o script e vão crescendo gradualmente de tamanho à medida que a simulação evolui no tempo. O PBS Pro mostra-se insuficiente neste quesito: somente no final da execução da tarefa é que os arquivos de saída são escritos no diretório destinado. 3.4 Directrizes de submissão Finalmente com o intuito de auxiliar os usuários na migração dos seus scripts de submissão do PBS Pro para o SLURM apresentamos a seguinte tabela comparativa das diretrizes de submissão: 10 Capítulo 3. Comparação entre o SLURM e o PBS Pro
15 PBS Pro #PBS -N job_name #PBS -l nodes=n #PBS -l walltime=hh:mm:ss #PBS -l min_walltime=hh:mm:ss #PBS -q <queue> #PBS -l mppwidth=n #PBS -l mppnppn=n #PBS -l mppdepth=d #PBS -l mppmem=mm #PBS -l mppnodes=<nid-list> #PBS -W group_list=a_group #PBS -o /path/to/stdout #PBS -e /path/to/stderr #PBS -V SLURM #SBATCH job-name= job_name ou #SBATCH -J job_name #SBATCH nodes=n #SBATCH time=hh:mm:ss #SBATCH time-min=hh:mm:ss #SBATCH partition=<queue> #SBATCH ntasks=n #SBATCH ntasks-per-node=n #SBATCH cpus-per-task=d #SBATCH mem=m #SBATCH nodelist=<nid-list> #SBATCH account=a_group #SBATCH output=/path/to/stdout (pode ser usado %j para jobid) #SBATCH error=/path/to/stderr não é necessário Devemos também ressaltar que as diretrizes do SLURM podem ser especificadas na linha de comando em vez de colocadas no script: ~]$ sbatch --job-name="meu job" --ntasks=n... Aviso: Para uma informação mais detalhada sobre o escalonador SLURM o usuário poderá baixar e consultar o arquivo Bullx cluster suite: User s Guide. Para quem estiver interessado o Swiss National Supercomputing Centre disponibiza um video no qual são feitas várias demonstrações de como o usuário pode interagir com o SLURM 3.4. Directrizes de submissão 11
Universidade Estadual de Feira de Santana
Universidade Estadual de Feira de Santana Tutorial de uso do SLURM Feira de Santana - BA Março, 2016 1 INTRODUÇÃO 1 1 Introdução Tutorial criado por Victor Oliveira, voluntário do Laboratório de Computação
CAP-387(2016) Tópicos Especiais em
CAP-387(2016) Tópicos Especiais em Computação Aplicada: Construção de Aplicações Massivamente Paralelas Aula 3: Sistemas Massivamente Paralelos Atuais - Brasil Celso L. Mendes, Stephan Stephany LAC /INPE
Tópicos: Computação de Alto Desempenho no Cluster Oscar - Passo a passo
Tópicos: - O que é - Hardware - Software - Como ter acesso - Login e cópia de arquivos no cluster - Como compilar programas - Exemplos de como compilar programas em C, C++, Fortran, MPI e OpenMP - Como
Manual de Acesso ao Sistema e Guia de Utilização do Sun Grid Engine (SGE)
Manual de Acesso ao Sistema e Guia de Utilização do Sun Grid Engine (SGE) Meira & Fernandez Centro Nacional de Supercomputação 10 de Dezembro de 2014 1 Acesso Remoto ao Sistema Para acesso externo ao cluster
Uma Introdução. por Vítor Oliveira
Uma Introdução por Vítor Oliveira Internet USERS EXTERNAL NETWORK Search FE Search1 FE Rocks 40 Rocks 421 INTERNAL NETs Ethernet 1G / VLANs COMPUTE NODES SINGLE CORE COMPUTE NODES 1gen DUAL CORE GPU
Administração de Redes de Computadores
MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS SÃO JOSÉ SANTA CATARINA Administração de Redes de Computadores Profs.:
Introdução aos Sistemas Operacionais
1 Introdução aos Sistemas Operacionais 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais 1.3 O zoológico de sistemas operacionais 1.4 Conceitos sobre sistemas operacionais 1.5 Chamadas
Administração de sistemas Linux. Administração de processos.
Administração de sistemas Linux Administração de processos. Programas e processos Programas são arquivos em disco contendo instruções para execução pelo processador, enquanto processos são as execuções
Introdução a Sistemas Abertos. Shell Script
Introdução a Sistemas Abertos Shell Script Introdução O que é shell? É o programa que permite ao usuário interagir com o sistema operacional através da linha de comando. O shell possui estruturas de linguagem
FACULDADE DE TECNOLOGIA SENAC PELOTAS. Trabalho de Shellscript Atividade 5 Introdução a Informática
FACULDADE DE TECNOLOGIA SENAC PELOTAS Trabalho de Shellscript Atividade 5 Introdução a Informática Luis Gustavo Spern Barreto Análise e Desenvolvimento de Sistemas, 2013 Trabalho de Shellscript ADS 2013
Shell Script. Rafael Silva Guimarães
Shell Script Rafael Silva Guimarães O que é Shell O Shell é o "prompt" da linha de comando do Linux, que recebe os comandos digitados pelo usuário e os executa. Mas o Shell é muito mais poderoso que seu
Oracle Grid Engine. Thiago Marques Soares. Pós-Graduação em Modelagem Computacional Universidade Federal de Juiz de Fora. 8 de abril de 2015
Oracle Grid Engine Thiago Marques Soares Pós-Graduação em Modelagem Computacional Universidade Federal de Juiz de Fora 8 de abril de 2015 Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 1 /
Arquitetura de Computadores
Arquitetura de Computadores Aula 07 Prof. Dr. Saulo Amui 1/16 2/16 Sistemas Operacionais O que é um Sistema Operacional? Um programa que atua como um intermediário entre um usuário de um computador e o
CAP-387(2016) Tópicos Especiais em
CAP-387(2016) Tópicos Especiais em Computação Aplicada: Construção de Aplicações Massivamente Paralelas Aula 39: Memória Compartilhada em MPI Celso L. Mendes, Stephan Stephany LAC / INPE Emails: celso.mendes@inpe.br,
Introdução a Administração de Sistemas GNU/Linux
Curso de extensão da Faculdade Ruy Barbosa Introdução a Administração de Sistemas GNU/Linux Dedicasse especial a Rogério Bastos e ao GRACO (Gestores da Rede Acadêmica de Computação) do DCC UFBA Paul Regnier
Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios. Aula 06.
Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos 2 1 Processos A gerência de um ambiente multiprogramável é
Redes de Computadores
Redes de Computadores Shell Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 Interpretador de comandos Interpreta as instruções enviadas pelo usuário e seus programas ao sistema operacional (kernel) Executa
CAP-387(2016) Tópicos Especiais em
CAP-387(2016) Tópicos Especiais em Computação Aplicada: Construção de Aplicações Massivamente Paralelas Aula 34: Programação MPI+OpenMP Celso L. Mendes, Stephan Stephany LAC / INPE Emails: celso.mendes@inpe.br,
Sistemas Operacionais. Gerência de Processador
Sistemas Operacionais Gerência de Processador Sumário 1. Introdução 2. Funções Básicas do Escalonamento 3. Critérios de Escalonamento 4. Escalonamento 1. Não-Preemptivo 2. Preemptivo 5. Políticas de Escalonamento
PROCESSOS. Sistemas Operacionais. Vinícius Pádua
PROCESSOS Sistemas Operacionais Processo Conceito mais importante em SO SO também é um processo Multiprogramação Relembrando Execução simultânea de vários processos CPU salta de processo em processo Ilusão
Árvore Binária de Busca Ótima - Uma Implementação Distribuída
Árvore Binária de Busca Ótima - Uma Implementação Distribuída Felipe Reis e Caio Valentim Departamento de Informática PUC-Rio 7 de novembro de 2010 1 Introdução O problema de encontrar a árvore binária
Sistemas Operacionais I
UFRJ IM - DCC Sistemas Operacionais I Unidade II - Processos 24/04/2014 Prof. Valeria M. Bastos 1 Organização da Unidade Processos Conceituação Estruturas de Controle Modos de execução do S.O. Estados
Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo
Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo Múltipla escolha 1. Em que consiste um sistema operacional: a. Um conjunto de
William Stallings Arquitetura e Organização de Computadores 8 a Edição
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 8 Suporte do sistema operacional slide 1 Objetivos e funções Conveniência: Tornar o computador mais fácil de usar. Eficiência:
Preparatório LPIC-1 Tópico 103
Preparatório LPIC-1 Tópico 103 Professor M.Sc. Thiago Leite thiago.leite@udf.edu.br 1 Tópico 103 Visão Geral Trabalhar em linha de comandos Processar arquivos e fluxos de textos Gestão básica de arquivos
Escalonamento. Decidindo qual processo vai executar. Infra-estrutura de Software
Escalonamento Decidindo qual processo vai executar Escalonamento de processos Quando um ou mais processos estão prontos para serem executados, o sistema operacional deve decidir qual deles vai ser executado
Processos. Pedro Cruz. EEL770 Sistemas Operacionais
Processos Pedro Cruz EEL770 Sistemas Operacionais Datas importantes 02 de Abril Proposta de trabalho 09 de Abril Confirmação de proposta 07 de Maio Primeira apresentação do trabalho 09 de Maio Entrega
Introdução OpenMP. Nielsen Castelo Damasceno
Introdução OpenMP Nielsen Castelo Damasceno Computação de auto desempenho Processamento Paralelo Memória Distribuída e Compartilhada Modelo de programação OpenMP Métricas de Desempenho Computação de auto
Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Processos Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Copyright Carlos Ferraz Processo Conceito: Um programa em execução 1. Ao digitar hello, os caracteres
105 Shell Script. João Bosco Teixeira Junior
105 Shell Script João Bosco Teixeira Junior Compilação x interpretação Compilação Fontes Geração do código Pré Processador Compilador Montador(Assembler) Bibliotecas Compartilhadas Ligador (Linker) Executável
Notas da Aula 7 - Fundamentos de Sistemas Operacionais
Notas da Aula 7 - Fundamentos de Sistemas Operacionais 1. Organização de um Processo em Memória Quando um processo é criado, o SO aloca uma porção da memória física da máquina para a criação do espaço
Infra-estrutura de Software. Escalonamento. Decidindo qual processo vai executar
Escalonamento Decidindo qual processo vai executar Escalonamento de processos Quando um ou mais processos estão prontos para serem executados, o sistema operacional deve decidir qual deles vai ser executado
Conceitos Básicos de Scripts
Conceitos Básicos de Scripts Programação de Scripts Prof. Kleber Rezende kleber.rezende@ifsuldeminas.edu.br O que é o shell? O Shell pode ser definido como o interpretador de instruções e comandos. Quando
Programação Aplicada a Redes de Computadores. Faculdade IESGO 2º Sem 2016
Programação Aplicada a Redes de Computadores Faculdade IESGO 2º Sem 2016 O shell é o "prompt" da linha de comando do Unix e Linux, é o servo que recebe os comandos digitados pelo usuário e os executa.
Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional
Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional Processador INTRODUÇÃO Projetado apenas para executar instruções Não é capaz de distinguir qual programa está em execução Processo
LICENCIATURA EM COMPUTAÇÃO. Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador
LICENCIATURA EM COMPUTAÇÃO Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador SANTO AMARO 2012 JEANDERVAL SANTOS DO CARMO RESENHA Resenha do quarto capítulo: Gerencia
Sistemas Operacionais I
UFRJ IM - DCC Sistemas Operacionais I Unidade II - 18/9/2009 Prof. Antonio Carlos Gay Thomé Prof. Aux. Simone Markenson Pech 1 Conceituação Estruturas de Controle Modos de execução do S.O. Estados de um
Introdução a Sistemas Abertos. Ambiente shell
Introdução a Sistemas Abertos Ambiente shell Conteúdo Programático Login e Logout Iniciando e Desligando o Sistema Tipos de arquivo Texto Binário Arquivos e Diretório Manipulação de arquivos e diretório
Estácio-FIC Graduação em Redes de Computadores
Estácio-FIC Graduação em Redes de Computadores Disciplina Programação para Servidores Aula 2 Variáveis e testes Sumário Variáveis; Argumentos; Variável é a forma que as linguagens de programação utilizam
Questões e dicas. Servidores: Samba Sistema: Discos e partições Sistema: Rede Servidores: SSH Cliente: SSSD Servidores: BareOS/Bacula
Questões e dicas Capítulo destinado a mostrar soluções conhecidas, de forma compacta, para alguns problemas encontrados no dia a dia do suporte às redes de computadores Servidores: Samba Sistema: Discos
Sistema Operacional Unidade 11.2 Shell Script: estruturas condicionais. QI ESCOLAS E FACULDADES Curso Técnico em Informática
Sistema Operacional Unidade 11.2 Shell Script: estruturas condicionais Curso Técnico em Informática SUMÁRIO SHELL SCRIPT COM IF... 3 OPERADORES RELACIONAIS... 3 COMPARAÇÕES EM SCRIPTS... 3 MAIS OPERADORES...
Linguagem de Programação I Prof. Tiago Eugenio de Melo.
Linguagem de Programação I Prof. Tiago Eugenio de Melo tmelo@uea.edu.br www.tiagodemelo.info 1 Sumário Introdução Conceitos preliminares Introdução Variáveis Comandos Condicionais 2 Por que aprender a
Computação Distribuída de Alto Desempenho. Marcelo Giovani M Souza mgm@cbpf.br
Computação Distribuída de Alto Desempenho Marcelo Giovani M Souza mgm@cbpf.br 1 *Exemplos de Tipos Clusters *O Cluster do CBPF *Estudos futuros 2 *Cluster do CBPF -Hardware -Sistema e ferramentas -Formas
Sistemas de Informação. Sistemas Operacionais
Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE I SUMÁRIO 2. PROCESSO: 2.1 Introdução; 2.2 Estrutura do Processo; 2.3 Estados do Processo; 2.4 Mudanças de Estado do Processo; 2.5
ARQUITETURA DE COMPUTADORES
01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100
Concorrência em Processos
Concorrência em Processos Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Baseado nas aulas do professor Alberto Costa Neto da UFS 1 O que fazer com essa apresentação
Contatos do Professor Apresentação do Conteúdo Datas das Avaliações Referências Conceitos Básicos Arquivos de Configuração de Ambiente Regras a
UNIME Contatos do Professor Apresentação do Conteúdo Datas das Avaliações Referências Conceitos Básicos Arquivos de Configuração de Ambiente Regras a Respeitar ao Fazer um Script E- mail othonb@yahoo.com
Sistemas Operacionais Gerência de Memória. Thiago Leite
Sistemas Operacionais Gerência de Memória Thiago Leite thiago.leite@udf.edu.br 1 Hierarquia de memórias Memórias pequenas e rápidas Memórias grandes e lentas 2 Como é o acesso a cada uma delas? Sistema
Processos. Pedro Cruz. EEL770 Sistemas Operacionais
Processos Pedro Cruz EEL770 Sistemas Operacionais Aviso O que vamos falar vale para sistemas de processador/ núcleo único Vale também para cada processador/núcleo de um sistema com múltiplos processadores/núcleos
POO Documentation. Release 1.0. Felipe Dau e Francisco Pereira Junior
POO Documentation Release 1.0 Felipe Dau e Francisco Pereira Junior August 13, 2015 Contents 1 Instalação do Java 1 1.1 Download................................................. 1 1.2 Instalação.................................................
Matheus S. Serpa, Vinícius G. Pinto, Philippe O. A. Navaux Contato: INTEL MODERN CODE PARTNER
INTEL MODERN CODE: INTRODUÇÃO À PROGRAMAÇÃO VETORIAL E PARALELA PARA O PROCESSADOR INTEL XEON PHI KNIGHTS LANDING Matheus S. Serpa, Vinícius G. Pinto, Philippe O. A. Navaux Contato: msserpa@inf.ufrgs.br
Introdução a shell scripts
Introdução a shell scripts O que é? O que é Windows e Linux Shell script Um script é um arquivo que guarda vários comandos e pode ser executado sempre que preciso. Os comandos de um script são exatamente
OpenMP: Variáveis de Ambiente
Treinamento OpenMP C/C++ 1 TREINAMENTO OpenMP C/C++ Módulo 1 Computação de Alto Desempenho Módulo 2 OpenMP: Construtores Paralelos Módulo 3 OpenMP: Diretivas de sincronização Módulo 4 OpenMP: Funções de
Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7. Escola de Verão Arquiteturas Multi-Core
RSS-Verão-01/08 p.1/36 Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7 Escola de Verão 2008 Arquiteturas Multi-Core Renato S. Silva LNCC - MCT Janeiro de 2008 RSS-Verão-01/08 p.2/36 Objetivo:
Noções de sistemas de computação
Noções de sistemas de computação Software Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons
Sistemas Operacionais
ANHANGUERA Sistemas Operacionais Prof. Esp. Rafael Gross Processos Sumário Introdução Conceito de processo Estrutura do processo Estados do processo Mudanças de estado do processo Criação e eliminação
Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais
Sistemas Operacionais e Introdução à Programação Módulo 1 Sistemas Operacionais 1 Objetivos: Laboratório 1 1. Conhecer o sistema operacional Linux 2. Usar a interface de linha de comando (shell) arquivos
for(int x=0; x < width; x++) { for(int y=0; y < height; y++) { finalimage[x][y]=renderpixel(x,y, &scenedata); } }
Paralelização em OpenMP Identifique os loops pesados ; Distribua-os: Versão sequencial double res[10000]; calculo_pesado(&res[i]); Versão paralela double res[10000]; for calculo_pesado(&res[i]); OMP for
Estados dos processos. Infra Estruturas Computacionais. A troca de contexto. Escalonamento de Processos. Escalonamento de Processos
Infra Estruturas Computacionais Professor: André Ferreira andre.ferreira@ifba.edu.br Material baseado: Prof.ª Renata Vilas e outros Estados dos processos novo admissão condição satisfeita pronto carga
Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger
Sistemas Operacionais Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger Inicializando o Sistema BIOS verifica os componentes instalados (RAM, teclado etc.) e verifica se dispositivos estão
Paralelismo em Computadores com Tecnologia Multicore
IFRN - Pau dos Ferros Pau dos Ferros/RN, 25 de fevereiro de 2016 O minicurso Descrição: Para se utilizar os vários núcleos de processamento disponíveis nos computadores atuais de forma eficiente, faz necessário
Sistemas Operacionais. Laboratório 1 (Ambiente de Aprendizado)
Sistemas Operacionais Laboratório 1 () Roteiro Linux em modo texto Acesso Interpretador de comandos Comandos Básicos Tratamento de Arquivos e Diretórios (Pasta*) Permissões Processos Editor de Texto Criação
Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais. Referências Bibliográfica. Referências Bibliográfica
DCA-108 Sistemas Operacionais Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Apresentação Disciplina básica do curso de Engenharia de Computação Carga-horária: 60h teóricas Associadas
Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos
Sistema Distribuído Conjunto de máquinas (CPU + memória) interligadas em rede. Sistema Distribuído Sistema operacional distribuído trata este conjunto como um único sistema computacional. Estação 1 Estação
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO PROCESSOS PROFESSOR CARLOS MUNIZ
INTRODUÇÃO À TECNOLOGIA DA PROFESSOR CARLOS MUNIZ O QUE SÃO? Definição: Entidade dinâmica que consiste num programa em execução, os seus valores correntes, informação de estado e recursos utilizados pelo
Hierarquia de Diretórios da Família Linux. Sistemas Operacionais 1
Hierarquia de Diretórios da Família Linux 1 Conteúdo Estrutura de Diretórios; Árvore de Diretórios; Diretórios mais importantes; 2 Estrutura de Diretórios A identificação dos objetos de um sistema de arquivos
Introdução aos Sistemas Operativos
Introdução aos Sistemas Operativos Baseado em: Andrew S. Tanenbaum. Modern Operating Systems, Prentice-Hall, 1992 FEUP/INESC http://www.fe.up.pt/~jlopes/teach/ jlopes@inescn.pt v 1.0, Outubro de 1997 Introdução
João Correia Lopes. v 1.0, Outubro de Introdução aos Sistemas Operativos v1.0 1
Introdução aos Sistemas Operativos Baseado em: Andrew S. Tanenbaum. Modern Operating Systems, Prentice-Hall, 1992 FEUP/INESC http://www.fe.up.pt/~jlopes/teach/ jlopes@inescn.pt v 1.0, Outubro de 1997 Introdução
Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software
Processo Um programa em execução Gerência de Processos Contexto de Processo Conjunto de Informações para gerenciamento de processo CPU: Registradores Memória: Posições em uso E/S: Estado das requisições
MANUAL DE INSTALAÇÃO SISTEMA DE GERÊNCIA CONSCIUS
MANUAL DE INSTALAÇÃO SISTEMA DE GERÊNCIA CONSCIUS 1 ÍNDICE ÍNDICE... 2 1. INTRODUÇÃO... 3 2. REQUISITOS... 3 2.1 Requisitos mínimos para utilização do instalador... 3 2.2 Requisitos mínimos para instalação
SISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Introdução a Processos Andreza Leite andreza.leite@univasf.edu.br Plano da Aula 2 Introdução a Processos Threads vs Processos Características dos Processos Estados dos Processos 3
Exemplos no Santos Dumont
Semana sobre Programação Massivamente Paralela 2017 MC-MP09. Adaptive MPI (AMPI) Exemplos no Santos Dumont Laércio Pilla (UFSC) Celso Mendes (INPE) Esteban Meneses (ITCR) Conteúdo EXEMPLOS com AMPI a)
Intel Thread Building Blocks (TBB)
Intel Thread Building Blocks (TBB) MCZA020-13 - Programação Paralela Emilio Francesquini e.francesquini@ufabc.edu.br 2019.Q1 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Disclaimer
Curso: Redes de Computadores
Curso: Redes de Computadores Cadeira de Introdução a Sistemas Operacionais. Bibliografia Sistemas Operacionais Modernos Andew S. Tanembaum Sistema Operacionais Abraham Silberchatz, Peter Galvin e Greg
Guia Técnico v6.1 SNMP TG Conteúdo
Manual Guia Técnico de Administração v6.1 - Conteúdo Introdução 3 Definições 3 Protocolos suportados 3 MIB suportadas 4 Configuração 4 Views e Communities 4 Acessos 6 Traps 6 Utilização 7 Download de configurações
Aula 9: Shell Script
FIC Configuração de Redes de Computadores Linux 23/05/2017 Aula 9: Shell Script Professor: Emerson Ribeiro de Mello http://docente.ifsc.edu.br/mello 1 O interpretador de comandos O shell consiste em um
Sistemas Operacionais
Sistemas Operacionais Slides adaptados de Prof. Dr. Marcos José Santana, Prof. Dra. Regina Helena Carlucci Santana e Sarita Mazzini Bruschi baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum
Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software
Processo Um programa em execução Gerência de Processos Contexto de Processo Conjunto de Informações para gerenciamento de processo CPU: Registradores Memória: Posições em uso E/S: Estado das requisições
Exame de. Arquitectura de Computadores. (Duração minutos) Classifique cada uma das alíneas seguintes como Verdadeira ou Falsa.
Exame de (Duração 45+45 minutos) Nome: Número: 1. (4) Classifique cada uma das alíneas seguintes como Verdadeira ou Falsa. 1.1. Num sistema baseado no processador Intel 80386DX em modo protegido, a) o
Sistemas Operativos Guião da 1 a aula prática
Sistemas Operativos 2018-19 Guião da 1 a aula prática LEIC-A / LEIC-T / LETI IST Os alunos devem ler primeiro o documento de visão geral do projeto antes de lerem este guião. Este documento pretende guiar
Manual de Autocorreção Módulo 06 Tarefa 02
Manual de Autocorreção Módulo 06 Tarefa 02 Tarefa 02 - Módulo 06 - Script para descoberta de arquivos e diretórios Objetivo desse exercício, é criar um script que descubra arquivos e diretórios de um determinado
Fundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 1: Introdução e Conceitos Diego Passos Informações Básicas Horário: terças e quintas, 16h. Salas: 442/235 Contato: Por e-mail: dpassos@ic.uff.br Pela página: http://www.midiacom.uff.br/~diego/sisop/
Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto
Sistemas Operacionais Abertos Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Gerência de Processos Componentes do Sistema Um programa não faz nada a não ser que suas instruções sejam executadas
14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo
Conceito de processo Os computadores executam várias operações ao mesmo tempo. - Compilar um programa; - Enviar um arquivo para a impressora; - Exibir uma página web; - Reproduzir músicas; - Receber mensagens
Supercomputador Pleiades
Supercomputador Pleiades Introdução ao Processamento Paralelo e Distribuído Renato Marques Dilli Prof. Adenauer C. Yamin Universidade Católica de Pelotas 1 de maio de 2009 Mestrado em Ciência da Computação
Preparatório LPIC-101
Preparatório LPIC-101 Professor M.Sc. Thiago Leite thiago.leite@udf.edu.br 1 Bibliografia Recomendada Certificação Linux LPI Nível 1: Exames 101 e 102 da O Reilly 2 Bibliografia Recomendada Certificação
SHELL SCRIPT - CONTINUAÇÃO. Adão de Melo Neto
SHELL SCRIPT - CONTINUAÇÃO Adão de Melo Neto Sumário 1. INTRODUÇÃO 2. DESENVOLVIMENTO Comandos Shell Script 3. CONCLUSÃO Shell Script Objetivo: tornar mais simples as execuções de tarefas repetitivas no
Aluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER
COMPARAÇÃO DE DESEMPENHO NA PROGRAMAÇÃO PARALELA HÍBRIDA (MPI + OPENMP) NA BUSCA DE TEXTO EM ARQUIVOS 1 COMPARISON OF PERFORMANCE IN HYBRID PARALLEL PROGRAMMING (MPI + OPENMP) IN SEARCH OF TEXT IN FILES
OpenMP. Slides baseados em tutorial de Tim Mattson da Intel
OpenMP Slides baseados em tutorial de Tim Mattson da Intel O que é OpenMP? Uma especificação para um conjunto de diretivas de compilação, rotinas de biblioteca e variáveis de sistema que podem ser utilizadas
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores 1 Objetivo Roteiro de Laboratório 2 Ambiente de Desenvolvimento
Santos Dumont - LNCC: Utilização e Pesquisa. Carla Osthoff e Roberto Souto CENAPAD/LNCC Laboratório Nacional de Computação Científica
Santos Dumont - LNCC: Utilização e Pesquisa Carla Osthoff e Roberto Souto CENAPAD/LNCC Laboratório Nacional de Computação Científica www.lncc.br 1 Laboratório Nacional de Computação Científica LNCC/ MCTIC
Sistemas Operacionais II. Prof. Gleison Batista de Sousa Aula 01
Sistemas Operacionais II Prof. Gleison Batista de Sousa Aula 01 Sistemas Operacionais Livres Prof. Gleison Batista de Sousa Aula 01 Objetivos - Ter conhecimento sobre os diversos módulos que compõem um
ADMINISTRAÇÃO DE REDES I LINUX. Shell Script. Frederico Madeira LPIC 1, CCNA
ADMINISTRAÇÃO DE REDES I LINUX Shell Script Frederico Madeira LPIC 1, CCNA fred@madeira.eng.br www.madeira.eng.br Shell É qualquer interface de usuário para o SO Unix. que receba do usuário um input e
Tecnologias e Sistemas de Informação. Software Livre. SL: Gerenciamento e Configurações 2 Semestre de Prof. Marcelo Z.
Tecnologias e Sistemas de Informação Software Livre SL: Gerenciamento e Configurações 2 Semestre de 2010 Prof. Marcelo Z. do Nascimento Roteiro Gerenciamento de Grupos e Usuários Comandos para gerenciamento
Laboratório de Informática. Leopoldo Teixeira
Laboratório de Informática Leopoldo Teixeira leo@leopoldomt.com Até agora vimos A história dos computadores Como informação é armazenada memória, armazenamento em massa representada sistemas binários,
Sistemas Operacionais
Sistemas Operacionais Aula 7,8 Processos Gerência de Processos Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: Prof. José Juan Espantoso Sumário Conceito de
Instalador e Operador de Sistemas de Telefonia e Comunicação de Dados
Redes Gerência e a Internet de Redes Instalador e Operador de Sistemas de Telefonia e Comunicação de Dados Conceitos Básicos 01 E-mail: euberchaia@yahoo.com.br Site: www.echaia.com Sistema de Arquivos
Apresentação dos Serviços para Processamento de Dados de Alto Desempenho disponibilizados pela InterNuvem
Apresentação dos Serviços para Processamento de Dados de Alto Desempenho disponibilizados pela InterNuvem Francisco Ribacionka e Ettore Enrico (STI ) USP/STI/InterNuvem internuvem@usp.br Março -2016 Apresentação