Over the past several years highly concurrent applications have faced some serious challenges when trying to scale on multi core machines. GigaSpaces scale-out-application server aims to solve this problem by freeing the user from dealing with the need to handle concurrency while building his distributed application.
For the last few weeks we ran a joint project with Sun and Intel teams — A Scale-Up Benchmark on the Sun Fire X4450 multi core servers using Intel Xeon 7460 processors (4 CPUs with six cores each) with GigaSpaces XAP.
The benchmark focused on application scalability and latency and tested the platform with mission critical applications in different scenarios. The results show that the combined platform provides very scalable behavior with very low, deterministic latency for highly concurrent applications.
For a detailed description of the benchmark see Sunx4450 Intel7460 GigaSpaces XAP Platform Benchmark presenation.
We have tested several Scenarios:
Generic GigaSpaces XAP Benchmarks
- Throughput vs Scalability - In process and out of process benchmark. Additional client threads are added to measure the scalability of the system.
– Latency vs Scalability – Measuring the time it takes to push data into the GigaSpaces in-memory-data-grid for processing under massive load.
Mission Critical Application Benchmarks
- On-Line Web Based Application – The Pet Clinic Application was used for this benchmark since it is a popular example for on-line web applications. The original application was modified to use GigaSpaces as the transactional system of record. Data is persisted asynchronously to a MySQL database.
– Financial Services HPC Application – A Credit Risk Application was used for this benchmark. The application calculates a batch of 4096 portfolios using Monte Carlo simulation.
Benchmark Results – Highlights
Throughput vs Scalability Benchmark
Embedded space capacity
– 1.8 million read operations per/sec with 30 threads
– 1.1 million write/take operations per/sec with 30 threads
– Less than 20% performance drop up to 16 threads
Remote space capacity
– 90,000 read operations per/sec
– 45,000 write/take operations per/sec (including HA).
– Less than 20% performance drop up to 24 clients
Latency vs Scalability Benchmark
– 1 ms latency with remote write operation – including HA (with replication to backup)
– 0.4 ms latency with remote write operation – excluding HA (without replication to backup)
– 4 K object payload.
– 20 concurrent clients
– Load of 20,000 remote write operation per sec
– 1gE network
Pet Clinic web application Benchmark
- 16223 page generation/sec with 6 ms latency – 1G network LAN – 3 web servers
– 5000 concurrent users (extrapolated)
– MySQL Enterprise Database and Apache Load Balancer running on 4150 (1 server – 4 cores)
Credit Risk HPC Calculation Benchmark
- Near linear scalability (Up to 32 concurrent workers)
– Boosting the calculation time in 2640% (compared to one worker)
– >0.8 Scalability Ratio for 32 workers
– >0.6 Scalability Ratio for 64 workers
– Calculating 4096 portfolios in 100 seconds (41 calculation per/sec).
Six-Core vs. Quad-Core
We also compared the results we observed on the six-core CPU servers to a quad-core CPU server and found the six-core server to be about 30% more scalable.
This is primarily due to the fact that the 6-core CPU achieves a better balance between the amount of active cores and the CPU speed. When it comes to highly concurrent application scenarios this balance is very critical to providing high throughput with minimal pauses.
See below results comparing a machine with 24 cores (running the quad CPU with six cores) to a machine running 16 cores (running the quad CPU with four cores).
Note the quad core CPU was 10% faster than the six core CPU.
- The Sun x4450-Intel 7460-GigaSpaces XAP Platform is a very scalable solution providing both low latency and high throughput. The Platform allows applications to scale up or out with minimal impact on the latency.
- The Sun x4450-Intel 7460-GigaSpaces XAP Platform fits both On-line and HPC based application environments. The In-memory data access and transactional capabilities of this platform make it a perfect fit for these types of applications.
- The six cores CPU provided ~30% better scalability and performance compared to 4 cores CPU.
- Solaris 10 OS and Java 6 provide a very stable and deterministic environment – even for the most demanding scenarios.