where can I find some information regarding how to implement a two phase commit. the implementation should be fast and should be non blocking (that is it should be able to accept, submit and execute jobs parallely).