Assignment 3 Architecture Enhancement for PostgreSQL

Size: px
Start display at page:

Download "Assignment 3 Architecture Enhancement for PostgreSQL"

Transcription

1 CISC 322 Fall 2010 Assignment 3 Architecture Enhancement for PostgreSQL PopSQL Andrew Heard andrew.heard@queensu.ca Daniel Basilio djdb@queensu.ca Eril Berkok ejb@queensu.ca Julia Canella jcc5@queensu.ca Mark Fischer mark.fischer@queensu.ca Misiu Godfrey mg5@queensu.ca

2 Page 1 of 15 Contents Abstract... 2 Intro... 2 Changes to Conceptual Architecture... 3 Changes to the Server Processes... 4 Load Balancer Subsystem... 5 States of Machines... 6 Changes to Data Access... 7 Software Architecture Analysis Method (SAAM) Use Cases Testing Lessons Learned Limitations Conclusions References... 14

3 Page 2 of 15 Abstract This report proposes a modification to the PostgeSQL architectural system in order to effect distributed processing of queries. Two major changes would need to be enacted in order to realize this new system, including, the introduction of a Load Balancing subsystem to help in effective distribution of the processing workload, and a Data Sync subsystem to distribute data access and maintain data location synchronicity. Intro One of the commonly cited shortcomings of the PostgreSQL system is the inability of the system to scale out query processing. When a database is set up, the postmaster, which is the main source or contact for the user, must be on the same machine as all query processors. This means that whether there is currently one user or a thousand users querying the databases associated with that cluster, they are all being processed on the same machine. This poses an evident problem that a PostgreSQL database has a limit on how many users it could service (dependent on how many users that one computer could hold). This is a major problem that must be examined in great detail in order to pose a solution. A curious fact is that currently, the database has the ability to scale out its database cluster 5. The data that the user might be trying to access could be spread out on as many different hard drives as available to the user. As long as the access subsystem in the main computer is able to find all of the drives, the information could indefinitely be scaled out, horizontally. Using the same practices that PostgreSQL uses for scaling out the database, the query processing could also be scaled out. However, there are several different issues that this change causes that need addressing. The first major change to the system would require a scaling out of how PostgreSQL assigns incoming connections. While the Postmaster currently hands off connections to local processes, it would now need to forward client connections to different machines. It would also have to deal with the issue that it could not pass off the connection to the processing machine because the user would have to first disconnect from the Postmaster machine. In addition, it would need some way to determine which machine it should pass incoming workloads to, how to monitor machine usage, and ways to deal with a machine death. To accomplish these goals a new Load Balancing subsystem was created which will be examined in detail. The second major change is to maintain data synchronicity among all machines. Currently, PostgreSQL supports storing data on multiple machines through the use of a single, local access subsystem. Maintaining this system with distributed Backend Instances would require all processing machines to access a single machine for all data accesses. This would cause an unacceptable networking bottleneck. The solution would be to distribute the access subsystem among multiple machines, with each machine having access to only its local data. Access to non-local data would require that a machine contact a separate machine s access remotely and request the data stored there. This distribution greatly reduces concurrency and replication issues at the

4 Page 3 of 15 expense of keeping all machines aware of data location. There is also the issue of maintaining a location listing for all data, not only on the local machine, but across the entire database. This requires a new subsystem to deal with synchronicity issues. To this end, a Data Synchronization (or Data Sync) subsystem was created to help remedy this issue. Changes to Conceptual Architecture The following diagram demonstrates the changes to the conceptual architecture that would be necessary to implement the proposed changes. Due to the fact that conceptual architecture does not show if a system is duplicated or not, more diagrams will be needed later on to demonstrate how the changes would take place on a structural level. Figure 1: New Conceptual Architecture Impact on Conceptual Architecture

5 Page 4 of 15 Figure 1 outlines changed subsystems in red and creates new subsystems in yellow. The impact that changes have on the architecture are kept to a minimum through separation of functionality. Backend Instances (responsible for parsing, rewriting, and executing queries) are not impacted by the proposed improvement and should remain identical. The Data Synchronization and Load Balancer systems are both new to the conceptual architecture. Data Synchronization is responsible for updating the dataaccess catalog. It is also responsible for getting statistical updates from other machines. To this end, the Data Synchronization system must interact with the Access Manager and Administration and Monitoring systems. The Load Balancer is responsible for redirecting connections to different machines. It must also be able to tell the Postmaster to create Backend Instances. The Remote Client Interface requires added functionality to be able to force clients to reconnect to a new machine. The Postmaster doesn t change, but must now receive instruction from the Load Balancer instead of directly from the Client Communication Manager. The Access Manager contains the largest change. It must check the appropriate catalog table to determine where data lives. It needs to be able to detect when data might be out of date and tell the Data Synchronization system to do an extra data refresh. It must also be able to communicate with Access Managers on other systems. The Administration and Monitoring subsystems must be updated and tweaked to take account of the new parallelism across systems. New functions that allow the Data Synchronization subsystem to update statistics must also be added. Changes to the Server Processes Currently, PostgreSQL handles incoming connections through the Postmaster, which then creates new Backend Instances (one per client) on the local machine. In the new implementation, the client communications manager first contacts to the Load Balancer to ask it to connect to a Backend Instance, whether on the local machine or a scaled out machine. To do this, the Load Balancer needs to take over some responsibility of the postmaster. These responsibilities include listening for connections, deciding which machine should handle a new user, and then connecting the user to that machine. There is one slight issue with this process: that a user cannot be connected to a different machine without first disconnecting from the Load Balancer. This functionality has been written into Libpq. Specifically, the user first connects to the Load Balancer and awaits an address for another machine, or a Backend Instance on the local machine. Once the address was given, Libpq then disconnects from the Load Balancer and connects to the new address. The user never has to know that this is occurring. Listening for user connections would work in much the same way as in the original system. Other steps, such as connections, would need to be rewritten to deal with the implemented changes.

6 Page 5 of 15 Load Balancer Subsystem Machine Selection The most important factor in deciding which machine to assign a request to would be the current workload of each machine. Workload can be measured in several different ways, such as by number of user connections to that machine. However, it is possible to have a thousand users connected to one machine that process one query each an hour, and therefore are quite a small workload, while another machine with one user connected processes over a thousand queries an hour. A better measure of workload would be in terms of the CPU usage of each machine. This will more accurately identify the kind of stress a machine is currently under. In order to decide which machine to assign Backend Instances to, the Load Balancer requires state information on all available machines. The state of the machine would show whether it was a processing or data machine, and also what the current CPU usage of the machine was. Depending on current workload and configured settings, the Load Balancer could hand requests off to the other machines, or if need be, transform a data machine to processing machine or vice versa. The Load Balancing subsystem would have to gather usage information to be able to make optimal choices. Each machine capable of processing queries must periodically send its CPU usage data, via new functions in the Data Sync subsystem. This information does not have to be one hundred percent up to date, but should be relatively frequent so that the Load Balancer can make informed decisions about the load of its other machines. Based on the state information, the Load Balancer will distribute work among those available machines which have the lowest current workload. If the Load Balancer finds that all available machines are overworked, it can signal a data machine to change its state to a processing machine to help manage the load. When this happens, the new processing machine streams all the current state information from any other machine which is already a query processing machine. Once it has done this, it sends a signal to the Load Balancer to tell it that it is ready to process queries. From this point forward, the machine keeps up to date using the Data Sync subsystem. Conversely, if there is a particularly small load, machines can be reverted to storage only at which point the Load Balancer will no longer send it new users to service and it no longer needs to keep its shared information up to date. Thresholds If a machine is critically overworked, beyond the point of being able to handle its load, it can request the Load Balancer to move assigned Backend Instances from that machine to another, less stressed machine. This is implemented as a fall-back, because it should never reach this point thanks to the new thresholds involved. If the machine reaches a certain percentage of CPU usage, the Load Balancer will stop handing it requests. Unless the current users connected have a spike in use, the machine will never be critically overworked. The thresholds for defining when it is at maximum capacity and when it is overworked should be set far enough apart as to keep the chances slim. For example, having a maximum workload of 75% CPU usage and the

7 Page 6 of 15 critical workload at 95% would keep the probability of this occurring small. While necessary, the process of transferring a Backend Instance to another machine would be cumbersome, as it requires signalling the client to re-connect to the new machine, and should be avoided when possible. Creating a Backend Instance and Establishing a Connection Once the Load Balancer has determined the most appropriate machine on which to create a Backend Instance, it will communicate with the Postmaster on the remote computer. The Postmaster will perform the creation operation using the information forwarded from the client through the Load Balancer. This functionality remains unchanged from the original PostgreSQL source code with the Load Balancer appearing as a client to the remote Postmaster. The Postmaster would then return the connection information to the Load Balancer, which would pass it back to the client. The load balancer can then disconnect from the Postmaster and the client can establish a connection with the Backend Instance. See figure NUMBER. The client to Backend Instance interface remains unchanged from the original PostgreSQL source. This means that client software does not need to be aware of the new distributed system. Figure 2: Load Balancer interaction with Server Processes on other machines States of Machines Distributing the processing workload amongst multiple machines has the added effect of giving machines discrete states. Originally, there was one machine that could

8 Page 7 of 15 process queries, and every other machine in the system was dedicated exclusively to data storage. With the addition of the Load Balancer, machines are now in one of a set of states, and can change states over time. This system adds the benefits of having fewer machines act as single points of failure. If a machine dedicated exclusively to processing dies, it can be detected and replaced by the Load Balancer. On the downside, only processing exclusive machines are replaceable, as the main machine needs to act as a single initial connection point for all clients and the lack of redundancy among storage machines means that data cannot be accessed if it lived on a now dead machine. These drawbacks come from being build on the legacy Postgres system which contains these same vulnerabilities. The new feature, distribution of processing power, can fail and the system will be able to continue without full user transparency. Specific States Dead: A machine that has died. The system will fail if this is the entry point to the system. If this is a data-storing machine, those data will be inaccessible. If this is a processing machine, the system can continue running as normal until it is recovered. Data Storage Only: This machine will not be assigned queries to process. A machine in this state may be asked to become a Processor by the Load Balancer, at which point it will enter the Becoming a Processor state. Becoming a Processor: This machine is initializing the processes it needs to process queries and connect to clients. Once done it will enter the Processor and not Maxed state, whereby it will begin sending status updates to the Load Balancer. To facilitate this, the Data Synchronization subsystem does a batch-update where it gets all necessary information from a machine already in processor state. Once it has been brought up to date via the batch process, the Data Synchronization will start to use updates found on the bulletin board. Processor: This machine can process queries and its CPU consumption is less than the user configuration defined Maxed variable. Processor at maximum: This machine can process queries, but the Load Balancer will not send it additional client connections until it is no longer Maxed. Processor at critical: This machine can process queries and its CPU consumption is greater than the user configuration defined critical variable. The Load Balancer may move Backend Instances from this machine to another, less busy, machine. Changes to Data Access In its current implementation, Postgres is able to distribute stored data among multiple machines using a common Access Manager. The problem with incorporating this functionality into a new, distributed, system is allowing each system to know where any piece of data is placed. Connecting all Backend Instances through a single Access Manager creates a bottleneck which begins to limit scalability again. PostgreSQL s native data replication functionality could not meet our reliability standards since it cannot place any guarantees that data remain up to date. To address this issue, two alternatives where suggested and researched.

9 Page 8 of 15 First Alternative Forwarding Pointers For the first approach it was decided to avoid any shared memory at all. For this approach, rather than attempt to replicate data over multiple Access Managers and have to deal with replication issues, the data would be split into discrete parts, allocated to separate machines. Each machine would have access only to the data stored within its local resources. This means that any time a machine needs access to non-local data, it needs to request another machine for that data, and therefore needs to maintain a map of which machine to ask. It was suggested that a system of forwarding pointers to update the machines maps was used. Each machine would, in addition to its local data, contain a map of which machines had other data. To illustrate how it would work an example is necessary. When Machine A receives a request for data, it would check its own map to see if it already knew where it was. If it did not, it would query Machine B to see if it had it, or knew where it was. If Machine B did not have it or know where it was, it would query Machine C and so on. In this way, whenever it was not known where data were, or if a machine had an outdated pointer, the next machine would return a new pointer to the location of the data, which it would either know itself, or would receive by asking the next machine. The upside to such a system, as with Laganà s decentralized Inter-Agent message forwarding (Laganà 377), is that there would be no shared memory, and the process would be infinitely scalable. The downside is that if few machines know where the data is, or if the data does not live in the system, the chain of queries could become excessively long. This would cause a worst case scenario where a user would be waiting for an exceptionally long time for information just because the machine that held the data was the last machine to be queried. It was decided that rather than updating on events, constant background updates would be much preferable. Chosen Alternative Bulletin Board (A Repository) Because keeping the data-access catalog in a central place requires too much network activity, a repository which stores only changes to the data-access catalog was suggested. Using this repository, called our Bulletin Board, each machine keeps it s own data-access catalog up to date. Each query to the data-access catalog is local while updates to the catalog, which run constantly in the background, require queries across the network. The Bulletin Board functionality is implemented using two subsystems; Access Manager and Data Synchronization. Each machine creates a data-access catalog as a new catalog table. This catalog is only changed by the Data Synchronization subsystem and is accessed by the Access Manager. The repository is stored as a table on a single machine and is accessed by the Data Synchronization subsystem on every machine. The Data Synchronization subsystem also spawns a process which constantly polls the repository for changes. If it finds an update, it updates the data-access catalog and increments a counter in the repository.

10 Page 9 of 15 The Access Manager has logic to detect when data may be out of date. If the Access Manager thinks data is incorrect, it can tell the Data Synchronization to check the repository again. This is a fail-safe that will hopefully be used minimally since the Data Synchronization subsystem should be keeping data up at all times if possible. The repository is kept small by the fact that once every machine has seen an update, that update is removed from the repository. Any delays in this system are not translated to the user since this is all done by processes running in the background. This same Bulletin Board functionality is used to keep statistics up to date across all machines. A separate catalog is created, and the update cycle for statistics can be slower than for data-positioning updates since they are not critical to have the database functioning properly. Figure 3: How the altered Database Control subsystems works over multiple machines.

11 Page 10 of 15 Software Architecture Analysis Method (SAAM) The Software Architecture Analysis Method considers the non-functional properties of a software system, such as maintainability and reliability, of various architectural choices 3. These properties are considered from the different points of view of those interested in the software system, the stakeholders 3. Stakeholders In order to determine which of the two approaches was ideal, it was necessary to identify the stakeholders of the system and the non-functional requirements that are most important to them. The PostgreSQL Global Development Group. The persons in this group would be interested in having PostgreSQL be a system that is: easily maintainable during development; scalable to handle the varying demands of their clients services; portable across a variety of development or application environments (operating systems) in order to appeal to a wide variety of clients; manageable so that they can have a smooth development process. Companies that use PostgreSQL in their software projects, and stakeholders in those companies. An example of these would be Yahoo.com 2, which makes use of PostgreSQL, but also companies such as doubleclick.com that depend on such a site in order to do advertisement. These companies would want the PostgreSQL system to be: reliable so that they can offer their services for the longest time possible; easily scalable to handle average loads with their desired performance; secure from malicious attacks to maintain the privacy of their clients information; usable so that their web developers can integrate it into their services. Users of PostgreSQL-powered Software such as those using Skype for web conferencing or Yahoo for web searches 2. The users of PostgreSQL-powered software are most concerned with the reliability of the software, the performance in terms of responses to their actions and the security of the database. Users may be concerned with security due to the need for data privacy. For example, Skype can store personal data such as addresses and phone numbers that could be used maliciously in the wrong hands. These users are not directly interested in the technical aspects of the software such as how easy it is to maintain or the usability of the client software-database interface. Evaluation of Approaches Approach #1: Forwarding Pointers With regards to the Forwarding Pointers solution, it was determined that: Performance was to be a major downfall. In the worst case, the computer that is queried will be the farthest one from the computer that actually knows where the data is stored. As such, it is possible that one query could end up running through every machine in the system. As far as reliability goes, the Load Balancer subsystem will prevent machines from overloading; therefore, there should not be a concern in this field. By separating Backend Instances from the Postmaster and distributing them amongst different machines, the system is able to horizontally scale out. This

12 Page 11 of 15 goes a long way towards increasing the scalability of the system. Compared to the Bulletin Board approach, there is no shared memory pool that would need to reference data locations, so this particular issue is not a concern. Given that scalability has been improved upon, the manageability of the system becomes more complex since troubleshooting a larger network of machines is more difficult. The security of the system has not been changed since the number of entry points is the same as before. The main entry point of the machine that was used in the original implementation has not been altered or compromised in any way to support this enhancement approach. Forwarding Pointers is a relatively simple enhancement to implement; as such, it would be an relatively cheap and affordable way to enhance the system. Usability for web developers may be slightly less intuitive than the alternative, since Forwarding Pointers introduces a linear style of referencing that is not entirely elegant. Approach #2: Bulletin Board With regards to the Bulletin Board approach, it was determined that: Performance was significantly faster compared to the Forwarding Pointers approach. Now that there is a central repository for all of the data addresses, the worst case merely involves a computer checking the bulletin board to find a datum that it cannot find within itself. Reliability is no different from the other approaches listed thus far since none of the differences in this approach affect it. Scalability is very slightly more limited compared to the Forwarding Pointers approach. This approach still distributes Backend Instances amongst all machines in the system. What is changed in this particular approach is the addition of the bulletin board. Since this is meant to be a central repository (meaning there is only one across the entire network) it can only be scaled upwards. This should not be a significant concern since data address updates are removed from the bulletin board once they have propagated throughout the system. As with reliability, manageability does not differ in this approach as compared to other approaches. Security also follows the trend of manageability and reliability in that it is no different from other approaches. Affordability is impacted significantly since this enhancement approach calls for the creation of a new component within the Data Synch subsystem. A repository styled component is now being introduced to reference data across a widely scaled out database, which would demand considerable investment to implement. Usability for web developers is better than the alternative since repository architecture style suits this sort of data address referencing better than a series of linear pointers. Chosen Approach Of the two considered approaches, the Bulletin Board enhancement option was chosen. It was decided that although the cost of this implementation would be higher

13 Page 12 of 15 than the alternative, the worst case scenario of the Forwarding Pointers was too costly for it to be a desirable option. Potential Risks There are risks to incorporating our new design into the existing Postgres system. Adding new synchronization aspects to the system risk slowing down certain processes in order to make sure everything is up to date. For instance, the processing of a query may be significantly slower due to the added complexity of accessing data. This is a trade-off between scaling out the ability to concurrently process queries with the average time it takes to process each one. Use Cases Figure 4 shows the first use case of the new enhanced system. It shows the user, talking through the Client Application, establishing a connection with the system. Firstly the Client Application tells the Interface Library that it wants to log on the system. The Interface Library then asks for a Backend Instance to be set up by the Load Balancer. The Load Balancer, using the CPU usage statistics it periodically receives from each machine's Data Synchronization subsystem, will tell the Postmaster on the machine with the lowest CPU usage to create a Backend Instance. Once it is created the connection information of where that Backend Instance is set up is returned to the Client Application where it will then proceed to establish the connection. Now the connection is set up and the Client Application can send a query straight to the Backend Instance. Figure 4: Use case one: Client connecting to a Backend Instance Figure 5 shows the second use case of the system. This use case shows the Client sending a query to its connected Backend Instance and how that machine would be able to find the necessary data it s looking for. Firstly, the Client Application, using libpq, sends the query to the Backend. The Backend Instance will then request the data from the Access Manager on that machine. The Access Manager will check if it knows the location of the data. If it is on the same machine, it will simply return the data. If it is

14 Page 13 of 15 on another machine it will talk to the other machine's Access Manager to receive the data. However, in this case, the Access Manager does not have the location of the data stored on its data-access catalog. It will ask the Data Synchronization subsystem to use its bulletin board capabilities and to send any new updates it has not received. It will update the indices in its data-access catalog and then once again check to see if it knows where the data is. In this case, it now knows that the data rests on machine two. It will talk to machine two's Access Manager and have it return the data values. Finally the Access Manager will return this value to the Backend Instance which will return it to the Client. Figure 5: Client sending a query to the Backend Instance. Testing In order to test the implementation of the proposed enhancements, three methods were selected: regression testing, stress testing, and a test to ensure that any given Access Manager could work in conjunction with the Bulletin Board to find data not housed on its own machine. It is necessary to apply a regression test suite in order to ensure that the enhancement implementation did not break any previous functionality or introduce any integration defects. Stress testing was chosen in order to make sure that the new Load Balancer subsystem is able to handle the high loads of a massively scaled out system by monitoring the CPU usages of each machine. Finally, testing the Access Manager and Bulletin Board pairing ensures that the scaled out data addressing works to specification.

15 Page 14 of 15 Lessons Learned It was learned that there are many different ways to architecturally implement one high level change and that choosing an exact implementation takes a while since so many possibilities and trade offs between performance and ease of implementation need to be considered. It was also learned, through the analysis of the use of forward pointers, that worst case scenarios for implementations must be considered. The biggest lesson learned however was that effective distribution is difficult to build into a legacy system and should typically be planned from the start. Limitations A limitation on creating a new implementation for an already built system is that it is difficult to know if new enhancements will cause integration issues among subsystems. It also had to be assumed that systems could have certain functionality. For example, it had to be assumed that Access Manager subsystems could talk to each other across machines. A limitation to the actual design however, is that objects such as the Bulletin Board and the Load Balancer will still need to scale up as the project scales out because they contain an amount of information proportional to the amount of machines in the system. Conclusions It can be concluded that while high level ideas for implementation can develop quickly, deciding on low level implementation proved to be more difficult and ideas changed rapidly. It was also discovered that the performance of the system proved to be the largest differentiator between the two alternatives of implementation. This improvement overall will be invaluable to PostgreSQL users as the system will now be able to scale to handle extremely large loads. References 1 Laganà, Antonio. Computational science and its applications: ICCSA. Part 3. Berlin: Springer-Verlag, Print. 2 PostgreSQL Development Group. Featured Users [of PostgreSQL]. December 3rd, De Simone, M., Kazman, R. Software Architectural Analysis: An Experience Report. December 3, Cordy, James. Continuous Testing. December 3, PostgreSQL Development Group. PostgreSQL Documentation: cluster. December 3, 2010.

Caché and Data Management in the Financial Services Industry

Caché and Data Management in the Financial Services Industry Caché and Data Management in the Financial Services Industry Executive Overview One way financial services firms can improve their operational efficiency is to revamp their data management infrastructure.

More information

DHCP Failover: An Improved Approach to DHCP Redundancy

DHCP Failover: An Improved Approach to DHCP Redundancy Overview The DHCP Failover protocol specification and ISC s implementation of the protocol have problems that can cause issues in production environments, primarily in those environments where configurations

More information

RAID SEMINAR REPORT /09/2004 Asha.P.M NO: 612 S7 ECE

RAID SEMINAR REPORT /09/2004 Asha.P.M NO: 612 S7 ECE RAID SEMINAR REPORT 2004 Submitted on: Submitted by: 24/09/2004 Asha.P.M NO: 612 S7 ECE CONTENTS 1. Introduction 1 2. The array and RAID controller concept 2 2.1. Mirroring 3 2.2. Parity 5 2.3. Error correcting

More information

SOLUTION BRIEF CA TEST DATA MANAGER FOR HPE ALM. CA Test Data Manager for HPE ALM

SOLUTION BRIEF CA TEST DATA MANAGER FOR HPE ALM. CA Test Data Manager for HPE ALM SOLUTION BRIEF CA TEST DATA MANAGER FOR HPE ALM CA Test Data Manager for HPE ALM Generate all the data needed to deliver fully tested software, and export it directly into Hewlett Packard Enterprise Application

More information

High Availability through Warm-Standby Support in Sybase Replication Server A Whitepaper from Sybase, Inc.

High Availability through Warm-Standby Support in Sybase Replication Server A Whitepaper from Sybase, Inc. High Availability through Warm-Standby Support in Sybase Replication Server A Whitepaper from Sybase, Inc. Table of Contents Section I: The Need for Warm Standby...2 The Business Problem...2 Section II:

More information

archiving with Office 365

archiving with Office 365 Email archiving with Office 365 ISO CERTIFIED info@cryoserver.com www.cryoserver.com +44 (0) 800 280 0525 Table of Contents 1.0 Purpose of Document 2 2.0 Email archiving in Office 365 2 2.1 Deleted folder

More information

!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced?

!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced? Chapter 10: Virtual Memory Questions? CSCI [4 6] 730 Operating Systems Virtual Memory!! What is virtual memory and when is it useful?!! What is demand paging?!! When should pages in memory be replaced?!!

More information

Process Synchroniztion Mutual Exclusion & Election Algorithms

Process Synchroniztion Mutual Exclusion & Election Algorithms Process Synchroniztion Mutual Exclusion & Election Algorithms Paul Krzyzanowski Rutgers University November 2, 2017 1 Introduction Process synchronization is the set of techniques that are used to coordinate

More information

Enterprise print management in VMware Horizon

Enterprise print management in VMware Horizon Enterprise print management in VMware Horizon Introduction: Embracing and Extending VMware Horizon Tricerat Simplify Printing enhances the capabilities of VMware Horizon environments by enabling reliable

More information

B.H.GARDI COLLEGE OF ENGINEERING & TECHNOLOGY (MCA Dept.) Parallel Database Database Management System - 2

B.H.GARDI COLLEGE OF ENGINEERING & TECHNOLOGY (MCA Dept.) Parallel Database Database Management System - 2 Introduction :- Today single CPU based architecture is not capable enough for the modern database that are required to handle more demanding and complex requirements of the users, for example, high performance,

More information

Massive Scalability With InterSystems IRIS Data Platform

Massive Scalability With InterSystems IRIS Data Platform Massive Scalability With InterSystems IRIS Data Platform Introduction Faced with the enormous and ever-growing amounts of data being generated in the world today, software architects need to pay special

More information

Lotus Sametime 3.x for iseries. Performance and Scaling

Lotus Sametime 3.x for iseries. Performance and Scaling Lotus Sametime 3.x for iseries Performance and Scaling Contents Introduction... 1 Sametime Workloads... 2 Instant messaging and awareness.. 3 emeeting (Data only)... 4 emeeting (Data plus A/V)... 8 Sametime

More information

IX: A Protected Dataplane Operating System for High Throughput and Low Latency

IX: A Protected Dataplane Operating System for High Throughput and Low Latency IX: A Protected Dataplane Operating System for High Throughput and Low Latency Belay, A. et al. Proc. of the 11th USENIX Symp. on OSDI, pp. 49-65, 2014. Reviewed by Chun-Yu and Xinghao Li Summary In this

More information

Web Serving Architectures

Web Serving Architectures Web Serving Architectures Paul Dantzig IBM Global Services 2000 without the express written consent of the IBM Corporation is prohibited Contents Defining the Problem e-business Solutions e-business Architectures

More information

Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System

Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System Donald S. Miller Department of Computer Science and Engineering Arizona State University Tempe, AZ, USA Alan C.

More information

Getting the Most out of Access Manager

Getting the Most out of Access Manager White Paper Security Getting the Most out of Access Manager With Access Manager, administrators can control the user experience to a level that few other technologies can match. This white paper reviews

More information

Chapter 2 CommVault Data Management Concepts

Chapter 2 CommVault Data Management Concepts Chapter 2 CommVault Data Management Concepts 10 - CommVault Data Management Concepts The Simpana product suite offers a wide range of features and options to provide great flexibility in configuring and

More information

Understanding the TOP Server ControlLogix Ethernet Driver

Understanding the TOP Server ControlLogix Ethernet Driver Understanding the TOP Server ControlLogix Ethernet Driver Page 2 of 23 Table of Contents INTRODUCTION 3 UPDATE RATES AND TAG REQUESTS 4 CHANNEL AND DEVICE CONFIGURATION 7 PROTOCOL OPTIONS 9 TAG GENERATION

More information

All-Flash Storage Solution for SAP HANA:

All-Flash Storage Solution for SAP HANA: All-Flash Storage Solution for SAP HANA: Storage Considerations using SanDisk Solid State Devices WHITE PAPER Western Digital Technologies, Inc. 951 SanDisk Drive, Milpitas, CA 95035 www.sandisk.com Table

More information

Virtual Disaster Recovery

Virtual Disaster Recovery The Essentials Series: Managing Workloads in a Virtual Environment Virtual Disaster Recovery sponsored by by Jaime Halscott Vir tual Disaster Recovery... 1 Virtual Versus Physical Disaster Recovery...

More information

Preview. Memory Management

Preview. Memory Management Preview Memory Management With Mono-Process With Multi-Processes Multi-process with Fixed Partitions Modeling Multiprogramming Swapping Memory Management with Bitmaps Memory Management with Free-List Virtual

More information

IN5050: Programming heterogeneous multi-core processors Thinking Parallel

IN5050: Programming heterogeneous multi-core processors Thinking Parallel IN5050: Programming heterogeneous multi-core processors Thinking Parallel 28/8-2018 Designing and Building Parallel Programs Ian Foster s framework proposal develop intuition as to what constitutes a good

More information

DB2 is a complex system, with a major impact upon your processing environment. There are substantial performance and instrumentation changes in

DB2 is a complex system, with a major impact upon your processing environment. There are substantial performance and instrumentation changes in DB2 is a complex system, with a major impact upon your processing environment. There are substantial performance and instrumentation changes in versions 8 and 9. that must be used to measure, evaluate,

More information

A Practical Guide to Cost-Effective Disaster Recovery Planning

A Practical Guide to Cost-Effective Disaster Recovery Planning White Paper PlateSpin A Practical Guide to Cost-Effective Disaster Recovery Planning Organizations across the globe are finding disaster recovery increasingly important for a number of reasons. With the

More information

V6 Programming Fundamentals: Part 1 Stored Procedures and Beyond David Adams & Dan Beckett. All rights reserved.

V6 Programming Fundamentals: Part 1 Stored Procedures and Beyond David Adams & Dan Beckett. All rights reserved. Summit 97 V6 Programming Fundamentals: Part 1 Stored Procedures and Beyond by David Adams & Dan Beckett 1997 David Adams & Dan Beckett. All rights reserved. Content adapted from Programming 4th Dimension:

More information

Hierarchical Chubby: A Scalable, Distributed Locking Service

Hierarchical Chubby: A Scalable, Distributed Locking Service Hierarchical Chubby: A Scalable, Distributed Locking Service Zoë Bohn and Emma Dauterman Abstract We describe a scalable, hierarchical version of Google s locking service, Chubby, designed for use by systems

More information

Cloud Computing Architecture

Cloud Computing Architecture Cloud Computing Architecture 1 Contents Workload distribution architecture Dynamic scalability architecture Cloud bursting architecture Elastic disk provisioning architecture Redundant storage architecture

More information

Graph Structure Over Time

Graph Structure Over Time Graph Structure Over Time Observing how time alters the structure of the IEEE data set Priti Kumar Computer Science Rensselaer Polytechnic Institute Troy, NY Kumarp3@rpi.edu Abstract This paper examines

More information

Deploying Application and OS Virtualization Together: Citrix and Virtuozzo

Deploying Application and OS Virtualization Together: Citrix and Virtuozzo White Paper Deploying Application and OS Virtualization Together: Citrix and Virtuozzo www.swsoft.com Version 1.0 Table of Contents The Virtualization Continuum: Deploying Virtualization Together... 3

More information

Hashing. Hashing Procedures

Hashing. Hashing Procedures Hashing Hashing Procedures Let us denote the set of all possible key values (i.e., the universe of keys) used in a dictionary application by U. Suppose an application requires a dictionary in which elements

More information

Eastern Mediterranean University School of Computing and Technology CACHE MEMORY. Computer memory is organized into a hierarchy.

Eastern Mediterranean University School of Computing and Technology CACHE MEMORY. Computer memory is organized into a hierarchy. Eastern Mediterranean University School of Computing and Technology ITEC255 Computer Organization & Architecture CACHE MEMORY Introduction Computer memory is organized into a hierarchy. At the highest

More information

Performance and Scalability with Griddable.io

Performance and Scalability with Griddable.io Performance and Scalability with Griddable.io Executive summary Griddable.io is an industry-leading timeline-consistent synchronized data integration grid across a range of source and target data systems.

More information

Run-Time Environments/Garbage Collection

Run-Time Environments/Garbage Collection Run-Time Environments/Garbage Collection Department of Computer Science, Faculty of ICT January 5, 2014 Introduction Compilers need to be aware of the run-time environment in which their compiled programs

More information

Categorizing Migrations

Categorizing Migrations What to Migrate? Categorizing Migrations A version control repository contains two distinct types of data. The first type of data is the actual content of the directories and files themselves which are

More information

User Survey Analysis: Next Steps for Server Virtualization in the Midmarket

User Survey Analysis: Next Steps for Server Virtualization in the Midmarket User Survey Analysis: Next Steps for Server Virtualization in the Midmarket Gartner RAS Core Research Note G00207375, James A. Browning, Alan Dayley, 21 October 2010, RV2A411012011 Approximately 30% of

More information

Four Essential Steps for Removing Risk and Downtime from Your POWER9 Migration

Four Essential Steps for Removing Risk and Downtime from Your POWER9 Migration Four Essential Steps for Removing Risk and Downtime from Your POWER9 Migration Syncsort Four Essential Steps for Removing Risk and Downtime from Your POWER9 Migration With the introduction of IBM s POWER9

More information

SEMESTER 2 Chapter 3 Introduction to Dynamic Routing Protocols V 4.0

SEMESTER 2 Chapter 3 Introduction to Dynamic Routing Protocols V 4.0 SEMESTER 2 Chapter 3 Introduction to Dynamic Routing Protocols V 4.0 3.1.1 What are the four routing RIP, RIPv2, EIGRP, OSPFv2 protocols that are the focus of this course? 3.1.1.2 What are routing protocols?

More information

Key metrics for effective storage performance and capacity reporting

Key metrics for effective storage performance and capacity reporting Key metrics for effective storage performance and capacity reporting Key Metrics for Effective Storage Performance and Capacity Reporting Objectives This white paper will cover the key metrics in storage

More information

CS 326: Operating Systems. Process Execution. Lecture 5

CS 326: Operating Systems. Process Execution. Lecture 5 CS 326: Operating Systems Process Execution Lecture 5 Today s Schedule Process Creation Threads Limited Direct Execution Basic Scheduling 2/5/18 CS 326: Operating Systems 2 Today s Schedule Process Creation

More information

Sample Exam. Advanced Test Automation - Engineer

Sample Exam. Advanced Test Automation - Engineer Sample Exam Advanced Test Automation - Engineer Questions ASTQB Created - 2018 American Software Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,

More information

CA Test Data Manager Key Scenarios

CA Test Data Manager Key Scenarios WHITE PAPER APRIL 2016 CA Test Data Manager Key Scenarios Generate and secure all the data needed for rigorous testing, and provision it to highly distributed teams on demand. Muhammad Arif Application

More information

Chapter 6 Architectural Design. Chapter 6 Architectural design

Chapter 6 Architectural Design. Chapter 6 Architectural design Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying

More information

Parallel Computing. Slides credit: M. Quinn book (chapter 3 slides), A Grama book (chapter 3 slides)

Parallel Computing. Slides credit: M. Quinn book (chapter 3 slides), A Grama book (chapter 3 slides) Parallel Computing 2012 Slides credit: M. Quinn book (chapter 3 slides), A Grama book (chapter 3 slides) Parallel Algorithm Design Outline Computational Model Design Methodology Partitioning Communication

More information

Broker Clusters. Cluster Models

Broker Clusters. Cluster Models 4 CHAPTER 4 Broker Clusters Cluster Models Message Queue supports the use of broker clusters: groups of brokers working together to provide message delivery services to clients. Clusters enable a Message

More information

Server software accepts requests for data from client software and returns the results to the client

Server software accepts requests for data from client software and returns the results to the client Client Server Model Introduction Client machines are generally single-user workstations providing a user-friendly interface to the end user. Each server provides a set of shared services to the clients.it

More information

Identifying Workloads for the Cloud

Identifying Workloads for the Cloud Identifying Workloads for the Cloud 1 This brief is based on a webinar in RightScale s I m in the Cloud Now What? series. Browse our entire library for webinars on cloud computing management. Meet our

More information

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Software Paradigms (Lesson 10) Selected Topics in Software Architecture Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1

More information

Outline. Mate: A Tiny Virtual Machine for Sensor Networks Philip Levis and David Culler. Motivation. Applications. Mate.

Outline. Mate: A Tiny Virtual Machine for Sensor Networks Philip Levis and David Culler. Motivation. Applications. Mate. Outline Mate: A Tiny Virtual Machine for Sensor Networks Philip Levis and David Culler Presented by Mark Tamola CSE 521 Fall 2004 Motivation Mate Code Propagation Conclusions & Critiques 1 2 Motivation

More information

SIEM: Five Requirements that Solve the Bigger Business Issues

SIEM: Five Requirements that Solve the Bigger Business Issues SIEM: Five Requirements that Solve the Bigger Business Issues After more than a decade functioning in production environments, security information and event management (SIEM) solutions are now considered

More information

Crash Course in Modernization. A whitepaper from mrc

Crash Course in Modernization. A whitepaper from mrc Crash Course in Modernization A whitepaper from mrc Introduction Modernization is a confusing subject for one main reason: It isn t the same across the board. Different vendors sell different forms of

More information

Agent vs Agentless Log Collection

Agent vs Agentless Log Collection Agent vs Agentless Log Collection Intersect Alliance International Pty Ltd. All rights reserved worldwide. Intersect Alliance Pty Ltd shall not be liable for errors contained herein or for direct, or indirect

More information

Linksys Stackable Switches

Linksys Stackable Switches TECHNICAL BULLETIN Linksys Stackable Switches How to Build Stacks and Understand Their Operation This document describes how to stack Linksys switches and covers advanced stacking information, as well

More information

Blizzard: A Distributed Queue

Blizzard: A Distributed Queue Blizzard: A Distributed Queue Amit Levy (levya@cs), Daniel Suskin (dsuskin@u), Josh Goodwin (dravir@cs) December 14th 2009 CSE 551 Project Report 1 Motivation Distributed systems have received much attention

More information

Efficiency Gains in Inbound Data Warehouse Feed Implementation

Efficiency Gains in Inbound Data Warehouse Feed Implementation Efficiency Gains in Inbound Data Warehouse Feed Implementation Simon Eligulashvili simon.e@gamma-sys.com Introduction The task of building a data warehouse with the objective of making it a long-term strategic

More information

Symantec NetBackup 7 for VMware

Symantec NetBackup 7 for VMware V-Ray visibility into virtual machine protection Overview There s little question that server virtualization is the single biggest game-changing trend in IT today. Budget-strapped IT departments are racing

More information

MAKING A COMEBACK: Everything You Need to Know About Backup and Disaster Recovery

MAKING A COMEBACK: Everything You Need to Know About Backup and Disaster Recovery MAKING A COMEBACK: Everything You Need to Know About Backup and Disaster Recovery Twin Cities Northern MN 1330 E. Superior St. Duluth, MN 55805 Phone: (218) 724-0600 It is a fact of life that, at some

More information

Kathleen Durant PhD Northeastern University CS Indexes

Kathleen Durant PhD Northeastern University CS Indexes Kathleen Durant PhD Northeastern University CS 3200 Indexes Outline for the day Index definition Types of indexes B+ trees ISAM Hash index Choosing indexed fields Indexes in InnoDB 2 Indexes A typical

More information

Inside the PostgreSQL Shared Buffer Cache

Inside the PostgreSQL Shared Buffer Cache Truviso 07/07/2008 About this presentation The master source for these slides is http://www.westnet.com/ gsmith/content/postgresql You can also find a machine-usable version of the source code to the later

More information

Microsoft DFS Replication vs. Peer Software s PeerSync & PeerLock

Microsoft DFS Replication vs. Peer Software s PeerSync & PeerLock Microsoft DFS Replication vs. Peer Software s PeerSync & PeerLock Contents.. Why Replication is Important. 2 The Original Purpose for MS DFSR. 2 Best Scenarios for DFSR. 3 When DFSR is Problematic. 4 The

More information

Virtualizing Agilent OpenLAB CDS EZChrom Edition with VMware

Virtualizing Agilent OpenLAB CDS EZChrom Edition with VMware Virtualizing Agilent OpenLAB CDS EZChrom Edition with VMware Technical Overview Abstract This technical overview describes the considerations, recommended configurations, and host server requirements when

More information

Sample Exam. Advanced Test Automation Engineer

Sample Exam. Advanced Test Automation Engineer Sample Exam Advanced Test Automation Engineer Answer Table ASTQB Created - 08 American Stware Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,

More information

Essential Features of an Integration Solution

Essential Features of an Integration Solution Essential Features of an Integration Solution September 2017 WHITE PAPER Essential Features of an Integration Solution When an enterprise uses multiple applications, it needs to connect them for a variety

More information

Managing the Database

Managing the Database Slide 1 Managing the Database Objectives of the Lecture : To consider the roles of the Database Administrator. To consider the involvmentof the DBMS in the storage and handling of physical data. To appreciate

More information

Best Practices for Setting BIOS Parameters for Performance

Best Practices for Setting BIOS Parameters for Performance White Paper Best Practices for Setting BIOS Parameters for Performance Cisco UCS E5-based M3 Servers May 2013 2014 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public. Page

More information

Parallel Build Visualization Diagnosing and Troubleshooting Common Pitfalls of Parallel Builds

Parallel Build Visualization Diagnosing and Troubleshooting Common Pitfalls of Parallel Builds Parallel Build Visualization Diagnosing and Troubleshooting Common Pitfalls of Parallel Builds John Graham-Cumming Chief Scientist Electric Cloud, Inc. February, 2006 Contents Parallel Build Visualization...

More information

Enabling Performance & Stress Test throughout the Application Lifecycle

Enabling Performance & Stress Test throughout the Application Lifecycle Enabling Performance & Stress Test throughout the Application Lifecycle March 2010 Poor application performance costs companies millions of dollars and their reputation every year. The simple challenge

More information

Software Quality. Richard Harris

Software Quality. Richard Harris Software Quality Richard Harris Part 1 Software Quality 143.465 Software Quality 2 Presentation Outline Defining Software Quality Improving source code quality More on reliability Software testing Software

More information

Low Latency Data Grids in Finance

Low Latency Data Grids in Finance Low Latency Data Grids in Finance Jags Ramnarayan Chief Architect GemStone Systems jags.ramnarayan@gemstone.com Copyright 2006, GemStone Systems Inc. All Rights Reserved. Background on GemStone Systems

More information

Catalogic DPX TM 4.3. ECX 2.0 Best Practices for Deployment and Cataloging

Catalogic DPX TM 4.3. ECX 2.0 Best Practices for Deployment and Cataloging Catalogic DPX TM 4.3 ECX 2.0 Best Practices for Deployment and Cataloging 1 Catalogic Software, Inc TM, 2015. All rights reserved. This publication contains proprietary and confidential material, and is

More information

Chapter 1. Storage Concepts. CommVault Concepts & Design Strategies: https://www.createspace.com/

Chapter 1. Storage Concepts. CommVault Concepts & Design Strategies: https://www.createspace.com/ Chapter 1 Storage Concepts 4 - Storage Concepts In order to understand CommVault concepts regarding storage management we need to understand how and why we protect data, traditional backup methods, and

More information

Database Architectures

Database Architectures Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 11/15/12 Agenda Check-in Centralized and Client-Server Models Parallelism Distributed Databases Homework 6 Check-in

More information

BUILDING A NEXT-GENERATION FIREWALL

BUILDING A NEXT-GENERATION FIREWALL How to Add Network Intelligence, Security, and Speed While Getting to Market Faster INNOVATORS START HERE. EXECUTIVE SUMMARY Your clients are on the front line of cyberspace and they need your help. Faced

More information

Business Continuity and Disaster Recovery. Ed Crowley Ch 12

Business Continuity and Disaster Recovery. Ed Crowley Ch 12 Business Continuity and Disaster Recovery Ed Crowley Ch 12 Topics Disaster Recovery Business Impact Analysis MTBF and MTTR RTO and RPO Redundancy Failover Backup Sites Load Balancing Mirror Sites Disaster

More information

Parallels Virtuozzo Containers

Parallels Virtuozzo Containers Parallels Virtuozzo Containers White Paper Deploying Application and OS Virtualization Together: Citrix and Parallels Virtuozzo Containers www.parallels.com Version 1.0 Table of Contents The Virtualization

More information

Lecture 1: January 22

Lecture 1: January 22 CMPSCI 677 Distributed and Operating Systems Spring 2018 Lecture 1: January 22 Lecturer: Prashant Shenoy Scribe: Bin Wang 1.1 Introduction to the course The lecture started by outlining the administrative

More information

Optimizing Parallel Access to the BaBar Database System Using CORBA Servers

Optimizing Parallel Access to the BaBar Database System Using CORBA Servers SLAC-PUB-9176 September 2001 Optimizing Parallel Access to the BaBar Database System Using CORBA Servers Jacek Becla 1, Igor Gaponenko 2 1 Stanford Linear Accelerator Center Stanford University, Stanford,

More information

Today s competitive marketplace is placing extraordinary demands upon customer service organizations, sales teams and call centers.

Today s competitive marketplace is placing extraordinary demands upon customer service organizations, sales teams and call centers. PROFITABLE EMAIL MANAGEMENT WHITEPAPER SERIES Reducing Total Email Response Time Today s competitive marketplace is placing extraordinary demands upon customer service organizations, sales teams and call

More information

Workshop Report: ElaStraS - An Elastic Transactional Datastore in the Cloud

Workshop Report: ElaStraS - An Elastic Transactional Datastore in the Cloud Workshop Report: ElaStraS - An Elastic Transactional Datastore in the Cloud Sudipto Das, Divyakant Agrawal, Amr El Abbadi Report by: Basil Kohler January 4, 2013 Prerequisites This report elaborates and

More information

Distributed KIDS Labs 1

Distributed KIDS Labs 1 Distributed Databases @ KIDS Labs 1 Distributed Database System A distributed database system consists of loosely coupled sites that share no physical component Appears to user as a single system Database

More information

An Introduction to DB2 Indexing

An Introduction to DB2 Indexing An Introduction to DB2 Indexing by Craig S. Mullins This article is adapted from the upcoming edition of Craig s book, DB2 Developer s Guide, 5th edition. This new edition, which will be available in May

More information

Automated Storage Tiering on Infortrend s ESVA Storage Systems

Automated Storage Tiering on Infortrend s ESVA Storage Systems Automated Storage Tiering on Infortrend s ESVA Storage Systems White paper Abstract This white paper introduces automated storage tiering on Infortrend s ESVA storage arrays. Storage tiering can generate

More information

The Google File System

The Google File System October 13, 2010 Based on: S. Ghemawat, H. Gobioff, and S.-T. Leung: The Google file system, in Proceedings ACM SOSP 2003, Lake George, NY, USA, October 2003. 1 Assumptions Interface Architecture Single

More information

Bridge Course On Software Testing

Bridge Course On Software Testing G. PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY Accredited by NAAC with A Grade of UGC, Approved by AICTE, New Delhi Permanently Affiliated to JNTUA, Ananthapuramu (Recognized by UGC under 2(f) and 12(B)

More information

Distributed Systems Final Exam

Distributed Systems Final Exam 15-440 Distributed Systems Final Exam Name: Andrew: ID December 12, 2011 Please write your name and Andrew ID above before starting this exam. This exam has 14 pages, including this title page. Please

More information

Example File Systems Using Replication CS 188 Distributed Systems February 10, 2015

Example File Systems Using Replication CS 188 Distributed Systems February 10, 2015 Example File Systems Using Replication CS 188 Distributed Systems February 10, 2015 Page 1 Example Replicated File Systems NFS Coda Ficus Page 2 NFS Originally NFS did not have any replication capability

More information

Data Sheet: Storage Management Veritas Storage Foundation for Oracle RAC from Symantec Manageability and availability for Oracle RAC databases

Data Sheet: Storage Management Veritas Storage Foundation for Oracle RAC from Symantec Manageability and availability for Oracle RAC databases Manageability and availability for Oracle RAC databases Overview Veritas Storage Foundation for Oracle RAC from Symantec offers a proven solution to help customers implement and manage highly available

More information

Hyper-converged Secondary Storage for Backup with Deduplication Q & A. The impact of data deduplication on the backup process

Hyper-converged Secondary Storage for Backup with Deduplication Q & A. The impact of data deduplication on the backup process Hyper-converged Secondary Storage for Backup with Deduplication Q & A The impact of data deduplication on the backup process Table of Contents Introduction... 3 What is data deduplication?... 3 Is all

More information

Resolving Security s Biggest Productivity Killer

Resolving Security s Biggest Productivity Killer cybereason Resolving Security s Biggest Productivity Killer How Automated Detection Reduces Alert Fatigue and Cuts Response Time 2016 Cybereason. All rights reserved. 1 In today s security environment,

More information

Data Management Glossary

Data Management Glossary Data Management Glossary A Access path: The route through a system by which data is found, accessed and retrieved Agile methodology: An approach to software development which takes incremental, iterative

More information

FLAT DATACENTER STORAGE. Paper-3 Presenter-Pratik Bhatt fx6568

FLAT DATACENTER STORAGE. Paper-3 Presenter-Pratik Bhatt fx6568 FLAT DATACENTER STORAGE Paper-3 Presenter-Pratik Bhatt fx6568 FDS Main discussion points A cluster storage system Stores giant "blobs" - 128-bit ID, multi-megabyte content Clients and servers connected

More information

Addressing Data Management and IT Infrastructure Challenges in a SharePoint Environment. By Michael Noel

Addressing Data Management and IT Infrastructure Challenges in a SharePoint Environment. By Michael Noel Addressing Data Management and IT Infrastructure Challenges in a SharePoint Environment By Michael Noel Contents Data Management with SharePoint and Its Challenges...2 Addressing Infrastructure Sprawl

More information

Unit 2 : Computer and Operating System Structure

Unit 2 : Computer and Operating System Structure Unit 2 : Computer and Operating System Structure Lesson 1 : Interrupts and I/O Structure 1.1. Learning Objectives On completion of this lesson you will know : what interrupt is the causes of occurring

More information

Perfect Timing. Alejandra Pardo : Manager Andrew Emrazian : Testing Brant Nielsen : Design Eric Budd : Documentation

Perfect Timing. Alejandra Pardo : Manager Andrew Emrazian : Testing Brant Nielsen : Design Eric Budd : Documentation Perfect Timing Alejandra Pardo : Manager Andrew Emrazian : Testing Brant Nielsen : Design Eric Budd : Documentation Problem & Solution College students do their best to plan out their daily tasks, but

More information

Marking Scheme for the Sample Exam Paper

Marking Scheme for the Sample Exam Paper INFORMATION SYSTEMS EXAMINATION BOARD BUSINESS SYSTEMS DEVELOPMENT CERTIFICATE IN INFORMATION AND COMMUNICATION TECHNOLOGY for the Sample Exam Paper As this is a sample paper, both the paper and the marking

More information

VMware vcloud Architecture Toolkit Cloud Bursting

VMware vcloud Architecture Toolkit Cloud Bursting VMware vcloud Architecture Toolkit VMware vcloud Architecture Toolkit Version 3.0 September 2012 Version 2.0.1 This product is protected by U.S. and international copyright and intellectual property laws.

More information

Continuous Processing versus Oracle RAC: An Analyst s Review

Continuous Processing versus Oracle RAC: An Analyst s Review Continuous Processing versus Oracle RAC: An Analyst s Review EXECUTIVE SUMMARY By Dan Kusnetzky, Distinguished Analyst Most organizations have become so totally reliant on information technology solutions

More information

Memory. Objectives. Introduction. 6.2 Types of Memory

Memory. Objectives. Introduction. 6.2 Types of Memory Memory Objectives Master the concepts of hierarchical memory organization. Understand how each level of memory contributes to system performance, and how the performance is measured. Master the concepts

More information

SYSTEM UPGRADE, INC Making Good Computers Better. System Upgrade Teaches RAID

SYSTEM UPGRADE, INC Making Good Computers Better. System Upgrade Teaches RAID System Upgrade Teaches RAID In the growing computer industry we often find it difficult to keep track of the everyday changes in technology. At System Upgrade, Inc it is our goal and mission to provide

More information

The Total Network Volume chart shows the total traffic volume for the group of elements in the report.

The Total Network Volume chart shows the total traffic volume for the group of elements in the report. Tjänst: Network Health Total Network Volume and Total Call Volume Charts Public The Total Network Volume chart shows the total traffic volume for the group of elements in the report. Chart Description

More information

Chapter 9: Virtual-Memory

Chapter 9: Virtual-Memory Chapter 9: Virtual-Memory Management Chapter 9: Virtual-Memory Management Background Demand Paging Page Replacement Allocation of Frames Thrashing Other Considerations Silberschatz, Galvin and Gagne 2013

More information