Bolsa de PD em Computação Paralela e Distribuída

Post-doctoral fellowship in Parallel and Distributed Computing

Nº: 1594

Área de conhecimento: Ciência da Computação

Field of knowledge: Computer science

Nº do processo FAPESP: 2013/08293-7

FAPESP process: 2013/08293-7

Título do projeto: Difusão de Mensagens Ordenadas Totalmente Assistida por Hardware

Project title: Hardware-Assisted Total Order Broadcast

Área de atuação: Computação Paralela e Distribuída

Working area: Parallel and Distributed Computing

Pesquisador responsável: Munir Skaf

Principal investigator: Munir Skaf

Unidade/Instituição: Instituto de Computação / UNICAMP

Unit/Instituition: Instituto de Computação / UNICAMP

Data limite para inscrições: 10/06/2017

Deadline for submissions: 2017-06-10

Publicado em: 25/05/2017

Publishing date: 2017-05-25

Localização: Av. Albert Einstein, 1251 - Cidade Universitária, Campinas - SP, 13083-852

Locale: Av. Albert Einstein, 1251 - Cidade Universitária, Campinas - SP, 13083-852

E-mail para inscrições: guido@ic.unicamp.br

E-mail for proposal submission: guido@ic.unicamp.br

  • Resumo Summary

    Existem aplicações em data centers que devem atender milhões de requisições por segundo, como a máquina de busca do Google, Spanner, Chubby, etc., enquanto simultaneamente garantem requisitos estritos: consistência forte, alta disponibilidade, previsibilidade de latência, alto desempenho e baixo consumo de energia.

    Para essas aplicações, um requisito de importância fundamental é o da manutenção contínua de consistência na presença de falhas parciais de componentes. A implementação de consistência requer a implementação de protocolo de coordenação (consenso) entre os componentes da aplicação, que é normalmente implementado por meio de um protocolo de difusão de mensagens totalmente ordenadas.

    Infelizmente, esses protocolos são inerentemente custosos em termos de comunicação, isto é, a entrega de uma mensagem totalmente ordenada para a aplicação demanda a troca de várias mensagens pelo protocolo de ordenação total.

    Adicionalmente, é fato conhecido, atestado pela literatura da área, que protocolos de ordenação total de mensagens são de difícil compreensão e implementação. Assim, engenheiros de sistemas que projetam/implementam aplicações críticas que devem ser elásticas, isto é, manter alta disponibilidade e consistência em diferentes escalas, têm geralmente duas opções de projeto:
    (a) Utilização de um modelo de consistência mais fraco que o modelo de consistência serial fornecido por protocolos de ordenação total de mensagens ou;
    (b) Utilização de um protocolo de ordenação total de mensagens e reconhecimento de que a aplicação atingirá potencialmente uma escala menor.

    A adoção de (a) permite a implementação de formas de coordenação que escalam mais facilmente, mas implicam a transferência para o implementador da aplicação de toda complexidade decorrente de agora a aplicação ter a responsabilidade de resolver inconsistências, lidar com controle de concorrência e falhas parciais.

    Nesse contexto, este projeto de pesquisa procura uma solução para o problema de escalabilidade inerente à opção (b), isto é, procura-se mecanismos e técnicas que permitam a implementação de protocolos de ordenação total de mensagens que mantenham consistência forte e sejam escaláveis.

    Assim, o projeto pretende responder: é possível remover o protocolo de ordenação total de mensagens do caminho crítico de computação/comunicação percorrido por aplicações de data centers por meio da implementação de uma versão desses protocolos em hardware? É possível obter uma implementação que não aumente o uso de recursos do data center tais como energia, armazenamento, computação, etc.? Qual é a melhor abordagem, científica e tecnológica, para internalizar a implementação do protocolo de ordenação total de mensagens em um dispositivo de rede?

    Esta é uma vaga para pós-doutorandos em tempo integral, junto à UNICAMP e com bolsa FAPESP PD vinculada ao centro CEPID/CCES. Inscrições devem ser feitas enviando e-mail para guido@ic.unicamp.br. Favor enviar CV junto ao e-mail.

    PhD em Ciência/Engenharia da Computação é necessário. Candidatos que já tenham uma estimativa de sua data de defesa são bem-vindos. Mais informações sobre o CEPID/CCES: www.escience.org.br.

    There are data center applications that have to serve millions of requests per second, e.g., Google's search engine, Spanner, Chubby, etc, while fulfilling very strict, to some extent competing requirements: consistency, high availability, latency predictability, high performance, and low power consumption.

    For such applications, a primary requirement is the maintenance of continuous consistency in the presence of partial failures. The implementation of consistency requires coordination (consensus) among components of the application, which is usually implemented using a total order broadcast protocol.

    Unfortunately, total order broadcast (TOB) protocols are inherently communication costly, meaning that a single delivery of a totally ordered application message demands the exchange of several messages by the TOB protocol.

    In addition, it is also well-known that TOB protocols are difficult to understand and to implement. So, system builders that want to scale their application up have two options:
    (a) Settle for a less stringent form of consistency; or
    (b) Have strong consistency but reduced scalability.

    Option (a) allows the implementation of better performing large scale coordination protocols at the expense transferring to the application builder the complex task of dealing with potential inconsistencies arising from concurrency and/or partial failures.

    In this research project we seek a solution to the scalability problem of option (b), that is, we seek scalable strong consistency (replication).

    So, the questions to be answered by this research are: Is it possible to remove total order broadcast (TOB) from the critical computation/communication path of data center applications by creating a hardware assisted version of it? Can it be done without increasing the resource footprint (energy consumption, storage, computation, etc) of the cluster (data center)? What is the best approach to push a TOB implementation down into a network device?

    This is a postdoctoral full-time benefits-eligible academic position with the University of Campinas (Unicamp) under a FAPESP PD Fellowship. Submissions should be sent to guido@ic.unicamp.br with Resumé attached.

    A PhD in Computer Science/Engineering is required. More information about CEPID/CCES center is at www.escience.org.br.

    This opportunity is open to candidates of any nationalities. The selected candidate will receive a FAPESP's Post-Doctoral fellowship in the amount of R$ 6.819,30 monthly and a research contingency fund, equivalent to 15% of the annual value of the fellowship which should be spent in items directly related to the research activity.

    More information about the fellowship is at: fapesp.br/en/5427.