Theatre is an actor-based system currently implemented in Java, which enables modelling, analysis and implementation of predictable time-dependent distributed systems like cyber-physical systems. Theatre, though, can also be used for untimed complex systems. The core feature of Theatre is its control-based character. A reflective control layer, which can be tailored to the needs of specific application domains, is responsible for scheduling and dispatching messages asynchronously exchanged among actors. A Theatre system is a federation of theatres (computing nodes), upon which application actors are partitioned. Actors can move from a theatre to another. In its distributed implementation, Theatre rests on a socket network initially established among the interacting theatres. Messages and actors exploit Java serialization/deserialization when moving from a theatre to another. This paper proposes a novel extension of Theatre, Parallel Theatre, which is developed for an exploitation of the computing potential of nowadays multi-core machines with shared memory. Parallel Theatre avoids sockets and Java serialization. A key factor of Parallel Theatre consists in being a completely lock-free computing framework. Locks are avoided not only at the application level, as it was already demonstrated by classical actor systems, but also in the runtime system, thus enabling high-performance computing of scalable systems. This paper describes Parallel Theatre and the particular control forms which were developed for untimed and timed parallel systems. Then two scalable models are presented. The first one is concerned with a parallel algorithm for matrix multiplication. The second example is related to a parallel simulation of a multi-agent model for the Iterated Prisoner’s Dilemma (IPD), which permits to observe the emergence of cooperation in large populations of players. The experimental results confirm the achievement of good execution performance.

Parallel Theatre: An actor framework in Java for high performance computing

Libero Nigro
Membro del Collaboration Group
2020-01-01

Abstract

Theatre is an actor-based system currently implemented in Java, which enables modelling, analysis and implementation of predictable time-dependent distributed systems like cyber-physical systems. Theatre, though, can also be used for untimed complex systems. The core feature of Theatre is its control-based character. A reflective control layer, which can be tailored to the needs of specific application domains, is responsible for scheduling and dispatching messages asynchronously exchanged among actors. A Theatre system is a federation of theatres (computing nodes), upon which application actors are partitioned. Actors can move from a theatre to another. In its distributed implementation, Theatre rests on a socket network initially established among the interacting theatres. Messages and actors exploit Java serialization/deserialization when moving from a theatre to another. This paper proposes a novel extension of Theatre, Parallel Theatre, which is developed for an exploitation of the computing potential of nowadays multi-core machines with shared memory. Parallel Theatre avoids sockets and Java serialization. A key factor of Parallel Theatre consists in being a completely lock-free computing framework. Locks are avoided not only at the application level, as it was already demonstrated by classical actor systems, but also in the runtime system, thus enabling high-performance computing of scalable systems. This paper describes Parallel Theatre and the particular control forms which were developed for untimed and timed parallel systems. Then two scalable models are presented. The first one is concerned with a parallel algorithm for matrix multiplication. The second example is related to a parallel simulation of a multi-agent model for the Iterated Prisoner’s Dilemma (IPD), which permits to observe the emergence of cooperation in large populations of players. The experimental results confirm the achievement of good execution performance.
2020
Actors, asynchronous messages, reflective control on message passing, lock-free parallel computing, Java, scalable multi-agent systems, parallel matrix multiplication, Iterated Prisoner’s Dilemma.
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.11770/307062
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact