This paper focuses on the scheduling technique adopted to specify and implement the runtime of Anahy, an environment for cluster computing. The runtime manages a shared memory space allowing the exchange of data between tasks. The scheduling algorithm takes into account the dependence among tasks in order to generate a macro dataflow graph at execution time. The scheduling strategy exploits the relation of dependency - representing writes and reads of data in a shared memory space - to increasing the locality of data access of tasks in order to reduce the overhead handling dependencies among tasks. The paper also presents the Anahy programming interface, which has been developed according to a subset of services proposed by the POSIX threads standard. The subset of services chosen allows describing the concurrence of an application in a fork/join fashion. The paper concludes presenting a performance evaluation of Anahy
展开▼