User loginNavigation |
Parallelism and threading as a programming modelI've just finished my master's thesis on the parallel shift. It covers why threading, in most cases, isn't a suitable programming model for extracting parallel performance, how we still can extract performance out it and what desired parallel programming models need to consider. I expect a lot of people in this forum are more knowledgeable in computer languages than I am. Therefore, I would very much like some comments on what I've written, especially the first part. Or better yet - a discussion :) You can find the thesis at www.johantorp.com Best Regards, Johan Torp ABSTRACT The first part of the thesis is an overview of the paradigmatic shift to parallelism that is currently taking place. It explains why processors need to become parallel, how they might function and which types of parallelism there are. Given that information, it explains why threads and locks is not a suitable programming model and how threading is being improved and used to extract parallel performance. It also covers the problems that await new parallel programming models and how they might work. The final chapter surveys the landscape of existing parallel software and hardware projects and relates them to the overview. The overview is intended for programmers and architects of desktop and embedded systems. The second part explains how to use C++'s upcoming memory model and atomic API. It also relates the memory model to classical definitions of distributed computing in an attempt to bridge the gap in terminology between the research literature and C++. An implementation of hazard pointers and a lock-free stack and queue are given as example C++0x code. This part is aimed at expert C++ developers and the research community. By johantorp at 2008-09-28 21:02 | LtU Forum | previous forum topic | next forum topic | other blogs | 3708 reads
|
Browse archives
Active forum topics |
Recent comments
22 weeks 6 days ago
22 weeks 6 days ago
22 weeks 6 days ago
45 weeks 19 hours ago
49 weeks 2 days ago
50 weeks 6 days ago
50 weeks 6 days ago
1 year 1 week ago
1 year 6 weeks ago
1 year 6 weeks ago