[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [pop-dev] Go - a new language from Google



Rick Beton <rick.beton@xxxxxxxxx> writes:

> The runtime has a scheduler that assigns goroutines to threads
> according to some scheduling algorithm.

It's worth noting that CCSP (KRoC's runtime system) has worked this way
too for a while -- we have a pool of threads across which lightweight
processes are scheduled using an algorithm that attempts to maximise
cache and CPU utilisation. See Carl's paper for more information:

  http://www.cs.kent.ac.uk/pubs/2009/2928/index.html

The real test for Go's scheduler will be how well it scales for big
applications with lots of communication as more worker threads are
added. Their current scheduler is pretty simplistic (lots of locking),
so I suspect it won't perform very well. We should probably propose
implementing the CCSP scheduling algorithm in their runtime.

-- 
Adam Sampson                                         <http://offog.org/>