Results 1 - 10
of
11
Achieving Self-managed Deployment in a Distributed Environment via Utility Functions
, 2008
"... By harnessing the computational power of distributed heterogeneous resources, it is possible to build a large scale integrated system so that a centralized program is partitioned and distributed across those resources in a way that maximizes the system’s overall utility. However, building such a sys ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
(Show Context)
By harnessing the computational power of distributed heterogeneous resources, it is possible to build a large scale integrated system so that a centralized program is partitioned and distributed across those resources in a way that maximizes the system’s overall utility. However, building such a system is a staggering challenge because of the associated complexities. This paper proposes a self-managing distributed system ADE (Autonomic Distributed Environment), which engages autonomic elements to automatically take an existing centralized application and distribute it across available resources. The autonomic elements provide self-management to handle the complexities associated with distribution, configuration, coordination and efficient execution of program components. The proposed approach models a centralized application in terms of an application graph consisting of application components and then deploys the application components across the underlying utility-aware hierarchically organized distributed resources so that all constraints and requirements are satisfied and the system’s overall utility is maximized. Then, based on the observations obtained by the
A static analysis to extract dataflow edges from object-oriented programs with ownership domain annotations
- In preparation
, 2011
"... For program comprehension, developers often require complementary sources of information to understand a software system. They use information about the code structure (class diagrams), points-to field references, control flow (call graphs), and dataflow. Using static analysis to extract dataflow in ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
(Show Context)
For program comprehension, developers often require complementary sources of information to understand a software system. They use information about the code structure (class diagrams), points-to field references, control flow (call graphs), and dataflow. Using static analysis to extract dataflow information from object-oriented code is challenging because the analysis must deal with language features such as inheritance, recursion, and aliasing. Existing analyses extract flat graphs that show a large number of objects and lack architectural abstraction. Furthermore, some existing analyses suffer from imprecision. An adoptable analysis should aim for a judicious tradeoff between precision and scalability. In order to extract information that conveys design intent, we rely on annotations in the code. The annotations implement the Ownership Domains type system, by Aldrich and Chambers. An ownership domain is a conceptual group of objects where each object belongs to one domain that does not change at runtime. The developer annotates each object reference in the program with the domain that owns it. In this thesis, we leverage the ownership domain annotations that are present in a program and
ADE: Utility Driven Self-management in a Networked Environment
- Journal of Computers (JCP), Academy Publishers
"... Abstract − ADE, autonomic distributed environment, is a system which engages autonomic elements to automatically take an existing centralized application and distribute it across available resources. The autonomic elements provide self-management to handle the complexities associated with distributi ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
Abstract − ADE, autonomic distributed environment, is a system which engages autonomic elements to automatically take an existing centralized application and distribute it across available resources. The autonomic elements provide self-management to handle the complexities associated with distribution, configuration, coordination and efficient execution of program components. The proposed approach models a centralized application in terms of an application graph consisting application components and then deploys the application components across the underlying utility-aware hierarchically organized distributed resources so that all constraints and requirements are satisfied and the system’s overall utility is maximized. Then, based on the observations obtained by the monitoring of the system resources, ADE redeploys the application graph to maintain maximized system utilization in spite of the dynamism and uncertainty involved in the system. One important aspect of ADE is that, the deployment decisions can be made based solely on locally available information and without costly global communication or synchronization. The proposed model is therefore decentralized and adaptive. Index Terms − Automatic partitioning, autonomic computing, self-management, self-optimization, utility function. I.
A New Approach for Optimal Clustering of Distributed Programs Call Flow Graph
- International Journal of Computer Science Issues
"... Optimal clustering of call flow graph for reaching maximum concurrency in execution of distributable components is one of the NP-Complete problems. Both learning automatas (LAs) and genetic algorithms (GAs) are search tools which are used for solving many NP-Complete problems. In this paper a hybrid ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Optimal clustering of call flow graph for reaching maximum concurrency in execution of distributable components is one of the NP-Complete problems. Both learning automatas (LAs) and genetic algorithms (GAs) are search tools which are used for solving many NP-Complete problems. In this paper a hybrid algorithm is proposed to optimal clustering of call flow graph and appropriate distributing of programs in network level. The algorithm uses both GAs and LAs simultaneously to search in state space. It has been shown that the speed of reaching to solution increases remarkably using LA and GA simultaneously in search process, and it also prevents algorithm from being trapped in local minimums. Experimental results show the superiority of proposed algorithm over others.
Automatic Partitioning of Object-Oriented Programs with Multiple Distribution Objectives
"... There are many domains in which it would be very useful if we could take a monolithic program and automatically convert it into a distributed program according to some partitioning objective, such as minimizing total execution time or minimizing energy consumption on one particular distribution node ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
(Show Context)
There are many domains in which it would be very useful if we could take a monolithic program and automatically convert it into a distributed program according to some partitioning objective, such as minimizing total execution time or minimizing energy consumption on one particular distribution node. We present two novel techniques that work together to provide automatic multi-objective partitioning in the specific context of object-oriented programs. First, our method constructs an object relation graph (ORG) using a combination of static analysis and offline profiling information. Instead of directly partitioning this ORG, we then transform it into a target graph (TG) to abstract from concrete distribution infrastructures and objectives. By applying this two-layer graph modeling, we achieve a unified partitioning stragegy for different goals. We have built a framework that implements our techniques for Java, and explore its performance in the context of workload offloading for resource-constrained mobile devices. Our system takes standard Java bytecode programs as its input and automatically creates distributed Java bytecode programs as its output. Preliminary benchmark results are highly promising, with an average speedup factor of almost 1.5 and an average energy savings of 83.5 % for the beneficial benchmarks. 1
Scalability Transformations on Declarative Applications
, 2009
"... Many current distributed applications are based on the exchange of XML messages. Scaling such applications to the high processing volume demanded by Internet-scale deployment typically requires costly redesign and coding. In this paper, we investigate how a declarative specification of such applicat ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
(Show Context)
Many current distributed applications are based on the exchange of XML messages. Scaling such applications to the high processing volume demanded by Internet-scale deployment typically requires costly redesign and coding. In this paper, we investigate how a declarative specification of such applications can simplify the task of deploying them on a large number of host machines. In our model, applications are represented as a graph of message queues connected by message flow rules. The state of application instances is encoded in the message history of the queues and accessed using XQuery expressions. We show how to split such an application into distributable fragments using graph partitioning and discuss different algorithms for placing the fragments on hosts. Typically, an initial application specification contains data dependencies that place an upper limit on the number of fragments, and hence the number of usable machines. We describe transformations that increase the number of possible fragments by converting data dependencies into message flow. An evaluation using the TPC-App benchmark and a runtime system prototype confirms the feasibility and performance benefits of this approach. 1.
Acknowledgements
, 2010
"... I certify that except where due acknowledgement has been made, the work is that of the au-thor alone; the work has not been submitted previously, in whole or in part, to qualify for any other academic award; the content of the thesis is the result of work which has been carried out since the officia ..."
Abstract
- Add to MetaCart
(Show Context)
I certify that except where due acknowledgement has been made, the work is that of the au-thor alone; the work has not been submitted previously, in whole or in part, to qualify for any other academic award; the content of the thesis is the result of work which has been carried out since the official commencement date of the approved research program; any editorial work, paid or unpaid, carried out by a third party is acknowledged; and, ethics procedures and guidelines have been followed.
ii ACKNOWLEDGEMENTS
, 2011
"... This thesis would not have been possible without the support of many people. ..."
Abstract
- Add to MetaCart
(Show Context)
This thesis would not have been possible without the support of many people.
ADE: Utility Driven Self-management in a Networked Environment
"... Abstract � ADE, autonomic distributed environment, is a system which engages autonomic elements to automatically take an existing centralized application and distribute it across available resources. The autonomic elements provide self-management to handle the complexities associated with distributi ..."
Abstract
- Add to MetaCart
Abstract � ADE, autonomic distributed environment, is a system which engages autonomic elements to automatically take an existing centralized application and distribute it across available resources. The autonomic elements provide self-management to handle the complexities associated with distribution, configuration, coordination and efficient execution of program components. The proposed approach models a centralized application in terms of an application graph consisting application components and then deploys the application components across the underlying utility-aware hierarchically organized distributed resources so that all constraints and requirements are satisfied and the system’s overall utility is maximized. Then, based on the observations obtained by the monitoring of the system resources, ADE redeploys the application graph to maintain maximized system utilization in spite of the dynamism and uncertainty involved in the system. One important aspect of ADE is that, the deployment decisions can be made based solely on locally available information and without costly global communication or synchronization. The proposed model is therefore decentralized and adaptive. Index Terms � Automatic partitioning, autonomic computing, self-management, self-optimization, utility function.