Micropreemption synthesis: An enabling mechanism for multitask VLSI systems

Kyosun Kim, R. Karri, M. Potkonjak

Research output: Contribution to journalArticle

Abstract

Task preemption is a critical enabling mechanism in multitask very large scale integration (VLSI) systems. On preemption, data in the register files must be preserved for the task to be resumed. This entails extra memory to preserve the context and additional clock cycles to save and restore the context. In this paper, techniques and algorithms to incorporate micropreemption constraints during multitask VLSI system synthesis are presented. Specifically, algorithms to insert and refine preemption points in scheduled task graphs subject to preemption latency constraints, techniques to minimize the context switch overhead by considering the dedicated registers required to save the state of a task on preemption and the shared registers required to save the remaining values in the tasks, and a controller-based scheme to preclude the preemption-related performance degradation by: 1) partitioning the states of a task into critical sections; 2) executing the critical sections atomically; and 3) preserving atomicity by rolling forward to the end of the critical sections on preemption have been developed. The effectiveness of all approaches, algorithms, and software implementations is demonstrated on real examples. Validation of all the results is complete in the sense that functional simulation is conducted to complete layout implementation.

Original languageEnglish (US)
Pages (from-to)19-30
Number of pages12
JournalIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Volume25
Issue number1
DOIs
StatePublished - Jan 2006

Fingerprint

VLSI circuits
Clocks
Switches
Data storage equipment
Degradation
Controllers

Keywords

  • Clock cycles
  • Context switch overhead
  • Controller-based scheme
  • Micropreemption synthesis
  • Multitask very large scale integration systems
  • Multitask VLSI system synthesis
  • Preemption latency constraints
  • Register files
  • Task graphs
  • Task preemption

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Computer Science Applications
  • Hardware and Architecture
  • Electrical and Electronic Engineering

Cite this

Micropreemption synthesis : An enabling mechanism for multitask VLSI systems. / Kim, Kyosun; Karri, R.; Potkonjak, M.

In: IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 25, No. 1, 01.2006, p. 19-30.

Research output: Contribution to journalArticle

@article{5eaa844604794ac89a0191f1572569cd,
title = "Micropreemption synthesis: An enabling mechanism for multitask VLSI systems",
abstract = "Task preemption is a critical enabling mechanism in multitask very large scale integration (VLSI) systems. On preemption, data in the register files must be preserved for the task to be resumed. This entails extra memory to preserve the context and additional clock cycles to save and restore the context. In this paper, techniques and algorithms to incorporate micropreemption constraints during multitask VLSI system synthesis are presented. Specifically, algorithms to insert and refine preemption points in scheduled task graphs subject to preemption latency constraints, techniques to minimize the context switch overhead by considering the dedicated registers required to save the state of a task on preemption and the shared registers required to save the remaining values in the tasks, and a controller-based scheme to preclude the preemption-related performance degradation by: 1) partitioning the states of a task into critical sections; 2) executing the critical sections atomically; and 3) preserving atomicity by rolling forward to the end of the critical sections on preemption have been developed. The effectiveness of all approaches, algorithms, and software implementations is demonstrated on real examples. Validation of all the results is complete in the sense that functional simulation is conducted to complete layout implementation.",
keywords = "Clock cycles, Context switch overhead, Controller-based scheme, Micropreemption synthesis, Multitask very large scale integration systems, Multitask VLSI system synthesis, Preemption latency constraints, Register files, Task graphs, Task preemption",
author = "Kyosun Kim and R. Karri and M. Potkonjak",
year = "2006",
month = "1",
doi = "10.1109/TCAD.2005.852668",
language = "English (US)",
volume = "25",
pages = "19--30",
journal = "IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems",
issn = "0278-0070",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
number = "1",

}

TY - JOUR

T1 - Micropreemption synthesis

T2 - An enabling mechanism for multitask VLSI systems

AU - Kim, Kyosun

AU - Karri, R.

AU - Potkonjak, M.

PY - 2006/1

Y1 - 2006/1

N2 - Task preemption is a critical enabling mechanism in multitask very large scale integration (VLSI) systems. On preemption, data in the register files must be preserved for the task to be resumed. This entails extra memory to preserve the context and additional clock cycles to save and restore the context. In this paper, techniques and algorithms to incorporate micropreemption constraints during multitask VLSI system synthesis are presented. Specifically, algorithms to insert and refine preemption points in scheduled task graphs subject to preemption latency constraints, techniques to minimize the context switch overhead by considering the dedicated registers required to save the state of a task on preemption and the shared registers required to save the remaining values in the tasks, and a controller-based scheme to preclude the preemption-related performance degradation by: 1) partitioning the states of a task into critical sections; 2) executing the critical sections atomically; and 3) preserving atomicity by rolling forward to the end of the critical sections on preemption have been developed. The effectiveness of all approaches, algorithms, and software implementations is demonstrated on real examples. Validation of all the results is complete in the sense that functional simulation is conducted to complete layout implementation.

AB - Task preemption is a critical enabling mechanism in multitask very large scale integration (VLSI) systems. On preemption, data in the register files must be preserved for the task to be resumed. This entails extra memory to preserve the context and additional clock cycles to save and restore the context. In this paper, techniques and algorithms to incorporate micropreemption constraints during multitask VLSI system synthesis are presented. Specifically, algorithms to insert and refine preemption points in scheduled task graphs subject to preemption latency constraints, techniques to minimize the context switch overhead by considering the dedicated registers required to save the state of a task on preemption and the shared registers required to save the remaining values in the tasks, and a controller-based scheme to preclude the preemption-related performance degradation by: 1) partitioning the states of a task into critical sections; 2) executing the critical sections atomically; and 3) preserving atomicity by rolling forward to the end of the critical sections on preemption have been developed. The effectiveness of all approaches, algorithms, and software implementations is demonstrated on real examples. Validation of all the results is complete in the sense that functional simulation is conducted to complete layout implementation.

KW - Clock cycles

KW - Context switch overhead

KW - Controller-based scheme

KW - Micropreemption synthesis

KW - Multitask very large scale integration systems

KW - Multitask VLSI system synthesis

KW - Preemption latency constraints

KW - Register files

KW - Task graphs

KW - Task preemption

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

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

U2 - 10.1109/TCAD.2005.852668

DO - 10.1109/TCAD.2005.852668

M3 - Article

VL - 25

SP - 19

EP - 30

JO - IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems

JF - IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems

SN - 0278-0070

IS - 1

ER -