1 research outputs found

    Extracting parallelism at compile-time through dependence analysis & cloning techniques in an object-based paradigm

    Get PDF
    The construct of Abstract Data Type (ADT) modules and Abstract Data Object (ADO) modules supported by most object-based languages are a great source for developing reusable code. To improve the run time performance of such object-based programs, we consider the asynchronous remote procedure call (ARPC) model of parallel execution, in which concurrency is achieved by having the caller and the callee (which are module instances) running on different processors. Frequently, an ADT module is needed simultaneously by other modules, thus causing contention. To resolve this, we clone the module instance in demand and distribute the copies across different processors, so that multiple clients can access the code concurrently. For identifying the facilities causing bottlenecks to the ARPC model, the dependence relations of the code is analyzed at compile-time. Instance dependences of the code are also analyzed in addition to conventional dependences to reveal the potential concurrency, and an upper bound on the number of clones of each facility that could be used in an application is determined. This parallelism information could be used by the assignment and the scheduling algorithms in the run time environment of the application for constructing a feasible real-time schedule, statically
    corecore