SPLASH: Stanford parallel applications for shared-memory
ACM SIGARCH Computer Architecture News
A dynamic processor allocation policy for multiprogrammed shared-memory multiprocessors
ACM Transactions on Computer Systems (TOCS)
An energy saving strategy based on adaptive loop parallelization
Proceedings of the 39th annual Design Automation Conference
Single-ISA Heterogeneous Multi-Core Architectures: The Potential for Processor Power Reduction
Proceedings of the 36th annual IEEE/ACM International Symposium on Microarchitecture
Dynamic partitioning of processing and memory resources in embedded MPSoC architectures
Proceedings of the conference on Design, automation and test in Europe: Proceedings
The M5 Simulator: Modeling Networked Systems
IEEE Micro
Evaluating the potential of multithreaded platforms for irregular scientific computations
Proceedings of the 4th international conference on Computing frontiers
Proceedings of the 13th international conference on Architectural support for programming languages and operating systems
ADAM: run-time agent-based distributed application mapping for on-chip communication
Proceedings of the 45th annual Design Automation Conference
ICCSA'12 Proceedings of the 12th international conference on Computational Science and Its Applications - Volume Part I
Dynamic Power and Thermal Management of NoC-Based Heterogeneous MPSoCs
ACM Transactions on Reconfigurable Technology and Systems (TRETS)
Hi-index | 0.00 |
We present a framework for run-time parallelism adaptation of multithreaded applications in multi-core systems. Multi-core systems often execute diverse workloads of multithreaded programs with different system resource utilizations and varying levels of parallelism. As a result, the availability of system resources for individual components of the workloads changes at run-time in an unpredictable manner. Consequently, the level of statically determined parallelism by the system infrastructure, e.g. number of concurrent threads, could be suboptimal and lead to performance degradations. The proposed framework monitors the dynamically changing shared system resources, such as the available processor cores, and adapts the number of threads used by the applications throughout a parallel loop execution so as to match the parallelism level to the changed state of the system resources. The end result is the elimination of sizable overheads due to improper level of parallelism, and the resultant serialization of threads on a single core, that could easily occur in a dynamic system environment.