Wednesday Aug 03, 2016

S7 and Java - A Persuasive Case for Decision Makers

Once again, our friends over at the Openomics Blog have posted an excellent SPARC S7-related piece, this time detailing compelling reasons why the Java/Solaris/SPARC stack outshines the competition, including x86! Definitely worth the quick and informative read!

Plus, Coffee! :) 

Wednesday Apr 20, 2016

Oracle OpenWorld and JavaOne 2016 Call for Proposals

The 2016 Oracle OpenWorld and JavaOne call for proposals are open and the deadline for submissions is Friday, May 9. We encourage you to submit proposals to present at this year's conference, which will be held September 18 - 22, 2016 at the Moscone Center in San Francisco. 

See here who from ISV Engineering and partners attended last year and the joint projects they presented. 

Submit your abstracts for Oracle OpenWorld and JavaOne now and take advantage of the opportunity to present at the most important Oracle technology and business conference of the year.

Wednesday Feb 03, 2016

IBM Java Applications Taking Advantage of SPARC Hardware Encryption

We’ve been talking recently about IBM’s GSKit, through which many IBM applications can automatically take advantage of SPARC Hardware Encryption (including the latest SPARC M7-based systems). We’ve since been asked whether this was also possible for Java-based IBM applications (such as WebSphere Application Server) or other applications written against IBM’s SDK Java Technology Edition to take similar advantage. This post is written to help answer those questions.

What is the IBM SDK?
IBM has traditionally licensed Oracle’s Java Runtime Environment and Java Developer Kit, modified it slightly, and released it as the IBM SDK. This combination of Java Runtime and Developer Kit is designed to support many IBM products, and can also be used for new development (although the recommended Java platform on Solaris is Oracle’s own Java Runtime Environment and Java Developer Kit). Oracle Solaris ships with both Java 7 and Java 8, but most IBM apps include the Java 7 version of their SDK.

What is the Advantage of Using Hardware Cryptography on SPARC?
Sometimes quite a bit, depending on the size of the chunks of data being encrypted and decrypted. Take this simple Java program, which does an adequate (if somewhat artificial) job at demonstrating the use of Hardware Crypto from Java:

This code simply creates an array of random data of size specified at runtime, and then encrypts using the common AES128 cypher. This algorithm happens to be one of the many accelerated by recent SPARC CPUs. When run on out-of-the-box Oracle and IBM implementations of Java 7 on SPARC, we can see the advantage to the code taking advantage of SPARC hardware crypto:

Figure 1: AES128 Encryption on SPARC M7 (no workaround)

Again, this is a very artificial test case used to make a point.The benefit from hardware acceleration will vary by workload and use case, but the key point to keep in mind is that this hardware assist is always available on SPARC M7 (the differences are proportional on SPARC T4 and T5). In those cases where it makes a difference, one should make an effort to take advantage of it.

Whither WebSphere Application Server?

IBM WebSphere Application Server v8, like other J2EE application servers, is written in Java, and could therefore in theory take advantage of the workaround described in the next section. But you don’t have to go with an unsupported solution for WAS, because Best Practice is usually to stand up the IBM’s included HTTP Server in front of WAS, and HTTP Server is built with GSKit 8. Check to see that the version of HTTP Server you use with WAS v8 supports SPARC hardware encryption – if so, you’re good to go!

How To Make Use of SPARC Hardware Crypto from IBM Java
Central to the Java Cryptography Architecture is the notion of JCA Providers, which allow developers to create and ship security mechanisms which can ‘plug-in’ to a Java Runtime via well-defined APIs. All Java runtimes ship with a default set of providers, usually found in the instance’s file. Since Java 7, the OracleUcrypto provider has been provided in Solaris releases of Java, specifically to interface with the underlying Solaris Ucrypto library (part of the Solaris Cryptographic Framework). On platforms based on SPARC T4, T5, M5, M6 and M7 CPUs, the Ucrypto library automatically takes advantage of any available underlying SPARC hardware cryptography features.

Those developing Java applications on Solaris with Oracle’s implementation of Java will find that this functionality is available by default on SPARC; in fact, the OracleUcrypto provider has the highest priority in the instance’s file. Here’s an excerpt from the default file in Oracle JDK 1.7:

As mentioned above, Oracle’s Java implementations are recommended on Solaris, but for those developers who must make use of the IBM SDK, you’ll notice that the IBM version of the file is not quite the same as that above. In fact, it is missing the OracleUcrypto provider:

What, then, can a developer do to reproduce the desired functionality?

1) The Officially-Supported Solution

Build and deploy against Solaris 11’s built-in Oracle JDK and JRE.

2) The Currently-Unsupported Solution

As you might have already surmised, Java’s Security Provider mechanism allows for quick and easy addition or substitution of additional Crypto providers (in the cases of third-party cryptographic hardware modules. By adding the UcryptoProvider to IBM’s file, Java executables will get that provider and the advantage it gives. Note: these instructions are correct for Java 7/SDK 7, but have not been tested on other major releases of Java:

Step 1: Add ucrypto-solaris.cfg to lib/security
Copy the ucrypto-solaris.cfg file from the Oracle Java 7 instance (in jre/lib/security) to the lib/security directory in the IBM SDK instance.

Step 2: Add UcryptoProvider as the first entry in the IBM lib/security/ file
you add to the top of the list, and keep the existing providers, the file above would end up looking as follows:

3) The (Hopefully) Future-Supported Solution

The above workaround does indeed work, but it’s not yet supported by IBM. That’s not to say we’ve not asked for it – we’ve submitted a feature request with IBM, and the good news is that any IBM customer who would also like to see this (perhaps you?) can upvote it now!

[Link to Java code snippet above] 

Wednesday Dec 16, 2015

Quartet FS In-Memory Analytics Java Advantage on Oracle SPARC

(Update: QuartetFS is now called ActiveViam)

In a previous blog we had talked about the benefits of scaling up ActivePivot on large memory SPARC machines. ActivePivot, is the in-memory analytics suite from QuartetFS, which is implemented by customers such as HSBC and Société Générale.

ActivePivot is an in-memory analytic database written in pure Java that is frequently deployed in a terabyte of memory. Earlier this year, Quartet FS partnered with Oracle to deploy a large credit risk use case in 16 TB of memory and the 384 cores of an M6-32 SPARC server from Oracle. Antoine Chambille, the global head of research and development at Quartet FS presented "Operating a 16-Terabyte JVM...and Living to Tell the Tale" at JavaOne 2015 twice. These sessions were very popular and standing room only! You can download the presentation here.

During JavaOne 2015 we also had a chance to sit down with Antoine and discuss how they work with Oracle to push the limits of Java and take advantage of Oracle Big Memory machines to deliver interactive calculations for a new generation of credit and market risk applications. The new proposals of the Fundamental Review of the Trading Book (FRTB) run by the Basel Committee on Banking Supervision (BCBS) increase the need for such applications and scenarios.Watch the video for more details.

Wednesday Jul 22, 2015

Scale up or Scale out?

QuartetFS In-memory Analytical Suite on Oracle SPARC Servers

Is scale out really the most cost effective architecture for all solutions?

ActivePivot, the in-memory analytics suite from QuartetFS, is implemented by customers such as HSBC, Société Générale, FNAC, Gefco and EBRD. On June 12, during Technology Keynote of the 7th annual ActivePivot User Group conference, Antoine Chambille, head of research & development at Quartet FS, along with Eric Bezille chief technologist of Oracle Systems France, discussed the benefits of scaling up ActivePivot on large memory machines. They shared the near linear scalability and great performance results of a joint benchmarking and tuning effort with recently released ActivePivot 5.2 running on an Oracle M6 SPARC server with 3072 CPU threads and 16 TB of memory. They also discussed the cost effectiveness of such a solution.

Watch the video and check out the presentation for more details.

Two sessions in JavaOne 2015 will also discuss the results of this project CON1855 and CON1917.

Thursday Nov 13, 2014

Murex Looks to SPARC Solaris Systems to Provide Value

Managing risk in a real-time capital market industry is something Murex customers have been doing successfully for over 27 years.  Murex builds software platforms for integrated trading, risk management, processing and clearing solutions for financial institutions, corporations and utilities located across the globe.

Murex has a long history with Oracle, starting with SPARC Solaris systems in 1992, moving to a Java development platform in 1998, and beginning development on the Oracle Database back in 2001.  Murex customers demand reliable solutions, which are extremely secure and very performant — as they are operating in real-time.  

In this video [click on picture below], Fabrice Blanc, Alliances Director, Murex, describes why 80% of Murex customers run on Solaris systems today.  He also describes the partnership with Oracle and how they are now looking to explore new emerging technologies like Database 12c and the Oracle cloud.

Sunday Jul 06, 2008

Scaling your Java EE Application

Wang Yu from Sun ISV-Engineering published a great article named "Scaling your Java EE Application" which explains the fundamentals to create scaling Web applications with Java. The article describes the fundamentals which need to be applied after scalability bottle necks have been identified with jstack or the more comfortable Netbeans profiler. An excellent reading for everyone who wants to make a web application ready for the next generation of Chip-Multi-Threading (CMT) systems like the T2.

The article nicely complements the performance oriented work of ISV-Engineering which helps identifying and removing bottle necks on the system side. Wang Yu's article explains how to scale the application once the system bottle necks have been removed.

Friday Jun 06, 2008

Presentations from Technology Briefings

this document publishes the presentations from the Partner Briefing in Zagreb, Croatia.[Read More]

Tuesday Aug 14, 2007

A short Primer to Java Memory Pool Sizing and Garbage Collectors

This short primers uses 5 short videos to explain the inner workings of the memory pools in the Java heap. The 5 brief videos use the freely available visualgc to explain when to bump up which parameters. Read more.[Read More]

Tuesday Jun 26, 2007

Überblick über Java 6 an der Universität Karlsruhe (4.7.2007 19:00)

ISV-Engineering arbeitet eng mit der Java User Group Karlsruhe zusammen. Am 4. Juli wird es einen Vortrag zu Java Standard Edition 6 geben.

Schauen Sie doch rein!

Jeder der in der JUG mitmachen möchte ist ebenfalls willkommen. Wir suchen noch engagierte Mitglieder aus der Region.

Die Veranstaltung findet am Mittwoch, den 4. Juli um 19:00 Uhr statt.

  • Universität Karlsruhe,

  • ATIS, Am Fasanengarten 5,

  • Geb. 50.34, Multimediahörsal im UG, Raum -101

  • D-76131 Karlsruhe

Die Uhrzeit wird wegen eines Belegungskonflikts auf 19:00 Uhr geändert!

Bitte melden Sie sich wenn möglich an, wir freuen uns über alle Partner des SPA Programms die Interesse an diesem Thema haben.

Ich freue mich auf Ihre Teilnahme. Bis zum vierten !

Stefan Schneider

P.S. Ich plane den Vortrag hier am fünften Juli in meinem Blog (hier) abzulegen.


Technical insights for and about ISV applications on Solaris and SPARC.
Application Availability, How-tos, Best Practices, Application Tuning and Results


« February 2017