In parallel and distributed processing, tasks are ordinarily clustered and assigned to different processors or machines before they are scheduled. The assignment of tasks to processors is called clustering. The ordering of tasks for execution is called cluster scheduling. The set of tasks is typically modelled as a directed acyclic task graph (DAG). As a result of the clustering process, the set of tasks in each cluster either forms a total ordering, called linear, or it doesn’t, called nonlinear, with respect to the DAG. It has been shown that two-cluster scheduling with one cluster being linear and the other nonlinear is strongly NP-hard. In this paper, we develop an exact algorithm to compute an optimal schedule for the above problem in O(e + α(n)n) time when tasks are restricted to unit tasks, where n is the number of nodes, e is the number of edges, and α(n) is similar to inverse Ackerman function. We also show that when both clusters are nonlinear, even when tasks are restr...