Distributed Process Scheduling Summery BY:-Yonatan Negash Title… 1 2. Objectives 3.Static Process Scheduling 4.Dynamic Load Sharing and Balancing 5.Distributed Process Implementation 6.Future work 7.Reference . Definition Definition 1.Distribute process scheduling A distributed system is a collection of autonomous computers linked by a computer network that appear to the users of the system as a single computer 2.Some important term on this chapter CPU utilization – keep the CPU as busy as possible Throughput – # of processes that complete their Turnaround time – amount of time to execute a particular process Waiting time – amount of time a process has been waiting in the ready queue execution per time unit Response time – amount of time it takes from when a request was submitted until the first response is produced, not output (for timesharing environment) Objectives ◦ The primary objective of scheduling is to enhance overall system performance metrics *** such as:- 1.process completion time and 2. processor utilization. ◦ The existence of multiple processing nodes in distributed systems present a challenging problem for scheduling processes onto processors and vice versa. Why a Distributed System? Resource sharing ◦ Specialized hardware ◦ Data/Database Computation speedup ◦ Partitioning computations allowing concurrent processing ◦ Load balancing Reliability ◦ In event of system resource failure, shift its processing load to another similar resource. Allows collaboration, information exchange irrespective of geographical location(banking , reservation systems) Doing tasks faster by doing them in parallel Avoiding a single point of failure Incremental Growth Facilitates human to human communication Why scheduling? Before processes can execute, they need to be: Scheduled and Allocated with resources. Why scheduling? 1.To enhance overall system performance metrics like: Process completion time and Processor utilization. 2. To achieve location and performance transparencies by distributed process scheduling. Disadvantages of Distributed Systems Difficulties of developing distributed software Networking Problems Security problems[B. Karp, S. Hailes] Distributed Operating System Goals: Efficiency Consistency Robustness The existence of multiple processing nodes in distributed systems present a challenging problem for scheduling processes onto processors and vice versa. If processes are not constrained by precedence relations and are free to be redistributed or moved around among processors in the system, performance can be further improved by sharing the workload statically - load sharing dynamically - load balancing Static Process Scheduling Scheduling a set of partially ordered tasks on a nonpreemtive multiprocessor system of identical processors to minimize the overall finishing time (makespan) Is used to find optimal solution to the problem. There are two extreme cases of work assignment. mapping of processes is done before execution of the processes. once process started it stays at the processor until completion of the process. And never preempted. Decentralized and non –Adaptive are the drawbacks of Static process scheduling. Program is represented by a directed acyclic graph (DAG) Computational model--this model is used to describe scheduling for ‘program’ which consists of several sub-tasks.The schedulable unit is sub-tasks. Primary objective of task scheduling is to achieve maximal concurrency for task execution within a program. Scheduling goal: minimize the makespan time. Dynamic load sharing and Balancing Load balancing can be defined as a technique to distribute work between many computers processes or any other resources to get optimal resource utilization. controller reduces the process idling through load sharing ie,by joining the shortest queue and equalizing queue sizes by load balancing. Further, processes can be allowed to move from longer queue to shorter queue through load Redistribution. No prior knowledge is assumed – Scheduling need to be dynamic – Assignment decision made locally Based on disjoint process model Performance goal for scheduling is the high utilization of the system and equal fairness of user processes Solutions without a centralized controller: sender- and receiver-initiated algorithms. Distributed process implementation Remote Service:-The message is interpreted as a request for a known service at the remote site Three different software levels:As remote procedure calls at the language level. As remote commands at the operating system level. As interpretive messages at the application level . Depending on how the request messages are interpreted, there are three main application scenarios: Remote Service ◦ The message is interpreted as a request for a known service at the remote site. Remote Execution The messages contain a program to be executed at the remote site. Process Migration The messages represent a process being migrated to a remote site for continuing execution. the Future work A. The problem of process distribution in a computer network can be formulated as a distributed search process. The goal is to find those processors which can execute the processes in the most costefficient way. Present a modified version of the AO*algorithm using statistical data as a heuristic function. Based on previous observations of processors' efficiency in process execution the search will focus on the most promising search path to locate appropriate processors.(Gyires,T 1995) A new process scheduling queue system called the distributed queue tree (DQT) for a distributed memory, dynamically partitionable parallel machines was proposed. The combination of dynamically nested partitioning and time-sharing scheduling may provide an interactive environment and higher processor utilization. The key idea of DQT is to distribute process scheduling (Hori, A.;1995) queues to each partition. A round-robin scheduling algorithm and several task allocation policies on DQT was proposed . Future work B***Distributed Immune Systems for Wireless Networks 1. Continuous Monitoring of the Network 2.Formal and Statistical Models for Detection and Security Problems *** Synopsis: We are interested in detecting and signaling anomalies in the network by the use of sequential probability ratio tests. Some examples we are looking at are detecting distributed attacks in fixed networks and routing attacks for ad hoc wireless networks. 3.Communication-Friendly Encryption of Multimedia 4 and Other area Continuous Monitoring of the Network Formal and Statistical Models for Detection and Security Problems Machine Learning Methods for Intrusion Detection Detection and Classification of Known and Unknown Attacks Covert Information Transmission in Wireless Systems Communication-Friendly Encryption of Multimedia Cooperation Intrusion Detection Databases with Aggregates on Shadow Security Networks Reference [1].http://www.google.com [2]. Randy Chow, Theodore Johnson, “Distributed Operating Systems & Algorithms”, Addison Wesley.(all diagrams) [3]. http://www.isr.umd.edu/Labs/SEIL/Research_Projects/CurrentProjects/wireless_security.html#Continous monitoring ? Thanks