Hi Node Groupies,

   It seems that many back-end applications could take advantage of 
parallel execution.  For example, analysis of data, extracting business 
intelligence, machine learning, and so forth.  The "asynchronous" style has 
some nice properties for implementing that kind of functionality.  Other 
parallel execution models do as well, such as Charm, X10, UPC, OpenMP, 
Cilk, StarSs, Linda (coordination) and so on.  It would be nice to be able 
to cherry pick, and use whatever parallelism model feels best to the 
programmer.  The best case would be letting a single node.js application 
mix such parallelism approaches together, for example, including a library 
written in one parallelism style into an application that uses a different 
parallelism style.

   The basic technology for mixing such parallelism styles has been 
researched and shown to work.  More can be found here: 
 http://opensourceresearchinstitute.org .   It treats parallelism 
constructs as function calls, the same way that the pthreads library treats 
acquiring a mutex as a function call.  In this way, constructs from many 
different languages have been implemented, and made to inter-operate with 
each other.  At the moment, the parallel constructs are called as C 
functions.

   However, I'd like to combine the technology with what I consider the 
best and most innovative approach for developing web server code, which is 
node.js.  Together, the two technologies would open a new world to back-end 
programmers, allowing them to take advantage of existing parallelism 
approaches.  They could also quickly and easily create their own custom 
parallelism approach, that then seamlessly inter-operates with pre-existing 
styles.  Specifically, I believe that Domain Languages will become the 
dominant approach to parallel programming in the future, and this research 
not only makes it quick and easy to create a new Domain Language, but makes 
it inter-operable and backwards compatible with other parallel approaches 
and other domain languages.

   Unfortunately, I am new to node.js, and don't really know where to 
start.  There must be appropriate places to insert "hooks" for interfacing 
the node.js interpreter with the "proto-runtime" technology that handles 
the parallelism.

Help most warmly appreciated,

Sean

    

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to