Myrmics: Scalable, Dependency-aware Task Scheduling on Heterogeneous Manycores
Spyros Lyberis, Polyvios Pratikakis, Iakovos Mavroidis, Dimitrios S., Nikolopoulos

TL;DR
Myrmics is a scalable runtime system for dependency-aware task scheduling on heterogeneous manycore processors, effectively managing data hazards and achieving high scalability with reduced programming effort.
Contribution
The paper introduces Myrmics, a novel runtime system design that enhances scalability for task-based programming on manycore processors, addressing limitations of existing systems.
Findings
Myrmics scales successfully to hundreds of cores.
Achieves 10-30% performance overhead compared to MPI benchmarks.
Reduces programming effort relative to message-passing implementations.
Abstract
Task-based programming models have become very popular, as they offer an attractive solution to parallelize serial application code with task and data annotations. They usually depend on a runtime system that schedules the tasks to multiple cores in parallel while resolving any data hazards. However, existing runtime system implementations are not ready to scale well on emerging manycore processors, as they often rely on centralized structures and/or locks on shared structures in a cache-coherent memory. We propose design choices, policies and mechanisms to enhance runtime system scalability for single-chip processors with hundreds of cores. Based on these concepts, we create and evaluate Myrmics, a runtime system for a dependency-aware, task-based programming model on a heterogeneous hardware prototype platform that emulates a single-chip processor of 8 latency-optimized and 512…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Cloud Computing and Resource Management
