Thursday Oct 23, 2014

Power of SPARC T5 scalability unleashed

I was working with a leading asset management vendor in the financial server sector who is using Python for a considerable amount of their software, a typical three-tier architecture, Database, Business Logic and User interface using Python as the main back-end language. Performance was critical for both latency (fast individual query response) and total throughput (being able to service a large amount of queries in parallel).

This was an opportunity to validate the quality of the scalability advantage of SPARC processors, with their large amount of cores and threads within a single chip.

In order to test the scalability of the SPARC processor in a Python environment, I decided to use the standard Python benchmark which is available in all the latest Python distributions. By running multiple benchmarks in parallel, I could then plot the scaling factor to see how linearly the total throughput would ramp up as more cores and threads were utilized.

[Read More]

Tuesday Apr 22, 2014

Parallel Java with Fork/Join on SPARC CMT

Java 7 Fork and Join allows an easy way to perform dividable work by executing parallel tasks on a single computing machine. This article introduced a fork/join example of counting occurrences of a word in all files/directories under a root directory. I thought to check how these forked threads scale on a T5-4 server. Oracle T5-4 server has 4 processors, each has 16 cores. CMT technology allows 8 threads contexts per core (each core includes two out-of-order integer pipelines, one floating-point unit, level 1 and 2 caches, full specs here).

It took 1131.29 seconds for a single thread to process a root directory with 1024 files, 1.25MB each. Increasing "parallelism level"  —using the Java fork/join pool terminology —up to 2048, doing the same work with fork/join took 7.74 seconds! Clearly it is worth setting the ForkJoinPool parallelism level manually to higher than...

[Read More]

Thursday May 31, 2012

Gemalto Mobile Payment Platform on Oracle T4

GemaltoGemalto is the world leader in digital security, at the heart of our rapidly evolving digital society. Billions of people worldwide increasingly want the freedom to communicate, travel, shop, bank, entertain and work – anytime, everywhere – in ways that are convenient, enjoyable and secure. Gemalto delivers on their expanding needs for personal mobile services, payment security, identity protection, authenticated online services, cloud computing access, eHealthcare and eGovernment services, modern transportation solutions, and M2M communication.

Gemalto’s solutions for Mobile Financial Services are deployed at over 70 customers worldwide, transforming the way people shop, pay and manage personal finance. In developing markets, Gemalto Mobile Money solutions are helping to remove the barriers to financial access for the unbanked and under-served, by turning any mobile device into a payment and banking instrument.

In recent benchmarks by our Oracle ISVe Labs, the Gemalto Mobile Payment Platform demonstrated outstanding performance and scalability using the new T4-based Oracle Sun machines running Solaris 11.

Using a clustered environment on a mid-range 2x2.85GHz T4-2 Server (16 cores total, 128GB memory) for the application tier, and an additional dedicated Intel-based (2x3.2GHz Intel-Xeon X4200) Oracle database server, the platform processed more than 1,000 transactions per second, limited only by database capacity --higher performance was easily achievable with a stronger database server. Near linear scalability was observed by increasing the number of application software components in the cluster. These results show an increase of nearly 300% in processing power and capacity on the new T4-based servers relative to the previous generation of Oracle Sun CMT servers, and for a comparable price.

T4-2

In the fast-evolving Mobile Payment market, it is crucial that the underlying technology seamlessly supports Service Providers as the customer-base ramps up, use cases evolve and new services are launched. These benchmark results demonstrate that the Gemalto Mobile Payment Platform is designed to meet the needs of any deployment scale, whether targeting 5 or 100 million subscribers.

Oracle Solaris 11 DTrace technology helped to pinpoint performance issues and tune the system accordingly to achieve optimal computation resources utilization.

Thursday Mar 29, 2012

Talend Enterprise Data Integration overperforms on Oracle SPARC T4

The SPARC T microprocessor, released in 2005 by Sun Microsystems, and now continued at Oracle, has a good track record in parallel execution and multi-threaded performance. However it was less suited for pure single-threaded workloads. The new SPARC T4 processor is now filling that gap by offering a 5x better single-thread performance over previous generations.

Following our long-term relationship with Talend, a fast growing ISV positioned by Gartner in the “Visionaries” quadrant of the “Magic Quadrant for Data Integration Tools”, we decided to test some of their integration components with the T4 chip, more precisely on a T4-1 system, in order to verify first hand if this new processor stands up to its promises.

Several tests were performed, mainly focused on:

  • Single-thread performance of the new SPARC T4 processor compared to an older SPARC T2+ processor
  • Overall throughput of the SPARC T4-1 server using multiple threads

The tests consisted in reading large amounts of data --ten's of gigabytes--, processing and writing them back to a file or an Oracle 11gR2 database table. They are CPU, memory and IO bound tests. Given the main focus of this project --CPU performance--, bottlenecks were removed as much as possible on the memory and IO sub-systems. When possible, the data to process was put into the ZFS filesystem cache, for instance. Also, two external storage devices were directly attached to the servers under test, each one divided in two ZFS pools for read and write operations.

Test Configuration

Multi-thread: Testing throughput on the Oracle T4-1

The tests were performed with different number of simultaneous threads (1, 2, 4, 8, 12, 16, 32, 48 and 64) and using different storage devices: Flash, Fibre Channel storage, two stripped internal disks and one single internal disk. All storage devices used ZFS as filesystem and volume management.

Each thread read a dedicated 1GB-large file containing 12.5M lines with the following structure:

customerID;FirstName;LastName;StreetAddress;City;State;Zip;Cust_Status;Since_DT;Status_DT
1;Ronald;Reagan;South Highway;Santa Fe;Montana;98756;A;04-06-2006;09-08-2008
2;Theodore;Roosevelt;Timberlane Drive;Columbus;Louisiana;75677;A;10-05-2009;27-05-2008
3;Andrew;Madison;S Rustle St;Santa Fe;Arkansas;75677;A;29-04-2005;09-02-2008
4;Dwight;Adams;South Roosevelt Drive;Baton Rouge;Vermont;75677;A;15-02-2004;26-01-2007
[…]

The following graphs present the results of our tests:

Results 1

Unsurprisingly up to 16 threads, all files fit in the ZFS cache a.k.a L2ARC : once the cache is hot there is no performance difference depending on the underlying storage. From 16 threads upwards however, it is clear that IO becomes a bottleneck, having a good IO subsystem is thus key. Single-disk performance collapses whereas the Sun F5100 and ST6180 arrays allow the T4-1 to scale quite seamlessly. From 32 to 64 threads, the performance is almost constant with just a slow decline.

For the database load tests, only the best IO configuration --using external storage devices-- were used, hosting the Oracle table spaces and redo log files.

Results 2

Using the Sun Storage F5100 array allows the T4-1 server to scale up to 48 parallel JVM processes before saturating the CPU. The final result is a staggering 646K lines per second insertion in an Oracle table using 48 parallel threads.

Single-thread: Testing the single thread performance

Seven different tests were performed on both servers. Given the fact that only one thread, thus one file was read, no IO bottleneck was involved, all data being served from the ZFS cache.

  • Read File → Filter → Write File: Read file, filter data, write the filtered data in a new file. The filter is set on the “Status” column: only lines with status set to “A” are selected. This limits each output file to about 500 MB.
  • Read File → Load Database Table: Read file, insert into a single Oracle table.
  • Average: Read file, compute the average of a numeric column, write the result in a new file.
  • Division & Square Root: Read file, perform a division and square root on a numeric column, write the result data in a new file.
  • Oracle DB Dump: Dump the content of an Oracle table (12.5M rows) into a CSV file.
  • Transform: Read file, transform, write the result data in a new file. The transformations applied are: set the address column to upper case and add an extra column at the end, which is the concatenation of two columns.
  • Sort: Read file, sort a numeric and alpha numeric column, write the result data in a new file.

The following table and graph present the final results of the tests:

  • Throughput unit is thousand lines per second processed (K lines/second).
  • Improvement is the % of improvement between the T5140 and T4-1.

Test

T4-1 (Time s.)

T5140 (Time s.)

Improvement

T4-1 (Throughput)

T5140 (Throughput)

Read/Filter/Write

125

806

645%

100

16

Read/Load Database

195

1111

570%

64

11

Average

96

557

580%

130

22

Division & Square Root

161

1054

655%

78

12

Oracle DB Dump

164

945

576%

76

13

Transform

159

1124

707%

79

11

Sort

251

1336

532%

50

9

Results 3

The improvement of single-thread performance is quite dramatic: depending on the tests, the T4 is between 5.4 to 7 times faster than the T2+. It seems clear that the SPARC T4 processor has gone a long way filling the gap in single-thread performance, without sacrifying the multi-threaded capability as it still shows a very impressive scaling on heavy-duty multi-threaded jobs.

Finally, as always at Oracle ISV Engineering, we are happy to help our ISV partners test their own applications on our platforms, so don't hesitate to contact us and let's see what the SPARC T4-based systems can do for your application!

"As describe in this benchmark, Talend Enterprise Data Integration has overperformed on T4. I was generally happy to see that the T4 gave scaling opportunities for many scenarios like complex aggregations. Row by row insertion in Oracle DB is faster with more than 650,000 rows per seconds without using any bulk Oracle capabilities !"

Cedric Carbone, Talend CTO.

Monday Mar 12, 2012

Mobile Tornado adopts Solaris features for better RAS and TCO

Mobile Tornado provides instant communication services for mobile devices, with a focus on enterprise workforce management. Its solutions include Push-To-Talk and Instant Locate, Alert & Message applications.

As a software developer, Mobile Tornado's main challenges are up-time --the applications are largely sold today into the homeland security and defense markets-- and scalability --during network peak usage. With these challenges in mind, and as part of the on-going engineering collaboration between Mobile Tornado and Oracle's ISV Engineering, we investigated which Oracle Solaris technologies would improve the application's availability and scalability while reducing the solution's TCO.

We looked at the following Oracle Solaris technologies: Solaris Cluster, ZFS and Zones.

[Read More]
About

How open innovation and technology adoption translates to business value, with stories from our developer support work at Oracle's ISV Engineering.

Subscribe

Search

Categories
Archives
« April 2015
SunMonTueWedThuFriSat
   
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
23
24
25
26
27
28
29
30
  
       
Today
Feeds