[chuck-users] Parallel Shreds

Spencer Salazar ssalazar at CS.Princeton.EDU
Tue Jan 27 23:18:56 EST 2009

In fact, the VM is single-threaded.  Shreds are multi-tasked  
cooperatively, in that only a single shred is running at a time in a  
given chuck instance, and that a shred is not interrupted by another  
shred until the current shred specifically allows it (by me.yield() or  
=> now).  Additionally, audio is only generated when no shreds are  
running (e.g. when all shreds are concurrently chucking something =>  

I think in 2003 parallel was still generally accepted to mean "running  
sequentially within the same approximate slice of time" :D , before  
development/marketing of consumer multi-core architectures really  
picked up.


On Jan 27, 2009, at 6:50 PM, Eric Hedekar wrote:

> Hi, I'm just curious as to how parallel chuck's processing actually  
> is?  I've read in the ICMC2003 paper that "ChucK is a concurrent  
> language, which allows multiple independent paths of computation to  
> be executed in parallel." That implies (to my ear anyway) that ChucK  
> allows each shred to run on it's own processor core in a multi-core  
> processor.  Is this the case, or is it merely an 'illusion of  
> parallelism' whereby the parallel processing is merely a higher- 
> level construct of shreds advancing time on their own accord in the  
> VM?  Any info would be greatly appreciated.  Thanks.
> -Eric Hedekar
> -- 
> _______________________________________
>     http://greyrockstudio.blogspot.com
> _______________________________________________
> chuck-users mailing list
> chuck-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users

More information about the chuck-users mailing list