2008 IEEE/IFIP International Conference on Embedded and Ubiquitous Computing 2008
DOI: 10.1109/euc.2008.181
|View full text |Cite
|
Sign up to set email alerts
|

Reducing Context Switch Overhead with Compiler-Assisted Threading

Abstract: Multithreading is an important software modularization technique. However, it can incur substantial overheads, especially in processors where the amount of architecturally visible state is large.We propose an implementation technique for cooperative multithreading, where context switches occur in places that minimize the amount of state that needs to be saved. The subset of processor state saved during each context switch is based on where the switch occurs.We have validated the approach by an empirical study … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
7
0

Year Published

2008
2008
2019
2019

Publication Types

Select...
3
3

Relationship

1
5

Authors

Journals

citations
Cited by 7 publications
(7 citation statements)
references
References 7 publications
0
7
0
Order By: Relevance
“…After the exploration process completes, the designer is able to select the architecture based on restrictions given on speed, area or energy. While in this work we concentrate on creation of pairs of applications that works in sequence, the TCE framework also supports compiler assisted multithreading [18].…”
Section: B Automated Application-specific Instruction Set Extension mentioning
confidence: 99%
“…After the exploration process completes, the designer is able to select the architecture based on restrictions given on speed, area or energy. While in this work we concentrate on creation of pairs of applications that works in sequence, the TCE framework also supports compiler assisted multithreading [18].…”
Section: B Automated Application-specific Instruction Set Extension mentioning
confidence: 99%
“…The migration rate is likely to increase in a virtualization server environment, where logical CPUs are often highly oversubscribed by VCPUs for applications such as server consolidation and virtual desktops infrastructure deployment. For example, the vConsolidate benchmark [8] developed by Intel to measure the performance of a system running consolidated workloads has six consolidated stack units (CSU) consisting of a total of 48 VCPUs running in a two-socket server with a total 16 [13] proposed co-operative multithreading so context switches occur in places that require a minimal amount of processor state to be saved. Ditzel [14] described how SPARC TM Version 9 has improved context switching direct overhead by saving and restoring fewer registers during a context switch.…”
Section: Chapter 2: Related Workmentioning
confidence: 99%
“…While some research has been done in estimating the impact/overhead of context switch from cache misses and branch miss-predictions, there are only few [13,14] articles on the characterization of the impact of misses due to a context switch coupled with migration.…”
Section: Chapter 1: Introductionmentioning
confidence: 99%
“…Two papers employed a transpiler that translates from one language to another -one from Lustre to OCaml (Jahier 2016) and one from a synchronous extension of C to standard C(Karpinski and Cahill 2007). One paper (Fritzsche and Siemers 2010) used a precompiler, and one paper(Jääskeläinen et al 2008) provided a new compiler optimisation phase.Two studies called out to another language to implement the coroutines: one(Park et al 2015), wri en in the Lua language (DeMoura et al 2004), directly manipulated the hosting environment through the C API; another(Khezri et al 2008) used non-portable assembly language. e results are summarised inFigure 2b…”
mentioning
confidence: 99%