Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Oracle Grid Engine
Thiago Marques Soares
Pós-Graduação em Modelagem ComputacionalUniversidade Federal de Juiz de Fora
8 de abril de 2015
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 1 / 31
1 Introdução
2 Tutorial
3 Vantagens e Desvantagens
4 Especificações do Cluster da UFJF
5 Questionário
6 Bibliografia
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 2 / 31
Introdução
Um cluster é uma coleção de recursos computacionaishomogêneos que realizam tarefas
Esses recursos estão organizados de forma distribuída
Usuários veem um cluster como um único recurso computacional
Figura: Exemplo de um Cluster
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 3 / 31
Introdução
Cada segmento de entrada de uma tarefa é conhecido como job
Cada job inclui uma descrição do que deve ser feito e como deve serfeito
O OGE reconhece 4 tipos básicos de jobs:
batch job
parametric job
parallel job
interactive job
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 4 / 31
Introdução
O OGE é um software de gerenciamento de recursos distribuidos
Seus principais objetivos são:
Aumentar a utilização do recurso computacional
Melhorar a vazão da carga de trabalho
Aumentar a produtividade do usuário final
Fornece um arsenal de avançadas técnicas de escalonamento
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 5 / 31
Introdução
Figura: Arquitetura OGE
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 6 / 31
Introdução
No centro de um cluster OGE está o escalonador
O escalonador é uma parte do Qmaster
Priorizar os jobs pendentes
Decidir qual job escalonar em qual recurso
O processo de escalonar o job possui dois estágios
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 7 / 31
Introdução
Job Selection
Qmaster ordena os jobs por ordem de prioridade
Escalonameto do Job
A lista ordenada dos jobs pendentes é associada aos jobs slots
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 8 / 31
Introdução
O OGE não otimiza o código para alto desempenhoautomaticamente
Devem ser utilizadas bibliotecas para alcançar este objetivo
OpenMP
CUDA
OpenCL
MPI
Diretrizes devem ser especificadas no código fonte
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 9 / 31
Tutorial
1 Acessar o cluster
2 Transferência de arquivos para o cluster
3 Compilar arquivos no cluster
4 Criar arquivo com as diretrizes do job
5 Enviar o job para o cluster
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 10 / 31
Tutorial
Para acessar o cluster utiliza-se o protocolo SSH
ssh <nome_de_usuario>@cluster.mmc.ufjf.br
Para transferência de arquivo utiliza-se o protocolo SFTP
sftp <nome_de_usuario>@cluster.mmc.ufjf.br
Comandos <put> e <get> para enviar e receber arquivos do cluster
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 11 / 31
Tutorial
A compilação de arquivos no cluster usa o Makefile
Criar o arquivo de compilação Makefile
Utilizar o comando <make> para compilar os arquivos fonte e gerar oexecutável
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 12 / 31
Tutorial
As diretrizes do job devem ser escritas e salvas em um arquivos dotipo .job
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 13 / 31
Tutorial
-pe Ambiente paralelo de execução do job
-N Nome do job
-cwd Executar o job do diretório corrente
-j Realiza o join entre o stdout e stderr
-S Interpretador do arquivo de job
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 14 / 31
Tutorial
qsub <nome_job> → Submete um batch job
qstat → Mostra o status dos jobs
qstat -f → Mostra o status das filas
qdel <numero_job> → Deleta um job
qsub -q all.q@compute-0-(número maquina) → Submete um job parauma máquina específica
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 15 / 31
Tutorial
O Qmon é uma interface gráfica para gerenciamento do cluster
Para acessá-la é preciso passar o parâmetro <-X> no SSH
ssh -X <nome_de_usuario>@cluster.mmc.ufjf.br
Utilizar o comando <qmon> quando logado no cluster
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 16 / 31
Vantagens
O OGE é um software voltado para a computação de altodesempenho
Curva de aprendizado relativamente pequena para usuários
Não é necessário entender completamente a arquitetura do hardwarepara executar suas aplicações
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 17 / 31
Desvantagens
É necessário conhecer os comandos básicos do software
Aplicações mais complexas necessitam de um conhecimento maiorsobre o OGE e sobre o hardware
Configurar o OGE pode não ser uma tarefa simples
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 18 / 31
Especificações do Cluster da UFJF
2 processadores AMD Opteron 6272 com 16 núcleos de 1400 MHz
32 GB de memória RAM
Sistema Operacional Linux Rocks 64-bits
Máquinas Novas (11 - 21)
2 GPUs NVIDIA M2075 com 448 núcleos e 5.3 GB de memória global
Máquinas Antigas (22 - 29)
2 GPUs NVIDIA C1060 com 240 núcleaos e 4 GB de memória global
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 19 / 31
Questionário
1) O que é um cluster?
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 20 / 31
Questionário
1) O que é um cluster?
R.: Um cluster é uma coleção de recursos computacionais homogêneos(hardware semelhante e utilizam o mesmo sistema operacional) organizadosde forma distribuída, que realizam tarefas.
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 21 / 31
Questionário
2) O que é e quais os principais objetivos do OGE?
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 22 / 31
Questionário
2) O que é e quais os principais objetivos do OGE?
R.: O OGE é um software de gerenciamento de recursos distribuídos e seusprincipais objetivos são: aumentar a utilização do recurso computacional,melhorar a vazão da carga de trabalho e aumentar a produtividade dousuário final
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 23 / 31
Questionário
3) Cite e descreva os dois estágios do processo de escalonamento de jobs?
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 24 / 31
Questionário
3) Cite e descreva os dois estágios do processo de escalonamento de jobs?
R.: A primeira fase é o Job Selection onde os jobs são ordenados porordem de prioridade. E a segunda fase é o Escalonamento do Job em que alista ordenada dos jobs pendentes é associadas aos recursos ou jobs slots.
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 25 / 31
Questionário
4) Qual o comando o usuário deve utilizar para submeter um job cujo onome é ”exemplo.job” para a máquina 11?
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 26 / 31
Questionário
4) Qual o comando o usuário deve utilizar para submeter um job cujo onome é ”exemplo.job” para a máquina 11?
R.: qsub -q [email protected] exemplo.job
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 27 / 31
Questionário
5) Qual a vantagem de se utilizaar o OGE para computação de altodesempenho?
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 28 / 31
Questionário
5) Qual a vantagem de se utilizaar o OGE para computação de altodesempenho?
R.: O OGE é um software voltado especificamente para computação dealto desempenho, tornando-se assim melhor que softwares mais genéricos.
Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 29 / 31