A bidirectional leader election algorithm implementing using MPI