Parallel programming is necessary to solve large
and computation-intensive problems. Parallelism is also the way an
application achieves optimal performance on multi-core processors.
parallel programming poses more challenges than serial programming. The
my research is to investigate a parallel programming model that eases
development of scientific and engineering applications and helps
achieve optimal performance.
Tarragon is a parallel library that raises the
abstraction by providing classes for tasks, inter-task communication,
and dependency descriptions. The run-time structure of an application
by a graph. The graph helps separate performance from correctness and
application-specific concerns. Tarragon encapsulates run-time services
are able to analyze the graph and to discover opportunities for dynamic
optimizations, such as overlap of computation with communication.
that would benefit from dynamic scheduling, dynamic load balancing,
and fine-grain communication are the target of Tarragon.