1. A method for executing a sequential program in parallel on a system containing a plurality of processing nodes connected through an interconnection network, comprising the steps of: segmenting the sequential program into multiple processes that are to be executed in parallel on different processing nodes, establishing dynamic master slave relationships between processes to be executed in parallel based on the program flow requirements, creating a job corresponding to each relation between a master and slave process, creating and forwarding synchronous objects as arguments to each job, wherein said synchronous objects enable blocking of the master process only when the object is being accessed by the slave process and allow access by the master process at intermediate points of execution when the object is not being accessed by the slave process, scheduling the job along with values of said arguments on a processing node and executing said job as a slave process on the processing node, and receiving result of the job execution from the slave process on completion.