Chapter 16: Distributed Processing, Client/Server, and Clusters

Ace your homework & exams now with Quizwiz!

Highly Available Clusters

Offers a high probability that all resources will be in service.

Node Manager

Responsible for maintaining this node's membership in the cluster.

What is the simplest approach to cache consistency?

Using file locking techniques to prevent simultaneous access to a file by more than one client.

Persistent Binding

-A connection that is set up for a remote procedure call is sustained after the procedure return. -Persistent binding maintains the logical connection and allows a sequence of calls and returns to use the same connection.

Asynchronous RPC

-does not block the caller. -replies can be received as and when they are needed. -allow client execution to proceed locally in parallel with server invocation.

Load Balancing

A cluster requires an effective capability for balancing the load among available computers. When a new computer is added to the cluster, the load-balancing facility should automatically include this computer in scheduling applications.

Group

A collection of resources managed as a single unit.

Server

A computer, usually a high-powered workstation, a minicomputer, or a mainframe, that houses information for manipulation by networked clients.

Fault-tolerant Clusters

Achieved by the use of redundant shared disks and mechanisms for backing out uncommitted transactions and committing completed transactions.

Superior price/performance

By using commodity building blocks, it is possible to put together a cluster at a much lower cost than a single large machine.

Object-Oriented Mechanisms

Clients and servers ship messages back and forth between objects.

Clusters

Group of interconnected, whole computers working together as a unified computing resource that can create the illusion of being one machine.

Configuration Database Manager

Maintains the cluster configuration database.

Resource Manager/Failover Manager

Makes all decisions regarding resource groups and initiates appropriate actions.

Nonpersistent Binding

Means that a logical connection is established between the two processes at the time of the remote procedure call and that as soon as the values are returned, the connection is dismantled.

Parameter Passing

Most programming languages allow parameters to be passed as values (call by value) or as pointers to a location that contains the value (call by reference). Call by value is simple for a remote procedure call: The parameters are simply copied into the message and sent to the remote system.

Cluster Service

The collection of software on each node that manages all cluster-specific activity.

Fallback

The restoration of applications and data resources to the original system once it has been fixed.

Windows Cluster Server

Windows Failover Clustering is a shared-nothing cluster in which each disk volume and other resources are owned by a single system at a time.

Structured Query Language (SQL)

A language developed by IBM and standardized by ANSI for addressing, creating, updating, or querying relational databases.

Client-based processing

-All application processing is done at the client. -Data validation routines and other database logic functions are done at the server. -Some of the more sophisticated database logic functions are housed on the client side. -This architecture is perhaps the most common client/server approach in current use. -It enables the user to employ applications tailored to local needs.

Cooperative processing

-Application processing is performed in an optimized fashion. -Complex to set up and maintain. -Offers greater productivity and efficiency.

How can clusters and SMP be compared?

-Both clusters and SMP provide a configuration with multiple processors to support high-demand applications. -Both solutions are commercially available.

Four general classes of Client/Server Applications:

-Host-based processing. -Cooperative processing. -Server-based processing. -Client-based processing.

Host-based processing

-Not true client/server computing. -Traditional mainframe environment in which all or virtually all of the processing is done on a central host. -Often the user interface is via a dumb terminal. -The user's station is generally limited to the role of a terminal emulator.

How are clusters and SMP different?

-SMP has been around longer. -SMP is easier to manage and configure. -SMP takes up less physical space and draws less power than a comparable cluster. -SMP products are well established and stable. -Clusters are better for incremental and absolute scalability. -Clusters are superior in terms of availability.

Server-based processing

-Server does all the processing. -Client provides a graphical user interface. -Rationale behind configuration is that the user workstation is best suited to providing a user-friendly interface and that databases and applications can easily be maintained on central systems. -User gains the advantage of a better interface.

What is the key feature of a client/server architecture?

-The allocation of application-level tasks between clients and servers.

Synchronous RPC

-behaves much like a subroutine call. -behavior is predictable. -however, it fails to exploit fully the parallelism inherent in distributed applications. -this limits the kind of interactions the distributed application can have, resulting in lower performance.

Reliable message-passing guarantees:

-delivery if possible. -If delivery fails, the sending process is notified of the failure.

Parallelizing Compiler

-determines, at compile time, which parts of an application can be executed in parallel. -performance depends on the nature of the problem and how well the compiler is designed.

Message-passing facility:

-may simply send the message out into the communications network but will report neither success nor failure.

Nonblocking

-process is not suspended as a result of issuing a Send or Receive. -efficient, flexible use of the message passing facility by processes. -difficult to test and debug programs that use these primitives. -irreproducible, timing-dependent sequences can create subtle and difficult problems.

Blocking

-the alternative is to use blocking, or synchronous, primitives. -send does not return control to the sending process until the message has been transmitted or until the message has been sent and an acknowledgment received. -receive does not return control until a message has been placed in the allocated buffer.

Parallelized Application

-the programmer writes the application from the outset to run on a cluster and uses message passing to move data, as required, between cluster nodes. -this places a high burden on the programmer but may be the best approach for exploiting clusters for some applications.

How does a client/server configuration differ from other types of distributed processing?

-there is a heavy reliance on bringing user-friendly applications to the user on his or her own system. -there is an emphasis on centralizing corporate databases any many network management and utility functions. -there is a commitment, both by user organizations and vendors, to open and modular systems. -networking is fundamental to the operation.

Parametric Computing

-this approach can be used if the essence of the application is an algorithm or program that must be executed a large number of times, each time with a different set of starting conditions or parameters. -for this approach to be effective, parametric processing tools are needed to organize, run, and manage the jobs in an orderly manner.

Absolute Scalability

A cluster can have dozens or even hundreds of machines, each of which is a multiprocessor.

Relational Database

A database in which information access is limited to the selection of rows that satisfy all search criteria.

Client

A networked information requester, usually a PC or workstation, that can query database and/or other information from a server.

Online

A resource is said to be online at a node when it is providing service on that specific node.

Middleware

A set of drivers, APIs, or other software that improves connectivity between a client application and a server.

Application Programming Interface (API)

A set of function and call programs that allow clients and servers to intercommunicate.

Remote Procedure Calls

Allows programs on different machines to interact using simple procedure call/return semantics.

Resource

An item managed by the cluster service.

What enables the client and server to interoperate?

Communications software, such as TCP/IP. -Actual functions performed by the application can be split up between client and server in a way that optimizes the user of resources.

Incremental Scalability

Configured in such a way that it is possible to add new systems to the cluster in small increments.

Event Processor

Connects all of the components of the cluster service, handles common operations, and controls cluster service initialization.

High Availability

Failure of one node is not critical to system.

Parameter Representation

If the called and calling programs are in identical programming languages on the same type of machines with the same operating system, then the representation requirement may present no problems. If there are differences in these areas, then there will probably be differences in the ways in which numbers and even text are represented.

Why may the hardware and the OS of client and server differ?

These lower-level differences are irrelevant as long as a client and server share the same communications protocols and support the same applications.


Related study sets

Chapter 12 - State and Local Taxes

View Set

Chapter 1: Impact of Technology in a Changing World, Chapter 9 - Power, Politics, and Influence, Chapter 25 Managing Personal and Personnel problems, Chapter 26: Role Transition, 31) Thriving for the Future, Chapter 22: Person-centered Care, Chapter...

View Set

Makanan dan Minuman (Minta satu) - Kindy/G1

View Set

AOT 256 - Office management FINAL

View Set

Chapter 1: Introduction, Acquiring Knowledge, and the Scientific Method

View Set

Digital Marketing Chapter 7 - Mobile Marketing

View Set

Maternity: Chapter 14 Practice Questions

View Set