There are at least two ways for parallel processing (multi-tasking) - One where several processors share the same memory, and another where memory is not shared and it is necessary to transfer or duplicate data on computing systems that may or may not be tightly connected.
The latter case obviously requires action on part of the application to determine if and how to split up the processing. The first case is where J can really shine in that existing J code is easy to parallelize as the notation shows were parallelization is OK. Well, maybe not so easy, but possible. The problem is similar to the one that faced APL when vector processors became more available. How to avoid using the vector processors on very short vectors. On Sat, Feb 22, 2014 at 9:06 AM, Raul Miller <[email protected]> wrote: > On Sat, Feb 22, 2014 at 9:35 AM, Jan-Pieter Jacobs > <[email protected]> wrote: > > The overhead issue is always there, and it is up to the user to not apply > > parallellization for things that are not worth parallellizing. > > It might be nice to have a "parallelize this" adverb. > > That said... you really want the data to already be in place on > parallel instances, and there's a certain amount of setup time to > publish them out. > > Another critical issue is having a common language, for shipping > commands between parallel instances (this can be modeled using > independent processes but for real practical work you might want > independent machines, but the GPU variant is also interesting and has > some fascinating constraints). > > In J, we would probably use 5!:5 to serialize and 0!:0 to deserialize? > > Here's an illustration: > > mean=: +/ %# > T=: 5!:5 <'mean' > A=: 'MEAN=:',T > 0!:0 A > > data=:2 3 5 > 0!:0 'V=:',5!:5 <'data' > 0!:0]0 :0 > smoutput MEAN V > ) > 3.33333 > > Thanks, > > -- > Raul > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
