Reuse And Reduce Process Resources
----------------------------------

                 Key: ODE-573
                 URL: https://issues.apache.org/jira/browse/ODE-573
             Project: ODE
          Issue Type: Improvement
          Components: Axis2 Integration, BPEL Compilation/Parsing, BPEL Runtime
    Affects Versions: 1.2
            Reporter: Karthick Sankarachary
            Assignee: Karthick Sankarachary
             Fix For: 1.3


This is a meta issue to track all solutions geared towards reducing the 
footprint of processes. Up until now, memory optimization of processes has been 
an afterthought, and that calls for a change. There are a number of ways in 
which we can reduce the in-memory size of processes, including but not limited, 
to the following:

a) Employ a flyweight pattern to share identical resources within the process 
model. This is analogous to the approach taken by string interning, only we 
want to it to be more generic.
b) Refactor one or more parts of the process model in terms of a leaner and 
meaner data structure. Since this may result in a structural change in the 
serialized bytes of the process, care should be taken to maintain backwards 
compatibility.
c) Reuse shared resources across different process models. This involves 
determining whether or not a resource is shareable, and if so, storing them in 
a system-wide cache. A reference counting mechanism may be used to manage the 
lifecycle of the cache.

In the following comment, we will describe a solution for (a).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to