Abstract
Multicore architectures are an inflection point in mainstream software development because they force developers to write parallel programs. In a previous article in Queue, Herb Sutter and James Larus pointed out, “The concurrency revolution is primarily a software revolution. The difficult problem is not building multicore hardware, but programming it in a way that lets mainstream applications benefit from the continued exponential growth in CPU performance.” In this new multicore world, developers must write explicitly parallel applications that can take advantage of the increasing number of cores that each successive multicore generation will provide.
- Sutter, H., Larus, J. 2005. Software and the concurrency revolution. ACM Queue 3 (7). Google ScholarDigital Library
- Sweeney, T. 2006. The next mainstream programming languages: A game developer's perspective. Keynote speech, Symposium on Principles of Programming Languages. Charleston, SC (January). Google ScholarDigital Library
- Herlihy, M., Moss, E. 1993. Transactional memory: Architectural support for lock-free data structures. In Proceedings of the 20th Annual International Symposium on Computer Architecture. San Diego, CA (May). Google ScholarDigital Library
- Adl-Tabatabai, A., Lewis, B.T., Menon, V.S., Murphy, B.M., Saha, B., Shpeisman, T. 2006. Compiler and runtime support for efficient software transactional memory. In Proceedings of the Conference on Programming Language Design and Implementation. Ottawa, Canada (June). Google ScholarDigital Library
- A. McDonald, A., Chung, J., Carlstrom, B.D., Cao Minh, C., Chafi, H., Kozyrakis, C., Olukotun, K. 2006. Architectural semantics for practical transactional memory. In Proceedings of the 33rd International Symposium on Computer Architecture. Boston, MA (June). Google ScholarDigital Library
- Saha, B., Adl-Tabatabai, A., Hudson, R., Cao Minh, C., Hertzberg, B. 2006. McRT-STM: A high-performance software transactional memory system for a multicore runtime. In Proceedings of the Symposium on Principles and Practice of Parallel Programming. New York, NY (March). Google ScholarDigital Library
- See reference 4.Google Scholar
- See reference 6.Google Scholar
- See reference 6.Google Scholar
- Moore, K., Bobba, J., Moravan, M., Hill, M., Wood, D. 2006. LogTM: Log-based transactional memory. In Proceedings of the 12th International Conference on High-Performance Computer Architecture. Austin, TX (February).Google ScholarCross Ref
- Hammond, L., Carlstrom, B., Wong, V., Chen, M., Kozyrakis, C., Olukotun, K. 2004. Transactional coherence and consistency: Simplifying parallel hardware and software. IEEE Micro 24 (6). Google ScholarDigital Library
- See reference 10.Google Scholar
- See reference 11.Google Scholar
- Chung, J., Cao Minh, C., McDonald, A., Skare, T., Chafi, H., Carlstrom, B., Kozyrakis, C., Olukotun, K. 2006. Tradeoffs in transactional memory virtualization. In Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems. San Jose, CA (October). Google ScholarDigital Library
- Damron, P., Fedorova, A., Lev, Y., Luchangco, V., Moir, M., Nussbaum, D. Hybrid transactional memory. In Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems. San Jose, CA (October). Google ScholarDigital Library
- See reference 14.Google Scholar
- Saha, B., Adl-Tabatabai, A., Jacobson, Q. 2006. Architectural support for software transactional memory. In Proceedings of the 39th International Symposium on Microarchitecture. Orlando, FL (December). Google ScholarDigital Library
- Transactional Memory Online Bibliography; http://www.cs.wisc.edu/trans-memory/biblio/.Google Scholar
Index Terms
- Unlocking Concurrency: Multicore programming with transactional memory
Recommendations
Unlocking performance portability on LUMI-G supercomputer: A virtual screening case study
IWOCL '24: Proceedings of the 12th International Workshop on OpenCL and SYCLHigh-Performance Computing is the target system for virtual screening applications, which aim to suggest which candidates to test in the drug discovery process. The HPC heterogeneity of modern systems raises the functional and performance portability ...
Managing GPU Concurrency in Heterogeneous Architectures
MICRO-47: Proceedings of the 47th Annual IEEE/ACM International Symposium on MicroarchitectureHeterogeneous architectures consisting of general-purpose CPUs and throughput-optimized GPUs are projected to be the dominant computing platforms for many classes of applications. The design of such systems is more complex than that of homogeneous ...
Improving GPGPU concurrency with elastic kernels
ASPLOS '13Each new generation of GPUs vastly increases the resources available to GPGPU programs. GPU programming models (like CUDA) were designed to scale to use these resources. However, we find that CUDA programs actually do not scale to utilize all available ...
Comments