Partisan - high-performance, high-scalability distributed computing with Erlang and Elixir

Hi All.

In a recent post Chris Meiklejohn (of Riak KV, Lasp-lang, Partisan, AntidoteDB fame) announced that I will be taking over the maintenance of Partisan off him. See his blog post here :slight_smile: .

I am hard at work finishing on getting 5.0.0 release ready (currently working on my fork) and merging onto the official repo.

As part of that, I would love to hear from anybody currently using Partisan in their projects so that I can include a link in the upcoming README file.

Version 5.0.0 will bring some API changes so I want to make sure those who are currently using are aware and understand the changes, so any hint on how you are using it that might help me plan a transition and or prioritise documentation topics would be awesome.

Cheers!

13 Likes

Excellent news Alejandro! We are currently using Partisan for our digital twin technology.
We also forked Partisan and tried to keep it up with the new OTP releases. I’ll check out your repo to see if I can propose a contribution with our code.

2 Likes

Fantastic, I’ll post here when finally merging onto the main repo.

2 Likes

@erlangMax I finally merged my fork onto the main repo. Also published a new tag in Hex incl new set of docs using ExDoc.

Check it out at partisan | Hex

7 Likes

Thanks a lot! I’m giving it a run and check if something breaks in our applications.

2 Likes

Cool! I think you will see some breaks due to API changes. In general I am moving most APIs to the partisan module, which implements an API similar (if not identical) to the erlang and net_kernel modules e.g. we now have better monitoring of nodes and remote refs (when using full mesh topology through partisan_pluggable_peer_service_manager

2 Likes

So, I just release Partisan v5.0.0-beta.14 with several fixes to Hyparview and Client-server topologies, plus a new feature: Parallelism per channel!

Also some more docs

4 Likes

Hi All,

The latest Partisan v5.0.0-beta.22 adds more support for OTP :slight_smile:

This version completes the implementation of the following OTP behaviours and supporting modules.

  • partisan_gen
  • partisan_gen_event
  • partisan_gen_server
  • partisan_gen_statem
  • partisan_gen_supervisor
  • partisan_proc_lib
  • partisan_sys

They are all tested with the original Erlang/OTP Common Test suites adapted for Partisan.

All of them use partisan_monitor that implements node and distributed process monitoring (available for the full-mesh topology only for the time being).

Each module is a fork of the corresponding OTP module. At the moment we have support for the OTP24 versions only but adding support for 25 and 26 soon. The idea is that based on the OTP version you are running Partisan will dynamically compile the corresponding versions of those modules.

Monitoring APIs are exposed via the partisan module which tries to follow the function signatures and semantics of the erlang module.

I am working on extending rpc, erpc and pg support next.

Happy to report that this version is passing Eqwalizer and Dialyzer too :muscle: .

11 Likes

Awesome, I’ve been looking for resource with setup and examples to bootstrap my journey but to no available. Any resources will be very much appreciated.

2 Likes

Hi @dowusu I’m working on completing documentation. You can find them at hex.pm. The latest release documentation is here Partisan — partisan v5.0.0-beta.24.

I’ve recently added a cheatsheet: Partisan Cheatsheet — partisan v5.0.0-beta.24.

Hope that helps.

4 Likes

Thanks a bunch, perusing the docs & cheatsheet.

2 Likes