Ver registro no DEDALUS
Exportar registro bibliográfico

Uma infraestrutura para aplicações distribuídas baseadas em atores Scala (2012)

  • Authors:
  • USP affiliated authors: CORAINI, THIAGO HENRIQUE - IME
  • USP Schools: IME
  • Sigla do Departamento: MAC
  • Subjects: SISTEMAS DISTRIBUÍDOS
  • Language: Português
  • Abstract: Escrever aplicações concorrentes é comumente tido como uma tarefa difícil e propensa a erros. Isso é particularmente verdade para aplicações escritas nas linguagens de uso mais disseminado, como C++ e Java, que oferecem um modelo de programação concorrente baseado em memória compartilhada e travas. Muitos consideram que o modo de se programar concorrentemente nessas linguagens é inadequado e dificulta a construção de sistemas livres de problemas como condições de corrida e deadlocks. Por conta disso e da popularização de processadores com múltiplos núcleos, nos últimos anos intensificou-se a busca por ferramentas mais adequadas para o desenvolvimento de aplicações concorrentes. Uma alternativa que vem ganhando atenção é o modelo de atores, proposto inicialmente na década de 1970 e voltado especificamente para a computação concorrente. Nesse modelo, cada ator é uma entidade isolada, que não compartilha memória com outros atores e se comunica com eles somente por meio de mensagens assíncronas. A implementação mais bem sucedida do modelo de atores é a oferecida por Erlang, a linguagem que (provavelmente) explorou esse modelo de forma mais eficiente. A linguagem Scala, surgida em 2003, roda na JVM e possui muitas semelhanças com Java. No entanto, no que diz respeito à programação concorrente, os criadores de Scala buscaram oferecer uma solução mais adequada. Assim, essa linguagem oferece uma biblioteca que implementa o modelo de atores e é fortemente inspirada nos atores de Erlang. O objetivo deste trabalho é explorar o uso do modelo de atores na linguagem Scala, especificamente no caso de aplicações distribuídas. Aproveitando o encapsulamento imposto pelos atores e a concorrência inerente ao modelo, propomos uma plataforma que gerencie a localização dos atores de modo totalmente transparente ao desenvolvedor e que tem o potencial de promover o desenvolvimento de aplicações eficientes e escaláveis.Nossa infraestrutura oferece dois serviços principais, ambos voltados ao gerenciamento da localização de atores: distribuição automática e migração. O primeiro deles permite que o programador escreva sua aplicação pensando apenas nos atores que devem ser instanciados e na comunicação entre esses atores, sem se preocupar com a localização de cada ator. É responsabilidade da infraestrutura definir onde cada ator será executado, usando algoritmos configuráveis. Já o mecanismo de migração permite que a execução de um ator seja suspensa e retomada em outro computador. A migração de atores possibilita que as aplicações se adaptem a mudanças no ambiente de execução. Nosso sistema foi construído tendo-se em mente possibilidades de extensão, em particular por algoritmos que usem o mecanismo de migração para melhorar o desempenho de uma aplicação.
  • Imprenta:
  • Data da defesa: 28.11.2011

  • Exemplares físicos disponíveis nas Bibliotecas da USP
    BibliotecaCód. de barrasNúm. de chamada
    IME31000068125QA771.T C787i e.2
    How to cite
    A citação é gerada automaticamente e pode não estar totalmente de acordo com as normas

    • ABNT

      CORAINI, Thiago Henrique; REVERBEL, Francisco Carlos da Rocha. Uma infraestrutura para aplicações distribuídas baseadas em atores Scala. 2012.Universidade de São Paulo, São Paulo, 2012.
    • APA

      Coraini, T. H., & Reverbel, F. C. da R. (2012). Uma infraestrutura para aplicações distribuídas baseadas em atores Scala. Universidade de São Paulo, São Paulo.
    • NLM

      Coraini TH, Reverbel FC da R. Uma infraestrutura para aplicações distribuídas baseadas em atores Scala. 2012 ;
    • Vancouver

      Coraini TH, Reverbel FC da R. Uma infraestrutura para aplicações distribuídas baseadas em atores Scala. 2012 ;

    Últimas obras dos mesmos autores vinculados com a USP cadastradas na BDPI: