Click here to load reader
View
214
Download
0
Embed Size (px)
2 QoS em Sistemas Operacionais
Este Captulo tem o objetivo de evidenciar as deficincias encontradas nos
subsistemas de rede e de escalonamento de processos de sistemas operacionais de
propsito geral (GPOS3), no que se refere ao oferecimento de servios com QoS, e
mostrar as solues descritas em vrios trabalhos relacionados. Entre esses
trabalhos, foram encontrados trs tipos principais de estudo: estudos isolados
sobre os subsistemas citados, independentes do sistema operacional; estudos para
o desenvolvimento de novos sistemas operacionais; e estudos para a extenso dos
sistemas operacionais existentes, principalmente os GPOS.
Identificando os principais mecanismos de proviso de QoS descritos por
esses trabalhos, podem ser determinados seus aspectos em comum e, assim,
fundamentar a construo dos frameworks propostos. A terminologia utilizada
para a descrio das funcionalidades em questo a mesma definida em (Gomes,
1999).
Primeiramente, sero apresentadas as fases que compem a proviso de QoS
no contexto de sistemas operacionais, descrevendo quais as funes envolvidas
em cada uma delas. Aps a anlise sobre os GPOS e trabalhos relacionados, ser
feita uma modelagem genrica do funcionamento do sistema, onde estaro
representados os subsistemas de processamento e comunicao e seus recursos,
que participam do oferecimento de servios s aplicaes. Ser identificado um
importante relacionamento entre esses subsistemas, que deve ser considerado na
construo dos frameworks propostos no Captulo 3.
3 GPOS Sigla para General Purpose Operating System ser utilizada para identificar os sistemas operacionais de propsito geral, tanto no singular quanto no plural. Os GPOS so os sistemas encontrados comercialmente com certa popularidade e que no se dedicam a tarefas e aplicaes especficas.
DBDPUC-Rio - Certificao Digital N 0016042/CA
QoS em Sistemas Operacionais
19
2.1 Fases da Proviso de QoS
A proviso de QoS requer que o fornecedor do servio, no caso o sistema
operacional, oferea certos mecanismos que sero utilizados em fases bem
definidas do ciclo de vida de um servio. Tais fases sero descritas a seguir,
destacando as funes e estruturas bsicas necessrias em cada uma delas.
Iniciao do Provedor de Servios
Solicitao de Servios
Estabelecimento de Contratos de Servio
Manuteno de Contratos de Servio
Encerramento de Contratos de Servio
2.1.1 Iniciao do Provedor de Servios
A iniciao do provedor de servios compreende a identificao dos
recursos disponveis para o fornecimento dos servios e a definio do estado
interno inicial do provedor. desejvel que a associao dos recursos aos
servios seja feita dinamicamente, no momento da solicitao, tanto para que os
recursos possam ser alocados de forma mais eficiente, quanto para que o sistema
oferea uma maior flexibilidade aos usurios. Associaes estticas, no entanto,
podem ser feitas em tempo de projeto e ativadas nesta fase de iniciao.
Em sistemas operacionais, a iniciao pode ser feita no momento de carga
do sistema, quando o kernel conhecer os recursos disponveis e podero ser
determinadas as suas estruturas iniciais para alocao. Dependendo da
adaptabilidade do sistema, o servio poder ser reiniciado a partir de um novo
estado interno4 inicial, sem que o sistema operacional tenha que ser recarregado.
Em um nvel de adaptabilidade ainda maior estariam os sistemas que podem
incluir novos servios em tempo de operao, agregando um novo conjunto de
4 O estado interno de um sistema compreende a situao de particionamento de cada um dos recursos gerenciados e os conjuntos de polticas de QoS para uso pelos servios oferecidos.
DBDPUC-Rio - Certificao Digital N 0016042/CA
QoS em Sistemas Operacionais
20
polticas de proviso de QoS ao seu estado interno anterior. Dessa forma, o
sistema operacional ter a capacidade de adotar, por exemplo, novas estratgias de
escalonamento e de admisso de recursos.
2.1.2 Solicitao de Servios
Completada a fase de iniciao, o provedor se encontra pronto para receber
as solicitaes de servios dos usurios. Num sistema operacional, a solicitao
pode partir diretamente da aplicao ou pode ter sido repassada por um outro nvel
de abstrao, atravs, por exemplo, de um protocolo de negociao de QoS. A
solicitao contm os parmetros que correspondem caracterizao do trfego
para os fluxos5 gerados pelo usurio e especificao da QoS necessria.
Dependendo do nvel de abstrao no qual esto definidos os parmetros da
solicitao, o sistema deve possuir funes de mapeamento capazes de traduzi-los
para valores relacionados diretamente com a capacidade de processamento ou
comunicao dos recursos. Por exemplo, no nvel da aplicao, a especificao da
QoS de um sistema de vdeo sob demanda poderia envolver a taxa de atualizao
do vdeo e o tamanho de seu quadro. No nvel do sistema, esses parmetros devem
ser mapeados para a taxa de pico de transmisso de bits atravs de um enlace de
rede e para a taxa de instrues executadas por uma CPU para tratar o vdeo.
2.1.3 Estabelecimento de Contratos de Servio
Aps a solicitao de um servio, o provedor deve executar suas funes de
controle de admisso para verificar a viabilidade da aceitao de um novo fluxo,
de forma que a QoS solicitada seja garantida. As estratgias de admisso se
baseiam em informaes sobre as reservas de recursos j efetuadas ou em
5 Neste trabalho, um fluxo pode representar uma seqncia de unidades de informao (e.g. pacotes de dados) transmitida entre processos (dispostos local ou remotamente) ou uma seqncia de instrues a ser executada pelo microprocessador de uma estao. Esta diferenciao ser discutida na Seo 2.3.
DBDPUC-Rio - Certificao Digital N 0016042/CA
QoS em Sistemas Operacionais
21
medies da utilizao real dos recursos para determinar se o novo servio poder
ser aceito, dadas a especificao da QoS e a caracterizao do trfego gerado.
De acordo com a categoria de servio solicitada, as estratgias de admisso
podem se comportar de maneira conservadora ou agressiva. Estratgias de
admisso conservadoras so aquelas que calculam a reserva dos recursos de forma
menos eficiente, permitindo um nmero bem menor de fluxos coexistentes, mas
com fortes garantias de manuteno da QoS. J as estratgias agressivas avaliam
as reservas de forma mais inteligente, admitindo um maior nmero de fluxos, mas
correndo um certo risco de ocorrncia de sobrecarga sobre o recurso em algum
momento.
Se o controle de admisso concluir que a solicitao do servio no pode ser
atendida, o contrato de servio no estabelecido, podendo o usurio realizar uma
requisio equivalente em um outro momento ou, imediatamente, especificar
parmetros mais relaxados para o servio.
Por outro lado, se a admisso for bem sucedida, so acionados os mtodos
para a criao dos recursos virtuais6, atravs da configurao dos escalonadores
de recursos, dos classificadores e dos agentes de policiamento. Assim,
implicitamente est estabelecido o contrato de servio, que obriga o provedor a
manter o nvel de QoS solicitado ao longo do perodo de proviso e o usurio a
submeter seu fluxo em conformidade com a caracterizao informada.
As operaes que compem a fase de estabelecimento de contratos de
servios so providas por mecanismos de negociao de QoS. Esses mecanismos
tambm so responsveis pela orquestrao dos recursos, que consiste na diviso
de responsabilidade da negociao de QoS entre os subsistemas que integram o
provedor de servios ou entre os mltiplos recursos de um mesmo subsistema.
Particularmente, em sistemas operacionais ocorrem ambas situaes de
orquestrao de recursos. Por exemplo, em aplicaes multimdia distribudas, o
negociador de QoS de um sistema operacional deve delegar a negociao aos
6 Um recurso virtual corresponde parcela reservada do recurso para uso exclusivo do fluxo submetido pelo usurio. Este conceito ser melhor discutido no Captulo 3.
DBDPUC-Rio - Certificao Digital N 0016042/CA
QoS em Sistemas Operacionais
22
mecanismos especficos dos principais subsistemas envolvidos, no caso, os
subsistemas de rede e de gerenciamento de processos. Por sua vez, o subsistema
de rede pode abranger o gerenciamento de vrias filas de pacotes presentes em
diferentes nveis da pilha de protocolos de rede. O negociador de QoS do
subsistema de rede deve, ento, dividir sua responsabilidade entre negociadores
que poderiam estar associados a cada um dos nveis de protocolo de rede, onde
houver reteno de pacotes para a comunicao com o prximo nvel da pilha.
2.1.4 Manuteno de Contratos de Servio
Para manter os acordos estabelecidos pelos contratos de servio, o provedor
deve assegurar que os servios sejam oferecidos conforme as especificaes de
QoS solicitadas e que os fluxos submetidos pelos usurios estejam conformes com
relao aos perfis de trfego fornecidos. O comportamento