DocumentCode :
931780
Title :
The problem with threads
Author :
Lee, Edward A.
Author_Institution :
Dept. of Electr. Eng. & Comput. Sci., California Univ., Berkeley, CA, USA
Volume :
39
Issue :
5
fYear :
2006
fDate :
5/1/2006 12:00:00 AM
Firstpage :
33
Lastpage :
42
Abstract :
For concurrent programming to become mainstream, we must discard threads as a programming model. Nondeterminism should be judiciously and carefully introduced where needed, and it should be explicit in programs. In general-purpose software engineering practice, we have reached a point where one approach to concurrent programming dominates all others namely, threads, sequential processes that share memory. They represent a key concurrency model supported by modern computers, programming languages, and operating systems. In scientific computing, where performance requirements have long demanded concurrent programming, data-parallel language extensions and message-passing libraries such as PVM, MPI, and OpenMP dominate over threads for concurrent programming. Computer architectures intended for scientific computing often differ significantly from so-called general-purpose architectures.
Keywords :
message passing; multi-threading; MPI; OpenMP; PVM; computer architectures; concurrent programming; data-parallel language extension; general-purpose architectures; message-passing libraries; operating system; programming languages; sequential processes; software engineering; threads programming model; Computational modeling; Costs; Distributed computing; Embedded computing; Embedded software; Equations; Object oriented modeling; Yarn; Coordination languages; Design patterns; Nondeterminism; Programming paradigms; Threads;
fLanguage :
English
Journal_Title :
Computer
Publisher :
ieee
ISSN :
0018-9162
Type :
jour
DOI :
10.1109/MC.2006.180
Filename :
1631937
Link To Document :
بازگشت