Linux on Power is a fully tested and supported platform for Streams. However, there are considerations for applications that port from x86 to Linux on Power.
This is true for Streams and for any other Linux application. The key considerations are listed below:
RHEL 6 Big Endian (Streams Version 3 or Version 4)
RHEL 7 Little Endian or Big Endian (Streams Version 4) Support for Linux on Power Little Endian is added for Streams version 4.1
Note: SLES is not supported.Power8
Power8 is supported beginning in Streams 3.2.1. To use Power8 8-way Hardware Multithreading, RHEL 7 and Streams Version 4 or later is required. When running on Power8 with Streams 3.2.1, RHEL 6 is required and only 4-way Hardware Multithreading is supported.
Linux on Power Advanced Toolchain
Streams for Linux on Power has some unique compiler considerations driven by the use of the “Advance Toolchain” (aka “AT”) used to leverage Linux on Power-unique performance optimizations above what is included in the default Linux distro gcc compiler and libraries.
For Streams 4.1.0 on RHEL 7 Little Endian, AT version 8 RPMs are required for IBM Streams on Power Systems installations:
For Streams 4.0.0 or 4.1.0 on RHEL 6 or RHEL 7 Big Endian, AT version 7 RPMs are required for Streams on Power Systems installations:
For Streams 3.2.1 on RHEL 6 Big Endian, AT version 5 RPMs are required for Streams on Power Systems installations:
Streams Best Practices for Performance
There is also a technote for Streams Best Practices for Performance (applies to any platform, not just Streams on Power Systems).
Linux on Power support by dependent software packages
There are Streams applications that leverage additional software packages that have not ported to Linux on Power. These use-cases typically involve specific Streams toolkits and adapters.
Some Streams toolkits and adapters are not supported for Linux on Power due to missing requisite supporting software:
The vendors that provide these Databases have not provided native client versions for Linux on Power: Aster, HP Vertica, solidDB and Teradata.
The XMSSource and XMSSink operators are not supported for Linux on Power.
The sentiment extractors in the Text Toolkit are not supported for Linux on Power Little Endian
The LLM transport mechanism is not supported on Linus for Power Little Endian
We have also seen examples where complex Streams applications embed 3rd party software. When those applications were ported, the client discovered that the vendor supplying that 3rd party software did not have a Linux on Power version.
Note: check any client pre-requisites to ensure Linux on Power is supportedEndian Considerations
“Big Endian” and “Little Endian” refer to the byte order used to store numerical values in computer memory. Starting with Version 4.1 Streams has versions that support either Little or Big Endian for Linux on Power. Little Endian is the strategic direction for Linux on Power, therefore new deployments of Streams for Linux on Power should use the Little Endian version. However, if the Big Endian version of Streams on Power will be used, consideration should be given if a Streams application includes custom operators that work with integer values placed into memory structures exchanged between BE and LE hosts. For more information see this Linux on Power Community blog post.