Skip to Main content Skip to Navigation
Conference papers

Go's Concurrency Constructs on the SCC

Abstract : We present an implementation of goroutines and channels on the SCC. Goroutines and channels are the building blocks for writing concurrent programs in the Go programming language. Both Go and the SCC share the same basic idea--the use of messages for communication and synchronization. Our implementation of goroutines on top of tasks reuses existing runtime support for scheduling and load balancing. Channels, which permit goroutines to communicate by sending and receiving messages, can be implemented efficiently using the on-die message passing buffers. We demonstrate the use of goroutines and channels with a parallel genetic algorithm that can utilize all cores of the SCC.
Complete list of metadata
Contributor : Simon Vernhes <>
Submitted on : Wednesday, July 18, 2012 - 3:12:07 PM
Last modification on : Wednesday, July 18, 2012 - 5:24:12 PM
Long-term archiving on: : Friday, October 19, 2012 - 2:50:49 AM


Explicit agreement for this submission


  • HAL Id : hal-00718924, version 1



Andreas Prell, Thomas Rauber. Go's Concurrency Constructs on the SCC. The 6th Many-core Applications Research Community (MARC) Symposium, Jul 2012, Toulouse, France. pp.2-6. ⟨hal-00718924⟩



Record views


Files downloads