Title | ||
---|---|---|
Efficient Virtual Memory Sharing via On-Accelerator Page Table Walking in Heterogeneous Embedded SoCs. |
Abstract | ||
---|---|---|
Shared virtual memory is key in heterogeneous systems on chip (SoCs) that combine a general-purpose host processor with a many-core accelerator, both for programmability and performance. In contrast to the full-blown, hardware-only solutions predominant in modern high-end systems, lightweight hardware-software co-designs are better suited in the context of more power- and area-constrained embedded systems and provide additional benefits in terms of flexibility and predictability. As a downside, the latter solutions require the host to handle in software synchronization in case of page misses as well as miss handling. This may incur considerable run-time overheads.
In this work, we present a novel hardware-software virtual memory management approach for many-core accelerators in heterogeneous embedded SoCs. It exploits an accelerator-side helper thread concept that enables the accelerator to manage its virtual memory hardware autonomously while operating cache-coherently on the page tables of the user-space processes of the host. This greatly reduces overhead with respect to host-side solutions while retaining flexibility. We have validated the design with a set of parameterizable benchmarks and real-world applications covering various application domains. For purely memory-bound kernels, the accelerator performance improves by a factor of 3.8 compared with host-based management and lies within 50% of a lower-bound ideal memory management unit.
|
Year | DOI | Venue |
---|---|---|
2017 | 10.1145/3126560 | ACM Trans. Embedded Comput. Syst. |
Keywords | Field | DocType |
Linux, Shared virtual memory, TLB management, embedded systems, heterogeneous SoCs | Computer science,Virtual memory,Page table,Parallel computing,Data diffusion machine,Real-time computing,Memory management,Page fault,Overlay,Memory management unit,Demand paging,Embedded system | Journal |
Volume | Issue | ISSN |
16 | 5 | 1539-9087 |
Citations | PageRank | References |
2 | 0.40 | 16 |
Authors | ||
5 |
Name | Order | Citations | PageRank |
---|---|---|---|
Pirmin Vogel | 1 | 19 | 4.69 |
Andreas Kurth | 2 | 5 | 3.83 |
Johannes Weinbuch | 3 | 2 | 0.40 |
Andrea Marongiu | 4 | 337 | 39.19 |
Luca Benini | 5 | 13116 | 1188.49 |