As the number of cores increases, cache-based memory hierarchy is becoming a major problem in terms of the scalability and energy consumption. Software-managed scratchpad memories (SPM) is a scalable alternative to caches, but the benefit comes at the cost of explicit management of data. For instance, an instruction SPM needs a code management techniques to load code blocks to the SPM. This paper presents a technique to split functions into smaller functions, to break away with the fundamental limitations of function-level code management. Our function-splitting technique is able to generate more efficient mappings by modifying the characteristics of functions to be more suitable for function-level code management. We propose two optimization policies to improve performance and reduce size respectively. The performance optimization policy improves performance by 16% on average, which can only be achieved by using 20% more SPM space if without function-splitting The size optimization policy can reduce the minimum SPM size requirement by 31% while increasing only 7% execution time.
|Title of host publication||2016 IEEE/ACM International Conference on Computer-Aided Design, ICCAD 2016|
|Publisher||Institute of Electrical and Electronics Engineers Inc.|
|Publication status||Published - 2016 Nov 7|
|Event||35th IEEE/ACM International Conference on Computer-Aided Design, ICCAD 2016 - Austin, United States|
Duration: 2016 Nov 7 → 2016 Nov 10
|Name||IEEE/ACM International Conference on Computer-Aided Design, Digest of Technical Papers, ICCAD|
|Other||35th IEEE/ACM International Conference on Computer-Aided Design, ICCAD 2016|
|Period||16/11/7 → 16/11/10|
Bibliographical noteFunding Information:
This work was partially supported by Institute for Information & communications Technology Promotion (IITP) grant funded by the Korea government (MSIP) (No. B0101-16-0644, Research Project on High Performance and Scalable Manycore Operating System), and by funding from National Science Foundation grants CCF 1055094 (CAREER), and CNS 1525855.
© 2016 ACM.
All Science Journal Classification (ASJC) codes
- Computer Science Applications
- Computer Graphics and Computer-Aided Design