0% found this document useful (0 votes)
130 views12 pages

A Seminar Report On: Computer Engineering Department Academic Year: 2015-2016

srs report

Uploaded by

Ankit Yadav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
130 views12 pages

A Seminar Report On: Computer Engineering Department Academic Year: 2015-2016

srs report

Uploaded by

Ankit Yadav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

PUNE INSTITUTE OF COMPUTER TECHNOLOGY,

DHANKAWADI PUNE-43.

A
Seminar Report
On
Compiler Scheduling and Collaborative processing
Of Mobile agents for minimizing overheads
SUBMITTED BY
Kanchan A. Shirbhate
3361
TE III
GUIDED BY
Prof. Hemlata Channe

COMPUTER ENGINEERING DEPARTMENT


Academic Year: 2015-2016
P:F-SMR-UG/08/R0

Page 1

CERTIFICAE

This is to certify that Mr./Miss. Kanchan A. Shirbhate Roll No. 3361


a student of T.E. (Computer Engineering Department) Batch 20152016, has satisfactorily completed a seminar report on Compiler
Scheduling and Collaborative Processing of Mobile agents for
minimizing overheads under the guidance of Prof. Hemlata Channe
towards the partial fulfillment of the third year Computer Engineering
Semester II of Pune University.
_________
Internal Guide
Prof.Hemlata Channe

________
Head of Department
Prof.Giresh Potddar

Date:-

P:F-SMR-UG/08/R0

Page 2

Abstract
Distributed OS are the systems where we are running our task on multiple machines in
the network . To gain better performance in executing the processes in distributed
enviournments, we allow execution enviournments to move processes from processor to
processor dynamically at any point in the life of the procees. Mobile agent systems need explicit
involvement of the programmer to designate migration and computation schedule of the agent.
Two approaches are proposed and evaluated i.e ,the static and dynamic scheduling algorithms.
The first algorithm works totally offline.After converting the program control flow graph(CFG)
to program dependency graph(PDG), the schedule is worked out. Out the other hand, inorder to
dynamically schedule the agent when it reaches predicate (control flow) nodes, our dynamic
scheduling algorithm generates the motion schedule incrementally. To get good improvement
over unoptimized agent code both in terms of data tranfer size and number of agent migrations.
Keywords : Process scheduling, Overheads Minimizaton, Performance,Improvement

P:F-SMR-UG/08/R0

Page 3

Contents
1. Introduction...5
1.1Objective6
1.2 . Literature Review.6
1.3 Motivating Example6
1.4 Classification..7
1.5 Research issues in Mobile agents .8
2. Survey of Mathematical Model..9
3. Proposed Mathematical Model.10
4. Design and Analysis of the System
4.1 Program Dependency Graph13
4.2 Static Scheduling Algorithm14
4.3 Dynamic Scheduling Algorithm...16
5. Implementation..17
6. Applications19
7. Conclusion ....20
8. References..20

P:F-SMR-UG/08/R0

Page 4

1.Introduction
[2]The idea of using mobile code for distributed computing evolved recently. Then
Mobile Agent paradigm facilitates the movement of code and the state of execution from one
machine to another during the course of evaluation.[2]

1.1 Objective
[1]The optimization problem to schedule the motion of agents in a distributed

environment for data- intensive applications. Our objective is to minimize the overall overhead
due to the data distribution through program analysis.

1.2 Literature Review


[1]Mobile code carried by a mobile agent can automatically travel to several data sources
in order to complete a designated program. Traditionally, most mobile agent systems need
explicit involvement of the programmer to designate migration and computation schedule of the
agent

1.3 Motivating Example

1.4 Classification:
P:F-SMR-UG/08/R0

Page 5

The algorithms proposed can be categorized into two types.


1. Static scheduling assumes no branches in the distributed application. The schedule is worked
out offline without any probability calculation.
2. Dynamic scheduling decides execution order at runtime. Whenever the mobile agent comes
to a predicate node, a schedule is generated depending on the result of the evaluation (true or
false).
5 Research issues in case of Mobile agents.
[2]Below listed are few major issues with respect to use of mobile agents:
1) Single mobile agents become infeasible as network size increases leading to increased buffer
overflows.
2) As of now mobile agents support only static networks i.e., they can't learn about new node
addition or deletion of existing nodes automatically

2.Survey of Math model:

Let G(V,E) be the graph , such that


V = Set of nodes responsible for creation of mobile agent and also the one providing
the
execution enviornment to the mobile agent
V={A,B,C,D
.}
E = The Mobile agent

Where,
Mobile agent = data+code+program state.

The optimized output is generated with the help of the Classic Topology ordering
P:F-SMR-UG/08/R0

Page 6

algorithm
which generates when picking nodes from the working set W.Also additional edges can
Be put into the PDG to enforce objective related constraints.

Input : the PDG(Program Dependent graph) of the pogram.


Output: total order of the nodes i.e. a migration scheule
N : the node set of the PDG DAG
E : the edge set of the PDG DAG
L :the output total order of the nodes.
W : the working set.
W = {entry node}
W is not empty do
Pick a node P from W aand add it to L(*)
Delete P from the graph(includig all the edges connected with p)
Put all the nodes without predecessors to W
End
3. Proposed Mathematical Model:
Let S be the solution of given System,
S={ s,e,X,Y,F,DD,NDD | }
where,
s is start state; Y=null
s={c1,c2,c3........cn} U {server} U {a1,a2.....am}
ci represent client nodes 1<=i<=n n I+
aj represent agent nodes 1<=j<=mI+

P:F-SMR-UG/08/R0

Page 7

e is end state Y=Load balanced successfully.


X is input Set,
X={ip,if,port,load}
ip=netid+hostid
ip={ip1,ip2,ip3...........ipn| ipn=32-bit or 64-bit }

Domain

Range
Bijective mapping

iface=interface
port=port number port I+
load={cpu_queue_length, cpu_utilization, memory_utilization}

Y - Output Set

F-Functions-{fdispatch,fbalance,fencrypt,fsched,fdatastore,fdatarestore}
fdispatch: I1 O1
I1:{pid | pid I+}
O1:{priority_queue }
fbalance: I2 O2
I2:{priority_queue}
O2:{pid client}
P:F-SMR-UG/08/R0

Page 8

if load(client) > threshold pid agent


fencrypt: I3 O3
{Function to encryt the mobile agent. Genarate the public private key
pair (for host A : Apub & Bpri) using RSA Algorithm }
key={k(n-bit) | k [0-9]*}
fshed:I4 O4
It schedules mobile agent for minimal data transfer and minimizing overhead.
I3:{PDG_prog,DAG_prog,workset,ref_predicate,output_queue,overhead_mig}
O3:{node_workset1, node_workset2}
fdatastore:I5 O5
I5 ={process source code,supported library,execution environment}
O5 ={encrypted file,machine independent code transform}
fdatarestore: I6 O6
I6 ={machine independent code,execution environment,supported library}
O6 ={Process execution output , machine dependent source code,memory
block allocated summery}

DD-Deterministic data
DD={source of load, agent node to which the process is to be migrated}
NDD- Non-deterministic data.
NDD-{load on each node}

P:F-SMR-UG/08/R0

Page 9

4. DESIGN AND ANALYSIS OF SYSTEM:

4.1 Program Dependancy Graph


[1]Program Dependency Graph (PDG) is an alternative representation of the
program, which unveils both control dependency and data dependency of the program

1. Static Scheduling MNM


1]It shows the PDG of the motivating example. All tables are put as variables here. Each
rectangular box represents a node and the variables inside the box are referenced in the node.
The solid lines represent the dependencies.
P:F-SMR-UG/08/R0

Page 10

Algorithm for Static scheduling MDT(Minimal Data Transfer)

Algorithm for Dynamic scheduling MDT(Minimal Data Transfer)

2.DynamicScheduling MNM
It shows the PDG of the motivating example. All tables are put as variables here. Each
rectangular box represents a node and the variables inside the box are referenced in the node.
The solid lines represent the dependencies.

P:F-SMR-UG/08/R0

Page 11

Implementation:
Master PC:
1)migrate process from master machine to slave.
2)Balance thread on slave machine.
3)keep record of slave machines.
4)encrypt program file for migration security.

Slave Machine:
1)accept request from master.
2)decrypt the program file sent by master for compilation.
2)execute the process send by master.
3)request master if overhead increase on it to migrate to another machine.

5.Conclusion and Future Work


In conclusion, we have proposed a set of program analysis approaches for the problem of
optimizing the mobile agent scheduling. Two categories of algorithms are designed for both
static and dynamic scheduling. The performance evaluation shows good improvements in terms
of program execution speed esp. for large-scale programs compared to the nave scheduling
algorithm.

6. References
[1]Xiaotong Zhuang and Santosh Pande Compiler Scheduling of Mobile Agents for Minimizing
Overheads,Proceedings of the 23rd International Conference on Distributed Computing
Systems (ICDCS03)1063-6927/03 $17.00 2003 IEEE.
[2]Yingyue Xu and Hairong Qi Mobile Agent Migration Models and Algorithms for
CollaborativeProcessing,Wireless Communications and Neywrking Conference,2006,WCNC
2006.IEEE(Vloume:4).

P:F-SMR-UG/08/R0

Page 12

You might also like