z13: new opportunities – if you dare!
TRANSCRIPT
FOR MORE INFORMATION PLEASE CONTACTXact Consulting A/SArnold Nielsens Boulevard 68ADK-2650 Hvidovre
+45 7023 [email protected]
Enterprise Modernization
z13: New Opportunities – if you dare!
Michael Erichsen,April 2015
Lix Level Warning
• This is not a buzzword compliant sales pitch
• This is low level stuff, aimed at hard core programmers
Agenda
• New hardware• New machine instructions• Business use• Development
improvements• New application types?
z12 broadens the Scope of Mainframes
• Processor chip optimized for software performance– Exploited by Java, compilers, and DB2– Transactional Execution Facility for parallelism and scale– Runtime Instrumentation Facility to reduce Java overhead
• zEC12 has the industry’s fastest chip with each core at 5.5 GHz– z13 processor actually a little bit slower
z12 Transactional Execution
• Sequence of instructions executed as “atomic” operation
• Eliminates locks• Improved software
parallel scaling
z12 Runtime Instrumentation
• Real-time information to software on dynamic program characteristics
• Increased optimization in JVM/JIT recompilations
z196/z12 Blade Extension
• Unified Resource Manager
• Inside the same security perimeter
• Windows added in z13
z13: Big Data, Analytics, Cloud
• Decimal-floating-point packed-conversion facility• Message-security-assist extension • Multithreading facility• Vector facility for z/Architecture (Single Instruction / Multiple
Data (SIMD) technology)
Don't forget the Machine Instructions added in earlier Models
• UTF conversion instructions• Cryptographic instructions• Gzip acceleration in hardware
New Instructions – why?
• Competition from the fast moving distributed world and cheap commodity hardware– Java, dot.net, XML, Unicode, BI, Big Data, Analytics, Cloud…
• Basis for compiler improvements: COBOL, PL/I, C, C++, Java, PHP…– E.g. decimal floating point format conversions for COBOL
• Also the basis for hybrid applications– Run traditional and new workloads on the same system
Why Java on the Host?
• New developers• Application portability• Requires improved interfaces to COBOL,PL/I, C/C++, HLASM
– Language Environment, OO COBOL, DWARF debugging, service interfaces
• Requires performance improvements and economical tricks like zIIP and zAAP processors
Why XML?
• Standard protocol• Very extensible• Broad use• But terrible performance on all platforms
– Requires processor improvements and zIIP/zAAP processors• Programming languages use the new hardware and
instructions through XML System Services
Why UNICODE?
• All languages, dead or alive
• But is a character 1, 2, 3 or 4 bytes?– UTF-8, 16, 32 – and 1,
5, 6, 7, 9, and 18…
• COMPARE LOGICAL LONG UNICODE
• CONVERT UNICODE TO UTF-8• CONVERT UTF-16 TO UTF-32• CONVERT UTF-16 TO UTF-8• MOVE LONG UNICODE• SEARCH STRING UNICODE
New COBOL Instructions
• ULENGTH • USUBSTR • UNSUPPLEMENTARY • VALID • UWIDTH
• Also supported natively in DB2 and MQ
Data Types
• Structured– Relational, hierarchical, XML
• Unstructured– Documents, web sites, e-mail, social media
• Streaming– Sensors, RFID's, Internet of Things, Smart Phone apps, log data
Application types
• Search• Analytics• Patterns, trends, anomalies• Traffic control, water and electricity supply, personal health
monitoring, earth quake warnings…• Sentiment analysis
Infrastructure types
– Low latency networking• Fire-and-forget
– NoSQL (Not only SQL)• Dynamic, semi-structured data with low latency
– Hadoop• Processing, storing and analysing data
– UIMA (Unstructured Information Management Architecture)
The z Implementation
• Hybrid boxes• Data accelerators• Hybrid applications• Instructions
– Vector processing– SIMD (Single Instruction, Multiple Data)
Vector Facility
• The vector facility provided in the z/Architecture architectural mode provides fixed-sized vectors ranging from one to sixteen elements– For most instructions, all of the data contained in a vector is
operated on by the instructions defined in this facility– Some instructions only operate on a subset of the elements within a
vector – If a vector is made up of multiple elements, each element is
processed in parallel with the others– Instruction completion does not occur until processing of all
elements is complete
COBOL Compiler Implementations
• V5.1: – UTF-8 support improved – ARCH(10): z12 adds execution-hint facility, load-and-trap facility,
miscellaneous-instructions-extension facility, transactional-execution facility speeds up each instruction
• V5.2: – ARCH(11): Exploitation of the z13 instructions helps e.g. INSPECT
TALLYING, INSPECT REPLACING and COMP-3
How to keep Costs down doing this?
• System z New Application Licence Charges (zNALC)– New workload moved from other platforms in separate LPAR– Value Unit Edition (VUE)
• One time charge for eligible workloads in such LPAR
• Mobile Workload Pricing for z/OS (MWP)– Extra load must be documented
• IFL, zIIP, zAAP, and Blade Extension