Você está na página 1de 4

Panorama de ferramentas para gerenciamento de clusters

Claudio Schepke, Tiaraj A. Diverio Programa de Ps-Graduao em Computao Instituto de Informtica, UFRGS {cschepke,diverio}@inf.ufrgs.br Resumo
O uso de clusters tem sido uma das alternativas mais adotadas para o desenvolvimento de sistemas computacionais paralelos. No entanto, a congurao e manuteno deste tipo de arquitetura envolve diversos fatores, sendo simplicada pela existncia de ferramentas especcas para cada problema. Neste trabalho sero apresentadas algumas ferramentas que facilitam a instalao de sistemas operacionais e programas que possibilitam o gerenciamento e monitorao de todo o sistema, buscando descrever as diferentes alternativas existentes para cada caso.

Marcelo V. Neves, Andrea S. Charo Laboratrio de Sistemas de Computao Curso de Cincia da Computao, UFSM {veiga,andrea}@inf.ufsm.br
sentar as caractersticas de algumas ferramentas que permitam realizar diferentes tarefas relacionadas ao gerenciamento de clusters. A prxima seo descreve alguns recursos que facilitam a instalao, utilizao e manuteno do sistema. A seo 3 apresenta as ferramentas de escalonamento de tarefas. Na seqncia so discutidas as caractersticas de alguns programas de monitorao utilizados atualmente. Por m so apresentadas as concluses obtidas com a realizao do trabalho.

2. Instalao do Sistema
2.1. Mecanismos de Instalao Automtica

1. Introduo
Clusters so comumente utilizados em aplicaes de simulao, biotecnologia, petroqumica, modelagem de mercados nanceiros, minerao de dados, processamento de imagens e servidores de msica e jogos para a Internet. Um cluster um conjunto de computadores independentes conectados por rede que formam um sistema nico atravs do uso de software [1]. Em geral clusters so classicados segundo alguns critrios. Um cluster dito homogneo quanto todos os ns da mquina possuem a mesma congurao; caso contrrio eles so conhecidos como heterogneos. J o nmero de processadores existentes por mquina permite a classicao entre mono (um processador) ou multiprocessados (vrios processadores), sendo freqente neste ltimo caso a utilizao de dois processadores. Uma terceira classicao leva em conta o modo de congurao do cluster. Neste caso, um cluster pode ser formado atravs de um determinado nmero de computadores ou at de constelaes (cluster de clusters) [19]. O gerenciamento de clusters envolve diversos fatores, desde a instalao do sistema operacional, at a denio de ferramentas para a congurao, manuteno, monitoramento e escalonamento de tarefas. Este artigo busca apre Este trabalho fomentado pelo CNPq.

Clusters so geralmente formados por um nmero bastante grande de computadores. A instalao e congurao individual de cada sistema operacional para cada mquina pode levar muito tempo. Como em geral as mquinas utilizam o mesmo sistema operacional possvel fazer uso de um mecanismo automtico de instalao. Para tanto existem diversas ferramentas. A seguir sero apresentadas algumas delas, buscando descrever as suas principais caractersticas. Kickstart [16]: um sistema desenvolvido para RedHat Linux que permite colocar todas as selees que o usurio faria na instalao manual, como seleo da linguagem, parties, pacotes a serem instalados, etc, em um arquivo de congurao, eliminando toda iterao com o usurio. FAI (Fully Automatic Installation) [7]: um conjunto de scripts e arquivos de congurao para instalao automatizada de sistema Debian Linux em um agregado com um grande nmero de ns. FAI um mtodo escalvel, onde cada n realiza a sua prpria instalao a partir de um arquivo de congurao de um servidor. Para tanto, um n cliente carrega um sistema temporrio, via rede ou disquete, que comea a instalao propriamente dita.

Replicator [3]: outro recurso desenvolvido exclusivamente para sistemas Debian Linux, funcionando como um duplicador de instalao. ALICE [4]: um sistema para SuSE Linux que permite instalar e congurar vrias mquinas automaticamente com o mnimo possvel de interao humana. Baseado em interfaces como syslinuxrc, YaST e susecong, alm de instalar os sistema operacional, ALICE tambm pode criar grupos e usurios, ativar servios, etc. OSCAR (Open Source Cluster Application Resources) [11]: um ambiente para a instalao, congurao e gerenciamento de clusters. OSCAR apresenta de forma integrada os recursos mais utilizados em cluster, disponibilizando a congurao automtica de componentes, bem como a instalao eciente do ambiente bsico como sistema operacional e ferramentas de administrao e operao. A verso corrente de OSCAR possui suporte para as distribuies Linux Red Hat, Fedora e Mandriva.

Ka-deploy [20]: uma ferramenta que faz parte do Ka Clustering Tools, que permite replicar uma mquina Linux muitas vezes ao mesmo tempo. A carga remota em clusters cria uma corrente de dados entre os ns, cada n copia os dados para seu disco local e envia para o resto da corrente. ClusterWorx [15]: outro exemplo de ferramenta para auxiliar o processo de carga remota. Ele foi desenvolvido pela Linux NetworX, possuindo tambm um gerenciador de imagens.

2.3. Atualizao e congurao do sistema


Instalar e congurar pacotes nos ns de um agregado de computadores pode ser outro grande problema, principalmente quando este formado por algumas dezenas ou centenas de ns. A primeira alternativa o compartilhamento dos arquivos por NFS (Network File System), mas isso pode congestionar a rede com o aumento do numero de ns.Assim necessrio ter um sistema que permita instalar, atualizar e congurar programas nos ns de forma automatizada e com boa escalabilidade. Alguns programas que auxiliam na congurao de clusters so: SCMS (Scalable Cluster Management System) [21]: um sistema desenvolvido pela Universidade Kasetsart (Tailndia) que possui recursos teis para congurao e atualizao remota como, por exemplo, comandos UNIX paralelos, permitindo a execuo da mesma tarefa em vrios ns ao mesmo tempo e a instalao de pacotes RPMs em paralelo. xCAT [8]: desenvolvido pela IBM, um sistema que automatiza alguns processos de instalao e congurao. Ele permite ligar e desligar as maquinas remotamente, acessar a BIOS atravs de um console e usar uma espcie de shell paralelo para executar o mesmo comando em vrios ns. SHOC [24]: um sistema que permite ao administrador, atravs de um shell bash, usar o agregado com se fosse uma nica mquina.

2.2. Carga Remota do Sistema


Para clusters formados por mquinas homogneas possvel fazer a carga remota do sistema operacional. Para tanto, primeiramente feita a instalao do sistema em uma das mquinas do agregado. A partir desta instalao feita uma imagem que car armazenada em um servidor. Essa imagem carregada automaticamente para as mquinas quando elas so iniciadas pela rede. possvel tambm criar vrias imagens, com diferentes conguraes e recursos de programao paralela, permitindo a escolha de uma delas no momento em que o sistema ir ser carregado. A seguir so apresentados alguns programas que permitem a carga remota do sistema. SystemImager [6]: um conjunto de scripts que simplicam os procedimentos para preparao da carga remota. Com ele tambm possvel atualizar as imagens j distribudas para os ns. As atualizaes so rpidas porque somente as partes modicadas so mandadas ao cliente. SystemImager tambm permite o armazenamento de vrias imagens em um servidor, podendo estas serem associadas ns especcos. Rembo Toolkit [22]: um inicializador remoto desenvolvido a partir da ferramenta BpBatch que utiliza o protocolo PXE e permite a execuo de vrias aes em tempo de boot, antes do sistema operacional ser iniciado. Assim, possvel desde particionar o disco rgido, at autenticar usurios, como tambm criar uma imagem de um disco rgido clonando o estrutura de parties.

3. Escalonamento
O escalonamento dene como so utilizados os ns de um cluster, fornecendo, mediante requisio, a possibilidade de uso do mesmo por parte dos usurios. Os objetivos de um escalonador so maximizar a utilizao do cluster, maximizar a quantidade de aplicaes executadas, reduzir o tempo de resposta, mesclar requisies dos usurios com as ordens administrativas e dar a iluso de uma mquina nica e dedicada. Embora alguns paream ser contraditrios entre si, cabe ao escalonador denir a melhor po-

ltica de uso. Algumas ferramentas de escalonamento mais conhecidas so: CCS (Computing Center Software [10, 12]: desenvolvido pelo Centro de Computao Paralela de Paderborn (Alemanha), o objetivo de CCS gerenciar sistemas MPP (Massively Parallel Computing) e clusters num sistema de planejamento. Para isso, a ferramenta permite o acesso aos recursos de forma exclusiva concorrentemente, processamento simultneo do modo interativo e de la, maximizao do uso do sistema atravs do particionamento dinmico e escalonamento, alm de tolerncia a falhas em acesso remotos. A arquitetura do CCS modular, o que permite integrar um grande nmero de sistemas. PBS (Portable Batch System) [17]: Desenvolvido inicialmente pela NASA e posteriormente apresentado em uma verso comercial, PBS apresenta suporte a tarefas tanto de um nico sistema como de mltiplos sistemas. Devido a exibilidade do PBS, os sistemas podem ser agrupados de diferentes formas. O sistema de escalonamento utilizado adiciona as tarefas primeiramente a uma la, para que, posteriormente, o escalonador analise as tarefas. Alm da verso comercial existe tambm uma verso de cdigo aberta conhecida como openPBS [12]. Condor: uma ferramenta que pode ser usada para gerenciar clusters e mltiplos clusters. Para a execuo de tarefas necessrio primeiramente denir os recursos necessrios. A seguir as tarefas so armazenadas em uma lista de espera. Algumas das caractersticas de Condor so a submisso distribuda de tarefas, prioridades para usurios e tarefas, suporte a mltiplos modelos de tarefas, checkpointing e migrao, suspenso de tarefa e posterior continuao, autenticao e autorizao, entre outros. Maui [9]: um escalonador de tarefas congurvel e otimizado, usado em clusters e supercomputadores, capaz de suportar diferentes tcnicas de escalonamento, prioridades dinmicas, reserva de recursos e compartilhamento justo. As tcnicas de otimizao adotadas em Maui permitem aumentar a utilizao dos recursos e diminuir o tempo de resposta na execuo de tarefas paralelas. Implementado em Java, o que permite a extenso e utilizao da ferramenta em diversos ambientes, Maui necessita de uma JVM para ser instalado e utilizado. Crono [14]: possui como objetivo principal o gerenciamento de clusters pequenos e mdios num sistema de planejamento, uma vez que a utilizao do cluster ocorre por meio de de agendamentos. Ele foi desenvolvido pela PUC-RS, disponibilizando servios necessrios para compartilhar um cluster entre vrios usu-

rios. A arquitetura da ferramenta composta de quatro partes, onde estas so responsveis por realizar a interface com o usurio, gerenciar o acesso (validao das requisies), gerenciar as requisies (escalonar pedidos e preparar o ambiente de execuo) e gerenciar o n.

4. Monitorao
A monitorao um processo que consiste em apresentar a utilizao dos recursos de um cluster atravs da anlise de dados recolhidos continuamente do sistema. Desta forma possvel obter informaes sobre a existncia de mquinas ociosas ou com problemas, utilizao da rede, capacidade de processamento do processador e quantidade de memria utilizada, permitindo assim a tomada de decises. Atualmente existem diversas ferramentas que permitem vericar o estado de um ambiente de maneira simples e intuitiva. Como exemplos de aplicaes tempos Ganglia, SCMS e RVision, que sero vistas na seqncia. Ganglia [13]: uma ferramenta de de monitorao para clusters e grids desenvolvida de forma distribuda e escalvel. Um mdulo centralizador coleta e atualiza as informaes, enquanto que cada n mantm uma cpia do estado corrente do sistema. Os dados coletados podem ser visualizados gracamente atravs de uma interface Web. Com Ganglia possvel monitorar qualquer tipo de informao, uma vez que o usurio pode denir mtricas especcas atravs de outra aplicao, alm daquelas j coletadas pelo prprio sistema. Parmon [2]: uma ferramenta comercial que possui uma arquitetura centralizada, sendo dividida em duas partes: servidor, responsvel por monitorar o n, e cliente, onde feita a centralizao de todos os dados monitorados e a visualizao grca e on-line ou textual das informaes. Parmon permite adquirir informaes dos recursos do sistema de vrios ns, acompanhar processos e logs do sistema, alm de denir eventos de alerta (trigger) ao administrador do cluster. Tambm possvel monitorar CPU, memria, rede e disco e executar alguns comandos paralelos. SCMS [21]: tem como objetivo monitorar de forma simples, eciente e robusta clusters de pequeno e mdio porte atravs de uma arquitetura centralizada organizada num mdulo de monitorao e num mdulo de centralizao, o qual armazena os dados monitorados e atende as requisies dos clientes. A ferramenta permite monitorar o uso de CPU, memria, rede e disco, alm de fornecer informaes teis sobre a congurao dos ns do cluster. A coleta de dados ocorre em ciclos ou por demanda, no caso das informaes de con-

gurao do sistema. J a apresentao grca dos dados monitorados por SCMS ocorre no cliente. RVision [5]: uma ferramenta de monitorao desenvolvida com o objetivo de ser adaptvel diferentes clusters, tendo uma arquitetura aberta e congurvel. Para manter essas caractersticas, a ferramenta possui uma interface para a comunicao de clientes com o ncleo da ferramenta. A arquitetura de RVision centralizada, sendo composta um de programa monitor e um programa centralizador. Ao invs do monitor, possvel utilizar um agente SNMP em seu lugar, sendo possvel assim a adio de novas mtricas. O tipo de visualizao ir depender do cliente implementado.

5. Tendncias e Concluso
De uma forma geral as ferramentas de gerenciamento tem evoludo no sentido de incluir diversas funcionalidades em um nico componente, contemplando assim todas as necessidades exigidas na administrao de clusters. Este o caso das ferramentas ROCKS e OpenSCE [23, 18], que apresentam diferentes funcionalidades ou buscam a integrao entre vrios softwares, disponibilizando em um nico recurso a possibilidade de instalao e congurao de software, a monitorao e gerenciamento do estado do cluster, o balanceamento de carga, alm de ferramentas que auxiliem no desenvolvimento de aplicaes. A administrao de clusters envolve diversas questes, muitas das quais com a existncia de solues bem denidas. A escolha de recursos e ferramentas certas para cada tipo de tarefa torna a implementao do sistema mais simples. Este trabalho apresentou diversas ferramentas que auxiliam na automatizao das tarefas de instalao do sistema operacional, congurao e manuteno do sistema. Cada uma dessas ferramentas apresenta caractersticas especcas, apresentando solues denidas para determinados tipos de problema. J na monitorao, as ferramentas apresentam-se bastante dinmicas, possibilitando a ltragem de novas mtricas, alm da possibilidade de extenso e gerenciamento de mais de um agregado.

Referncias
[1] R. Buyya. High Performance Cluster Computing: Architectures and Systems. Prentice Hall PTR, Upper Saddle River, NJ, USA, 1999. [2] R. Buyya. PARMON: A portable and scalable monitoring system for clusters. Software Practice and Experience, 30(7):723739, jun 2000. [3] S. Chaumat. Replicator 2.0 for Debian/GNU Linux 2.2 Manual, 2000. [4] A. F. F. Herschel, P. Hollants. ALICE: Automatic Linux Installation and Conguration Environment, 2000. http://www.suse.de/ fabian/alice/.

[5] T. C. Ferreto, C. A. F. de Rose, and L. de Rose. Rvision: An open and high congurable tool for cluster monitoring. 2nd IEEE/ACM International Symposium on Cluster Computing and the Grid (CCGRID02), page 75, 2002. [6] B. Finley. Systemimager, 2003. http://systemimager.org. [7] M. Grtner, T. Lange, and J. Rhmkorf. The fully automatic installation of a Linux cluster, 1999. [8] M. Govindaraju, S. Krishnan, K. Chiu, A. Slominski, D. Gannon, and R. Bramley. XCAT 2.0 : A Component Based Programming Model for Grid Web Services. In Grid 2002, 3rd International Workshop on Grid Computing, 2002. [9] D. Jackson, Q. Snell, and M. Clement. Core Algorithms of the Maui Scheduler. Lecture Notes in Computer Science, 2221:8794, 2001. [10] A. Keller and A. Reinefeld. CCS Resource Management in Networked HPC Systems, 1998. [11] B. Li. OSCAR: Open Source Cluster Application Resources, 2005. http://oscar.openclustergroup.org. [12] R. Magrin, A. Santos, R. vila, and P. Navaux. Gerenciamento de agregados openpbs x ccs. Escola Regional de Alto Desempenho (ERAD), 2003. [13] M.L. Massie and B.N. Chun and D.E. Culler. The Ganglia Distributed Monitoring System: Design, Implementation, and Experience. Parallel Computing, 30(7), July 2004. [14] M. A. S. Netto and C. A. F. D. Rose. Crono: a congurable management system for linux clusters. In The Third LCI International conference on linux clusters: the hpc revolution, 2002. [15] L. Networx. Clusterworx, 2005. [16] J. OKane. Kickstart. Sys Admin: The Journal for UNIX Systems Administrators, 9(1):3334, 36, Jan. 2000. [17] OpenPBS.org. The Portable Batch System, 2003. http://www.openpbs.org. [18] OpenSCE Project. OpenSCE. Open Scalable Cluster Environment, May 2005. http://www.opensce.org. [19] M. Pasin and D. L. Kreutz. Arquitetura e administrao de aglomerados. In Terceira Escola Regional de Alto Desempenho, Santa Maria, 2003. Sociedade Brasileira de Computao - UNISINOS / UFSM / UNILASSALE. [20] Philippe Augerat and Wilfrid Billot and Simon Derr and Cyrille Martin. A scalable le distribution and operating system installation toolkit for clusters, 2003. http://katools.sourceforge.net/publications/le-distribution.pdf. [21] Putchong Uthayopas and Arnon Rungsawang. SCMS: An Extensible Cluster Management Tool for Beowulf Cluster. In Proceedings of Supercomputing99 (CD-ROM), Portland, OR, nov 1999. ACM SIGARCH and IEEE. Department of Computer Engineering, Kasetsart University. [22] Rembo Technology. Rembo Toolkit, 2005. http://www.rembo.com. [23] Rocks Cluster Distribution. ROCKS, May 2005. http://www.rocksclusters.org. [24] C. M. Tan, C. P. Tan, and W. F. Wong. Shell over a cluster (SHOC): Towards achieving single system image via the shell, Sept. 30 2002.

Você também pode gostar