Il nostro cluster di server è composto da 20 macchine, ciascuna con 10 pid di 5 thread. Ci piacerebbe un modo per impedire a due thread, in qualsiasi pid, su qualsiasi macchina, di modificare lo stesso oggetto nello stesso momento.Quali sono alcuni buoni modi per eseguire il blocco di intermachine?
Il nostro codice è scritto in Python e gira su Linux, se questo aiuta a restringere le cose.
Inoltre, è un caso piuttosto raro che due thread di questo tipo vogliano fare questo, quindi preferiremmo qualcosa che ottimizzi il caso "solo un thread ha bisogno di questo oggetto" per essere veramente veloce, anche se questo significa che il " un thread ha bloccato questo oggetto e un altro ne ha bisogno "il caso non è eccezionale.
Quali sono alcune delle migliori pratiche?
Come si fa la comunicazione tra processi? Usi una qualsiasi delle implementazioni di Python MPI o usi il file system o ...? – stephan