Jiří Kašpar, Pavel Tvrdík (ČVUT FIT) Servers I. MI-POA, 2011, Lecture 5 1/17 Servers I. Ing. Jiří Kašpar prof. Ing. Pavel Tvrdík CSc. Department of Computer Systems Faculty of Information Technology Czech Technical University in Prague Jiří Kašpar, Pavel Tvrdík, 2011 Advanced Computer System Architectures, MI-POA, 03/2011, Lecture 5 https://edux.fit.cvut.cz/courses/mi-poa Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Jiří Kašpar, Pavel Tvrdík (ČVUT FIT) Servers I. MI-POA, 2011, Lecture 5 2/17 Types of Applications Types of Applications Monolithic Monolithic Interactive Client Server Statefull Client Server Stateless Multilayered Applications
Jiří Kašpar, Pavel Tvrdík (ČVUT FIT) Servers I. MI-POA, 2011, Lecture 5 3/17 Types of Applications Monolithic Applications Monolithic Applications Features: Input/Output batch data Internal databases Sequential data processing Batch processing Goal: overall processing time Examples: Salary roll, bank interest calculation
Jiří Kašpar, Pavel Tvrdík (ČVUT FIT) Servers I. MI-POA, 2011, Lecture 5 4/17 Types of Applications Monolithic Interactive Applications Monolithic Interactive Applications Features: Interactive multiple terminal inputs/outputs Internal databases Transactional data processing Goal: response time for interactive users Examples: terminal reservation system
Features: Types of Applications Client Server Statefull Applications Client Server Statefull Applications Interactive processing is split to two parts. Front-end parts of the application (client) run on client systems/stations. Back-end part of the application (server) runs on a server for all clients. Data is stored on a server, clients can request them. Connections between clients and the server persist during the whole session, the server remembers previous requests. Examples: information systems based on database management systems (KOS) Jiří Kašpar, Pavel Tvrdík (ČVUT FIT) Servers I. MI-POA, 2011, Lecture 5 5/17
Features: Types of Applications Client Server Stateless Applications Client Server Stateless Applications Interactive processing is split to two parts Front-end parts of the application (client) run on client systems/stations Back-end part of the application (server) runs on the server for all clients. Data is stored on a server, clients can request them. Each request is treated by the server as an independent transaction unrelated to previous requests. Examples: simple network services (ARP, DHCP, TFTP), web server + browser Jiří Kašpar, Pavel Tvrdík (ČVUT FIT) Servers I. MI-POA, 2011, Lecture 5 6/17
Jiří Kašpar, Pavel Tvrdík (ČVUT FIT) Servers I. MI-POA, 2011, Lecture 5 7/17 Features: Multilayered Applications Interactive processing is split to more parts, typically to three layers: presentation, application (business), and data layer. Types of Applications Multilayered Applications These layers are mapped to servers. Examples: Information systems with more interfaces (web, handheld devices,...)
Jiří Kašpar, Pavel Tvrdík (ČVUT FIT) Servers I. MI-POA, 2011, Lecture 5 8/17 Scalability of Applications Scalability of Applications Application scalability can be limited by: Final number of application threads (monolithic, server part). Hidden serialization of parallel requests (thread unsafe library functions, OS entry points, etc.). Resource contention (file, disk, CPU, memory, data structures, middleware, etc.)
Scalability of Applications Amdahl s Law see MI-PAR Lect. 2 Slide 40 Amdahl s Law see MI-PAR Lect. 2 Slide 40 Jiří Kašpar, Pavel Tvrdík (ČVUT FIT) Servers I. MI-POA, 2011, Lecture 5 9/17
Scalability of Applications Amdahl s Law Amdahl s Law Jiří Kašpar, Pavel Tvrdík (ČVUT FIT) Servers I. MI-POA, 2011, Lecture 5 10/17 Speedup f p # CPU
Jiří Kašpar, Pavel Tvrdík (ČVUT FIT) Servers I. MI-POA, 2011, Lecture 5 11/17 Server Architecture Types Server Architecture Types To fulfill application requirements, server architectures conform with system taxonomy (see MI-PAR, Lect. 3, Slide 6): Single CPU systems Symmetric Multiprocessors (SMP) Distributed Shared Memory (DSM) Multiprocessors
Jiří Kašpar, Pavel Tvrdík (ČVUT FIT) Servers I. MI-POA, 2011, Lecture 5 12/17 Server Scalability Types Server Scalability Types Based on application types and required scaling, we can define two server scalability types: Horizontal scaling application performance can be increased by adding additional server (server cloning) Vertical scaling - application performance cannot be increased by additional server, but can be done by adding more resources to the server (CPUs, memory, controllers or storage).
Jiří Kašpar, Pavel Tvrdík (ČVUT FIT) Servers I. MI-POA, 2011, Lecture 5 13/17 Server Scalability Types Application Types to Server Scalability Mapping Application Types to Server Scalability Mapping Monolithic applications can scale vertically with memory and storage, but usually do not scale with CPU. Monolithic interactive applications usually scale vertically. Server parts of Client Server and Data Layer in Multilayer architectures usually scale vertically. Client parts of Client Server, Presentation and Application Layer in Multilayer architectures usually scale horizontally.
Jiří Kašpar, Pavel Tvrdík (ČVUT FIT) Servers I. MI-POA, 2011, Lecture 5 14/17 Horizontally Scalable Server Technologies Horizontally Scalable Server Technologies Server farms are based on two models: Stackable servers Blade systems
Jiří Kašpar, Pavel Tvrdík (ČVUT FIT) Servers I. MI-POA, 2011, Lecture 5 15/17 Horizontally Scalable Server Technologies Stackable Server Technologies Stackable Server Technologies Characteristics: typical solution in 90s, rack based, each server typically contains: 1-4 processors, RAM memory, power supply and cooling units, integrated I/O interfaces with external connectors, several PCI slots, DVD and several internal disks, management interface for remote control.
Jiří Kašpar, Pavel Tvrdík (ČVUT FIT) Servers I. MI-POA, 2011, Lecture 5 16/17 Horizontally Scalable Server Technologies Characteristics: Blade Server Technologies optimized stackable servers in a blade rack chassis typical for 21 st century each blade server consists of: 1-4 processors, RAM memory, several internal disks, integrated I/O interfaces and several PCI slots connected to chassis backplane. Blade chassis contains: Blade Server Technologies shared power supply and cooling units, backplane interconnect subsystem, management interface for remote control.
Jiří Kašpar, Pavel Tvrdík (ČVUT FIT) Servers I. MI-POA, 2011, Lecture 5 17/17 Horizontally Scalable Server Technologies Comparison of Stackable and Blade Servers Blade advantages: blades are cheaper less power and heat dissipation, space efficiency, server connection aggregation. blades are more flexible Stackable advantages: Blade Server Technologies less initial cost for single (or two) server(s), fully incremental costs (no chassis required for the 9 th or 17 th server).