Hardware-assisted reliability enhancement for embedded multi-core virtualization design

Tsung Han Lin, Yuki Kinebuchi, Alexandre Courbot, Hiromasa Shimada, Takushi Morita, Hitoshi Mitake, Chen Yi Lee, Tatsuo Nakajima

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    7 Citations (Scopus)

    Abstract

    In this paper, we propose a virtualization architecture for the multi-core embedded system to provide more system reliability and security while maintaining the same performance without introducing additional special hardware supports or having to implement complex protection mechanism in the virtualization layer. Virtualization has been widely used in embedded systems, especially in consumer electronics, albeit itself is not a new technique, because there are various needs for both GPOS (General Purpose Operating System) and RTOS (Real Time Operating System). The surge of the multi-core platform in the embedded system also helps the consolidation of the virtualization system for its better performance and lower power consumption. Embedded virtualization design usually uses two kinds of approaches. The first one is to use the traditional VMM, but it is too complicated for use in the embedded environment if there is no additional special hardware support. The other is the use of the micro kernel which imposes a modular design. The guest systems, however, would suffer from considerable amount of modifications because the micro kernel lets the guest systems to run in user space. For some RTOSes and theirs applications originally running in kernel space, it makes this approach more difficult to work because a lot of privileged instructions are used in those codes. To achieve better reliability and keep the virtualization layer design light weighted, a common hardware component adopted in the multi-core embedded processors is used in this work. In the most embedded platforms, vendors provide additional on-chip local memory for each physical core and these local memory areas are private only to their cores. By taking this memory architecture's advantage, we can mitigate above-mentioned problems at once. We choose to re-map the virtualization layer's program called SPUMONE, which it runs all its guest systems in kernel space, on the local memory. By doing so, it can provide additional reliability and security for the entire system because the SPUMONE's design in a multi-core platform has each instance being installed on a separated processor core which is different from the traditional virtualization layer design and the content of each SPUMONE is inaccessible to each others. We also achieve this goal without bringing any overhead to the overall performance.

    Original languageEnglish
    Title of host publicationProceedings - 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2011
    Pages241-249
    Number of pages9
    DOIs
    Publication statusPublished - 2011
    Event2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2011 - Newport Beach, CA
    Duration: 2011 Mar 282011 Mar 31

    Other

    Other2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2011
    CityNewport Beach, CA
    Period11/3/2811/3/31

    Fingerprint

    Computer hardware
    Embedded systems
    Data storage equipment
    Hardware
    Memory architecture
    Consumer electronics
    Virtualization
    Consolidation
    Electric power utilization

    Keywords

    • embedded system
    • local memory
    • virtualization

    ASJC Scopus subject areas

    • Artificial Intelligence
    • Computational Theory and Mathematics
    • Computer Science Applications

    Cite this

    Lin, T. H., Kinebuchi, Y., Courbot, A., Shimada, H., Morita, T., Mitake, H., ... Nakajima, T. (2011). Hardware-assisted reliability enhancement for embedded multi-core virtualization design. In Proceedings - 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2011 (pp. 241-249). [5753613] https://doi.org/10.1109/ISORC.2011.37

    Hardware-assisted reliability enhancement for embedded multi-core virtualization design. / Lin, Tsung Han; Kinebuchi, Yuki; Courbot, Alexandre; Shimada, Hiromasa; Morita, Takushi; Mitake, Hitoshi; Lee, Chen Yi; Nakajima, Tatsuo.

    Proceedings - 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2011. 2011. p. 241-249 5753613.

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    Lin, TH, Kinebuchi, Y, Courbot, A, Shimada, H, Morita, T, Mitake, H, Lee, CY & Nakajima, T 2011, Hardware-assisted reliability enhancement for embedded multi-core virtualization design. in Proceedings - 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2011., 5753613, pp. 241-249, 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2011, Newport Beach, CA, 11/3/28. https://doi.org/10.1109/ISORC.2011.37
    Lin TH, Kinebuchi Y, Courbot A, Shimada H, Morita T, Mitake H et al. Hardware-assisted reliability enhancement for embedded multi-core virtualization design. In Proceedings - 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2011. 2011. p. 241-249. 5753613 https://doi.org/10.1109/ISORC.2011.37
    Lin, Tsung Han ; Kinebuchi, Yuki ; Courbot, Alexandre ; Shimada, Hiromasa ; Morita, Takushi ; Mitake, Hitoshi ; Lee, Chen Yi ; Nakajima, Tatsuo. / Hardware-assisted reliability enhancement for embedded multi-core virtualization design. Proceedings - 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2011. 2011. pp. 241-249
    @inproceedings{62710670bd854ab8977c27fabf5adabc,
    title = "Hardware-assisted reliability enhancement for embedded multi-core virtualization design",
    abstract = "In this paper, we propose a virtualization architecture for the multi-core embedded system to provide more system reliability and security while maintaining the same performance without introducing additional special hardware supports or having to implement complex protection mechanism in the virtualization layer. Virtualization has been widely used in embedded systems, especially in consumer electronics, albeit itself is not a new technique, because there are various needs for both GPOS (General Purpose Operating System) and RTOS (Real Time Operating System). The surge of the multi-core platform in the embedded system also helps the consolidation of the virtualization system for its better performance and lower power consumption. Embedded virtualization design usually uses two kinds of approaches. The first one is to use the traditional VMM, but it is too complicated for use in the embedded environment if there is no additional special hardware support. The other is the use of the micro kernel which imposes a modular design. The guest systems, however, would suffer from considerable amount of modifications because the micro kernel lets the guest systems to run in user space. For some RTOSes and theirs applications originally running in kernel space, it makes this approach more difficult to work because a lot of privileged instructions are used in those codes. To achieve better reliability and keep the virtualization layer design light weighted, a common hardware component adopted in the multi-core embedded processors is used in this work. In the most embedded platforms, vendors provide additional on-chip local memory for each physical core and these local memory areas are private only to their cores. By taking this memory architecture's advantage, we can mitigate above-mentioned problems at once. We choose to re-map the virtualization layer's program called SPUMONE, which it runs all its guest systems in kernel space, on the local memory. By doing so, it can provide additional reliability and security for the entire system because the SPUMONE's design in a multi-core platform has each instance being installed on a separated processor core which is different from the traditional virtualization layer design and the content of each SPUMONE is inaccessible to each others. We also achieve this goal without bringing any overhead to the overall performance.",
    keywords = "embedded system, local memory, virtualization",
    author = "Lin, {Tsung Han} and Yuki Kinebuchi and Alexandre Courbot and Hiromasa Shimada and Takushi Morita and Hitoshi Mitake and Lee, {Chen Yi} and Tatsuo Nakajima",
    year = "2011",
    doi = "10.1109/ISORC.2011.37",
    language = "English",
    isbn = "9780769543680",
    pages = "241--249",
    booktitle = "Proceedings - 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2011",

    }

    TY - GEN

    T1 - Hardware-assisted reliability enhancement for embedded multi-core virtualization design

    AU - Lin, Tsung Han

    AU - Kinebuchi, Yuki

    AU - Courbot, Alexandre

    AU - Shimada, Hiromasa

    AU - Morita, Takushi

    AU - Mitake, Hitoshi

    AU - Lee, Chen Yi

    AU - Nakajima, Tatsuo

    PY - 2011

    Y1 - 2011

    N2 - In this paper, we propose a virtualization architecture for the multi-core embedded system to provide more system reliability and security while maintaining the same performance without introducing additional special hardware supports or having to implement complex protection mechanism in the virtualization layer. Virtualization has been widely used in embedded systems, especially in consumer electronics, albeit itself is not a new technique, because there are various needs for both GPOS (General Purpose Operating System) and RTOS (Real Time Operating System). The surge of the multi-core platform in the embedded system also helps the consolidation of the virtualization system for its better performance and lower power consumption. Embedded virtualization design usually uses two kinds of approaches. The first one is to use the traditional VMM, but it is too complicated for use in the embedded environment if there is no additional special hardware support. The other is the use of the micro kernel which imposes a modular design. The guest systems, however, would suffer from considerable amount of modifications because the micro kernel lets the guest systems to run in user space. For some RTOSes and theirs applications originally running in kernel space, it makes this approach more difficult to work because a lot of privileged instructions are used in those codes. To achieve better reliability and keep the virtualization layer design light weighted, a common hardware component adopted in the multi-core embedded processors is used in this work. In the most embedded platforms, vendors provide additional on-chip local memory for each physical core and these local memory areas are private only to their cores. By taking this memory architecture's advantage, we can mitigate above-mentioned problems at once. We choose to re-map the virtualization layer's program called SPUMONE, which it runs all its guest systems in kernel space, on the local memory. By doing so, it can provide additional reliability and security for the entire system because the SPUMONE's design in a multi-core platform has each instance being installed on a separated processor core which is different from the traditional virtualization layer design and the content of each SPUMONE is inaccessible to each others. We also achieve this goal without bringing any overhead to the overall performance.

    AB - In this paper, we propose a virtualization architecture for the multi-core embedded system to provide more system reliability and security while maintaining the same performance without introducing additional special hardware supports or having to implement complex protection mechanism in the virtualization layer. Virtualization has been widely used in embedded systems, especially in consumer electronics, albeit itself is not a new technique, because there are various needs for both GPOS (General Purpose Operating System) and RTOS (Real Time Operating System). The surge of the multi-core platform in the embedded system also helps the consolidation of the virtualization system for its better performance and lower power consumption. Embedded virtualization design usually uses two kinds of approaches. The first one is to use the traditional VMM, but it is too complicated for use in the embedded environment if there is no additional special hardware support. The other is the use of the micro kernel which imposes a modular design. The guest systems, however, would suffer from considerable amount of modifications because the micro kernel lets the guest systems to run in user space. For some RTOSes and theirs applications originally running in kernel space, it makes this approach more difficult to work because a lot of privileged instructions are used in those codes. To achieve better reliability and keep the virtualization layer design light weighted, a common hardware component adopted in the multi-core embedded processors is used in this work. In the most embedded platforms, vendors provide additional on-chip local memory for each physical core and these local memory areas are private only to their cores. By taking this memory architecture's advantage, we can mitigate above-mentioned problems at once. We choose to re-map the virtualization layer's program called SPUMONE, which it runs all its guest systems in kernel space, on the local memory. By doing so, it can provide additional reliability and security for the entire system because the SPUMONE's design in a multi-core platform has each instance being installed on a separated processor core which is different from the traditional virtualization layer design and the content of each SPUMONE is inaccessible to each others. We also achieve this goal without bringing any overhead to the overall performance.

    KW - embedded system

    KW - local memory

    KW - virtualization

    UR - http://www.scopus.com/inward/record.url?scp=79957986685&partnerID=8YFLogxK

    UR - http://www.scopus.com/inward/citedby.url?scp=79957986685&partnerID=8YFLogxK

    U2 - 10.1109/ISORC.2011.37

    DO - 10.1109/ISORC.2011.37

    M3 - Conference contribution

    SN - 9780769543680

    SP - 241

    EP - 249

    BT - Proceedings - 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2011

    ER -