Computing Project RepositoryMain Page | About | Help | FAQ | Special pages | Log in
The Free Encyclopedia
Printable version | Disclaimers

High Volume Services notes

From Computing Project Repository

Table of contents

1 Questions for next time

Terminology

Explain the difference between the following?

Hardware, software redundancy - clustered environment. Monitoring take action on node/service failure. Load-balancing

HPC


HPC is the term used to describe the use of networked clusters of computers to take a large computational (usually scientific, number crunching) problem, divide it into to smaller chunks, distribute those chunks to the nodes in the cluster(s), and then solve those chunks in parallel. HPC sometimes requires very high-bandwidth and/or low-latency interconnects between nodes to address the target problems. High Performance computinga also refers to the use of supercomputers and computer clusters that is, computing systems comprised of multiple processors linked together in a single system.

Grid computing - combining resources of (heterogeneous) IT components into one pool of shared resources.

HVS

Applications or services that are designed to handle a large number of requests/operations. This is achieved by implementing strategies to share the volume/load betweeen separete service hosts (load balancing), often based on queuing theory priciples.

HVS is focused on serving large amounts of requests, and therefore scalability. A typical concern here is having appropriately large network throughput but server resources must also be scaled to provide the resources to answer the requests. Load-balancing is often used in this context to attain a high-efficiency processing of requests among a pool of resources. There is often a discussion of certain metric objectives (e.g. response time).

This includes the management of services, the economics and the performance tuning of services. The ability to deliver reliable service levels depends on both the resources that are available in the data centre and the pattern of demand driven by the users.

Can cope with high loads, i.e a webserver which gets alot of requests, may cope with high load using webfarms.

HAS

Applications or services designed for "mission-critical" situations, where it is of the essence that the service always is available for the clients. To achieve this a mixture of redundancy and failure detection are implemented in the system responsible for delivering the service.

Services that have to be redundant. Services that always have to be available. HAS is about ensuring that a service is available according to a certain target service level. This takes the form of redundancy at some level to accommodate for failures of individual components. Load-balancing is often used in this context to route requests to an available server. There is often a discussion of what "available" means in terms of metric goals (e.g. response time) here as well. High availability Service: refers to service offering a high level of service uptime with assured quality.

Also called "RAS" (reliability, availability, serviceability) or "fault resilient," it refers to a multiprocessing system that can quickly recover from a failure. There may be a minute or two of downtime while one system switches over to another, but processing will continue. This is not the same as fault tolerant, in which redundant components are designed for continuous processing without skipping a heartbeat.

High availability also refers to being able to service a component in the system without shutting down the entire operation. See clustering and hot fix. http://www.pcmag.com/encyclopedia_term/0,2542,t=high+availability&i=44246,00.asp This term gets more and more related to Virtual servers it seems. - IBM (http://www-935.ibm.com/services/us/index.wss/offerfamily/its/a1000424) Nice Link: http://www.linuxvirtualserver.org/HighAvailability.html

Resource Sharing

The essence of high performance and therefore high volume is resource management. What resources are being referred to in the names above?


Technologies

We want to utilize/share

between different tasks/users/processes. What technologies are available to do this in each of the three cases above?

General

P2P - e.g. bittorrent, distributed data dissemination

Live server migration - virtualization for seamless service

Load-balancing clusters operate by having all workload come through one or more load-balancing front ends, which then distribute it to a collection of back end servers. Although they are primarily implemented for improved performance, they commonly include high-availability features as well. Such a cluster of computers is sometimes referred to as a server farm.

The term "Grid Engine" often pops up in this context. Grid engines differs from clusters by being able to work alone (no one element is purely shared), adding power or new items if it needs to

CPU

For sharing CPU, a job distribution system (often associated with HPC clusters) is often used.

Putting CPUs into a single computer and have all of them work together simultaneously to solve problems. This procedure is now known as parallel computing. Machines providing the highest level of performance today are all parallel computers, not sequential machines.

Disk

Filesystems and filesystem attributes are used to share disks. On a network level, you can create a storage area network or use network-attached storage to provide a single pool of disk to a large number of clients. Various RAID levels can be used to achieve certain results, an example is striping which can improve read/write operations. Distributed storage techniques are in development which some believe hold promise for moving the challenge of storage from the edge into the network.

Distributed filesystems (http://en.wikipedia.org/wiki/Distributed_file_system)

Storage Area Network(SAN) (low level - disk appears as locally attached) nfs/samba (high level - mounted over network) network-attached storage(nas - os provides only filesharing)

http://en.wikipedia.org/wiki/SCSI#SCSI_interface_overview Max devices, speeds etc.

http://en.wikipedia.org/wiki/Fiber_channel Fibre Channel Protocol (FCP) is the interface protocol of SCSI on the Fibre Channel. Topology, Protocols etc.

Network

Might be required to use fast connection such as fiber( connecting to a SAN storage for example). Redundant links.

Why would we do this? If the internal bus is faster than the IP network? Does size matter?

What are the limits of storage on a regular SCSI bus? See above. But with ISCSI we can have unlimited number. Depends on te implementation of the ISCSI client. In Linux uses 16M for caching which limits the number of devices that can be connected in practice,

We can also use Fibre channel. How does this work?

A SAN is normally connected to a different interface than the regular network. (Not always, but should be?) e.g. ISCSI can run on regular ethernet, so a second net card on the computer. Or fibre interface.

This is a lower level protocol resource management. Looks like a local device to the computer rather than a network service. Here you need something in the kernel to support to this.

Normally this would run over the same network interface as normal traffic (but does not have to).

This is more high level resource management. High level service. AFS, DFS. Distributed file system. Don't need anything special in the kernel (except standard service drivers).

Is there a clear distinction between a SAN/NAS?

Backup

SAN is more flexible for backup, since we don't *have* to hvae a filesystem. A NAS would "always" be a mounted filesystem. So we can so "dump" to a SAN?


Server Technology

What is a service?

Buzzword? Usually over network? A service is a "process" at any level .e.g at OS level, or business level? A running application (application level services)? Network level services. A daemon? Work done by one entity for another?

Culture difference -- ISPs think of everythign exxcept the infrastructure as a service. UNix admins think of a service as a daemon (app. service).

We can be flexible.

What is the difference between a server and a workstation?

A workstation needs a graphics card, colour screen, sound, ... keyboard

A server is not necessarily about peformance, but saving money on the above.

So servers are usually more expensive - why? Expensive hardware. (RAM - registered RAM, fault tolerant, faster, error correction) (MTBF longer?) (Disk -- two classes of disk. Disks are tested at the factory and the higher reliability/performance ones are sold differently with higher spec. So we have some guarantees)

Physical size? (Not necessarily). Server - longer lifetime, more fault tolerant, Low level redundancy IBM sell their mainframes for low level redundancy Server serves more people, higher importance (subjective view) Greater requirements for server. Cost - workstation should be (can be) cheaper

Is is question of scale? How often can we afford to replace hardware? If we split into two tiers, servers and workstations, we can change workstations more often (cheaper) than servers.

Is this a strategy for the vendors to sell to us, or a strategy for us to solve our problems?

We can extend them rather than replace them. Cheaper. Cost of maintaining a cluster built from ad hoc.


Power supplies - power factors are better for expensive hardware than for cheap. We can reduce the electricity bill.

What is the reason for server-blade design? What is wrong with a regular PC?

Bottlenecks?

What is faster than Gb ether? Infiniband - high speed, short distance. Each technology has its own design trade-offs. Short distance/long distance. PIck a tech that works "Best".


Questions for next time

Retrieved from "https://project.iu.hio.no:443/wiki/index.php/High_Volume_Services_notes"

This page has been accessed 1438 times. This page was last modified 08:22, 10 Nov 2006.


Find
Browse
Main Page
Community portal
Current events
Recent changes
Random page
Help
Edit
Edit this page
Editing help
This page
Discuss this page
Post a comment
Printable version
Context
Page history
What links here
Related changes
My pages
Create an account or log in
Special pages
New pages
Image list
Statistics
Bug reports
More...