What is a server accelerator card and why is it needed?
- July 12, 2018
- 0
Server Accelerator Card
General purpose CPU has its computation capabilities and limitations. Some additional hardware acceleration is used at times for performing some functions more efficiently. There are a certain set of devices that catalyses data communications, storage and retrieval, anonymization such as encryption/decryption, arithmetic operations, graphics, and Web page viewing. These are commonly referred to as acceleration hardware. Acceleration hardware can be a simple electronic circuit (can be termed as an IC), a printed circuit card (PCB), or a self-contained system.
The hardware that performs the acceleration may be part of a CPU or a separate unit. This separate unit is referred to as the hardware accelerator. Hardware accelerators improve the performance of a specific algorithm by allowing greater concurrency (i.e. parallel execution), having specific data paths for the temporary variables, and for minimizing the overhead of instruction control. Hardware accelerators are best-suited for repetitive, intensive key algorithm. Depending upon the operational capabilities, hardware accelerator unit can vary between small operational units to a large operational block.
Different types of server accelerators are listed below:
-
An NAS accelerator is a PCB that unburdens TCP/IP processing from the regular microprocessor. This effectively reduces latency, enhances throughput, and cut down on the overhead costs in a storage area network (SAN).
-
A graphics accelerator is a computer component to which a program can offload the sending and refreshing of images to a display, optimizing special effects.
-
Video Accelerators are intended for video specific applications, such as transcoding and rate translation. For example, LS Axxia media accelerator.
-
An acceleration server is a bridge between a dial-up connection and a Web page that facilitates high-speed dial-up, also known as broadband dial-up.
-
A floating-point accelerator (FPA) is a co-processor in a computer that offloads regular CPU from the functionality of performing arithmetic operations such as rounding and error detection.
-
Network packet inspection and processing. If an accelerator card has its own GBE interface, intelligence (one or more multi-core CPUs), and memory, network packets can be processed at a far faster rate than a typical motherboard + Linux. Examples include Cavium network processors such as the Octeon Series.
-
Overall performance accelerators are more of general purpose accelerators than for specific functions. Nvidia accelerators and CIM arrays are in this category.
-
GPU based acceleration servers are new trends for Artificial Intelligence (AI) specialized requirements.
-
A server accelerator card is alternatively called as an SSL card: Peripheral Component Interconnect (PCI) when utilized to create encryption keys which ensure safe financial/ accounting transactions on e-commerce platforms is known as Server Accelerator Card. A PCI is a communication mechanism established between a CPU and attached devices in which the expansion slots are located closely for high-speed operation.
Categories of Server Accelerators
There are mainly two types of Server Accelerators which facilitate encryption/decryption, namely SSL accelerators and FPGA array.
- SSL accelerator works to off-load processor-intensive SSL encryption and decryption from a server to a device configured to accelerate the encryption/decryption process.
- A Field-programmable gate array (FPGA) is an electronic IC with the difference that it can be programmed after it is manufactured. Hence, this has a greater potential application than (PROM) chips on which programs cannot be altered after manufacture.
How server accelerator cards function?
SSL card establishes a secure encrypted data transfer between a customer and a server. The server which holds the card transfers all secure data to this card to reduce its processing load.
Normally, when a secure transaction is initiated, the website’s server sends its authenticity (issued by a certifying authority) to the client system to verify its authenticity. Once this exchange is complete, the secret key is used to encrypt all data transferred between the source and the destination to ensure that all critical information such as credit card details and personal information is protected. SSL card takes full control of this procedure and tremendously lessens the load of a server.
An SSL card is used to support various security protocols that include Secure Electronic Transaction (SET) and Secure Socket Layers (SSL). A software driver is loaded and the server gets ready to receive orders. The process of using an SSL card is much simpler and effective than purchasing extra servers. Extra cards can be installed based on the increase in the server’s secure transactions.
There are also additional appliances of server accelerators which are external units that have SSL cards installed within them. Such units are them connected to the server. A secure transaction is directed to the SSL acceleration unit for processing, as soon as it is detected. Such external units can be included and clustered together based on the necessity.
SSL utilizes RSA algorithm for validation and exchange of secure key between clients and websites. This algorithm is a mathematical process that includes two keys – a private key that is stored securely on the web server (or load balancer) and a public key that is available to all clients. The public key is enclosed in a digital certificate so that the client can verify the authenticity of the private key.
Generally, RSA algorithm is only used during the initial setup phase. A one-time key (sessions key) is exchanged between the server and client. RSA algorithm ensures that anything encrypted by the private key can be decrypted by the public key and vice-versa. This allows a web server to demonstrate its identity (encode with a private key, client validates by decoding with the public key) and for the client to ensure secure communication with the server (encode with the public key, the server decode with private key). This two-key approach is known as asymmetric encryption.