A server is a computer that provides information to other computers called " clients " on a computer network . This architecture is called the client–server model . Servers can provide various functionalities, often called "services", such as sharing data or resources among multiple clients or performing computations for a client. A single server can serve multiple clients, and a single client can use multiple servers. A client process may run on the same device or may connect over a network to a server on a different device. Typical servers are database servers , file servers , mail servers , print servers , web servers , game servers , and application servers .
49-511: The Challenge , code-named Eveready (deskside models) and Terminator (rackmount models), is a family of server computers and supercomputers developed and manufactured by Silicon Graphics in the early to mid-1990s that succeeded the earlier Power Series systems (not to be confused with IBM Power Systems ). The Challenge was later succeeded by the NUMAlink -based Origin 200 and Origin 2000 in 1996. There are three distinctive models of
98-1107: A computer monitor or input device, audio hardware and USB interfaces. Many servers do not have a graphical user interface (GUI). They are configured and managed remotely. Remote management can be conducted via various methods including Microsoft Management Console (MMC), PowerShell , SSH and browser-based out-of-band management systems such as Dell's iDRAC or HP's iLo . Large traditional single servers would need to be run for long periods without interruption. Availability would have to be very high, making hardware reliability and durability extremely important. Mission-critical enterprise servers would be very fault tolerant and use specialized hardware with low failure rates in order to maximize uptime . Uninterruptible power supplies might be incorporated to guard against power failure. Servers typically include hardware redundancy such as dual power supplies , RAID disk systems, and ECC memory , along with extensive pre-boot memory testing and verification. Critical components might be hot swappable , allowing technicians to replace them on
147-570: A "streaming" cache and its associated controllers. Much of the POWER Challenge's performance depended on the R8000, a microprocessor intended to achieve supercomputing performance and designed for floating-point scientific applications. As a result, the R8000 had features such as fused multiply–add instructions and a large cache. In 1995, Silicon Graphics upgraded the POWER Challenge with R8000 microprocessors clocked at 90 MHz, enabling
196-531: A 256-bit path for data and a 40-bit path for addressing clocked at 47.6 MHz (21-nanosecond cycle), providing 1.2 GB/s of sustained bandwidth. The midplane in DM and L models contains five Ebus slots that can support a combination of three CPU, one memory or two POWERchannel-2 interface boards. The midplane also contains five VME expansion slots. The midplane in XL models contains fifteen Ebus slots that can support
245-646: A combination of nine CPU, eight memory or five POWERchannel-2 interface boards. The midplane also contains six VME expansion slots and three power board slots. The Challenge uses a board set known as the POWERpath-2 board set, code named "Everest". The boards that make up this board set are the IP19, IP21, IP25 CPU boards, the MC3 memory board and the IO4 POWERchannel-2 interface board. The CPU board contains
294-403: A computer program that turns a computer into a server, e.g. Windows service . Originally used as "servers serve users" (and "users use servers"), in the sense of "obey", today one often says that "servers serve data", in the same sense as "give". For instance, web servers "serve [up] web pages to users" or "service their requests". The server is part of the client–server model ; in this model,
343-415: A device used for (or a device dedicated to) running one or several server programs. On a network, such a device is called a host . In addition to server , the words serve and service (as verb and as noun respectively) are frequently used, though servicer and servant are not. The word service (noun) may refer to the abstract form of functionality, e.g. Web service . Alternatively, it may refer to
392-449: A drawback in that if the process crashes and fails to clean up shared memory it will stay until system shutdown; that limitation is not present in an Android-specific implementation dubbed ashmem . POSIX also provides the mmap API for mapping files into memory; a mapping can be shared, allowing the file's contents to be used as shared memory. Linux distributions based on the 2.6 kernel and later offer /dev/shm as shared memory in
441-400: A maximum of 544 kg (1200 lbs). Rackmount systems have a 1,900 watt power supply. The Challenge is a shared-memory multiprocessor computer. The system is based on nodes, which are implemented as boards that plug into a midplane containing Ebus slots and the POWERpath-2 "Ebus" bus, a system bus that the nodes use to communicate with other nodes. The POWERpath-2 bus consists of
490-527: A region of a file into memory in multiple processes. Some C++ libraries provide a portable and object-oriented access to shared memory functionality. For example, Boost contains the Boost.Interprocess C++ Library and Qt provides the QSharedMemory class. For programming languages with POSIX bindings (say, C/C++), shared memory regions can be created and accessed by calling the functions provided by
539-411: A server serves data for clients . The nature of communication between a client and server is request and response . This is in contrast with peer-to-peer model in which the relationship is on-demand reciprocation. In principle, any computerized process that can be used or called by another process (particularly remotely, particularly to share a resource) is a server, and the calling process or processes
SECTION 10
#1732773172839588-423: A service for the requester, which often runs on a computer other than the one on which the server runs. The average utilization of a server in the early 2000s was 5 to 15%, but with the adoption of virtualization this figure started to increase to reduce the number of servers needed. Strictly speaking, the term server refers to a computer program or process (running program). Through metonymy , it refers to
637-400: A similar set of issues. In computer software, shared memory is either Since both processes can access the shared memory area like regular working memory, this is a very fast way of communication (as opposed to other mechanisms of IPC such as named pipes , Unix domain sockets or CORBA ). On the other hand, it is less scalable, as for example the communicating processes must be running on
686-467: A single processor or on multiple separate processors. Using memory for communication inside a single program, e.g. among its multiple threads , is also referred to as shared memory. In computer hardware, shared memory refers to a (typically large) block of random access memory (RAM) that can be accessed by several different central processing units (CPUs) in a multiprocessor computer system . Shared memory systems may use: A shared memory system
735-406: Is a client. Thus any general-purpose computer connected to a network can host servers. For example, if files on a device are shared by some process, that process is a file server . Similarly, web server software can run on any capable computer, and so a laptop or a personal computer can host a web server. While request–response is the most common client-server design, there are others, such as
784-618: Is a collaborative effort, Open Compute Project around this concept. A class of small specialist servers called network appliances are generally at the low end of the scale, often being smaller than common desktop computers. A mobile server has a portable form factor, e.g. a laptop . In contrast to large data centers or rack servers, the mobile server is designed for on-the-road or ad hoc deployment into emergency, disaster or temporary environments where traditional servers are not feasible due to their power requirements, size, and deployment time. The main beneficiaries of so-called "server on
833-427: Is also less of a concern, but power consumption and heat output can be a serious issue. Server rooms are equipped with air conditioning devices. A server farm or server cluster is a collection of computer servers maintained by an organization to supply server functionality far beyond the capability of a single device. Modern data centers are now often built of very large clusters of much simpler servers, and there
882-405: Is contrasted with "user", distinguishing two types of host : "server-host" and "user-host". The use of "serving" also dates to early documents, such as RFC 4, contrasting "serving-host" with "using-host". The Jargon File defines server in the common sense of a process performing service for requests, usually remote, with the 1981 version reading: SERVER n. A kind of DAEMON which performs
931-418: Is organized into eight banks, with four banks forming a leaf . The memory can be interleaved if there are two or more leaves present in the system. The memory bus is 576-bit wide, with a 512-bit path for data and a 64-bit path for ECC. The memory is controlled by the two leaf controllers. Each leaf controller manages four banks of memory and half of a memory transaction. It is therefore connected to 256 bits of
980-442: Is provided by the MC3 memory board, which contains thirty-two single in-line memory module (SIMM) slots and two leaf controllers. Fast page mode (FPM) error correcting code (ECC) SIMMs with capacities of 16 MB (known as the "high-density" SIMM) and 64 MB (known as the "super-density" SIMM) are supported, enables the board to provide 64 MB to 2 GB of memory. The SIMMs are installed in groups of four. The memory
1029-436: Is relatively easy to program since all processors share a single view of data and the communication between processors can be as fast as memory accesses to the same location. The issue with shared memory systems is that many CPUs need fast access to memory and will likely cache memory , which has two complications: Technologies like crossbar switches , Omega networks , HyperTransport or front-side bus can be used to dampen
SECTION 20
#17327731728391078-704: The Internet is based upon a client–server model. High-level root nameservers , DNS , and routers direct the traffic on the internet. There are millions of servers connected to the Internet, running continuously throughout the world and virtually every action taken by an ordinary Internet user requires one or more interactions with one or more servers. There are exceptions that do not use dedicated servers; for example, peer-to-peer file sharing and some implementations of telephony (e.g. pre-Microsoft Skype ). Hardware requirement for servers vary widely, depending on
1127-409: The publish–subscribe pattern . In the publish-subscribe pattern, clients register with a pub-sub server, subscribing to specified types of messages; this initial registration may be done by request-response. Thereafter, the pub-sub server forwards matching messages to the clients without any further requests: the server pushes messages to the client, rather than the client pulling messages from
1176-514: The request–response model: a client sends a request to the server, which performs some action and sends a response back to the client, typically with a result or acknowledgment. Designating a computer as "server-class hardware" implies that it is specialized for running servers on it. This often implies that it is more powerful and reliable than standard personal computers , but alternatively, large computing clusters may be composed of many relatively simple, replaceable server components. The use of
1225-558: The Challenge. The first model, simply known as the "Challenge" used the 64-bit R4400 . With the introduction of the R8000 , the Challenge was upgraded to support more processors and memory as well as featuring support for this new processor. Such systems are known as the "POWER Challenge". During the final years of the Challenge architecture's useful life, the line was upgraded to support R10000 microprocessors. Older Challenge systems using
1274-518: The ECC implementation can correct single-bit errors and detect double-bit errors. The SIMMs also contain built-in self-test circuitry, which tests the SIMM during power on or reset and alerts the firmware, which disables the bank(s) of memory containing faulty SIMM(s), if faults are detected. Server (computing) Client–server systems are usually most frequently implemented by (and often identified with)
1323-506: The IStream object returned by CoMarshalInterThreadInterfaceInStream in the COM libraries under Windows . Dynamic libraries are generally held in memory once and mapped to multiple processes, and only pages that had to be customized for the individual process (because a symbol resolved differently there) are duplicated, usually with a mechanism known as copy-on-write that transparently copies
1372-847: The Internet, the dominant operating systems among servers are UNIX-like open-source distributions , such as those based on Linux and FreeBSD , with Windows Server also having a significant share. Proprietary operating systems such as z/OS and macOS Server are also deployed, but in much smaller numbers. Servers that run Linux are commonly used as Webservers or Databanks. Windows Servers are used for Networks that are made out of Windows Clients. Specialist server-oriented operating systems have traditionally had features such as: In practice, today many desktop and server operating systems share similar code bases , differing mostly in configuration. In 2010, data centers (servers, cooling, and other electrical infrastructure) were responsible for 1.1–1.5% of electrical energy consumption worldwide and 1.7–2.2% in
1421-489: The POSIX:XSI Extension) includes the shared-memory functions shmat , shmctl , shmdt and shmget . Unix System V provides an API for shared memory as well. This uses shmget from sys/shm.h. BSD systems provide "anonymous mapped memory" which can be used by several processes. The shared memory created by shm_open is persistent. It stays in the system until explicitly removed by a process. This has
1470-529: The R10000 were known as the "Challenge 10000", while the newer POWER Challenge systems using the R10000 were known as the "POWER Challenge 10000". Models suffixed with "GR" (for "Graphics Ready") could support the RealityEngine and InfiniteReality graphics subsystems. Standard models were either servers or supercomputers with no graphics support. The POWER Challenge was announced on 28 January 1993 and
1519-599: The United States. One estimate is that total energy consumption for information and communications technology saves more than 5 times its carbon footprint in the rest of the economy by increasing efficiency. Global energy consumption is increasing due to the increasing demand of data and bandwidth. Natural Resources Defense Council (NRDC) states that data centers used 91 billion kilowatt hours (kWh) electrical energy in 2013 which accounts to 3% of global electricity usage. Environmental groups have placed focus on
SGI Challenge - Misplaced Pages Continue
1568-576: The bottleneck-effects. In case of a Heterogeneous System Architecture (processor architecture that integrates different types of processors, such as CPUs and GPUs , with shared memory), the memory management unit (MMU) of the CPU and the input–output memory management unit (IOMMU) of the GPU have to share certain characteristics, like a common address space. The alternatives to shared memory are distributed memory and distributed shared memory , each having
1617-445: The carbon emissions of data centers as it accounts to 200 million metric tons of carbon dioxide in a year. Shared memory architecture In computer science , shared memory is memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies. Shared memory is an efficient means of passing data between programs. Depending on context, programs may run on
1666-475: The form of a RAM disk , more specifically as a world-writable directory (a directory in which every user of the system can create files) that is stored in memory. Both the RedHat and Debian based distributions include it by default. Support for this type of RAM disk is completely optional within the kernel configuration file . On Windows, one can use CreateFileMapping and MapViewOfFile functions to map
1715-411: The go" technology include network managers, software or database developers, training centers, military personnel, law enforcement, forensics, emergency relief groups, and service organizations. To facilitate portability, features such as the keyboard , display , battery ( uninterruptible power supply , to provide power redundancy in case of failure), and mouse are all integrated into the chassis. On
1764-450: The memory bus and 128 bits of the POWERpath-2 bus. Memory transactions are 128-byte wide, the same width as the cache line of the MIPS microprocessors used. A memory read is completed in two cycles of the memory clock, and is buffered by the leaf controllers before it is placed in a sent over the POWERpath-2 bus in four cycles of the POWERpath-2 bus clock. The SIMMs are protected by ECC, and
1813-497: The microprocessors. There are three models of CPU boards: the IP19, IP21 and IP25. The IP19 can be configured with two or four R4400 microprocessors. It also contains five CPU Interface ASICs, four for implementing the data path and one for implementing the address path. These ASICs contain an average of 80,000 gates each. The IP21 supports the R8000 microprocessor and can be configured with one or two such microprocessors. The IP25 supports one, two, or four R10000 microprocessors. Memory
1862-411: The middle where the system controller display is mounted. Deskside systems have a width of 54 cm (21 inches), a height of 65 cm (26 inches), a depth of 74 cm (29 inches) and a weighs a minimum of 89 kg (195 lbs). Rackmount systems have a width of 69 cm (27 inches), a height of 159 cm (62.3 inches), a depth of 122 cm (48 inches) and weighs
1911-420: The multiprocessing Challenges, although they had cases with the same blue hue as proper Challenges. They were branded as such in order for the systems to be marketed as part of the Challenge server family, positioned as entry level servers. The deskside enclosure is predominately black with a vertical blue strip on right side. The rackmount enclosure is black, but the front is blue with a horizontal black strip in
1960-558: The new R10000s, a new CPU board, the "IP25" was introduced. The new CPU board, like the previous IP19 CPU board, supports one, two, or four processors and their associated secondary caches. The CHALLENGEarray and POWER CHALLENGEarray is a cluster of Challenge or POWER Challenge servers respectively. The CHALLENGEarray supports 2 to 288 R10000 processors while the POWER CHALLENGEarray supports 2 to 144 R8000 processors and up to 128 GB of memory. The POWER CHALLENGEarray
2009-465: The page when a write is attempted, and then lets the write succeed on the private copy. Compared to multiple address space operating systems, memory sharing -- especially of sharing procedures or pointer-based structures -- is simpler in single address space operating systems . POSIX provides a standardized API for using shared memory, POSIX Shared Memory . This uses the function shm_open from sys/mman.h. POSIX interprocess communication (part of
SGI Challenge - Misplaced Pages Continue
2058-564: The running server without shutting it down, and to guard against overheating, servers might have more powerful fans or use water cooling . They will often be able to be configured, powered up and down, or rebooted remotely, using out-of-band management , typically based on IPMI . Server casings are usually flat and wide , and designed to be rack-mounted, either on 19-inch racks or on Open Racks . These types of servers are often housed in dedicated data centers . These will normally have very stable power and Internet and increased security. Noise
2107-408: The same machine (of other IPC methods, only Internet domain sockets—not Unix domain sockets—can use a computer network ), and care must be taken to avoid issues if processes sharing memory are running on separate CPUs and the underlying architecture is not cache coherent . IPC by shared memory is used for example to transfer images between the application and the X server on Unix systems, or inside
2156-411: The server as in request-response. The role of a server is to share data as well as to share resources and distribute work. A server computer can serve its own computer programs as well; depending on the scenario, this could be part of a quid pro quo transaction, or simply a technical possibility. The following table shows several scenarios in which a server is used. Almost the entire structure of
2205-412: The server's purpose and its software. Servers often are more powerful and expensive than the clients that connect to them. The name server is used both for the hardware and software pieces. For the hardware servers, it is usually limited to mean the high-end machines although software servers can run on a variety of hardwares. Since servers are usually accessed over a network, many run unattended without
2254-708: The system to scale up to 6.48 GFLOPS, an improvement of 1 GFLOPS over the previous R8000 microprocessor clocked at 75 MHz. The POWER Challenge 10000 referred to POWER Challenge-based systems that used the R10000 microprocessor. These models were introduced in January 1996, succeeding the R4400-based Challenge and the R8000-based POWER Challenge, although such systems co-existed with the POWER Challenge 10000 for some time. To support
2303-574: The word server in computing comes from queueing theory , where it dates to the mid 20th century, being notably used in Kendall (1953) (along with "service"), the paper that introduced Kendall's notation . In earlier papers, such as the Erlang (1909) , more concrete terms such as "[telephone] operators" are used. In computing, "server" dates at least to RFC 5 (1969), one of the earliest documents describing ARPANET (the predecessor of Internet ), and
2352-508: Was intended to compete against supercomputer companies such as Cray Research . At the time of its announcement, Silicon Graphics claimed that the POWER Challenge would have the same level of performance as Cray's Cray Y-MP with a single microprocessor. The new model was introduced in the middle of 1994 and used the MIPS R8000 microprocessor chip set, which consisted of the R8000 microprocessor and R8010 floating point unit accompanied by
2401-466: Was introduced on 15 November 1994. Other systems from Silicon Graphics that used the "Challenge" brand were the Challenge M and the Challenge S . These systems were repackaged Silicon Graphics Indigo2 and Indy workstations that were not configured with the graphics hardware that made them useful as workstations. These systems were Challenges in name only and have no architectural similarity with
#838161