Set based operations for (massive scale) concurrent programming

10 views
Skip to first unread message

Edmon

unread,
Nov 11, 2009, 1:34:18 PM11/11/09
to golang-nuts
Hi,

My name is Edmon Begoli and I am researcher from Oak Ridge National
Lab - Computing and Computational Sciences Directorate.
I am also a PhD student in CS and I am working on my dissertation on
cognition optimized massively parallel programming languages and
supporting tools.

My attempt is to create a whole new generation of threading like
constructs for working at the massive scale (million threads).

In the Spring of 2010 I would like to start the implementation of some
these constructs into an experimental compiler
and then to run experiments with the programmers to see how well this
design resonates with programmers.

Looking at the Go it seems that Go may be small enough and C-like
enough to be a good experimental platform.

I am posting this message because I would like to get Go's internal
team feedback and suggestions in
what would it take to use Go for this purpose and if my constructs are
good to roll them into Go library.

I am also offering my help in developing any other features of the
language. I am full time research engineer
at ORNL and I could use my part time academic schedule to help.

Best regards,
Edmon Begoli
ORNL / UTK

Ian Lance Taylor

unread,
Nov 13, 2009, 1:32:16 AM11/13/09
to Edmon, golang-nuts
Thanks for the note. It's hard for me to tell whether Go is a good
platform for your purposes or not. Go supports a lot of parallelism
but it is not a typical massively parallel programming language, which
in my limited experience tend to be more oriented around functional
and/or dataflow approaches. Go is a CSP style approach. I was able
to create 100,000 goroutines with no problem on my 32-bit laptop, but
1,000,000 goroutines started it thrashing.

We're certainly looking for help on the language and libraries, but
it's hard to say more without knowing the specifics of what you want
to try to do. We're not really looking to run experiments on the
language as you mention.

Ian

Edmon Begoli

unread,
Nov 13, 2009, 8:28:07 AM11/13/09
to Ian Lance Taylor, golang-nuts
I share the same views. The advantage of Go that I see for the academic and research 
environment is that it is small, easy, familiar and extensible. That is why I will 
adopt it as a language that I can experiment with.

I will work with Go through my academic program and use it as a technology demonstrator 
language. 

If some the concurrent programming solutions start looking appealing I will bring them up 
to you guys to see if anything makes sense to adopt.

I am also offering my time next semester to your team, so if I can help with any task
please let me know.

Regards,
Edmon
Reply all
Reply to author
Forward
0 new messages