Infrastructure for Load Balancing on Mosix Cluster
|
|
|
- Preston Park
- 10 years ago
- Views:
Transcription
1 Infrastructure for Load Balancing on Mosix Cluster MadhuSudhan Reddy Tera and Sadanand Kota Computing and Information Science, Kansas State University Under the Guidance of Dr. Daniel Andresen. Abstract The complexity and size of software are increasing at a rapid rate. This results in the increase in build time and execution times. Cluster computing is proving to be an effective way to reduce this in an economical way. Currently, most available cluster computing software tools which achieve load balancing by process migration schemes, do not consider all characteristics such as CPU load, memory usage, network bandwidth usage during migration. For instance, Mosix, a cluster computing software tool for Linux, does not consider network bandwidth usage and neither does it consider CPU usage and memory characteristics together. In this paper we present the infrastructure for efficient load balancing on Mosix cluster through intelligent scheduling techniques. Introduction As computers increase their processing power, software complexity grows at an even larger rate in order to consume all of those new CPU cycles. Not only does the running of the new software require more CPU cycles, but the time required to compile and link the software also increases. The basic idea behind clustering approach is to make a large number of individual machines act like a single very powerful machine. With the power and low prices of today s PCs and the availability of high performance Ethernet connections, it makes sense to combine them to build High Performance Computing and Parallel Computing environment. This is the concept behind any typical clustering environment such as Beowulf parallel computing system, which comes with free versions of UNIX and public domain software packages. Mosix is a software that was specifically designed to enhance the Linux kernel with cluster computing capabilities. It is a tool consisting of kernel level resource sharing algorithms that are geared for performance scalability in a cluster computer. Mosix supports resource sharing by dynamic process migration. It relieves the user from the responsibility of allocation of processes to nodes by distributing the workloads dynamically. In this project, we are concentrating on homogeneous systems, wherein we have machines with same family of processors running the same kernel. The resource sharing algorithm of Mosix attempts to reduce the load differences between pairs of nodes (systems in the cluster) by migrating processes from higher loaded nodes to lesser loaded nodes. This is done in decentralized manner i.e. all nodes execute the same algorithms and each node performs the reduction of loads independently. Also, Mosix considers only balancing of loads on processors and responds to changes in loads on processors as long as there is no extreme shortage of other resources such as free memory and empty process slots. Mosix does not consider certain parameters such as network bandwidth usage by a process running on a node. In addition, Mosix distributes the load evenly and does not give the user, the control of load distribution i.e. if the user wants only few of the machines to be evenly
2 loaded and few others to be heavily /lightly loaded, he will not be able to do this. Our project aims to overcome these shortcomings. Our initial scheduling technique is decentralized and tries to give user, the control of balancing the load on various machines. The scheduling algorithms, we use, try to achieve balance in load, memory and network bandwidth by collecting performance metrics of a process through Performance Co-pilot (PCP), a framework and services to support systemlevel performance monitoring and performance management from SGI. We also propose an implementation, which is based on a centralized scheduler, which tries to eliminate the problems of decentralized scheduling, such as every node trying to move their CPU intensive processes to a lightly loaded node. The centralized scheduler also takes care of network bandwidth usage of a process and tries to reduce the overall network bandwidth consumption by migrating the communicating processes to single node in addition to balancing the load on individual processes as required by the user. Load Balancing The notion in Mosix cluster is that whenever a system in the cluster becomes heavily loaded, then the load is distributed in the cluster. The dispatching of tasks from heavily loaded system and scheduling it to a lightly loaded system in the cluster is called load balancing. Load balancing can be divided into following phases: a. Load Evaluation phase: The usefulness of any load balancing scheme is directly dependent on the quality of load measurement and prediction. [Watts98] Any good load balancing technique not only has good measurement of load, but also, sees that it does not affect the actual load on the system. b. Profitability Determination phase: We should perform load balancing only when the cost of imbalance is greater that cost of load balancing. This comparison of cost of imbalance vs. cost of load balancing is the profitability determination. Generally if cost is not considered during actual migration, an excessive number of tasks can be migrated, and this will have negative influence on the system performance. c. Task Selection phase: Now we must select a set of tasks that must be dispatched from the system so that the imbalance is removed. This is done in the task selection phase. The task should be selected in such a way that moving the task from the system would remove the imbalance to a large extent. For instance, we can see the proportion of CPU usage of the task on the system. We should also consider the cost of moving the task over the link in the cluster, size of the transfer, since larger tasks will take longer time to move that the smaller ones. d. Task Migration phase: This is the final phase of load balancing in the cluster. This step must be done carefully and correctly to ensure continued communication integrity. In the following sections, we will explore two most popular cluster computing technologies namely, Mosix and Condor and also conclude why we chose Mosix. We continue the paper with our implementation and provide sample test results. Mosix Mosix is a cluster-computing enhancement of Linux, which allows multiple uniprocessors, and SMP s running the same version of kernel to share resources by preemptive process migration and dynamic load balancing. Mosix implements resourcesharing algorithms, which respond to load variations on individual computer systems by migrating processes from one workstation to another, preemptively. The
3 goal is to improve the overall performance and to create a convenient multi-user, timesharing environment for execution of applications. Unique features of Mosix are a. Network transparency: For all network related operations, the application level programs are provided with a virtual machine that looks like a single machine i.e. the application programs do not need to know the current state of the system configuration. b. Preemptive process migration: It means that it can migrate any user s process, transparently to any available node at any time. Transparency in migration means that the functional aspects of the system behavior should not be altered as a result of migration. c. Dynamic load balancing: As explained earlier, Mosix has resource sharing algorithms, which work in decentralized manner. The granularity of work distribution in Mosix is process. Each process has Unique Home Node (UHN) where it was created. Process that migrates to other nodes (called remote ) use local (in the remote node) resources whenever possible, but interact with the user s environment through the UHN, for e.g. gettimeofday() would get the time from the UHN. Preemptive process migration in Mosix is implemented by dividing the migrating process into two contexts: user context ( remote ) that can be migrated, and system context ( deputy ) that is UHN dependent and cannot be migrated (see figure 1). The remote consists of stack, data, program code, memory maps and registers. The deputy consists of description of the resources, which the process is attached to, and a kernel-stack for the execution of the system on behalf of the process. The interaction of deputy and the remote is implemented at the link layer as shown in figure 1, which also shows two processes sharing a UHN, one local and a deputy. Remote processes are not accessible to other processes that run at the same node and vice versa. They do not belong to any particular user nor can they be sent signals or otherwise manipulated by any local process. They can only be forced by system administrator to migrate out. The deputy does not have a memory map of its own. Instead, it shares the main kernel map similar to kernel thread. The system calls that are executed by the process (remote) are intercepted by remote site s link layer. If the system calls are site independent, it is executed by the remote locally, else, the system call is forwarded to the deputy. The
4 deputy then executes the call and returns the result back to remote site. Condor Condor is a High Throughput Computing environment that can manage very large collections of distributively owned workstations. The environment is based on a novel layered architecture that enables it to provide a powerful and flexible suite of Resource Management services to sequential and parallel applications. The following are the features of Condor: a. Checkpoint and Migration: Where programs can be linked with Condor libraries, users of Condor may be assured that their jobs will eventually complete, even in the ever changing environment that Condor utilizes. As a machine running a job submitted to Condor becomes unavailable, the job can be checkpointed. The job may continue after migrating to another machine. Condor's periodic checkpoint feature periodically checkpoints a job even in lieu of migration in order to safeguard the accumulated computation time on a job from being lost in the event of a system failure such as the machine being shutdown or a crash. b. Remote System Calls: Despite running jobs on remote machines, the Condor standard universe execution mode preserves the local execution environment via remote system calls. Users do not have to worry about making data files available to remote workstations or even obtaining a login account on remote workstations before Condor executes their programs there. The program behaves under Condor as if it were running as the user that submitted the job on the workstation where it was originally submitted, no matter on which machine it really ends up executing on. c. Jobs can be ordered: The ordering of job execution required by dependencies among jobs in a set is easily handled. The set of jobs is specified using a directed acyclic graph, where each job is a node in the graph. Jobs are submitted to Condor following the dependencies given by the graph. d. Condor Enables Grid Computing: As grid computing becomes a reality, Condor is already there. The technique of glide in allows jobs submitted to Condor to be executed on grid machines in various locations worldwide. As the details of grid computing evolve, so does Condor's ability, starting with Globus-controlled resources. e. Sensitive to the Desires of Machine Owners: The owner of a machine has complete priority over the use of the machine. An owner is generally happy to let others compute on the machine while it is idle, but wants it back promptly upon returning. The owner does not want to take special action to regain control. Condor handles this automatically. f. ClassAds: The ClassAd mechanism in Condor provides an extremely flexible, expressive framework for matchmaking resource requests with resource offers. Users can easily request both job requirements and job desires. For example, a user can require that a job run on a machine with 64 Mbytes of RAM, but state a preference for 128 Mbytes, if available. A workstation owner can state a preference that the workstation runs jobs from a specified set of users. The owner can also require that there be no interactive workstation activity detectable at certain hours before Condor could start a job. Job requirements/preferences and resource availability constraints can be described in terms of powerful expressions, resulting in Condor's adaptation to nearly any desired policy.
5 Condor has some limitations on jobs that it can transparently checkpoint and migrate which are the following a. Multi-process jobs are not allowed. This includes system calls such as fork(), exec(), and system(). b. Inter-process communication is not allowed. This includes pipes, semaphores, and shared memory. c. Network communication must be brief. A job may make network connections using system calls such as socket(), but a network connection left open for long periods will delay checkpointing and migration. d. Sending or receiving the SIGUSR2 or SIGTSTP signals is not allowed. Condor reserves these signals for its own use. Sending or receiving all other signals is allowed. e. Alarms, timers, and sleeping are not allowed. This includes system calls such as alarm(), getitimer(), and sleep(). f. Multiple kernel-level threads are not allowed. However, multiple user-level threads are allowed. g. Memory mapped files are not allowed. This includes system calls such as mmap() and munmap(). h. All files must be opened read-only or write-only. A file opened for both reading and writing will cause trouble if a job must be rolled back to an old checkpoint image. For compatibility reasons, a file opened for both reading and writing will result in a warning but not an error. i. A fair amount of disk space must be available on the submitting machine for storing a job s checkpoint images. A checkpoint image is approximately equal to the virtual memory consumed by a job while it runs. If disk space is short, a special checkpoint server can be designated for storing all the checkpoint images for a pool. The following are the reasons for selecting Mosix over Condor for our implementation a. Condor has too many limitations on the type of process it can migrate as we have seen above. b. Condor is not an open source project. Also it does not provide any API for migrating the processes. Mosix API and its source code are available free of cost through GPL for programmers to develop the existing product or to utilize them in upper layers. Also it has an option to restrict its resource sharing algorithms so that users can develop their own resource sharing/ scheduling algorithms in order to gain a better control over load distribution. Performance Co-Pilot (PCP) PCP is a framework and services to support system-level performance monitoring and performance management. Performance data may be collected and exported from multiple sources, most notably the hardware platform, the IRIX kernel, layered services and end-user applications. The diagram below shows architecture of PCP.
6 PCP consists of several monitoring and collecting tools. The monitoring tools consume and process performance data using a public interface, the Performance Metrics Application Programming Interface (PMAPI). Below the PMAPI level is the Performance Metric Collector Daemon (PMCD) process, which acts in a coordinating role, accepting requests from clients, routing requests to one or more Performance Metrics Domain Agents (PMDA), aggregating responses from the PMDAs, and responding to the requesting client. Each performance metric domain (such as IRIX or some Database Management System or NETSTAT in our case)) has a well-defined name space for referring to the specific performance metrics it knows how to collect. Each PMDA Figure 2: PCP architecture encapsulates domain-specific knowledge and methods about performance metrics that implement the uniform access protocols and functional semantics of the PCP. There is one PMDA for the operating system, another for process specific statistics, one each for common DBMS products, and so on. Connections between PMDAs and PMCD are managed by the PMDA functions. There can be multiple monitor clients and multiple PMDAs on the one host, but there may be only one PMCD process. PCP also allows extending the functionalities by writing agents to collect performance metrics from uncharted domains, or to program new analysis or visualization tools using the Performance Metrics Application Programming Interface (PMAPI).
7 Design and Implementation Figure below shows the various modules interact in final application (on every machine). PMDA - process PMDA - netstat PMClientprocess Scheduler Migration Module P 1 P 2 P n The following are the modules in our implementation a. PMDA: PCP provides PMDAs for collecting process metrics such as number of processes running, user time, system time, memory used and so on. We have used these PMDAs through the PMClient in order to get the process metrics. As the PCP does not have any PMDAs to give the network characteristics of a process, we have written a PMDA, using the common netstat utility to give metrics concerning network characteristics of each process such as intensity of communication (in bytes/sec), address of the machine on which the process is running on the other machine, source port number and destination port number (port number of the process with which its Figure 3: Interaction of Modules communicating). The name of this PMDA is netstat and user s can access its functionalities by using the name netstat. E.g.: pminfo f netsatat gives the metrics of the communicating processes. Precisely, the metrics of a process being considered presently are system time and netstat metrics. A CPU intensive process will have a high value for the ratio of system time to the total time taken. Whenever there is a load imbalance, we consider the process with maximum CPU intensity for migration. This step corresponds to the Load Evaluation Phase, mentioned earlier. b. PMClient: It is responsible for talking with PMDA though PMAP Interface. It
8 fetches the metric values, which can be used for making the decision upon process migration. c. Scheduler: It acquires all the performance metric values of all processes and then determines if any scheduling is required based upon the scheduling algorithm. This corresponds to the Task Selection Phase (We do not consider Profitability Determination phase as the cost of load balancing, such as the time/ load taken for running the scheduler and the time taken for actual migration of a process are very less as compared to the load of a process). We have implemented two different scheduling techniques for balancing CPU loads. (All the algorithm implementations were done on a cluster of two machines). Algorithm 1: 1: fetch metrics for all process. 2: fetch load on two machines 3: check if loads are different (with difference greater than a threshold value). 3a: if load on current machine is less sleep for few seconds and jump to step 1. 3b:If load on current machine is much higher than load on other machine 3b1:select the process, which is causing maximum load and also running on current machine. If the process is migratable, move the process to other machine. Then sleep for few seconds and go step 1 3b2:If process already migrated, repeat step 3b1 for remaining processes. Algorithm 2 differs from Algorithm1 in the case of handling processes which a have been already migrated. i.e. Algorithm1 waits for the process to return back by itself ( when the execution ends) whereas Algorihm2 gets the migrated process back if it sees that the load on the machine to which the process migrated has increased more than the current machine by a certain threshold. Algorithm2: 1: fetch metrics for all process. 2:fetch load on two machines 3:check if loads are different (with difference greater than a threshold value). 3a:If load on current machine is very less 3a1:Check if any process has migrated to other machine. If so, get the process with highest load, back to current machine. Wait for few seconds and jump to start. 3b:If load on current machine is much higher than load on other machine 3b1:select the process, which is causing maximum load and also running on current machine (by system time value). If the process is migratable, move the process to other machine. Then sleep for few seconds and go step1. 3b2:If process already migrated, repeat step 3b1 for remaining processes. These algorithms correspond to the Task Selection and Migration Phase. The Migration Module handles the actual migration by using Mosix API. Both the algorithms give a better performance over process assignment (static) without any scheduling as they try to balance the load on both the machines. Algorithm2 is more efficient than algorithm1 as the later does not does not migrate the processes back home even when the load on other machine become high. The graphs, later in the paper show the improvement over the completion
9 time of processes scheduled with algorithm over the ones run without algorithm. The advantages of the above scheduling algorithms over Mosix s resource sharing algorithm are that they give the control of load balancing to the user. User can specify the threshold of loads on each machine for the scheduler to make better decisions on load balancing. Above methodologies have certain shortcomings as for example 1) They are decentralized, in which every machine tries to run the scheduling algorithms and it might happen that all highly loaded machines try to migrate their processes onto lightly loaded machine. This causes the lightly loaded machine (say X ) to become heavily loaded within a short span of time. Now, X tries to migrate its own processes or all other machines, which migrated their processes, might take their processes back. This series of actions will lead to frequent increase and decrease of loads and would not help in any way for load balancing. Also, every machine might try to migrate the communicating process to the machine with which it is communicating. This might lead to just swapping of processes with respect to machines and does not reduce the communication intensity. Later we propose a solution for all the above issues along with providing the flexibility of scheduling control to the user by means of a central scheduler. Results The diagrams below shows the performance of the machines with sample test programs, which are either CPU, bound or I/O bound. The CPU bound processes were benefited by our scheduling algorithms which is evident form their faster execution as also seen in the graphs. Figure 4 & 5 show the performances of the algorithm2 and algorithm2 respectively. The results show that algorithm2 is more efficient than algorithm1 as expected.the I/O intensive processes are not benefited much by the schedulers as the system calls for files are always redirected towards the deputy in the home node (see figure 6). Performance of scheduling algorithm1 for CPU bound jobs with scheduling algorithm1 without scheduling algorithm Figure 4: Graph of program size (X Axis) vs. execution time (Y Axis)
10 Performance of scheduling algorithm2 for CPU bound jobs with scheduling algorithm2 without scheduling algorithm Figure 5: Graph of program size (X Axis) vs. execution time (Y Axis) Performance of scheduling algorithm for I/O bound jobs with scheduler algorithm2 without scheduler algorithm Figure 6: Graph of program size (X Axis) vs. execution time (Y Axis) without
11 Centralized Scheduler This is our next step of scheduling and we are presenting the planned design/implementation method here. PMDA - process PMDA - netstat PMClientprocess PMClientprocess Migration Module Local Scheduler Local Scheduler Migration Module P 1 Pn P 1 P n Centralized Scheduler Figure 7: Interaction of Modules with Central Scheduler In this model, all the scheduling decisions are done by centralized scheduler. RPC communication mechanism is the best way for passing information from all the machines to the centralized scheduler. All individual machines would behave as RPC servers and the centralized scheduler behaves as RPC client, which asks for the process information from the individual machines (servers) at regular intervals of time through RPC function calls. The centralized scheduler would schedule the jobs in the following manner a. For all CPU bound jobs (with zero or very less network intensity), the centralized scheduler tries to balance the load (depending upon user s constraints, if any) on all machines. This would eliminate the earlier problem of frequent change of loads.
12 b. For all jobs with considerable network intensity, the centralized scheduler tries to create a graph/table which determines the communicating pairs (or a set) of processes. The scheduler then tries to reduce the network intensity by having the communicating processes on the same machine. Also, the central scheduler tries to balance CPU load, which is caused by the processes, which are network intensive. The phases of getting the metrics, constructing the graph of communicating processes, getting the loads of various machines are separated from the actual scheduling mechanism. This will help in changing the scheduling mechanism based on user s requirements as and when needed. The centralized scheduler will then send a message to the individual machines (servers) to actually migrate the processes. However, there are certain issues to be considered in centralized scheduler implementation. The amount of information passed from the individual machines to the central scheduler might be enormous. As for example if a machine passes the following structure on every request for metrics, (values in braces indicates the size of each field) struct info { char pid[2];(2) // pid float CPU_Load; (4) //the cpu load of this process int sport ;(2) //source port int dport; (2) //destination port char daddr[8]; (8) // destination IP address float net_intensity; (4) // network intensity } The total size of the structure is 22 bytes. The values for sport, dport and net_intensity will be zero non-communicating processes. If machine is loaded with many processes, then sending the above information for all processes frequently (say every 5 10 seconds), then it will be an overhead on the network in addition to the actual communication of the processes themselves. We can reduce this overhead to a large extent by making the local schedulers more intelligent. All processes with only CPU load can be handled for migration, by the local schedulers themselves. The local scheduler will then only passes the information about the processes, which have some communication. The total amount of information passed would be very less as compared to earlier amount of information passed if the network intensive processes are a small subset of the total processes running in the system. This scheme will make the whole process efficient by dividing the scheduling overhead to different machines and also reduces the network load when the scheduling is done frequently. If the scheduling is done occasionally (say, once every 15 minutes) then making the central scheduler handle all the work (scheduling both CPU intensive and network intensive processes) will be the efficient way. Conclusions and Future Work In all the work done so far, we have prepared the infrastructure for load balancing on Mosix Cluster. We have tested this with our (local) schedulers based on simple load balancing algorithms that we discussed in the earlier sections. As we have mentioned earlier, the local schedulers have their own disadvantages such as frequent variation of loads, frequent swapping of communicating processes. We plan to overcome these disadvantages by implementing the central scheduler. Also, extensive scripts will facilitate large scale testing with varying parameters for complex scheduling algorithms.
13 References [1] [2] [3] [4] Watts, Jerrell and Taylor, Stephen, "A Practical Approach to Dynamic Load Balancing, " IEEE Transactions on Parallel and Distributed Systems, Vol 9, No 3, March [5] Amnon Barak, Oren La adan Amnon Shiloh, "Scalable Cluster Computing with MOSIX for LINUX." [6] Amnon Barak, Avner Braveman, Ilia Gilderman and Oren Laden, Performance of PVM with the MOSIX Preemptive Process Migration Scheme." [7] Steve McClure, Richard Wheeler, "Mosix: How Linux Clusters Solve Real World Problems."
OpenMosix Presented by Dr. Moshe Bar and MAASK [01]
OpenMosix Presented by Dr. Moshe Bar and MAASK [01] openmosix is a kernel extension for single-system image clustering. openmosix [24] is a tool for a Unix-like kernel, such as Linux, consisting of adaptive
Scalable Cluster Computing with MOSIX for LINUX
Scalable Cluster Computing with MOSIX for LINUX Amnon Barak Oren La'adan Amnon Shiloh Institute of Computer Science The Hebrew University of Jerusalem Jerusalem 91904, Israel amnon,orenl,amnons @cs.huji.ac.il
Distributed Operating Systems. Cluster Systems
Distributed Operating Systems Cluster Systems Ewa Niewiadomska-Szynkiewicz [email protected] Institute of Control and Computation Engineering Warsaw University of Technology E&IT Department, WUT 1 1. Cluster
Simplest Scalable Architecture
Simplest Scalable Architecture NOW Network Of Workstations Many types of Clusters (form HP s Dr. Bruce J. Walker) High Performance Clusters Beowulf; 1000 nodes; parallel programs; MPI Load-leveling Clusters
Load Balancing in Beowulf Clusters
Load Balancing in Beowulf Clusters Chandramohan Rangaswamy Department of Electrical and Computer Engineering University of Illinois at Chicago July 07, 2001 1 Abstract Beowulf[1] Clusters are growing in
MOSIX: High performance Linux farm
MOSIX: High performance Linux farm Paolo Mastroserio [[email protected]] Francesco Maria Taurino [[email protected]] Gennaro Tortone [[email protected]] Napoli Index overview on Linux farm farm
Automatic load balancing and transparent process migration
Automatic load balancing and transparent process migration Roberto Innocente [email protected] November 24,2000 Download postscript from : mosix.ps or gzipped postscript from: mosix.ps.gz Nov 24,2000
The MOSIX Cluster Management System for Distributed Computing on Linux Clusters and Multi-Cluster Private Clouds
The MOSIX Cluster Management System for Distributed Computing on Linux Clusters and Multi-Cluster Private Clouds White Paper A. Barak and A. Shiloh http://www.mosix.org OVERVIEW MOSIX 1 is a cluster management
Globus Striped GridFTP Framework and Server. Raj Kettimuthu, ANL and U. Chicago
Globus Striped GridFTP Framework and Server Raj Kettimuthu, ANL and U. Chicago Outline Introduction Features Motivation Architecture Globus XIO Experimental Results 3 August 2005 The Ohio State University
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann [email protected] Universität Paderborn PC² Agenda Multiprocessor and
1 Organization of Operating Systems
COMP 730 (242) Class Notes Section 10: Organization of Operating Systems 1 Organization of Operating Systems We have studied in detail the organization of Xinu. Naturally, this organization is far from
Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:
Tools Page 1 of 13 ON PROGRAM TRANSLATION A priori, we have two translation mechanisms available: Interpretation Compilation On interpretation: Statements are translated one at a time and executed immediately.
Kappa: A system for Linux P2P Load Balancing and Transparent Process Migration
Kappa: A system for Linux P2P Load Balancing and Transparent Process Migration Gaurav Mogre [email protected] Avinash Hanumanthappa [email protected] Alwyn Roshan Pais [email protected] Abstract
Network Attached Storage. Jinfeng Yang Oct/19/2015
Network Attached Storage Jinfeng Yang Oct/19/2015 Outline Part A 1. What is the Network Attached Storage (NAS)? 2. What are the applications of NAS? 3. The benefits of NAS. 4. NAS s performance (Reliability
CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study
CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what
Automatic Workload Management in Clusters Managed by CloudStack
Automatic Workload Management in Clusters Managed by CloudStack Problem Statement In a cluster environment, we have a pool of server nodes with S running on them. Virtual Machines are launched in some
Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing
www.ijcsi.org 227 Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing Dhuha Basheer Abdullah 1, Zeena Abdulgafar Thanoon 2, 1 Computer Science Department, Mosul University,
Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings
Operatin g Systems: Internals and Design Principle s Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Bear in mind,
High Performance Cluster Support for NLB on Window
High Performance Cluster Support for NLB on Window [1]Arvind Rathi, [2] Kirti, [3] Neelam [1]M.Tech Student, Department of CSE, GITM, Gurgaon Haryana (India) [email protected] [2]Asst. Professor,
Symmetric Multiprocessing
Multicore Computing A multi-core processor is a processing system composed of two or more independent cores. One can describe it as an integrated circuit to which two or more individual processors (called
Overlapping Data Transfer With Application Execution on Clusters
Overlapping Data Transfer With Application Execution on Clusters Karen L. Reid and Michael Stumm [email protected] [email protected] Department of Computer Science Department of Electrical and Computer
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 26 Real - Time POSIX. (Contd.) Ok Good morning, so let us get
Grid Scheduling Dictionary of Terms and Keywords
Grid Scheduling Dictionary Working Group M. Roehrig, Sandia National Laboratories W. Ziegler, Fraunhofer-Institute for Algorithms and Scientific Computing Document: Category: Informational June 2002 Status
CHAPTER 15: Operating Systems: An Overview
CHAPTER 15: Operating Systems: An Overview The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint
159.735. Final Report. Cluster Scheduling. Submitted by: Priti Lohani 04244354
159.735 Final Report Cluster Scheduling Submitted by: Priti Lohani 04244354 1 Table of contents: 159.735... 1 Final Report... 1 Cluster Scheduling... 1 Table of contents:... 2 1. Introduction:... 3 1.1
Chapter 1: Introduction. What is an Operating System?
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Computing Environments
Client/Server Computing Distributed Processing, Client/Server, and Clusters
Client/Server Computing Distributed Processing, Client/Server, and Clusters Chapter 13 Client machines are generally single-user PCs or workstations that provide a highly userfriendly interface to the
Operating Systems Concepts: Chapter 7: Scheduling Strategies
Operating Systems Concepts: Chapter 7: Scheduling Strategies Olav Beckmann Huxley 449 http://www.doc.ic.ac.uk/~ob3 Acknowledgements: There are lots. See end of Chapter 1. Home Page for the course: http://www.doc.ic.ac.uk/~ob3/teaching/operatingsystemsconcepts/
Resource Utilization of Middleware Components in Embedded Systems
Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system
Client/Server and Distributed Computing
Adapted from:operating Systems: Internals and Design Principles, 6/E William Stallings CS571 Fall 2010 Client/Server and Distributed Computing Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Traditional
Efficient Load Balancing using VM Migration by QEMU-KVM
International Journal of Computer Science and Telecommunications [Volume 5, Issue 8, August 2014] 49 ISSN 2047-3338 Efficient Load Balancing using VM Migration by QEMU-KVM Sharang Telkikar 1, Shreyas Talele
White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux
White Paper Real-time Capabilities for Linux SGI REACT Real-Time for Linux Abstract This white paper describes the real-time capabilities provided by SGI REACT Real-Time for Linux. software. REACT enables
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter
Keywords Load balancing, Dispatcher, Distributed Cluster Server, Static Load balancing, Dynamic Load balancing.
Volume 5, Issue 7, July 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com A Hybrid Algorithm
Energy Constrained Resource Scheduling for Cloud Environment
Energy Constrained Resource Scheduling for Cloud Environment 1 R.Selvi, 2 S.Russia, 3 V.K.Anitha 1 2 nd Year M.E.(Software Engineering), 2 Assistant Professor Department of IT KSR Institute for Engineering
Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture
Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2
Processes and Non-Preemptive Scheduling. Otto J. Anshus
Processes and Non-Preemptive Scheduling Otto J. Anshus 1 Concurrency and Process Challenge: Physical reality is Concurrent Smart to do concurrent software instead of sequential? At least we want to have
Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest
Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest 1. Introduction Few years ago, parallel computers could
features at a glance
hp availability stats and performance software network and system monitoring for hp NonStop servers a product description from hp features at a glance Online monitoring of object status and performance
Process Migration and Load Balancing in Amoeba
Process Migration and Load Balancing in Amoeba Chris Steketee Advanced Computing Research Centre, School of Computer and Information Science, University of South Australia, The Levels SA 5095 Email: [email protected]
Violin: A Framework for Extensible Block-level Storage
Violin: A Framework for Extensible Block-level Storage Michail Flouris Dept. of Computer Science, University of Toronto, Canada [email protected] Angelos Bilas ICS-FORTH & University of Crete, Greece
A Comparative Performance Analysis of Load Balancing Algorithms in Distributed System using Qualitative Parameters
A Comparative Performance Analysis of Load Balancing Algorithms in Distributed System using Qualitative Parameters Abhijit A. Rajguru, S.S. Apte Abstract - A distributed system can be viewed as a collection
Performance Evaluation of Linux Bridge
Performance Evaluation of Linux Bridge James T. Yu School of Computer Science, Telecommunications, and Information System (CTI) DePaul University ABSTRACT This paper studies a unique network feature, Ethernet
- An Essential Building Block for Stable and Reliable Compute Clusters
Ferdinand Geier ParTec Cluster Competence Center GmbH, V. 1.4, March 2005 Cluster Middleware - An Essential Building Block for Stable and Reliable Compute Clusters Contents: Compute Clusters a Real Alternative
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
Benchmarking Hadoop & HBase on Violin
Technical White Paper Report Technical Report Benchmarking Hadoop & HBase on Violin Harnessing Big Data Analytics at the Speed of Memory Version 1.0 Abstract The purpose of benchmarking is to show advantages
A Scalable Network Monitoring and Bandwidth Throttling System for Cloud Computing
A Scalable Network Monitoring and Bandwidth Throttling System for Cloud Computing N.F. Huysamen and A.E. Krzesinski Department of Mathematical Sciences University of Stellenbosch 7600 Stellenbosch, South
SCALABILITY AND AVAILABILITY
SCALABILITY AND AVAILABILITY Real Systems must be Scalable fast enough to handle the expected load and grow easily when the load grows Available available enough of the time Scalable Scale-up increase
Cisco Performance Visibility Manager 1.0.1
Cisco Performance Visibility Manager 1.0.1 Cisco Performance Visibility Manager (PVM) is a proactive network- and applicationperformance monitoring, reporting, and troubleshooting system for maximizing
Operating System Tutorial
Operating System Tutorial OPERATING SYSTEM TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Operating System Tutorial An operating system (OS) is a collection
EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications
ECE6102 Dependable Distribute Systems, Fall2010 EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications Deepal Jayasinghe, Hyojun Kim, Mohammad M. Hossain, Ali Payani
Optimal Service Pricing for a Cloud Cache
Optimal Service Pricing for a Cloud Cache K.SRAVANTHI Department of Computer Science & Engineering (M.Tech.) Sindura College of Engineering and Technology Ramagundam,Telangana G.LAKSHMI Asst. Professor,
Kerrighed: use cases. Cyril Brulebois. Kerrighed. Kerlabs
Kerrighed: use cases Cyril Brulebois [email protected] Kerrighed http://www.kerrighed.org/ Kerlabs http://www.kerlabs.com/ 1 / 23 Introducing Kerrighed What s Kerrighed? Single-System Image (SSI)
CHAPTER 5 WLDMA: A NEW LOAD BALANCING STRATEGY FOR WAN ENVIRONMENT
81 CHAPTER 5 WLDMA: A NEW LOAD BALANCING STRATEGY FOR WAN ENVIRONMENT 5.1 INTRODUCTION Distributed Web servers on the Internet require high scalability and availability to provide efficient services to
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
An Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
Dynamic Load Balancing of Virtual Machines using QEMU-KVM
Dynamic Load Balancing of Virtual Machines using QEMU-KVM Akshay Chandak Krishnakant Jaju Technology, College of Engineering, Pune. Maharashtra, India. Akshay Kanfade Pushkar Lohiya Technology, College
Distributed Systems LEEC (2005/06 2º Sem.)
Distributed Systems LEEC (2005/06 2º Sem.) Introduction João Paulo Carvalho Universidade Técnica de Lisboa / Instituto Superior Técnico Outline Definition of a Distributed System Goals Connecting Users
Virtual Machine in Data Center Switches Huawei Virtual System
Virtual Machine in Data Center Switches Huawei Virtual System Contents 1 Introduction... 3 2 VS: From the Aspect of Virtualization Technology... 3 3 VS: From the Aspect of Market Driving... 4 4 VS: From
IMPROVED PROXIMITY AWARE LOAD BALANCING FOR HETEROGENEOUS NODES
www.ijecs.in International Journal Of Engineering And Computer Science ISSN:2319-7242 Volume 2 Issue 6 June, 2013 Page No. 1914-1919 IMPROVED PROXIMITY AWARE LOAD BALANCING FOR HETEROGENEOUS NODES Ms.
Rackspace Cloud Databases and Container-based Virtualization
Rackspace Cloud Databases and Container-based Virtualization August 2012 J.R. Arredondo @jrarredondo Page 1 of 6 INTRODUCTION When Rackspace set out to build the Cloud Databases product, we asked many
MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?
MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM? Ashutosh Shinde Performance Architect [email protected] Validating if the workload generated by the load generating tools is applied
Performance Characteristics of VMFS and RDM VMware ESX Server 3.0.1
Performance Study Performance Characteristics of and RDM VMware ESX Server 3.0.1 VMware ESX Server offers three choices for managing disk access in a virtual machine VMware Virtual Machine File System
Using Mosix for Wide-Area Compuational Resources
Using Mosix for Wide-Area Compuational Resources 1 By Brian G. Maddox Open-File Report 2004-1091 1 USGS Mid-Continent Mapping Center, Rolla, MO, 65401 U.S. Department of the Interior U.S. Geological Survey
Running a Workflow on a PowerCenter Grid
Running a Workflow on a PowerCenter Grid 2010-2014 Informatica Corporation. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise)
CPU Scheduling Outline
CPU Scheduling Outline What is scheduling in the OS? What are common scheduling criteria? How to evaluate scheduling algorithms? What are common scheduling algorithms? How is thread scheduling different
The Truth Behind IBM AIX LPAR Performance
The Truth Behind IBM AIX LPAR Performance Yann Guernion, VP Technology EMEA HEADQUARTERS AMERICAS HEADQUARTERS Tour Franklin 92042 Paris La Défense Cedex France +33 [0] 1 47 73 12 12 [email protected] www.orsyp.com
System Models for Distributed and Cloud Computing
System Models for Distributed and Cloud Computing Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF Classification of Distributed Computing Systems
Scalability and Classifications
Scalability and Classifications 1 Types of Parallel Computers MIMD and SIMD classifications shared and distributed memory multicomputers distributed shared memory computers 2 Network Topologies static
Operating Systems. 05. Threads. Paul Krzyzanowski. Rutgers University. Spring 2015
Operating Systems 05. Threads Paul Krzyzanowski Rutgers University Spring 2015 February 9, 2015 2014-2015 Paul Krzyzanowski 1 Thread of execution Single sequence of instructions Pointed to by the program
The Importance of Software License Server Monitoring
The Importance of Software License Server Monitoring NetworkComputer How Shorter Running Jobs Can Help In Optimizing Your Resource Utilization White Paper Introduction Semiconductor companies typically
Principles and characteristics of distributed systems and environments
Principles and characteristics of distributed systems and environments Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single
Group Based Load Balancing Algorithm in Cloud Computing Virtualization
Group Based Load Balancing Algorithm in Cloud Computing Virtualization Rishi Bhardwaj, 2 Sangeeta Mittal, Student, 2 Assistant Professor, Department of Computer Science, Jaypee Institute of Information
Chapter 1 - Web Server Management and Cluster Topology
Objectives At the end of this chapter, participants will be able to understand: Web server management options provided by Network Deployment Clustered Application Servers Cluster creation and management
2. is the number of processes that are completed per time unit. A) CPU utilization B) Response time C) Turnaround time D) Throughput
Import Settings: Base Settings: Brownstone Default Highest Answer Letter: D Multiple Keywords in Same Paragraph: No Chapter: Chapter 5 Multiple Choice 1. Which of the following is true of cooperative scheduling?
CHAPTER 3 LOAD BALANCING MECHANISM USING MOBILE AGENTS
48 CHAPTER 3 LOAD BALANCING MECHANISM USING MOBILE AGENTS 3.1 INTRODUCTION Load balancing is a mechanism used to assign the load effectively among the servers in a distributed environment. These computers
A High Performance Computing Scheduling and Resource Management Primer
LLNL-TR-652476 A High Performance Computing Scheduling and Resource Management Primer D. H. Ahn, J. E. Garlick, M. A. Grondona, D. A. Lipari, R. R. Springmeyer March 31, 2014 Disclaimer This document was
Petascale Software Challenges. Piyush Chaudhary [email protected] High Performance Computing
Petascale Software Challenges Piyush Chaudhary [email protected] High Performance Computing Fundamental Observations Applications are struggling to realize growth in sustained performance at scale Reasons
Directions for VMware Ready Testing for Application Software
Directions for VMware Ready Testing for Application Software Introduction To be awarded the VMware ready logo for your product requires a modest amount of engineering work, assuming that the pre-requisites
Where IT perceptions are reality. Test Report. OCe14000 Performance. Featuring Emulex OCe14102 Network Adapters Emulex XE100 Offload Engine
Where IT perceptions are reality Test Report OCe14000 Performance Featuring Emulex OCe14102 Network Adapters Emulex XE100 Offload Engine Document # TEST2014001 v9, October 2014 Copyright 2014 IT Brand
Intel DPDK Boosts Server Appliance Performance White Paper
Intel DPDK Boosts Server Appliance Performance Intel DPDK Boosts Server Appliance Performance Introduction As network speeds increase to 40G and above, both in the enterprise and data center, the bottlenecks
Sla Aware Load Balancing Algorithm Using Join-Idle Queue for Virtual Machines in Cloud Computing
Sla Aware Load Balancing Using Join-Idle Queue for Virtual Machines in Cloud Computing Mehak Choudhary M.Tech Student [CSE], Dept. of CSE, SKIET, Kurukshetra University, Haryana, India ABSTRACT: Cloud
An Approach to Load Balancing In Cloud Computing
An Approach to Load Balancing In Cloud Computing Radha Ramani Malladi Visiting Faculty, Martins Academy, Bangalore, India ABSTRACT: Cloud computing is a structured model that defines computing services,
Implementing Network Attached Storage. Ken Fallon Bill Bullers Impactdata
Implementing Network Attached Storage Ken Fallon Bill Bullers Impactdata Abstract The Network Peripheral Adapter (NPA) is an intelligent controller and optimized file server that enables network-attached
A Scheme for Implementing Load Balancing of Web Server
Journal of Information & Computational Science 7: 3 (2010) 759 765 Available at http://www.joics.com A Scheme for Implementing Load Balancing of Web Server Jianwu Wu School of Politics and Law and Public
PARALLELS SERVER BARE METAL 5.0 README
PARALLELS SERVER BARE METAL 5.0 README 1999-2011 Parallels Holdings, Ltd. and its affiliates. All rights reserved. This document provides the first-priority information on the Parallels Server Bare Metal
Windows Server Performance Monitoring
Spot server problems before they are noticed The system s really slow today! How often have you heard that? Finding the solution isn t so easy. The obvious questions to ask are why is it running slowly
Real Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
Chapter 5 Linux Load Balancing Mechanisms
Chapter 5 Linux Load Balancing Mechanisms Load balancing mechanisms in multiprocessor systems have two compatible objectives. One is to prevent processors from being idle while others processors still
