Chetan V. Kokate

strangerwineAI and Robotics

Oct 19, 2013 (3 years and 8 months ago)

64 views



Chetan V. Kokate




CSc8320


Advanced Operating Systems


FALL 2008











OVERVIEW


Dynamic Load Sharing and Balancing


Process Migration


Process Implementation


Real Time Scheduling



Stork and Data Aware Schedulers [1].



The unbounded increase in the computation and data requirements of
scientific applications has necessitated the use of widely distributed
computing and storage resources to meet the demand.



Traditional systems closely couple data placement and computation, and
consider data placement as a side effect of computation.



The insufficiency of the traditional systems and existing CPU
-
oriented
schedulers in dealing with the complex data handling problem has yielded
a new emerging era: the data
-
aware schedulers.



One of the first examples of such schedulers is the Stork data placement
scheduler.




























The reason that we categorize the data placement jobs into different types is that
all of these types can have different priorities and different optimization
mechanisms.



Example : Register, Unregister, Transfer, Release , etc.



Data placement is handled by scientific applications using the traditional systems.
This example is a well known bioinformatics application: Blast.




Blast aims to decode genetic information and map genomes of different species
including humankind. Blast uses comparative analysis techniques while doing this
and searches for sequence similarities in protein and DNA databases by comparing
unknown genetic sequences (on the order of billions) to the known ones.



Primararily scientific application oriented.









Stochastic Approach to Scheduling [2].


Focus is on the multiple divisible tasks on a Heterogeneous

Distributed Computing System.



The “stochastic” approach, which was previously applied to DAG scheduling, is
employed for scheduling a group of multiple divisible as well as whole
independent tasks.



It explicitly considers the standard deviations (temporal heterogeneity) in
addition to the mean execution times in deriving a schedule, in order to


model more closely what would actually happen “on average”on a temporally
heterogeneous system (instead of approximating the random weights by their
means only as in other approaches).



Through an extensive computer simulation, it has been shown that the
approach can improve schedules significantly over those by a scheme which
uses the average weights only.







A conventional scheduling scheme which considers only the means of task execution
times is not able to find the best possible schedule in a heterogeneous environment.



A new approach to scheduling a group of independent divisible and non
-
divisible
tasks is the stochastic approach.



The first implementation of the approach is based on the Max
-

Min and Min
-
Min
algorithms, called the stochastic Max
-

Min and Min
-
Min.



The schedules derived by the proposed approach are significantly better in terms of
the average parallel execution time than those by the static Max
-
Min and Min
-
Min
which consider only the average execution times of tasks.



Also, the stochastic Max
-
Min and Min
-
Min are able to accurately predict the actual
performance one can expect on a temporally heterogeneous distributed computing
system, i.e. the schedule length obtained by the stochastic Max
-
Min and Min
-
Min


is very close to the average parallel execution time.



Long Term CPU Load Prediction
System [3].






There exist distributed processing environments composed of many
heterogeneous computers.



It is required to schedule distributed parallel processes in an appropriate manner.



For the scheduling, prediction of execution load of a process is effective to exploit
resources of environments.



A prediction module selection for an appropriate prediction method according to a
state of changing CPU load using a neural network has been recently proposed.



The selection is expected to improve prediction accuracy under circumstances


both of steady and unsteady states because each prediction method can predict more
accurately in each different condition.








The NN is a 3
-
layer perception and each layer is fully connected.



The number of cells in each layer is 6
-
6
-
3 (input
-
hidden
-
output),
respectively.



The last three observed load values
V (T ), V (T − 1), V (T −2) and
three of those differences V (T ), V (T − 1), V (T − 2) are fed to the
input layer.



Each cell in output
layer corresponds to each prediction module,
which is LAST or process search method or runtime
-
prediction
based method, and the cell that most strongly fires indicates the
prediction module to be selected at that time.



From the future prospective , parameters can be refined to improve
prediction accuracy and develop scheduling algorithms to exploit
long
-
term CPU load predictions.




Enhancing Job Scheduling on


NOWs [4].


Using Simulation, Historical and Hybrid Estimation Systems.



An estimation engine termed CISNE has been introduced
into the job scheduling system.



Three different estimation methods have been proposed and
implemented in the CISNE system: a simulation tool, a
historical system and an integration of both (hybrid).



CISNE is a new scheduling environment.






The main objective of the CISNE system is to manage parallel applications in a non
-
dedicated environment, ensuring benefits for the parallel applications, while it
preserves the local task responsiveness.



When a parallel job is submitted to the CISNE system, the job waits in a queue until
the
Queues Manager decides to schedule it.



This decision
is taken according to the computational requirements of each parallel
job waiting in the queue together with the
Node State received from each node. The
Node State includes
the local load and the amount of idle computational resources on
each node.



Once a job is selected from the
Jobs Queue, CISNE will select the best subset of nodes
to
execute it.



Job Selection Policy (JSP) is the policy for selecting
the next job to run from the waiting
queue. This could depend on the job's priorities (order in the queue), and the cluster
state (intrusion level into the local workload, the Multiprogramming Level (MPL) of
parallel applications, the memory and CPU usage and the available nodes).




Node Selection Policy (NSP) is the policy for distributing
the parallel tasks among the
nodes. This depends on the cluster state and the parallel job's characteristics.





Dynamic Scheduling with Process
Migration [5].


The migration cost has been modeled to introduce an effective method to predict the cost
of process migration.



The dynamic scheduling mechanism considers migration cost as well as other
conventional influential factors for performance optimization in a shared, heterogeneous
environment.



Experimental results show that the proposed dynamic scheduling system is feasible and
improves the system performance considerably.



The design of a migration
-
based dynamic scheduling is fourfold: reschedule triggering,
migration cost modeling, task scheduling, and parameter measurement.



Select the destination machine based on an estimate of the completion time of the
migrated process. When an application consists of multiple processes running
concurrently on different machines, we need to consider the overall application
completion time as a selection criterion.















Assumption: an application is located on machine, m
0
.



Objective: dynamically reallocate an application when an abnormality is noticed



Begin


Receiving the triggering signal


List a set of idle machines that are lightly loaded over an observed time period,


M= {m
0
,m
1
,….,m
q
} ;
p


= 1;



For each machine

m
k

(1 ≤ k ≤ q) ,



Calculate the migration cost,

C
0k

;



Calculate the mean of the remote task execution time,



Calculate the application completion time,

T
0k


If


T
0
p'
> T
0k

, then p


= k ;



End For



Migrate the application from
m
0

to m
p


;



End









A Real Time Scheduler Using Generic

Neural Network [6].


A generic neural network scheduler for scheduling a set of jobs
with deadlines on a set of resources in critical real time
applications, in which a schedule is to be obtained within a short
time span has recently been proposed.



Based on GENET network model with progressive stochastic search
scheme.



To cope with the bi criterion of deadlines and optimization, a
heuristic policy which is modified from the earliest deadline first
policy and an optimal mechanism are embedded into the proposed
model.


The real time scheduling problem could be viewed as a constraint satisfaction
problem (CSP).



Different constraints that need to be taken into account :



Order Constraints



Overlap Constraints



Deadline Constraints



GENET is a local search approach with a neural network connectionist
architecture for solving finite CSPs with binary constraints .




In the GENET network, a binary CSP (U, D, C) can be represented by a set of label
nodes and weighed incompatible connections.



GENET neural network scheduler consists of 3 type of neurons
:



u
-
type neurons



v
-
type neurons



f
-

type neurons






















Energy
-
Aware Soft Real
-
Time Scheduling
for Multi
-
Radio Embedded Devices [7].


An energy
-
efficient scheduling algorithm for the data
-
communications of soft
real
-
time periodic tasks on multi
-
radio embedded devices was recently
proposed.




To cope with the dynamic fluctuation of channel conditions, a feedback
mechanism that monitors radio throughput is introduced to guarantee real
-
time behaviors.



A formal analysis on the scheduling, exploring the relationship between
tardiness bounds and energy savings and that between network stability and (m;
k)
-
firm deadline guarantees has also been done.



This approach is applicable to real
-
time communication scheduling problems in
which background interference and other environmental factors are not known a
priori.



The method is local in that it does not require broad
knowledge about the networking environment, and is
therefore suited to scenarios where interference is
unpredictable.



The method results in significant energy savings by
allowing radios to be turned off in ways that still allow
real
-
time guarantees to be made.



There are several interesting areas of future work.





REFERENCES

[1]“A new paradigm in data intensive computing: Stork and the data
-
aware schedulers”


Kosar, T.; Challenges of Large Applications in Distributed Environment, 2006 IEEE


19 June 2006 Page(s):5


12.


[2] “
Stochastic Approach to Scheduling Multiple Divisible Tasks on a Heterogeneous


Distributed Computing System” Kamthe, A.; Lee, S.
-
Y.; Parallel and Distributed


Processing Symposium, 2007. IPDPS 2007. IEEE International 26
-
30 March 2007


Page(s): 1
-
11.



[3] “Long
-
Term CPU Load Prediction System for Scheduling of Distributed Processes and

Implementation” Sugaya, Y.; Tatsumi, H.; Kobayashi, M.; Aso, H.; Advanced Information
Networking and Applications, 2008. AINA 2008. 22
nd

International Conference on 25
-
28
March 2008 Page(s):971
-

977.


[4] “Using Simulation, Historical and Hybrid Estimation Systems for Enhacing Job
Scheduling on NOWs” Hanzich, M.; Hernandez, P.; Luque, E.; Gine, F.; Solsona, F.;
Lerida, J.L.; Cluster Computing, 2006 IEEE International Conference on 25
-
28 Sept.
2006 Page(s):1
-

12 .







[5] “Dynamic Scheduling with Process Migration” Du, Cong; Sun, Xian
-
He; Wu, Ming;
Cluster Computing and the Grid. 2007. CCGRID 2007. Seventh IEEE International
Symposium on May 2007 Page(s):92


99.


[6] “A Real Time Scheduler Using Generic Neural Network for Scheduling with
Deadlines” Xin Feng; Lixin Tang; Hofung Leung; Neural Networks and Brain, 2005.
ICNN&B ‘05. International Conference on Volume 1,


13
-
15 Oct. 2005 Page(s):504


508


[7] “Energy
-
Aware Soft Real
-
Time Scheduling for Multi
-
Radio Embedded Devices”

“http://research.microsoft.com/research/pubs/view.aspx?type=Technical%20Report&id=14
83”







THANK YOU