High_Performance_Commercial_Computing_in_2015
Transcription
High_Performance_Commercial_Computing_in_2015
High Performance Commercial Computing in 2015 1/30/2015 Rob Klopp Technology Consultant ©2015—Cognilytics. All rights are reserved. Part 1 - The Case for High Performance Software The slow growth of ever-more-subtle features without hardware optimization creates the phenomena known as software bloat. Most of us have seen this on our personal computers, but it expands to enterprise software as well. Since we are suggesting 20X or more improvement, the ROI for high performance software is not too hard to find. There are several scenarios worth considering which offer a return. A more interesting benefit comes from using extreme performance to dramatically reduce the cost of developing new business applications. We have all observed and experienced the effort that goes into making business applications perform. We build redundant copies of data into warehouses and marts and then pre-process data into cubes and other aggregated forms, or we completely preprocess data so that result rows may be retrieved directly by key. Even then we tune query syntax and add indexes and struggle to find the sweet spot between insert/update performance and read performance only to find that adding the next business query forces yet another tuning effort or redundant copy of the data. ©2015—Cognilytics. All rights are reserved. Conclusion By eliminating all of these performance hoops, developers must jump through after they have developed the required business functionality we can significantly reduce the time and cost associated with adding business capability. In other words, we can use the 20X+ performance boost to satisfy performance requirements without tuning. We can deploy data once, or at most twice Business Software The most conventional benefit comes from making current business applications faster. This is a tried and true case: if performance improves, work can proceed within the user’s attention span and staff becomes more productive. Further, improved performance is delightful and unfortunately, IT departments are rarely accused of being delightful. Database Computing While there is a cost to re-factoring distributed bloated software into high performance software, the costs may vary wildly. If you are buying high performance commercial software then the costs may be limited to the acquisition of modern hardware, but if you are trying to trim down your business application software there will be some development costs. Technology This paper makes the case for building or buying high performance business software. We make the case by first suggesting in Part 1 how high performance software might positively impact your business. Then, in Part 2, we discuss the high performance commercial software available today and the hardware requirements to make them hum. Finally, in Part 3, we will dive a little deeper and discuss some of the high performance capabilities offered by Intel, which make these advancements possible. Executives will benefit from the first two Parts. The third Part provides the technical foundation for the case to help you to understand that the points being made are about architecture, not marketing. Software While Moore’s Law suggests that processor performance might improve by n% every m months, it is normal to find that the actual performance gains you see in your business applications are a fraction of this. This is because, until recently, both commercial and home-grown software have used the performance enhancements built into each subsequent hardware generation to add ever-morenuanced features into products and applications. Today some vendors are reversing this trend and beginning to build high performance business applications optimized to the hardware offered by Intel. And in a world where a 30% (1.3X) performance boost is considered significant, modern software optimized “to the bare metal” offers 20X, and sometimes 200X, performance improvements. Executive Overview Executive Overview The usual case for commercial enterprises will be to buy, rather than build, high performance software. Today we can find two categories of high performance commercial software emerging: high performance database computing and high performance business software. Introduction to High Performance Technology High Performance computing is built upon a set of hardware technologies and features that include the use of high-performance peripheral devices, the parallel utilization of multiple cores, the effective use of processor cache, and several super-computing features built-into modern processors. Database Computing Part 2 - High Performance Commercial Software Technology So deploying modern software highly optimized for the processor products from Intel and others can provide benefits that far outweigh the cost of an upgrade. High performance software on high performance hardware can provide reduced response times for existing applications, can allow for a simplified system landscape and introduce agility into the software development process, and can enable totally new application functionality. In each case the benefits provide a competitive edge and a large return on any investment. Software The final benefit of this extreme performance comes from using speed to implement extreme business applications. This use of high-performance can introduce business functionality that is currently unheard-of. Real-time applications become possible where analysts can see what is happening as it happens. More importantly, deep analytics can be performed instantly to automate processes that currently require human intervention. Today human actors use business intelligence products to scan thousands of events and facts per day, each representing a single scenario, hoping to find something “interesting”. Extreme performance can be used to scan millions of scenarios per minute and the results of each scan can be compared to historical trends exposing only the interesting or anomalous scenarios to staff. The results of this approach, using extreme performance to glean signals from the noise, represents the next generation of business intelligence and these analytic applications are in the near-term future for many competitive businesses. Executive Overview (OLTP + EDW), in a general form and let all of the different user queries use the high performance software and hardware to meet SLAs. Imagine the cost savings of eliminating redundant data in your enterprise. This approach, based on simplifying the systems landscape, delights not only the end-users in an enterprise; but often delights the executives and the shareholders as net new business functionality and reduced IT infrastructure costs both positively affect the bottom line. Business Software ©2015—Cognilytics. All rights are reserved. Conclusion Figure 1 Data Access Latency Intel® SSD Devices The Intel SSD roadmap has now introduced SSD devices that connect using PCIe without a controller inbetween. This reduces the latency to start an I/O to 100,000ns. For more information, see http://www. intel.com/content/www/us/en/solidstate-drives/solid-state-drives-ssd.html. While Figure 1 shows the gains from moving data into DRAM there are also significant gains to be had from accessing more data in the processor caches. High performance software will pre-load data into the cache to gain a 15X performance improvement over software that access data only from DRAM. Finally, since memory and cache are expensive resources it is important to compress data in-memory and, whenever possible, to process the data directly in a compressed form. High performance software stores and processes data as compressed vectors and utilizes vector instructions to process the data without decompression. ©2015—Cognilytics. All rights are reserved. Conclusion The point is that, by combining these features, extreme performance or extreme savings are possible. With this as background let’s review the state of the market for high performance commercial computing. Business Software The roadmap continues with more performance gains, price reductions, and interconnect improvements coming in the near-term . When multiple cores are all accessing the same memory it is critical to use high performance techniques to lock data into transactions. Modern processors provide hardware features to support this locking and high performance software will use these features. Database Computing Intel is focusing on next-gen nonvolatile memory to make the bridge to ever larger server memory footprints possible as NVM is always cheaper than DRAM and also denser. In addition, Intel is readying 3D NAND and has announced that Intel will bring ever larger and cost effective PCIe SSD’s to the marketplace and architectures for Big Data, and ever larger Oracle databases. Modern microprocessors are packing more and more cores per chip. Intel has announced 18-core processors based on an architecture that will scale to 40-cores per processor. Further, Intel’s partners are building servers with multiple processors per server, all sharing the same memory, so 32-core, 64-core, and 128-core products will be available in the short term. While we might run 128 applications to keep 128 cores busy, high performance commercial computing will deploy a single unit of work, a SQL query, across all these cores. Technology SSD devices today hook to a server as a fast peripheral device. They execute through a controller like a disk drive. Further, SSD devices today are built on NAND solid-state technology that is prone to wear. Data in-memory, in-DRAM, provides another 1000X-10000X performance boost over data-in-SSD. If all data, or the most popular data, were in-memory a giant performance gain results. This explains the emergence of in-memory database products and in-memory caches. Software Solid State Devices are more-or-less memory in a peripheral device. By eliminating the mechanics associated with spinning disk we can build a high-performance product without re-writing the software. This is the low-hanging fruit picked by most commercial vendors and it is the easiest way to improve the performance of your systems. As the cost per GB of SSD continues to shrink and the performance continues to improve the price/performance of SSD-based solutions will become more and more attractive. Executive Overview Let’s start this with a quick overview of the potential for improvement. Figure 1 presents an overview of the latency required to start fetching data into the core for processing. You can sense the opportunities. If data were fetched from an SSD device instead of from disk a 50X performance advantage is yours. A 2000X advantage accrues if you eliminate I/O and fetch data from DRAM, and so on. Up to 12 cores Intel® Advanced Vector Extensions (Intel® AVX): • 256-bit Vector Registers and 256-bit Vector instructions More memory, faster memory Supports PCIe* 3.0 specification, which improves I/O bandwidth up to 2x1,2,3 Intel® AVX2: • Up to 1.9x increase in performance 4 • New GATHER instruction increases usability of vectorization • Four new AVX instructions extends applications Other 2 3 IBM offers DB2 BLU*. While BLU is designed to support analytics-only it includes many of the same capabilities as HANA with in-memory columnar options, vector compression, and super-computing processing. BLU does not scale out at this time, but on a single, large, multi-core node it should compete against HANA. Software and workloads used in performance tests may have been optimized for performance only on Intel® microprocessors. Performance tests, such as SYSmark* and MobileMark*, are measured using specific computer systems, components, software, operations, and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. Results have been estimated based on internal Intel analysis and are provided for informational purposes only. Any difference in system hardware or software design or configuration may affect actual performance. 8 GT/s and 128b/130b encoding in PCIe* 3.0 specification enables double the interconnect bandwidth over the PCIe 2.0 specification. Source: http://www.pcisig.com/news_room/November_18_2010_Press_Release/. ©2015—Cognilytics. All rights are reserved. Conclusion 1 The category leader for the time being is SAP with their HANA* database. HANA offers a DBMS that is designed to support both high-performance OLTP workloads and high-performance analytics against a single table. They accomplish this with a unique design that stores incoming data in an OLTP-optimized structure and then moves the data to an analytics-optimized structure behind-the-scenes. Both structures are stored in-memory in a columnar format, compressed into vectors, and processed with super-computing instructions sets. HANA also includes in-memory parallelization that uses all of the cores on each query. Finally, HANA scales out using a shared-nothing approach that lets you add nodes to grow. Business Software • New bit-manipulation instructions to build and maintain vectors • Reduced overhead for virtual machines • Up to 3x increase in memory bandwidth with DDR4 as compared to a typical 4-year old server1,5 • Up to 3x performance boost over previous Intel Xeon processor generation1,6,7 To complete this section we will cover several of the major database products and vendors, describing how they use the capabilities listed above to deliver performance. Database Computing Up to 18 cores Technology Intel® Xeon® E5-2600 v3 It is worth noting that high performance database computing is not the same as Big Data computing. The Big Data category focuses on scale rather than raw performance. In other words, the Hadoop* ecosystem is not currently a high performance ecosystem, even though, as we will see, there are some high-performance initiatives in the Hadoop portfolio. Software Intel® Xeon® Processor E5-2600 v2 High performance database computing has been around for some time. In the 1990’s the Gartner Group even had a High Performance Commercial Computing team. At that time the category was dominated by Tandem who offered a high performance OLTP product, and by Teradata with a high performance analytics offering. These companies used massively parallel processing (MPP) to gain high performance. Executive Overview High Performance Database Computing Microsoft SQL Server* offers Hekaton*, an in-memory OLTP DBMS that uses hardware supported locking. The bottom line here is clear … all of the major database vendors are working to develop out high performance capabilities that utilize the latest features of modern hardware: larger memory footprints, vector processing, and the latest SSD devices. This combination of the latest and greatest hardware with high performance commercial database software can provide the extreme performance that is the subject of this paper. Capabilities here will change with each new product release … but the hardware/software combination will be a constant going forward. Software Finally the Apache Open Source community offers Spark*. Spark provides in-memory support for analytic workloads with options to store data in a columnar form. Executive Overview Oracle Database 12c* includes an in-memory capability as well. This is a new offering with some limitations, but it does include an in-memory column store with vector compression and the use of high performance vector instructions. Over time, the R2 limitations should ease and Oracle too will be competitive. Oracle also offers database appliances that utilize the latest SSD technology. High Performance Business Software Technology High Performance Business Software describes cases where the business logic you use, the application layer, utilizes an extreme performance boost. We will consider two specific cases where high performance business software is providing competitive advantage, introduce a very important third case that is emerging, and briefly discuss SAP’s high performance platform strategy. Before going into these cases let’s reflect on what comprises a high-performance business platform. A High-Performance Business Platform 4 5 7 ©2015—Cognilytics. All rights are reserved. Conclusion 6 Source as of August 2014 TR#3034 on Linpack*. Baseline configuration: Intel® Server Board S2600CP with two Intel® Xeon® Processor E5-2697 v2, Intel® HT Technology disabled, Intel® Turbo Boost Technology enabled, 8x8GB DDR3-1866, RHEL* 6.3, Intel® MKL 11.0.5, score: 528 GFlops. New configuration: Intel® Server System R2208WTTYS with two Intel® Xeon® Processor E5-2699 v3, Intel® HT Technology disabled, Intel® Turbo Boost Technology enabled, 8x16GB DDR4-2133, RHEL* 6.4, Intel® MKL 11.1.1, score: 1,012 GFlops. Source as of August 2014 TR#3044 on STREAM (triad): Supermicro X8DTN+ platform with two Intel® Xeon® Processor X5680, 18x8GB DDR3-800 score: 26.5 GB/sec. New Configuration: Intel® Server System R2208WTTYS with two Intel® Xeon® Processor E5-2699 v3, 24x16GB DDR4-2133 @ 1600MHz DR-RDIMM, score: 85.2 GB/sec. Intel does not control or audit the design or implementation of third party benchmark data or Web sites referenced in this document. Intel encourages all of its customers to visit the referenced Web sites or others where similar performance benchmark data are reported and confirm whether the referenced benchmark data are accurate and reflect performance of systems available for purchase. Source as of September 8, 2014. New configuration: Hewlett-Packard Company HP ProLiant ML350 Gen9 platform with two Intel® Xeon® Processor E5-2699 v3, Oracle Java Standard Edition 8 update 11, 190,674 SPECjbb2013-MultiJVM max-jOPS, 47,139 SPECjbb2013-MultiJVM critical-jOPS. Source. Baseline: Cisco Systems Cisco UCS C240 M3 platform with two Intel® Xeon® Processor E5-2697 v2, Oracle Java Standard Edition 7 update 45, 63,079 SPECjbb2013-MultiJVM max-jOPS , 23,797 SPECjbb2013-MultiJVM critical-jOPS. Source. Business Software Next will be: to squeeze out any unnecessary latency in the software stack. This latency most often comes from using a legacy, distributed, architecture that deploys separate virtual or physical servers talking over a virtual or physical network layer. If your application will fit on a large single server, and they are becoming quite large, then as a first step you might virtualize the physically distributed architecture onto a single server with several virtual machines. Better yet, deploy as many distributed components as you can as processes in a single virtual machine and allow the components to communicate using inter-process communications instead of a virtual network. To squeeze a little more performance you might deploy a micro-OS in a container to squeeze out some of the overhead of running multiple distributed components. Even better still you could deploy the components onto a physical server and remove the overhead of virtualization. The gains will be significant. Database Computing Importantly, the first step will almost always be to implement a high-performance database platform as a foundation. Executive Overview Squeezing Out the Fat Software Technology Figure 2. Squeezing Latency Out of Your Stack Mobile BI The conventional way to solve these performance issues is to tune your way out. But it is usually the case that database tuning has already been applied to hit the top-notch 20-second average. So application-level tuning is required. Application-level tuning usually requires the development of a replica of the data that contains very specific pre-computed values that can quickly be fetched by key. Each fetch returns a single row containing the pre-computed answer. Business Software An obvious first use case is mobile business intelligence (BI). BI is a reporting function tied to your data warehouse that usually plows through fairly large volumes of data with each query. A BI capability that provides an average response of 20 seconds for queries would be considered top-notch. But 20-second response is 10X too slow for mobile devices where 2-3 seconds is a hard requirement. And a 20-second average means that there will be a significant percentage of queries that require 2-3 minutes or more. Database Computing Now back to business use cases. This, of course, is not a sustainable approach to BI as it involves a specialized data structure and a time-consuming project and ongoing maintenance for each and every query template. ©2015—Cognilytics. All rights are reserved. Conclusion A more cost-effective, agile, and sustainable approach might be to build a high-performance BI platform that can crunch data so fast that nearly any query can be aggregated from the raw data without the need for pre-computation. Modern in-memory databases can aggregate data at super-computer speeds. SAP HANA, for example will aggregate up to 12M records per second per core … and modern hardware provides 32, 64, or up to 128 cores per node. A second use case applies predictive analytics to your analytic data. In general we may think of analytics as a process that models historical data over time and then uses the model to predict the next data set. An interesting variation on this approach compares each day’s result to what was predicted to identify anomalies. Real-time Business Processes When all of the fat is squeezed out of the application stack and in-memory computing provides a basis for high volume OLTP and for low volume analytics (like you may current process on an Operational Data Store replica), and the analytics are boosted by the high performance hardware and software we have discussed, then it becomes possible to register a business transaction and instantly query it for analytics. It is possible to analyze your business in real time. Consider: • Healthcare: Real time feeds from sensors and from automated lab equipment can identify most effective treatments based on the real time state of a patient. • Manufacturing: Real time feedback can automatically adjust tolerances on the shop floor based on a holistic sense of quality rather than adjusting each machine in isolation. ©2015—Cognilytics. All rights are reserved. Conclusion Real time computing is the next big thing, the initiative that, when combined with deep analytics, will provide the competitive edge that differentiates the early adopters from the pack and then draws everybody in. It will be the next phase of the analytics advance that started with data warehousing and decision support systems. Business Software • Retail: Your websites can instantly react to browsing or buying behavior and react based on personalized rules for your customer rather than general rules. Further, your general rules can flex, reacting to changes in buying behavior in real time. You can see some of this in very advanced applications from companies like Netflix, Amazon, and Apple, but you now have the ability to run these advanced applications in real time on your website. Database Computing The implications of this are huge. Today only very large financial institutions can assemble enough super-computing to evaluate a financial market and automatically initiate trades. With the highperformance commercial computing capabilities suggested in this paper it is possible to automate more of the decisions that drive your business. Technology It is important to see that these predictive analytic capabilities are just now feasible with modern hardware. Despite the aura of mathematics, predictive analytics is for the most part a brute force computational problem. It is super-computing brought to the commercial space. While the latest Intel hardware will allow for you to troll through a million cuts at your data in a day there are tens of millions more that will become possible with each upcoming tick and tock of the Intel roadmap. Software In order to accomplish this effectively we must read through a complete history of your data several million of times a day. Frankly, the compute resources required to perform this task were too expensive until the recent Intel product line became available. A combination of the latest processors and high-performance software architecture make this feasible and extremely important. The ability to predict market behavior or to quickly perceive market anomalies will provide distinct competitive advantage to early adopters. Executive Overview Predictive Analytics Finally, it is worth pointing out how SAP is leading this drive by building a platform upon which they can extend their business applications into all of these use cases. The market thinks of HANA as an in-memory database management system, but it is actually an application layer platform with an inmemory DBMS built-in. Software The Intel hardware roadmap has affected and will affect in the future the way we architect software. Today we are beginning to see the fully distributed software stack collapse from separate physical servers into co-located virtual machines into converged virtual machines with multiple components of the stack in separate address spaces, into containers with micro-operating systems. The HANA platform collapses this further with the stack compressed into lightweight threads communicating via shared memory. It is the HANA Platform that provides the basis for effectively using the ever-larger servers with 128 cores and then 256 cores that are coming. Other approaches are trying to retrofit a distributed architecture onto a hardware platform that does not require distribution any longer. Executive Overview SAP HANA as a Platform It is only software so you can expect to see other attempts to collapse the stack into threads; but as the HANA platform matures, and while the other large software vendors catch up, you will see HANA utilize modern hardware to the fullest affect. Conclusion Technology You may wonder why Intel has sponsored this paper; which, not counting the sidebars, only lightly promotes Intel technology. The reason is that they need you to understand that with each new product line they are delivering new capability that supports high performance commercial computing. They need you to understand that with each new product line there are benefits beyond just core speed and core count. They need you to look for software products coming from vendors like SAP, Oracle, and IBM and see how those products improve with each hardware revision. Database Computing This paper has laid out a straightforward case: that there is an opportunity to better utilize the compute capabilities companies like Intel are building into their microprocessor products. Taking advantage of this opportunity provides the ability to reduce the number of servers you support, reduce the floor space and energy required, reduce the effort required to tune applications, and deliver faster state-of-the-art capabilities to your business, faster. The current distributed software architecture was designed for much older, less capable, hardware. Intel is providing significantly more capability … but we have to take advantage of it. Business Software Conclusion ©2015—Cognilytics. All rights are reserved. Cognilytics Inc. 1875 Lawrence Street STE 610 Denver, CO 80202 Intel, the Intel logo, the Intel Inside logo, and Xeon are trademarks of Intel Corporation in the U.S. and/or other countries. * Other names and brands may be claimed as the property of others. This paper was commissioned by Intel.