OSBRAIN: A GENERAL-PURPOSE MULTI-AGENT SYSTEM MODULE

Miguel Sánchez de León Peque

2016-10-08

About

Us

Me

Introduction

Source: Stanford CPU DB
Source: Stanford CPU DB

Concurrency

  • Locks
  • Semaphores
  • Critical sections

Code fails. Misterious bugs...

Irreversible disorders...

Relativity

e = mc²

  • e: energy (effort)
  • m: mass (lines of code)
  • c: speed of light concurrency

Multi-agent systems

  • Autonomy of the agents
  • Local views
  • Decentralization

osBrain

Basics

A general purpose multi-agent system

  • Independent agents
  • Message passing
  • Easy configuration and deployment

History

A real-time automated-trading platform

  • Market data (fast, parallel)
  • Isolation of strategies

Processes vs. threads

Have you met GIL?

ØMQ

  • Higher level than raw sockets
  • Asynchronous communication
  • Multiconnetion (not necessarily one-to-one).
  • Multipattern (REQ-REP, PUB-SUB...).
  • Multitransport (inproc, ipc, tcp, pgm, epgm).
  • Multilanguage (C, C++, Python, Scala, Haskell, Go...).
  • Multiplatform.
  • Scalable (threads, processes, machines)
  • LGPL.

Pyro4

  • PYthon Remote Objects
  • Treat remote objects as local
  • Has a name server implementation

Examples

osbrain.readthedocs.io

The end

References

Contact

We are hiring!

hired = [name for name, CV in candidates
         if CV in inbox('rrhh@opensistemas.com') and CV]

Thank you!

  • Questions?
  • Comments?
  • Suggestions?