Abstract
I have been interested in concurrent programming since about 1963, when its associated problems contributed to the failure of the largest software project that I have managed. When I moved to an academic career in 1968, I hoped that I could find a solution to the problems by my research. Quite quickly I decided to concentrate on coarse-grained concurrency, which does not allow concurrent processes to share main memory. The only interaction between processes is confined to explicit input and output commands. This simplification led eventually to the exploration of the theory of Communicating Sequential Processes.
Since joining Microsoft Research in 1999, I have plucked up courage at last to look at fine-grain concurrency, involving threads which interleave their access to main memory at the fine granularity of single instruction execution. By combining the merits of a number of different theories of concurrency, one can paint a relatively simple picture of a theory for the correct design of concurrent systems. Indeed, pictures area great help in conveying the basic understanding. This paper presents some on-going directions of research that I have been pursuing with colleagues in Cambridge – both at Microsoft Research and in the University Computing Laboratory.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Hoare, T. (2010). Fine-Grain Concurrency. In: Müller, P. (eds) Advanced Lectures on Software Engineering. LASER LASER 2007 2008. Lecture Notes in Computer Science, vol 6029. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13010-6_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-13010-6_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-13009-0
Online ISBN: 978-3-642-13010-6
eBook Packages: Computer ScienceComputer Science (R0)