1. A method of dynamic resource allocation for a system having at least one processing unit, the method comprising the steps of: receiving information on a task to which resources are to be allocated and partitioning the task into one or more parallel task units; converting the one or more parallel task units into a task block having a shape that is formed based on estimated execution times of the one or more parallel task units and whether dependency exists between the one or more parallel task units; allocating resources to the task block by placing the task block on a resource allocation plane having a time axis and a processing unit axis; and executing the task according to resource allocation information.