ABSTRACT
Emerging multicore platforms are increasingly deploying distributed scratchpad memories to achieve lower energy and area together with higher predictability; but this requires transparent and efficient software management of these critical resources. In this paper, we introduce SPMVisor, a hardware/software layer that virtualizes the scratchpad memory space in order to facilitate the use of distributed SPMs in an efficient, transparent and secure manner. We introduce the notion of virtual scratchpad memories (vSPMs), which can be dynamically created and managed as regular SPMs. To protect the on-chip memory space, the SPMVisor supports vSPM-level and block-level access control lists. In order to efficiently manage the on-chip real-estate, our SPMVisor supports policy-driven allocation strategies based on privilege levels. Our experimental results on Mediabench/CHStone benchmarks running on various Chip-Multiprocessor configurations and software stacks (RTOS, virtualization, secure execution) show that SPMVisor enhances performance by 71% on average and reduces power consumption by 79% on average.
- V. Agarwal et al. Clock rate versus ipc: the end of the road for conventional microarchitectures. SIGARCH Comput. Archit. News, 28, May 2000. Google ScholarDigital Library
- ARM. Amba spec. rev 2.0. In IHI-0011A, 1999.Google Scholar
- T. Austin et al. Simplescalar: an infrastructure for computer system modeling. Computer, 35(2), Feb. 2002. Google ScholarDigital Library
- K. Bai et al. Heap data management for limited local memory (llm) multi-core processors. In Proc. of the Int. Conf. on Hardware/software codesign and system synthesis, CODES/ISSS '10, 2010. Google ScholarDigital Library
- R. Banakar et al. Scratchpad memory: design alternative for cache on-chip memory in embedded systems. In Proc. of the Int. symposium on Hardware/software codesign, CODES '02, 2002. Google ScholarDigital Library
- L. Bathen et al. E-roc: Embedded raids-on-chip for low power distributed dynamically managed reliable memories. In Design, Automation Test in Europe Conference Exhibition (DATE), 2011.Google Scholar
- L. D. Bathen et al. Polimake: a policy making engine for secure embedded software execution on chip-multiprocessors. In Proc. of the Workshop on Embedded Systems Security, WESS '10, 2010. Google ScholarDigital Library
- D. Cho et al. Compiler driven data layout optimization for regular/irregular array access patterns. In Proc. of the ACM SIGPLAN-SIGBED Conf. on Languages, compilers, and tools for embedded systems, LCTES '08, 2008. Google ScholarDigital Library
- J. Coburn et al. Seca: security-enhanced communication architecture. In Proc. of the Int. Conf. on Compilers, Arch. and synthesis for embedded systems, CASES '05, 2005. Google ScholarDigital Library
- F. David et al. Context switch overheads for linux on arm platforms. In Proc. of the 2007 workshop on Experimental computer science, ExpCS '07, 2007. Google ScholarDigital Library
- B. Egger et al. Dynamic scratchpad memory management for code in portable systems with an mmu. ACM Trans. Embed. Comput. Syst., 7, 2008. Google ScholarDigital Library
- B. Egger et al. Scratchpad memory management techniques for code in embedded systems without an mmu. Computers, IEEE Trans. on, 59, 2010. Google ScholarDigital Library
- P. Francesco et al. An integrated hardware/software approach for run-time scratchpad management. In Proc. of the Design Automation Conf., DAC '04, 2004. Google ScholarDigital Library
- L. Gauthier et al. Minimizing inter-task interferences in scratch-pad memory usage for reducing the energy consumption of multi-task systems. In Proc. of the Int. Conf. on Compilers, architectures and synthesis for embedded systems, CASES '10, 2010. Google ScholarDigital Library
- Google. Android. Google, http://www.android.com/.Google Scholar
- Y. Hara et al. Chstone: A benchmark program suite for practical c-based high-level synthesis. In Circuits and Systems, ISCAS 2008. IEEE Int. Symp. on, 2008.Google Scholar
- G. Heiser. The role of virtualization in embedded systems. In Proc. of the 1st workshop on Isolation and integration in embedded systems, IIES '08, 2008. Google ScholarDigital Library
- W. Huang et al. Unified low cost crypto architecture accelerating rsa/sha-1 for security processor. In ASIC, 2009. ASICON '09. IEEE 8th Int. Conf. on, 2009.Google ScholarCross Ref
- IBM. The cell project. http://www.research.ibm.com/ cell/.Google Scholar
- Intel. Single-chip cloud computer. http://techresearch.intel.com/ProjectDetails.aspx?Id=1.Google Scholar
- I. Issenin et al. Multiprocessor system-on-chip data reuse analysis for exploring customized memory hierarchies. In Proc. of the Design Automation Conf., DAC '06, 2006. Google ScholarDigital Library
- S. Jung et al. Dynamic code mapping for limited local memory systems. In Application-specific Systems Architectures and Processors (ASAP), IEEE Int. Conf. on, 2010.Google Scholar
- M. Kandemir et al. Dynamic management of scratch-pad memory space. In Proc. of the 38th annual Design Automation Conf., DAC '01, 2001. Google ScholarDigital Library
- C. Lee et al. Mediabench: a tool for evaluating and synthesizing multimedia and communicatons systems. In Proc. of the ACM/IEEE Int. symposium on Microarchitecture, MICRO 30, 1997. Google ScholarDigital Library
- M. Mayhew et al. Low-power aes coprocessor in 0.18 um cmos technology for secure microsystems. In Microsystems and Nanoelectronics Research Conf. MNRC 2009, 2009.Google ScholarCross Ref
- J. McCune et al. Flicker: an execution infrastructure for tcb minimization. SIGOPS Oper. Syst. Rev., 42, April 2008. Google ScholarDigital Library
- P. Panda et al. Efficient utilization of scratch-pad memory in embedded processor applications. In Proc. of the European Conf. on Design and Test, EDTC '97, 1997. Google ScholarDigital Library
- S. Pasricha et al. Fast exploration of bus-based communication architectures at the ccatb abstraction. ACM Trans. Embed. Comput. Syst., 7, 2008. Google ScholarDigital Library
- R. Pyka et al. Operating system integrated energy aware scratchpad allocation strategies for multiprocess applications. In Proc.of the 10th Int. workshop on Software & compilers for embedded systems, SCOPES '07, 2007. Google ScholarDigital Library
- M. Shalan et al. A dynamic memory management unit for embedded real-time system-on-a-chip. In Proc. of the 2000 Int. Conf. on Compilers, architecture, and synthesis for embedded systems, CASES '00, 2000. Google ScholarDigital Library
- V. Suhendra et al. Integrated scratchpad memory optimization and task scheduling for mpsoc architectures. In Proc. of the Int. Conf. on Compilers, architecture and synthesis for embedded systems, CASES '06, 2006. Google ScholarDigital Library
- V. Suhendra et al. Scratchpad allocation for concurrent embedded software. In Proc. of the IEEE/ACM/IFIP Int. Conf. on Hardware/Software codesign and system synthesis, CODES+ISSS '08, 2008. Google ScholarDigital Library
- H. Takase et al. Partitioning and allocation of scratch-pad memory for priority-based preemptive multi-task systems. In Proc. of the Conf. on Design, Automation and Test in Europe, DATE '10, 2010. Google ScholarDigital Library
- S. Thoziyoor et al. Hp labs cacti v5.3. CACTI 5.1, TR, http://www.hpl.hp.com/techreports/2008/HPL-2008-20.html, 2004.Google Scholar
- Tilera. Tile gx family. http://www.tilera.com/products/processors/TILE-Gx_Family.Google Scholar
- M. Verma et al. Data partitioning for maximal scratchpad usage. In Proc. of the Asia and South Pacific Design Automation Conf., ASP-DAC '03, 2003. Google ScholarDigital Library
- Z. Wang et al. New cache designs for thwarting software cache-based side channel attacks. SIGARCH Comput. Archit. News, 35, June 2007. Google ScholarDigital Library
Index Terms
SPMVisor: dynamic scratchpad memory virtualization for secure, low power, and high performance distributed on-chip memories
Recommendations
Embedded RAIDs-on-chip for bus-based chip-multiprocessors
Regular PapersThe dual effects of larger die sizes and technology scaling, combined with aggressive voltage scaling for power reduction, increase the error rates for on-chip memories. Traditional on-chip memory reliability techniques (e.g., ECC) incur significant ...
Virtualizing on-chip distributed ScratchPad memories for low power and trusted application execution
Emerging multicore platforms are increasingly deploying distributed scratchpad memories to achieve lower energy and area together with higher predictability; but this requires transparent and efficient software management of these critical resources. In ...
DynaPoMP: dynamic policy-driven memory protection for SPM-based embedded systems
WESS '11: Proceedings of the Workshop on Embedded Systems SecurityToday's embedded systems are often used to access, store, manipulate, and communicate sensitive data. Embedded system security risks are exacerbated by emerging trends (e.g., network connectivity, application download service, migration to ...
Comments