Apresentação do artigo "Controlando a Contenção de Recursos para Promover Justiça em uma Federação Peer-to-Peer de Nuvens Privadas" no WCGA 2015 - SBRC 2015.
O que levaria um provedor de computação na nuvem a ingressar em uma federação de nuvem?
Todo provedor de computação em nuvem enfrente momentos de alta demanda e de baixa demanda, e cada situação dessa tem suas consequências.
Como está explícito no próprio título, o contexto no qual este trabalho está inserido são as federações de provedores de computação em nuvem.
O que levaria um provedor de computação na nuvem a ingressar em uma federação de nuvem?
É sabido que nenhum provedor de nuvem possui recursos infinitos (como inclusive alguns provedores público citam como forma de vender o seu produto). Também sabemos que cada provedor enfrenta períodos de alta demanda – o que sobrecarrega a oferta dos seus serviços, e também de baixa demanda – fazendo com que alguns de seus recursos permaneçam ociosos em determinados períodos de tempo.
Ambos os casos apresentam um tipo de problema para o provedor de nuvem: 1 – com a alta demanda, tais provedores encontram dificuldades em oferecer a Qualidade de Serviço acordada em seus contratos; 2 – com a baixa demanda, os recursos perdem utilidade uma vez que apenas estão depreciando ao longo do tempo. Tais recursos possuem alto custo para aquisição e custo considerável de manutenção e hospedagem (técnicos p/manutenção, alto custo com energia o que envolve refrigeração).
Já que a nossa federação possui arquitetura descentralizada, um dos grandes desafios é promover cooperação em um ambiente no qual os participantes não se conhecem e em tese são egoístas e racionais, ou seja, querem maximizar o seu proveito.
Definir caronas!
Em grades oportunistas, geralmente o objetivo é aumentar a utilidade de recursos ociosos, oferecendo-os a quem estiver precisando em um dado momento. A ideia é que posteriormente quem emprestou os recursos seja retribuído por quem consumiu...
Como os recursos possuem baixo custo de manutenção e não gastam tanta energia como os datacenters de nuvens, faz sentido que eles sejam disponibilizados sempre que não estiverem em uso. Isto aumentaria as chances de um participantes receber futuros favores (quanto mais favores eu doar maior a minha chance de ser retribuído).
Então, para analisar nosso caso com mais precisão, definimos 2 métricas: satisfação, a razão entre todos os recursos consumidos sobre todos os recursos requisitados por um participante; justiça, a razão entre os recursos consumidos e doados pelo participante.
Em outras palavras, satisfação pode ser traduzido na probabilidade de um participante receber favores quando requisitar. E justiça pode ser traduzido no grau de reciprocidade do sistema. (embora justiça por si só já seja um termo fácil de entender)
Por isto, nós chamamos a NoF projetada para grades computacionais oportunistas de SD-NoF. Ao ofertar todos os recursos ociosos, eu mantenho minha satisfação no grau mais elevado possível.
Explicitar o que é contenção de recursos.
Proposta da FD-NoF: se os colaboradores baixassem a oferta de recursos eles elevariam a contenção do sistema. Assim não haveria recursos excedentes.
Explicitar o que é contenção de recursos.
Diante do exposto, nós já sabíamos que em cenários de baixa contenção a justiça dos colaboradores era afetada, uma vez que os caronas aumentavam sua satisfação consumindo os recursos excedentes.
Mas nós queríamos saber o quão afetados eram os colaboradores.
Portanto, projetamos um modelo de simulação para entender melhor como colaboradores e caronas se saíam em alguns cenários.
Na nossa primeira avaliação, nós queremos saber como o conjunto de colaboradores se comporta em relação aos caronas. Por isso, todos os colaboradores tem as mesmas D e C. Posteriormente, eliminamos essa simplificação pra compreender melhor como um colaborador com maior D se comporta em relação ao que tem menor D.
Kappa = req/prov
Os cenários com f-alto são para avaliarmos os colaboradores em uma situação extrema.
Pensamos também em valores com f-baixo, de modo que a quantidade de caronas fosse suficiente para consumir os recursos excedentes dos colaboradores, mas mantendo o nível de contenção entre os caronas como 1, ou seja, de modo que houvesse recursos suficientes para todos os caronas, o que os manteria com uma alta satisfação.
A SD-NoF garante os melhores níveis de satisfação possível. Pra kappa=0.5, podemos ver que não interessa a qtdade de free riders, os colaboradores sempre terão satisfação próxima de 1 (o máximo). A medida em que a contenção vai aumentando a satisfação dos colaboradores tende a cair. Para kappa=1, a satisfação é marjoritariamente acima de 75% (o que acontece é que em alguns turnos a contenção tende a ser menor que 1, graças à probabilidade de consumir, e assim os caronas consomem os excedentes). Para kappa=2 e kappa=4 muito dificilmente sobrará recursos para algum carona, por isso a satisfação dos colaboradores fica respectivamente 0.5 e 0.25.
Aqui enxergamos o problema da SD-NoF. Em cenários de baixa contenção, apesar dos colaboradores terem o máximo possível de satisfação, eles possuem o nível de justiça afetado, pois os caronas consomem os recursos excedentes, que posteriormente não serão devolvidos para o colaborador que doou.
E aqui a gente confirma que quanto mais caronas, maior o dano a justiça dos colaboradores. Então, de agora em diante utilizaremos apenas f=75%, um caso extremo para a justiça dos colaboradores, uma vez que o foco desse nosso trabalho é melhorar a justiça.
Com esse gráfico a gente pode ver que a FD-NoF, apesar de naturalmente ela tender a baixar o nível de satisfação dos colaboradores (já que eles passarão a ofertar menos recursos), está praticamente igual.
Para k=0.5, os colaboradores perdem apenas 1% de satisfação, e para k>=1, eles possuem desempenho idêntico.
Ao analisarmos K=0.5 e K=1, os casos onde a justiça pode ser afetada devido à sobra de recursos, podemos ver que os colaboradores apresentaram uma melhoria em ambos os cenários.
Para K=0.5, os colaboradores tiveram ganho absoluto médio de 20% de justiça e e ganho relativo de 38%.
Então a pergunta relativa ao trade-off seria: “vale a pena trocar 1% de satisfação por 38% de justiça?”