An efficient fork/join application should maximize parallelism while minimizing overheads, and maximize locality while minimizing contention. However, there is no unique optimal implementation that best resolves such tradeoffs and failing in balancing them may lead to fork/join applications suffering from several issues (e.g., suboptimal forking, load imbalance, excessive synchronization),...
|
Thèse de doctorat : Università della Svizzera italiana, 2018 ; 2018INFO008.
Task granularity, i.e., the amount of work performed by parallel tasks, is a key performance attribute of parallel applications. On the one hand, fine-grained tasks (i.e., small tasks carrying out few computations) may introduce considerable parallelization overheads. On the other hand, coarse-grained tasks (i.e., large tasks performing substantial computations) may not fully utilize the...
|