IBM InfoSphere Streams v4.0 Performance Best Practices

Similar documents
Assessing performance in HP LeftHand SANs

EsgynDB Enterprise 2.0 Platform Reference Architecture

Best Practices. Deploying Optim Performance Manager in large scale environments. IBM Optim Performance Manager Extended Edition V4.1.0.

A Comparative Study of Microsoft Exchange 2010 on Dell PowerEdge R720xd with Exchange 2007 on Dell PowerEdge R510

Evaluation Report: Improving SQL Server Database Performance with Dot Hill AssuredSAN 4824 Flash Upgrades

Microsoft Office SharePoint Server 2007

IBM Emulex 16Gb Fibre Channel HBA Evaluation

Virtualization of the MS Exchange Server Environment

Evaluation Report: HP StoreFabric SN1000E 16Gb Fibre Channel HBA

EMC Backup and Recovery for Microsoft SQL Server

Performance Characterization of the Dell Flexible Computing On-Demand Desktop Streaming Solution

DELL EMC CX4 EXCHANGE PERFORMANCE THE ADVANTAGES OF DEPLOYING DELL/EMC CX4 STORAGE IN MICROSOFT EXCHANGE ENVIRONMENTS. Dell Inc.

WHITE PAPER AGILOFT SCALABILITY AND REDUNDANCY

WebSphere Application Server Base Performance

Accelerating Big Data: Using SanDisk SSDs for Apache HBase Workloads

Performance of relational database management

Benefits of Multi-Node Scale-out Clusters running NetApp Clustered Data ONTAP. Silverton Consulting, Inc. StorInt Briefing

Network Design Considerations for Grid Computing

Mission-Critical Databases in the Cloud. Oracle RAC in Microsoft Azure Enabled by FlashGrid Software.

Stellar performance for a virtualized world

A GPFS Primer October 2005

Running VMware vsan Witness Appliance in VMware vcloudair First Published On: April 26, 2017 Last Updated On: April 26, 2017

Milestone Solution Partner IT Infrastructure Components Certification Report

Dell Fluid Data solutions. Powerful self-optimized enterprise storage. Dell Compellent Storage Center: Designed for business results

EMC Virtual Infrastructure for Microsoft Applications Data Center Solution

Virtualizing SQL Server 2008 Using EMC VNX Series and VMware vsphere 4.1. Reference Architecture

High Availability and Disaster Recovery features in Microsoft Exchange Server 2007 SP1

QLE10000 Series Adapter Provides Application Benefits Through I/O Caching

HCI: Hyper-Converged Infrastructure

IBM MQ Appliance HA and DR Performance Report Model: M2001 Version 3.0 September 2018

MyCloud Computing Business computing in the cloud, ready to go in minutes

W H I T E P A P E R. Comparison of Storage Protocol Performance in VMware vsphere 4

Cloudian Sizing and Architecture Guidelines

The advantages of architecting an open iscsi SAN

Lenovo RAID Introduction Reference Information

IBM MQ Appliance HA and DR Performance Report Version July 2016

InfoSphere Warehouse with Power Systems and EMC CLARiiON Storage: Reference Architecture Summary

Automated Storage Tiering on Infortrend s ESVA Storage Systems

On BigFix Performance: Disk is King. How to get your infrastructure right the first time! Case Study: IBM Cloud Development - WW IT Services

Nutanix Tech Note. Virtualizing Microsoft Applications on Web-Scale Infrastructure

Copyright 2012 EMC Corporation. All rights reserved.

Abstract /10/$26.00 c 2010 IEEE

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

Synology High Availability (SHA)

Milestone Solution Partner IT Infrastructure Components Certification Report

System recommendations for version 17.1

How to Speed up Database Applications with a Purpose-Built SSD Storage Solution

EMC Backup and Recovery for Microsoft Exchange 2007

EMC CLARiiON CX3 UltraScale Series The Proven Midrange Storage

vstart 50 VMware vsphere Solution Specification

12/04/ Dell Inc. All Rights Reserved. 1

vsan Mixed Workloads First Published On: Last Updated On:

NetVault Backup Client and Server Sizing Guide 2.1

Configuring Short RPO with Actifio StreamSnap and Dedup-Async Replication

Cisco UCS C200 M2 High-Density Rack-Mount Server

IBM Spectrum NAS. Easy-to-manage software-defined file storage for the enterprise. Overview. Highlights

EMC XTREMCACHE ACCELERATES VIRTUALIZED ORACLE

EMC VMAX 400K SPC-2 Proven Performance. Silverton Consulting, Inc. StorInt Briefing

EMC Business Continuity for Microsoft Applications

IBM Tivoli Storage Manager for Windows Version Installation Guide IBM

vsan 6.6 Performance Improvements First Published On: Last Updated On:

Low Latency Evaluation of Fibre Channel, iscsi and SAS Host Interfaces

VERITAS Storage Foundation 4.0 TM for Databases

EMC CLARiiON CX3-40. Reference Architecture. Enterprise Solutions for Microsoft Exchange Enabled by MirrorView/S

Advanced Architectures for Oracle Database on Amazon EC2

Virtualized SQL Server Performance and Scaling on Dell EMC XC Series Web-Scale Hyper-converged Appliances Powered by Nutanix Software

Deploying EMC CLARiiON CX4-240 FC with VMware View. Introduction... 1 Hardware and Software Requirements... 2

IBM System Storage DS5020 Express

SAS workload performance improvements with IBM XIV Storage System Gen3

Dell EMC SCv3020 7,000 Mailbox Exchange 2016 Resiliency Storage Solution using 7.2K drives

Offloaded Data Transfers (ODX) Virtual Fibre Channel for Hyper-V. Application storage support through SMB 3.0. Storage Spaces

Protect enterprise data, achieve long-term data retention

High-Performance Lustre with Maximum Data Assurance

Lenovo SAN Manager. Rapid Tier and Read Cache. David Vestal, WW Product Marketing. June Lenovo.com/systems

LATEST INTEL TECHNOLOGIES POWER NEW PERFORMANCE LEVELS ON VMWARE VSAN

Data center requirements

Performance Optimizations via Connect-IB and Dynamically Connected Transport Service for Maximum Performance on LS-DYNA

Storage s Pivotal Role in Microsoft Exchange Environments: The Important Benefits of SANs

Extreme Storage Performance with exflash DIMM and AMPS

Virtualizing Agilent OpenLAB CDS EZChrom Edition with VMware

Etere Automation configuration includes an overview of Etere Architecture and Etere

Design a Remote-Office or Branch-Office Data Center with Cisco UCS Mini

Emulex LPe16000B 16Gb Fibre Channel HBA Evaluation

Milestone Solution Partner IT Infrastructure Components Certification Report

SvSAN Data Sheet - StorMagic

Performance and Scalability with Griddable.io

Best Practices for Deploying a Mixed 1Gb/10Gb Ethernet SAN using Dell EqualLogic Storage Arrays

Dell Compellent Storage Center and Windows Server 2012/R2 ODX

EMC Unified Storage for Oracle Database 11g/10g Virtualized Solution. Enabled by EMC Celerra and Linux using FCP and NFS. Reference Architecture

EMC CLARiiON CX3 Series FCP

Design a Remote-Office or Branch-Office Data Center with Cisco UCS Mini

RIGHTNOW A C E

Microsoft IT Leverages its Compute Service to Virtualize SharePoint 2010

Cisco UCS C210 M2 General-Purpose Rack-Mount Server

What s New in VMware vsphere 4.1 Performance. VMware vsphere 4.1

NEC M100 Frequently Asked Questions September, 2011

RAIDIX Data Storage Solution. Clustered Data Storage Based on the RAIDIX Software and GPFS File System

Dell PowerVault MD Family. Modular storage. The Dell PowerVault MD storage family

Intel Solid State Drive Data Center Family for PCIe* in Baidu s Data Center Environment

NetVault Backup Client and Server Sizing Guide 3.0

Transcription:

Henry May IBM InfoSphere Streams v4.0 Performance Best Practices Abstract Streams v4.0 introduces powerful high availability features. Leveraging these requires careful consideration of performance related configuration options. Henry May hjmay@us.ibm.com David Engebretsen engebret@us.ibm.com Walt Madden wrmadden@us.ibm.com

1 Introduction... 2 2 Host Storage Requirements... 2 3 Management Host Memory Requirements... 4 4 Management Host Processing Requirements... 5 5 Service Placement... 6 6 Performance... 7 7 Sample Configurations... 8 8 New Features... 14 9 Summary... 16

1 Introduction IBM InfoSphere Streams v4.0 is a major new release with significant advances in high availability and ease of use. This release includes many new features which make InfoSphere Streams simpler to manage and more resilient. InfoSphere Streams v4.0 features "always on" recovery, support for redundant services, automatic failover and restart of management services, and automatic recovery from host failures. A significant infrastructure change adds Apache to store the configuration and state information required for enhanced high availability functions thus removing IBM DB2 as the repository for recovery information. Users upgrading from a prior release who used DB2 recovery typically will not experience a significant difference in system load, however users upgrading from the prior release s default configuration with no recovery enabled should expect additional overhead due to recovery being enabled by default in V4. Due to the critical role plays in Streams v4.0, the performance of will directly influence the performance of Streams management commands. A low latency storage subsystem is absolutely critical to performance. Configurations without low latency storage on the hosts might experience significantly longer latencies on operations such as Job Submission. Streams V4 also implements two new optional features that have performance considerations for people who choose to use them. The first is Consistent Regions, which guarantee that all tuples are processed at least once by periodically establishing checkpoints. The second is IBM InfoSphere Streams for Microsoft Excel, which allows real time data display in a Microsoft Excel spreadsheet. The tests used as the basis for the recommendations in this document were run on environments ranging from a single host running application and services to a cluster of hosts with dedicated roles running on well-configured, development-level computer systems dedicated to the tests being performed. Emphasis was placed on operations that were impacted by the V4 changes. All performance benchmark values are provided "AS IS" and no warranties or guarantees are expressed or implied by IBM. Actual performance of InfoSphere Streams applications and management functions may vary and is dependent upon many factors, including, but not limited to: design; complexity; Server hardware, including number of cores, CPU speed, and memory size; Server cluster communications bandwidth; Number of InfoSphere Streams jobs running simultaneously. Furthermore, some measurements may have been estimated through extrapolation. Since actual results may vary, buyers should consult other sources of information to evaluate the performance of systems they are considering buying, including conducting application oriented testing. 2 Host Storage Requirements Support for job recovery functions implemented in V4 uses Apache to maintain state associated with PEs and connections where each state transition is written synchronously to disk. Consequently, low latency storage in any host running a process is absolutely critical for acceptable Streams infrastructure performance. The Sample Configurations Section in this document

Elapsed Time (Seconds) shows options with the service running on the same node as the Streams Management Services. Generally this storage requirement applies to application management functions such as job submission and will not impact the computational performance of a running Streams application. Exceptions to this general rule exist, for example when a Processing Element (PE) goes through a recovery operation. Disk performance can limit the PE recovery time, which in turn can impact the processing rate of related PEs in the application. Figure 1: Storage Latency Impacts on Job Submission Performance shows the dramatic effect the storage subsystem can have on performance of the submitjob operation as PEs transition to a Healthy state. Here we show the time required for a job with 301 PEs to transition to the Healthy state following job submission. Two configurations were measured, one using a single direct attached 7200 RPM SATA drive dedicated to the log per best practices recommendations while the second used an XIV Fibre Channel (FC) connected storage server with a non-volatile write cache. The direct attached SATA configuration required 305 seconds to reach a Healthy state, with 260 of those seconds spent waiting for disk writes to complete. The FC disk configuration required only 56 seconds to complete the same operation. The blue submitjob component of this measurement was the amount of time taken between issuing the submitjob command and return to the command prompt. The orange PEs Healthy component was the additional time required for all PEs to become healthy. Similar results can be expected on any function that requires state to be written to ; e.g., canceljob or the establishment of dynamic connections. 350 300 250 200 150 100 50 Elapsed Time for Job with 301 PEs Healthy 0 7200 RPM SATA FC Storage Function Performed submitjob PEs Healthy Figure 1: Storage Latency Impacts on Job Submission Performance

While these results demonstrate superior performance with an FC attached storage server with nonvolatile write cache, similar results can be expected with any low latency storage subsystem. In general, solutions from any of the following categories will provide adequate performance. RAID adapter with non-volatile write cache. See http://www.redbooks.ibm.com/abstracts/tips0054.html for a selection of RAID adapters. Enterprise class SSDs. In this case a dedicated physical drive should be allocated to the log file. If multiple instances are running on the same host, each log file should employ a dedicated physical SSD. Fibre Channel SAN Storage Servers. See http://www-03.ibm.com/systems/storage/storwize/ and http://www-03.ibm.com/systems/storage/disk/xiv/index.html for examples. 2.1 Additional Storage Considerations for 2.1.1 Dedicated Device for the Transaction Log File The key to performance is provisioning a storage subsystem that will consistently provide fast write response times to the transaction log. documents the best practice of a dedicated physical disk drive for this purpose. Our testing demonstrates that while this helps with consistency of performance, it does not guarantee adequate performance; low latency storage as described above is the preferred approach. In fact, the 7200 RPM SATA measurements shown conformed to this best practice of dedicating a drive for logging. Rotational drives without a non-volatile write cache are inherently incapable of that level of performance. Note that many rotational drives incorporate a write cache. This is almost always a volatile cache; i.e., data is lost when the power is removed. Because must flush each disk write through to the media, volatile caches do not help and may actually degrade performance. The FC Storage Server used for this measurement was highly virtualized was being accessed by multiple machines running workloads unrelated to our Streams workload. Even with this additional load, the performance of a disk subsystem with a non-volatile write cache is clearly superior. As with any performance recommendation, there are scenarios where specific requirements may change the configuration requirements. For example, if performance of functions such as job submission are not a primary concern, a rotational disk without non-volatile cache may be adequate. In that situation, dedicating a drive to the logs may be desirable to maintain consistency of performance. 3 Management Host Memory Requirements InfoSphere Streams V4 includes significant updates to its management services to improve resiliency and system management. These changes and new features result in requirements for additional system memory. Figure 2: Management Host Memory Consumption illustrates the relative memory consumption for bringing up and using the infrastructure necessary to run Streams jobs in the V3.2.1 and V4.0.0 releases. Management Host memory consumption was measured using the same hardware and a typical set of job management functions; e.g., submitjob, capturestate, canceljob. V3.2.1 was measured both with and without DB2 as a state repository for recovery data and V4.0.0 was measured with all Streams Management Services and running on the same host. No application processes were allowed to run on the Management Host. We have concluded that users migrating from V3.2.1 installations that did not use DB2 as a state repository (the default configuration) to V4.0.0 with recovery automatically enabled, should expect to see memory requirements for Streams Services increase by 50% to 100%. For those situations where customers were running V3.2.1 and DB2 based

Memory Required (MB) recovery enabled, they should see a reduction in the memory requirements for Streams Management Services. 30000 Management Host Memory Consumption 25000 20000 15000 10000 5000 0 V3.2.1 without Recovery V3.2.1 with Recovery V4.0.0 Release DB2/Zookeeper Domain Instance Figure 2: Management Host Memory Consumption 4 Management Host Processing Requirements As with memory, the automatic recovery mechanisms implemented in InfoSphere Streams V4 will require additional processing resources in some scenarios. As illustrated by Figure 3: Elapsed Time and CPU Consumption for canceljob, we have not seen this CPU resource overhead significantly degrade elapsed time as long as sufficient processing resources are available on the system to absorb the additional processing required. The job measured in this example contains 301 PEs and was cancelled with Streams Management Services and running on a single host while the application itself was running on four separate hosts.

Time (Seconds) Time for canceljob with 301 PEs 140 127.08 120 100 80 60 40 20 47.82 65.84 56.81 21.43 42.81 0 Elapsed Time CPU Consumption V3.2.1 No Recovery V3.2.1 DB2 Recovery V4.0.0 Figure 3: Elapsed Time and CPU Consumption for canceljob 5 Service Placement 5.1 Streams Management Services As in prior releases, contention for processing resources between the application processes and Streams services must be eliminated for optimal performance of management functions. This is best achieved by providing dedicated hosts for management services as illustrated in Figure 6: Non-Redundant Streams Configuration and Figure 5: Redundant Streams Configuration. Streams can also be run in a single host configuration as shown in Figure 7: Single Host Configuration. This configuration should be deployed with caution, since a running application may consume resources required by the Streams Services and could result in slower response times for the functions performed by those services; e.g., job submission or instance graph display. Descriptions of services and details on tagging mechanisms used for their placement can be found in the following link: http://www- 01.ibm.com/support/knowledgecenter/SSCRJU_4.0.0/com.ibm.streams.welcome.doc/doc/services.html?lang=en. It is generally acceptable to run all Streams Management Services on the same host, but there are scenarios where consideration should be given to dedicating a separate host for a particular service. For example, IBM InfoSphere Streams for Microsoft Excel can place significant demands on processing resources as the number of clients increases so heavy users of this function may want to consider dedicating resources to support the service. 5.2 Service Note that is not a Streams service. While an embedded version may be deployed in a basic configuration (see http://www-

01.ibm.com/support/knowledgecenter/SSCRJU_4.0.0/com.ibm.streams.cfg.doc/doc/creating-basicdomain-and-instance.html?lang=en), is generally a standalone application that is deployed separately from the Streams installation. Our testing demonstrates that the service may be run on the same set of hosts as the Streams Management Services although configuring a separate set of hosts as a dedicated ensemble is also an acceptable practice. In any event, if performance is a consideration it is critical to follow the guidelines in Host Storage Requirements. More details on configuring may be found in the following link: http://www- 01.ibm.com/support/knowledgecenter/SSCRJU_4.0.0/com.ibm.streams.cfg.doc/doc/configuringexternal-zookeeper.html?lang=en. 6 Performance Our testing demonstrates that application performance in InfoSphere Streams V4.0.0 is comparable to the previous V3.2.1 release. Figure 4: Performance Comparison shows a comparison between the releases across a set of applications that focus on basic Streams operators. All tests were performed on a host with 28 Intel Xeon model E5-2697 v3 cores running at 2.60GHz and Hyper Threading enabled. Note that Streams Management Services and Zookeeper processes were running on the application host, but measurements were performed at a point where there was minimal use of system resources by those processes.

Test Case Performance Overall State Management 2 State Management 1 Split Pattern Detection 4 Pattern Detection 3 Pattern Detection 2 Pattern Detection 1 Projection 1 Filter 2 Filter 1 Enrichment 2 Enrichment 1 Correlation 3 Correlation 2 Correlation 1 Basic Aggregation 4 Aggregation 3 Aggregation 2 Aggregation 1-0.53% -2.83% 0.00% -0.90% -0.41% -0.97% -0.82% 0.56% -0.70% -0.26% -0.53% -0.20% -0.21% 2.80% -2.29% -0.82% 0.11% -1.25% -0.37% -1.12% -0.19% 0 1000000 2000000 3000000 4000000 5000000 6000000 7000000 8000000 Throughput (Tuples/Second) 3.2.1 4.0.0 Figure 4: Performance Comparison 7 Sample Configurations InfoSphere Streams V4 supports enterprise class high availability with redundant hosts playing specialized roles as discussed in Redundant Management Services Example. For small applications not requiring high availability, single host configurations as shown in Single Host Configuration are also supported. Along this entire range of configurations, resource requirements for, Streams Management, and functions must be maintained. This section provides three examples as guidelines for provisioning, Management, and Hosts. Host configuration is highly dependent on the specifics of the application, but generally speaking Host performance will depend on appropriate processing, memory, and network capacity. Management Hosts will generally demand fewer processing and memory resources than Hosts. hosts require low latency storage, as documented in Section 2: Host Storage Requirements.

7.1 Redundant Management Services Example Figure 5: Redundant Streams Configuration shows a highly available solution with separation of management and application functions. In this example, instance.highavailabilitycount=3, which allows complete failure of two Management hosts at the same time; e.g., an unexpected failure during an outage for planned maintenance. There are three hosts running Streams Management Services and. The two optional hosts running only would be required for to have the same level of protection as Streams Services to tolerate two failures. This reflects a difference in the redundancy mechanisms used by the two management subsystems. relies on a quorum of operational instances to maintain the service, while Streams management services only require a single operational master. Therefore requires five hosts to tolerate two hosts failing. Note that there are alternatives to improve availability in the event of software faults such as by provisioning two separate processes on the same physical host. In any event, it is critical to provision an adequate storage subsystem as described in Host Storage Requirements. For illustration in this example, five hosts were selected for application processes but of course the actual number will depend on specific application requirements. Streams Redundant Domain/Instance: 3 Hosts Running Management Services and 2 Optional Hosts for Increased Resiliency 5 Hosts Running Management Management Management Optional Optional Ethernet Switch Figure 5: Redundant Streams Configuration

7.2 Non-Redundant Management Services with Multiple Hosts Figure 6: Non-Redundant Streams Configuration shows an example of a simple Streams configuration that does not support redundant services where recovery is supported via service restart. All Management Services, as well as a standalone, are running on a single host. In this example, there are 4 hosts dedicated for application processes, but the actual number will vary according to the requirements of the specific application. Streams Domain/Instance: 1 Host Running Management Services and 4 Hosts Running s Management Ethernet Switch Figure 6: Non-Redundant Streams Configuration

7.3 Single Host Configuration For development environments and small production application deployments which do not require high availability, Streams can be run in a single host configuration. Because Streams services and the application are competing for resources, consistent performance requires careful configuration of the system. Primary considerations include: Ensure sufficient CPU and memory resources are allocated to both services and applications. We recommend that at least 6 GB of memory be available for Streams Services and. Processing resources will vary with installation requirements. Configurations supporting a single application which is submitted once and runs for long periods without the need for monitoring will require minimal processing capacity beyond the application requirements. If multiple applications will be submitted while other applications are already running, or dynamic connections between jobs are heavily used, we recommend that 15% of the processing capability of the host be reserved for Streams Services and. Provide dedicated or high performance disk resources for. The best practice recommendation is to put the transaction log on a dedicated device, however this may not be sufficient. See Dedicated Device for the Transaction Log File for more information. Use of a high performance disk subsystem for the log is the preferred solution for environments where performance is a consideration. Options include controllers with a non-volatile write cache, SSD drives, or fibre channel devices. See the Host Storage Requirements section for more details. Failure to follow the recommendations listed above will result in slow response times to Streams services such as job management and monitoring operations, and may cause application failures due to insufficient resources and timeouts. It is important to remember that when running on a single host, failure of certain key system components (hardware platform, operating system, Streams services, etc) may result in an application outage. This minimal system configuration should only be used in situations when loss of application availability can be tolerated. Streams Domain/Instance: Single Host Running Management Services s Management Figure 7: Single Host Configuration

7.4 Colocating Streams Services on Hosts As shown in Single Host Configuration,Streams may be configured with application, management, and Zookeeper processes running on the same node. This concept may be applied to provide redundancy with services running on application hosts as shown in Figure 8: Combined Host Configuration, but consideration must be given to scenarios where contention for resources will prevent optimal performance on these configurations. Streams Domain/Instance: Multiple Hosts Running Management Services s Management Management Figure 8: Combined Host Configuration 7.4.1 CPU Resource Utilization by Streams Services Figure 9: CPU Consumption by Streams Management Services below shows system level CPU consumption over time by Streams Management Service and Zookeeper process during job submission and the subsequent process of PEs transitioning to the healthy state. This measurement was performed on a 16 core system that was hosting all of the streams management services and Zookeeper. There were no application processes running on the system. There are intervals where the management services consume significant amounts of CPU. Performance would clearly be degraded in the presence of an application consuming large quantities of CPU.

12:29:36 PM 12:29:39 PM 12:29:42 PM 12:29:45 PM 12:29:48 PM 12:29:51 PM 12:29:54 PM 12:29:57 PM 12:30:00 PM 12:30:03 PM 12:30:06 PM 12:30:09 PM 12:30:12 PM 12:30:15 PM 12:30:18 PM 12:30:21 PM 12:30:24 PM 12:30:27 PM 12:30:30 PM 12:30:33 PM 12:30:36 PM 12:30:39 PM 12:30:42 PM 12:30:45 PM 12:30:48 PM 12:30:51 PM CPU Utilization (%) Overall System CPU Utilization submitjob and PEs Becoming Healthy 35.00% 30.00% 25.00% 20.00% 15.00% 10.00% 5.00% 0.00% Time submitjob CPU PEs Healthy CPU Figure 9: CPU Consumption by Streams Management Services Another scenario that may require large amounts of CPU resource is shown in IBM InfoSphere Streams for Microsoft Excel. Other functions that may be degraded by the presence of a running application are collection of metrics and viewing the instance graph from Streams Studio or the web based console. Installations that do not require optimal performance for these scenarios may find Colocating Streams Services on Hosts a cost effective solution. 7.5 Example Hardware 7.5.1 Management/ Host For general management functions such as submitting, monitoring, and cancelling jobs an 8 core host with 64 GB of memory is generally adequate. This will be able to run all of the Streams services and an embedded or standalone. Note that the bulk of our testing was done with jobs that had hundreds of processing elements. In addition, these requirements take into account the need to monitor jobs and moderate use of IBM InfoSphere Streams for Microsoft Excel. Installations that are submitting only small jobs and have minimal need for monitoring and data collection functions will achieve satisfactory performance with smaller configurations. http://www-03.ibm.com/systems/x/hardware/rack/x3550m5/ and http://www- 03.ibm.com/systems/power/hardware/linux.html?LNK=browse provide more information on hosts that provide these capabilities. See Host Storage Requirements for examples of low latency storage solutions appropriate for use in Management Hosts. Appropriate networking adapters may be found in the following link: http://www-03.ibm.com/systems/x/options/networking/adapters.html.

For the Redundant Management Services configuration discussed in Section 7.1 Redundant Management Services Example, multiple identical hosts should generally be used. There are cases, however, where specific services require more compute power or memory. For example, the services used for IBM InfoSphere Streams for Microsoft Excel require significant computational resources for large numbers of clients, and hosts providing those services should be sized accordingly. 7.5.2 Host Hosts differ from Management Hosts in that they generally require more processor and memory resources, but do not require low latency storage. For example, a typical application host may have 24 cores and 512 GB of memory. These guidelines are highly dependent on the application characteristics. 7.5.3 Network Switch Selection of a network switch depends on the number of hosts in the configuration and application bandwidth requirements. High bandwidth applications may require 10 Gb/sec Ethernet, but in many cases 1 Gb/sec connections are sufficient. 8 New Features 8.1 Consistent Regions Consistent Regions enable applications to guarantee that all tuples are processed at least once by periodically establishing checkpoints. This does require additional system resource utilization. That utilization will vary by application, but is generally correlated to 1. Frequency of checkpoint, and 2. Checkpoint size. Figure 10: Effects of Checkpoint Size on Throughput illustrates that as Checkpoint Size increases, application throughput decreases and Figure 11: Effects of Checkpoint Frequency on Throughput shows that increasing the interval between checkpoints results in increasing application throughput. Note that increasing the time between checkpoints will result in longer recovery times in the event of failure. The data shown is from a sample application; results are highly dependent on individual application characteristics. Finally, since each PE for which Consistent Regions is enabled will start a Java Virtual Machine, care should be taken to limit the number of PEs employing Consistent Regions. This can be accomplished by fusing PEs using Consistent Regions or simply avoiding unnecessary use of Consistent Regions.

Throughput (Tuples/Second) Change from Baseline (%) Throughput (Tuples/Second) Change from Baseline (%) 440000 435000 430000 425000 420000 415000 410000 405000 400000 395000 Effects of Checkpoint Size -2.67% -6.21% -8.03% 32 64 128 Checkpoint Size (MB) 0.00% -1.00% -2.00% -3.00% -4.00% -5.00% -6.00% -7.00% -8.00% -9.00% Change from Baseline Throughput Figure 10: Effects of Checkpoint Size on Throughput Effects of Checkpoint Frequency 440000 435000 430000 425000 420000 415000 410000 405000 400000 395000 390000-1.76% -4.06% -8.35% 8 16 32 Checkpoint Interval (Seconds) 0.00% -1.00% -2.00% -3.00% -4.00% -5.00% -6.00% -7.00% -8.00% -9.00% Change from Baseline Throughput Figure 11: Effects of Checkpoint Frequency on Throughput 8.2 IBM InfoSphere Streams for Microsoft Excel IBM InfoSphere Streams for Microsoft Excel provides a facility to import data from a running Streams application into a Microsoft Excel spreadsheet in real time. Figure 12: Characteristics of IBM InfoSphere Streams for Microsoft Excel shows how response time and CPU utilization increase as the number of

Response Time (ms) CPU Utilization (%) client threads accessing a view increases. Sub-second response time is maintained with up to 500 clients accessing the view. This test was executed on a host with 28 Intel Xeon model E5-2697 v3 cores running at 2.60GHz with Hyper Threading enabled. For planning purposes, we recommend that at least one core be provisioned for every 75 clients simultaneously using IBM InfoSphere Streams for Microsoft Excel, assuming a refresh rate of 3 seconds. With that in mind, heavy users of this function may want to provision larger hosts than recommended in Management/ Host for running the view services. 100000 10000 1000 100 10 1 IBM InfoSphere Streams for Microsoft Excel 10 50 100 250 500 750 1000 Number of Clients 40.00% 30.00% 20.00% 10.00% 0.00% Average Latency CPU Utilization Figure 12: Characteristics of IBM InfoSphere Streams for Microsoft Excel 9 Summary In this document we have included many best practices for successfully deploying IBM InfoSphere Streams V4.0.0. These include: Hosts running require low latency storage. The robust high availability mechanisms implemented by V4 require additional memory on hosts running Streams Management Services. With careful planning, Streams Management Services may be run on the same host as application process. In configurations where the application must be spread across multiple hosts, it is best to dedicate separate hosts for the Management Services. It is generally acceptable to run all Streams Management Services and on a single host. There are exceptions to this practice, particularly for heavy users of specific functions.