Most parallel applications leave the scheduling problem of their constituent processes to a general purpose scheduler, such as an operating system scheduler. Generally, constituent processes of a parallel application interact. For example, one process interacts with another by using its produced data. These interactions of processes introduce dependencies amongst them. However, general purpose schedulers are unaware of these dependencies, which can have negative impact the performance of the application. The work presented in this talk aims to overcome this deficiency by synthesizing interaction-aware schedulers for parallel applications.