FAQ
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+unsubscribe@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+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Search Discussions

  • Floby at Apr 15, 2013 at 12:28 pm
    I know node-fibers had several hooks inside node.js at one point. Now they
    move all that to userland.
    You could ask Marcel Laverdet how he did it.
    On Sunday, 14 April 2013 12:18:04 UTC+2, Sean Halle wrote:


    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+unsubscribe@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+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupnodejs @
categoriesnodejs
postedApr 14, '13 at 5:27p
activeApr 15, '13 at 12:28p
posts2
users2
websitenodejs.org
irc#node.js

2 users in discussion

Sean Halle: 1 post Floby: 1 post

People

Translate

site design / logo © 2021 Grokbase