====== C.2.2 Hardware Servers ====== [[dido:public:ra:xapend:xapend.c_hwarch:server | Return to Servers]] ===== About ===== Hardware [[dido:public:ra:xapend:xapend.a_glossary:s:server | Servers]] can vary widely: from personal computers (i.e., [[dido:public:ra:xapend:xapend.c_hwarch:desktop|Desktop Computers]]) to specially built rack mounted computers depending on the amount of work that needs to be done and the number of [[dido:public:ra:xapend:xapend.a_glossary:c:client | clients]] that need to be supported. For example, quite often database servers are software that can run on a personal computer to service the needs of an individual using that machine or can be on many rack mounted servers supporting thousands to millions of clients. As a general rule, Servers are more powerful and expensive than the client's hardware connected to them. The power of a server is not just measured by the speed of its CPU, but also in its ability to handle multiple events and connections and its memory access speed. Many servers, whether running locally on a personal computer or remotely on large clusters of servers, are accessed over a network -- usually the [[dido:public:ra:xapend:xapend.a_glossary:e:ethernet]]. They are intended to run unattended without [[dido:public:ra:xapend:xapend.a_glossary:h:hmi]] or [[dido:public:ra:xapend:xapend.a_glossary:g:gui]]. These servers are configured and managed remotely using software specifically designed for that purpose. They are typically managed using web based interfaces accessible via browsers over secure connections and [[dido:public:ra:xapend:xapend.b_stds:tech:ieee:1003.1| POSIX]] compliant interfaces. Historically, Servers used [[dido:public:ra:xapend:xapend.a_glossary:c:cpu]] that were either [[dido:public:ra:xapend:xapend.a_glossary:c:cisc]] or [[dido:public:ra:xapend:xapend.a_glossary:r:risc]] architectures. While the [[dido:public:ra:xapend:xapend.a_glossary:c:cpu | Central Processing Units (CPUs)]] are designed to quickly handle a wide-range of general tasks sequentially, they are not well suited to handling many small tasks that in parallel. Recently some servers have been built using [[dido:public:ra:xapend:xapend.a_glossary:g:gpgpu | General-Purpose Graphics Processing Units (GPGPUs)]] instead of CPUs. Despite their name (GPGPU), these Servers are not used to process lots of graphics or images, instead, they are used to perform lots of small tasks in parallel (i.e., concurrently). Consequently, GPGPU based servers performing parallel operations on multiple sets of data are being employed to support non-graphical tasks such as [[dido:public:ra:xapend:xapend.a_glossary:m:machine_learning|machine learning]] and scientific computation. Designed with thousands of [[dido:public:ra:xapend:xapend.a_glossary:p:processor|processor]] cores running simultaneously, GPGPUs enable massive parallelism with each core performing efficient calculations simultaneously. Some common Software Servers are: * **File Servers** are responsible for the central storage and management of data files * **Policy Servers** are security components of a [[dido:public:ra:xapend:xapend.a_glossary:p:policy|policy]]-based network that provides authorization services and facilitates tracking and control of files * **Print Server** provides access to one or more network-attached printers * **Media Server** provides access to streaming video and audio * **Game Server** provides access to the authoritative source of events shared across users in multiplayer video games * **Domain Servers** provides Internet Domain Name translation to internet addresses ===== DIDO Specifics ===== [[dido:public:ra:xapend:xapend.c_hwarch:server:hw | Return to Top]] : To be added/expanded in future revisions of the DIDO RA /**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- /* To add a discussion page to this page, comment out the line that says ~~DISCUSSION:off~~ */ ~~DISCUSSION:on|Outstanding Issues~~ ~~DISCUSSION:off~~