Distributed Systems Research Group
Grupo de Sistemas Distribuídos
 
 

Home
Members
Publications
Presentations
Related Research Groups
Software
Research Statements
Contact Us

(english version)

Serviço de gerenciamento de recursos no 2K

Introdução

O objetivo desse ambiente é oferecer compartilhamento de recursos entre conjuntos dinâmicos de indivíduos e instituições. Além disso, deve permitir acesso consistente e de baixo custo aos recursos independentemente de sua posição geográfica.

Um dos problemas mais importantes neste ambiente é coordenar o compartilhamento de recursos altamente dinâmicos. Gerenciar os recursos é uma tarefa complexa, sobretudo sob estas circunstâncias, porém fundamental para executar programas de usuários de maneira eficiente e econômica.

O trabalho desenvolvido é uma extensão do gerenciamento de recursos no 2K. O 2K é um sistema operacional distribuído adaptável. Ele soluciona o problema de gerenciamento de recursos em redes heterogêneas, adaptando-se dinamicamente a novas mudanças.

Gerenciamento de Recursos no 2K

O serviço de gerenciamento de recursos no 2K é estruturado como uma coleção de LRMs(Local Resource Managers), GRMs(Global Resource Managers) e CRs(Component Repositories).

Normalmente, um conjunto de máquinas é agrupado formando um agrupamento onde o 2K é instalado. Cada máquina do agrupamento possui um LRM, que informa periodicamente para o GRM mudanças relativas aos recursos disponíveis da máquina, como memória e carga. Além disso, ele oferece um serviço para execução de processos.

O GRM é essencialmente um trader com funcionalidades estendidas para proporcionar algumas funcionalidades adicionais. Sua função é manter a disponibilidade de recursos dos LRMs. É também responsável por encaminhar pedidos de recursos para outros LRMs a fim de garantir a qualidade de serviço pedida por um componente(objeto) qualquer.

Este serviço foi implementado por Tomonori Yamane e pode ser obtido aqui.

O projeto - extensão do modelo

O gerenciamento de recursos do 2K é satifatório se os objetos estiverem num determinado ou agrupamento(cluster). No entanto, eles ficam isolados de recursos disponíveis existentes além de suas fronteiras. É possível que um objeto necessite de uma determinada quantidade de memória para ser executado e as máquinas do agrupamento onde está localizado não possam atendê-lo adequadamente no momento da requisição.

Dessa forma, seria interessante haver um mecanismo que "expandisse" seus domínios e agregasse mais recursos disponíveis para uma localidade, aumentando, portanto, a probabilidade de sucesso ao atender uma requisição de algum recurso por um objeto.

Como descrito anteriormente, um agrupamento possui um número arbitrário de máquinas, cada uma com um LRM operando, e um GRM para estes LRMs. Para que dois ou mais agrupamentos utilizem recursos e componentes mutuamente, é necessário desenvolver uma estrutura que permita que cada integrante possa ter acesso a informações sobre onde estão localizados os recursos desejados. Assim, o propósito deste trabalho é apresentar e criar um mecanismo para interligar diferentes agrupamentos.

A preocupação primordial no design deste mecanismo é garantir a escalabilidade do sistema. É preciso também introduzir e retirar agrupamentos com o mínimo de impacto sobre o resto do sistema.

Os agrupamentos são interligados através de uma estrutura de árvore a fim de interligá-los para compartilhar informações. Dois ou mais domínios que pretendem disponibilizar os recursos são "conectados" por meio das informações de um outro GRM, que possui dados aproximados sobre as condições dos recursos de cada um de seus descendentes diretos.

A implementação da extensão pode ser encontrada em 2k-08.09.2004.tgz (versão instável).

Artigos relacionados


Contato: jmarques@ime.usp.br