gridgain / gridgain-old

268 stars 85 forks source link

Automatic GG Conversion for Any Java Program #55

Open sirinath opened 10 years ago

sirinath commented 10 years ago

Some projects are not designed with grid computing in mind. Basically you can provide a thin layer on top of GG so deploy normal Java applications on top of GG there the thin layer does the auto parallelisation and grid deployments. For the application it will think it is running within a normal VM. (Like Terracotta)

Also on deployment you can do a dataflow analysis, NUMA and data / cache coherence on bytecode and do automatic parallelisation of the code. You identify parallel patterns in the code and rewrite the bytecode as needed for distributed parallel execution. You can further enhance perfomance using something like https://code.google.com/p/aparapi/. You can extend this to GG aware code (code using GG API) also where you analyse and re optimise based on a configuration parameters. (There was a framework which did this and I tried it you some time back. I forgot the name.)

Also some thing that might be helpful is to have Greener Threads which is something that http://www.paralleluniverse.co/ has.

sirinath commented 10 years ago

Basically make it such that you can take Java application and deploy it on GG where GG will automatically do the grid distribution and parallelization. It will do any ByteCode rewriting behind the scene.

sirinath commented 10 years ago

@dsetrakyan Is it possible to consider this feature request also. Basically you can deploy any java app on the grid without modification like Terracotta with automatic parallelization through bytecode rewriting. Basically you do dataflow analysis and data affinity analysis on the bytecode and apply the most appropriate parallel pattern.