Role of Message-Passing in Performance Oriented Parallel Programming