1. A method for monitoring task processing in a distributed system, comprising: distributing a task as a plurality of subtasks to a plurality of computing devices within the distributed system for execution, wherein a respective computing device executes a subtask, the subtask including a remote method invocation (RMI) object that invokes a callback function each time the subtask enters a distinct processing phase; monitoring execution of the plurality of subtasks using at least one message generated by the RMI object on the respective computing device; and determining a progress and status information of the task based on the at least one message.