ACM Home Page
Please provide us with feedback. Feedback
Software transactional memory for multicore embedded systems
Full text PdfPdf (444 KB)
Source
Language, Compiler and Tool Support for Embedded Systems archive
Proceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems table of contents
Dublin, Ireland
SESSION: Architecture and multicores table of contents
Pages 90-98  
Year of Publication: 2009
ISBN:978-1-60558-356-3
Also published in ...
Authors
Jennifer Mankin  Northeastern University, Boston, MA, USA
David Kaeli  Northeastern University, Boston, MA, USA
John Ardini  Charles Stark Draper Laboratory, Inc., Cambridge, MA, USA
Sponsors
ACM: Association for Computing Machinery
SIGBED: ACM Special Interest Group on Embedded Systems
SIGMICRO: ACM Special Interest Group on Microarchitectural Research and Processing
SIGART: ACM Special Interest Group on Artificial Intelligence
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGDA: ACM Special Interest Group on Design Automation
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 35,   Downloads (12 Months): 181,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1542452.1542465
What is a DOI?

ABSTRACT

Embedded systems, like general-purpose systems, can benefit from parallel execution on a symmetric multicore platform. Unfortunately, concurrency issues present in general-purpose programming also apply to embedded systems, protection from which is currently only offered with performance-limiting coarse-grained locking or error-prone and difficult-to-implement fine-grained locking. Transactional memory offers relief from these mechanisms, but has primarily been investigated on general-purpose systems. In this paper, we present Embedded Software Transactional Memory (ESTM) as a novel solution to the concurrency problem in parallel embedded applications. We investigate common software transactional memory design decisions and discuss the best decisions for an embedded platform. We offer a full implementation of an embedded STM and test it against both coarse-grained and fine-grained locking mechanisms. We find that we can meet or beat the performance of fine-grained locking over a range of application characteristics, including size of shared data, time spent in the critical section, and contention between threads. Our ESTM implementation benefits from the effective use of L1 memory, a feature which is built into our STM model but which cannot be directly utilized by traditional locking mechanisms.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
Analog Devices, Inc. ADSP-BF53x/BF56x Blackfin Processor Programming Reference, revision 1.2 ed. One Technology Way, Norwood, Mass, 02062, February 2007.
 
3
Analog Devices, Inc. ADSP-BF561 Blackfin Processor Hardware Reference, revision 1.1 ed. One Technology Way, Norwood, Mass, 02062, February 2007.
 
4
Analog Devices, Inc. Visual DSP 5.0 Kernel (VDK) User's Guide, revision 3.0 ed. One Technology Way, Norwood, Mass, 02062, August 2007.
 
5
6
7
8
9
10
 
11
Crowl, L., Lev, Y., Luchangco, V., Moir, M., and Nussbaum, D. Integrating transactional memory into C. In TRANSACT'07: ACM SIGPLAN Workshop on Transactional Computing (2007), ACM.
12
 
13
Dice, D., Shalev, O., and Shavit, N. Transactional locking II. In DISC'06: Proceedings of the 20th International Symposium on Distributed Computing (September 2006), ACM, pp. 194--208.
 
14
15
 
16
Ennals, R. Software transactional memory should not be obstruction-free. Tech. Rep. IRC-TR-06-052, Intel Research Cambridge, January 2006.
17
18
19
20
21
22
23
24
25
26
 
27
 
28
Marathe, V. J., III, W. N. S., and Scott, M. L. Adaptive software transactional memory. In DISC 19: In Proceedings of the 19th International Symposium on Distributed Computing (2005).
29
 
30
Marathe, V. J., Spear, M. F., Heriot, C., Acharya, A., Eisenstat, D., III, M. N. S., and Scott, M. L. Lowering the overhead of nonblocking software transactional memory. In TRANSACT'06: ACM SIGPLAN Workshop on Transactional Computing (June 2006), ACM.
 
31
 
32
 
33
Moore, K., Bobba, J., Moravan, M., Hill, M., and Wood, D. Log': Log-based transactional memory. In High-Performance Computer Architecture, 2006. The Twelfth International Symposium on (Feb. 2006).
 
34
35
 
36
37

Collaborative Colleagues:
Jennifer Mankin: colleagues
David Kaeli: colleagues
John Ardini: colleagues