With all of the new features and enhancements the newest generation of z systems provides, the new Guarded Storage Facility (GSF) may not be getting the attention it deserves. The z14 and LinuxOne are built for running secure diverse workloads at scale, along with the traditional strengths of transaction processing, database processing and security. With GSF, the z14 and LinuxOne have been enhanced to make Java workloads run even more efficiently and with less sensitivity to the slowdowns, which are caused by Java’s garbage collection processing.
Garbage collection processing? Simply put, it is Java’s way of freeing up memory so it can be used by other java processes.
Better Throughput with the Guarded Storage Facility (GSF)
The Guarded Storage Facility (GSF) is a new hardware feature, that works with Java, to reduce the impact of garbage collection processing, which can improve throughput and response times for applications that have large Java heap sizes. As Java heap sizes have increased with larger workloads, the time needed to manage this memory has increased as well. With large applications, this can be a significant issue. The Guarded Storage Facility allows garbage collection and the applications to run almost in parallel, reducing the impact of memory management. This is done by implementing new instructions that allow for decisions to be made during garbage collection, allowing processes to run while garbage collection is being performed on other areas of memory. This allows for better throughput for Java applications.
IBM has run tests that show this can improve response times by up to three times, and up to ten times improvement in Java garbage collection pause times. This improvement will depend on the actual workload and the garbage collection characteristics of your application(s). Since this is a hardware feature working in conjunction with a current release of Java, the implementation is very simple, and this can be a significant improvement. It should be investigated to determine if this could improve performance with your Java applications.
This will work on both z/OS based Java workloads, as well as Java running under Linux on z. In order to implement this, you will need to enable it in Java with the parameter -Xgc:concurrentScavenge. There are some other prerequisites that need to be met, based on where you run your Java workloads. For Java itself, you will need to be running IBM Java 8 SR 5 or later. GSF is only available on z14 processors. This includes all z14 M01 thru M05 and ZR1 models. This also includes all the LinuxOne Emperor II and Rockhopper II models.
For z/OS, you will need z/OS 2.2 plus PTFs or z/OS 2.3. If you are running z/VM as your hypervisor to run Linux workloads, underneath you will need a minimum of z/VM 6.4 with PTFs or z/VM 7.1. Linux distributions require the following as a minimum, SUSE Enterprise Server 12 SP 4, Red Hat Enterprise Server 7.5 GA and Ubuntu 18.04. If using KVM as a host, you will need QEMU 2.10, in addition to a supported Linux distribution mentioned above.
The family of z systems has continued to give greater performance and cost benefits, as it evolves. The z14 and LinuxOne has much to offer, and with the new Guarded Storage Facility, it is an excellent choice to run all your large critical Java workloads.
As a Platinum IBM Business Partner, Mainline has extensive experience with IBM mainframe systems, and we can help you with z/VM, Linux on IBM Z and LinuxOne. To set up a more in-depth discussion on how to get started using these technologies, please contact your Mainline Account Executive directly, click here to contact us with any questions.