SlideShare a Scribd company logo
© 2015 IBM Corporation
Incremental Checkpointing
IBM Streams Version 4.1
Fang Zheng
Streams Development
zhengfan@us.ibm.com
2 © 2015 IBM Corporation
Agenda
 Introduction to Incremental Checkpointing
 How It Works
 How to Use It
 Case Study: VWAP Application
3 © 2015 IBM Corporation
Important Disclaimer
THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL
PURPOSES ONLY.
WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE
INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS”, WITHOUT WARRANTY
OF ANY KIND, EXPRESS OR IMPLIED.
IN ADDITION, THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY,
WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE.
IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR
OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION.
NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALL HAVE THE EFFECT OF:
• CREATING ANY WARRANTY OR REPRESENTATION FROM IBM (OR ITS AFFILIATES OR ITS OR
THEIR SUPPLIERS AND/OR LICENSORS); OR
• ALTERING THE TERMS AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT
GOVERNING THE USE OF IBM SOFTWARE.
IBM’s statements regarding its plans, directions, and intent are subject to change or
withdrawal without notice at IBM’s sole discretion. Information regarding potential
future products is intended to outline our general product direction and it should not
be relied on in making a purchasing decision. The information mentioned regarding
potential future products is not a commitment, promise, or legal obligation to deliver
any material, code or functionality. Information about potential future products may
not be incorporated into any contract. The development, release, and timing of any
future features or functionality described for our products remains at our sole
discretion.
THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE.
IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION.
4 © 2015 IBM Corporation
Introduction to Incremental Checkpointing
Since Streams V4, an operator can implement the StateHandler interface to
checkpoint and reset its state
• StateHandler::checkpoint(Checkpoint & ckpt) is periodically called by Streams
Runtime to checkpoint operator state
• StateHandler::reset(Checkpoint & ckpt) is called upon operator restart to restore
operator state
By convention, each checkpoint contains the full operator state
 When operator state is large, the time and space costs of checkpointing can be
high
 This can in turn cause negative impact on tuple processing performance
 Large checkpoints can also cause resource contention on checkpointing data store
Incremental checkpointing is a known technique to reduce checkpointing cost
• Save full operator state in a “Base” checkpoint
• Track changes made to operator state during normal processing
• For each subsequent checkpoint, only save the changed portion of state since
previous checkpoint to form a “Delta” checkpoint
5 © 2015 IBM Corporation
How Incremental Checkpointing Works
Why incremental checkpointing?
• If the size of a “Delta” checkpoint is smaller than a full-state checkpoint, then the
time and size of checkpoint is reduced
Incremental checkpointing is applicable to many streaming applications
 Some operator state data is intensively read but rarely updated
 A large sliding window which moves slowly
 Only a small number of “hot” keys are updated in a large key-value map
 Such opportunity exists in many analytics (Aggregate, Join, Sort, Dedup, TopK, …)
What’s in Streams V4.1
• Low-overhead change tracking and incremental checkpointing for commonly-used
data structures (in particular, all configurations of SPL windows)
• Automatically and dynamically adjust incremental checkpointing behavior to i)
improve overall application performance and ii) bound worst-case restoration cost
6 © 2015 IBM Corporation
How Incremental Checkpointing Works (Cont.)
An example: Incrementally checkpointing a queue
A B C D E F G H I J
B C D E F G H I J K
D E F G H I J K L M
Insert K
Delete A
Insert L
Delete B
Insert M
Delete C
A,B,C,D,E,F,G,H,I,J
Take Checkpoint #1
Take Checkpoint #2
K 1
L M 2
Take Checkpoint #3
Base checkpoint
Delta checkpoint
Delta checkpoint
new item K
number of deletions: 1
new item L, M
number of deletions: 2
Queue
7 © 2015 IBM Corporation
How Incremental Checkpointing Works (Cont.)
An example: Restore the queue from a Delta checkpoint
A B C D E F G H I J
B C D E F G H I J K
D E F G H I J K L M
Step 2: retrieve Checkpoint #2,
and re-apply changes in Checkpoint #2
Insert K
Delete A
Step 3: retrieve Checkpoint #3,
and re-apply changes in Checkpoint #3
Insert L
Insert M
Delete B
Delete C
A,B,C,D,E,F,G,H,I,J
Step 1: Retrieve Checkpoint #1,
De-serialize the queue from it
K 1
L M 2
new item K
number of deletions: 1
new item L, M
number of deletions: 2
Queue
8 © 2015 IBM Corporation
How Incremental Checkpointing Works (Cont.)
An example: an unordered map
K0 V0
Insert (K10, V10)
Update (K1) <- V1’
Delete(K2, V2)
Update (K1) <- V1’’
(K0,V0), (K1,V1), …, (K9,V9)
Take Checkpoint #1
Map
……
K1 V1
K2 V2
K9 V9
K0 V0
……
K1 V1’’
K9 V9
K10 V10
Base checkpoint
(K1,V1’’), (K10,V10) K2
Delta checkpointTake Checkpoint #2
Updated/inserted key-values
Plus deleted keys
9 © 2015 IBM Corporation
How Incremental Checkpointing Works (Cont.)
Issues with incremental checkpointing
• The overhead of change tracking must be paid off by savings in checkpointing cost
• What if operator state is changed completely between two checkpoints?
• The restoration cost is increased with incremental checkpointing
Our solution: dynamically adapt incremental checkpointing behavior
• The Streams Runtime continuously assesses whether incremental checkpointing is
beneficial, and adjusts the number of consecutive Delta checkpoints to take
• The worst-case restoration cost is bounded by capping number of Delta
checkpoints
• Automatically turn off incremental checkpointing when it’s not beneficial
• Such adaptiveness saves end user the burden of manual configuration and tuning
BASE …DELTA
TIMECHECKPOINT 1 CHECKPOINT 2 CHECKPOINT 3 CHECKPOINT 4 CHECKPOINT D+1 CHECKPOINT D+2…
DELTA DELTA DELTA
BASE
D: Number of consecutive Delta checkpoints
DELTA
…
10 © 2015 IBM Corporation
How to Use Incremental Checkpointing?
For C++ operator developer
• The SPL Runtime provides two container classes with built-in change
tracking and incremental checkpointing capabilities:
• SPL::IncrDeque<T> for double-ended queue
• SPL::IncrUnorderedMap<K, V> for unordered map
• Operator code can enable incremental checkpointing for an SPL Window by
instantiate the window with incremental deque and map:
• Two CodeGen APIs are extended to help generating C++ codes for SPL
Window:
// an SPL window without incremental checkpointing capability
SPL::Window<T, G, D=std::deque<T>, S=std::tr1::unordered_map<G,D> > myWindow;
// an SPL window with incremental checkpointing capability
SPL::Window<T, G, D=SPL::IncrDeque<T>, S=SPL::IncrUnorderedMap<G,D> > myWindow;
SPL::CodeGen::getWindowCppType()
SPL::CodeGen::getWindowEventCppType()
11 © 2015 IBM Corporation
How to Use Incremental Checkpointing? (Cont.)
For C++ operator developer
• Example: Instantiate SPL Window with incremental data types
# Code taken from Aggregate_h.cgt
# Check if the operator is configured to do checkpointing
# (in a Consistent Region or with config checkpoint clause configured)
my $isInConsistentRegion = $model->getContext()->getOptionalContext("ConsistentRegion");
my $ckptKind = $model->getContext()->getCheckpointingKind();
if ($isInConsistentRegion || $ckptKind ne "none") {
# Instantiate window with deque and unordered map which are of incremental checkpointing capability
$windowCppType = ($partitionByParam)
? SPL::CodeGen::getWindowCppType($window, $windowTupleType, 'PartitionByType',
'SPL::IncrDeque', 'SPL::IncrUnorderedMap')
: SPL::CodeGen::getWindowCppType($window, $windowTupleType, '', 'SPL::IncrDeque');
$windowEventCppType = ($partitionByParam)
? SPL::CodeGen::getWindowEventCppType($window, $windowTupleType,
'PartitionByType','SPL::IncrDeque','SPL::IncrUnorderedMap')
: SPL::CodeGen::getWindowEventCppType($window, $windowTupleType, '', 'SPL::IncrDeque');
}
12 © 2015 IBM Corporation
How to Use Incremental Checkpointing? (Cont.)
For SPL programmer
• The Join, Aggregate, and Sort operators instantiate their SPL windows with
incremental checkpointing if the operators are configured to do
checkpointing (in Consistent Region or with “config checkpoint” clause)
• No extra configuration is needed in SPL code
@consistent(trigger=periodic, period4.0)
stream<SourceFormat> Message = CustomSource() {
….
}
// Aggregate operator is in Consistent Region
stream< Message > VWAPAggregator0_0_1 as O = Aggregate(TradeFilter as I) {
window I : sliding, count(2000), count(1), partitioned;
param partitionBy : ric;
output O : svwap = Sum(myvwap), svolume = Sum(volume);
}
// Aggregate operator is in an Autonomous region and with config checkpoint clause
stream< Message > VWAPAggregator0_0_1 as O
= Aggregate(Message as I) {
window I : sliding, count(2000), count(1), partitioned;
param partitionBy : ric;
output O : svwap = Sum(myvwap), svolume = Sum(volume);
config checkpoint : periodic(10.0);
}
13 © 2015 IBM Corporation
Case Study: VWAP Application
VWAP Application
• Ingest financial transaction data streams
• Contains an Aggregate operator
• Run VWAP within a consistent region, varying the checkpointing period
• Run VWAP with Streams V4 which always checkpoints full operator state vs.
Streams V4.1 which does incremental checkpointing
14 © 2015 IBM Corporation
Questions?
Ad

More Related Content

What's hot (13)

Highlights of the Telecommunications Event Data Analytics toolkit
Highlights of the Telecommunications Event Data Analytics toolkitHighlights of the Telecommunications Event Data Analytics toolkit
Highlights of the Telecommunications Event Data Analytics toolkit
lisanl
 
IBM Streams V4.2 Submission Time Fusion and Configuration
IBM Streams V4.2 Submission Time Fusion and ConfigurationIBM Streams V4.2 Submission Time Fusion and Configuration
IBM Streams V4.2 Submission Time Fusion and Configuration
lisanl
 
IBM Streams Getting Started Resources
IBM Streams Getting Started ResourcesIBM Streams Getting Started Resources
IBM Streams Getting Started Resources
lisanl
 
Introduction to IBM Platform Symphony Integration with IBM Streams V4.1
Introduction to IBM Platform Symphony Integration with IBM Streams V4.1Introduction to IBM Platform Symphony Integration with IBM Streams V4.1
Introduction to IBM Platform Symphony Integration with IBM Streams V4.1
lisanl
 
Streaming Analytics for Bluemix Enhancements
Streaming Analytics for Bluemix EnhancementsStreaming Analytics for Bluemix Enhancements
Streaming Analytics for Bluemix Enhancements
lisanl
 
Toolkits Overview for IBM Streams V4.2
Toolkits Overview for IBM Streams V4.2Toolkits Overview for IBM Streams V4.2
Toolkits Overview for IBM Streams V4.2
lisanl
 
CLI319 Microsoft Desktop Optimization Pack: Planning the Deployment of Micros...
CLI319 Microsoft Desktop Optimization Pack: Planning the Deployment of Micros...CLI319 Microsoft Desktop Optimization Pack: Planning the Deployment of Micros...
CLI319 Microsoft Desktop Optimization Pack: Planning the Deployment of Micros...
Louis Göhl
 
Avaya Proactive Contact 5
Avaya Proactive Contact 5Avaya Proactive Contact 5
Avaya Proactive Contact 5
Barryhind
 
Microsoft App-V 5.1 and Flexera AdminStudio Webinar
Microsoft App-V 5.1 and Flexera AdminStudio WebinarMicrosoft App-V 5.1 and Flexera AdminStudio Webinar
Microsoft App-V 5.1 and Flexera AdminStudio Webinar
Flexera
 
Avaya Aura 7.0 - What's New Webinar Slides
Avaya Aura 7.0 - What's New Webinar SlidesAvaya Aura 7.0 - What's New Webinar Slides
Avaya Aura 7.0 - What's New Webinar Slides
Arrow Systems Integration
 
WAS 8 Webcast
WAS 8 WebcastWAS 8 Webcast
WAS 8 Webcast
sierrahotel
 
Easi Sms Enterprise Solutions Brochure
Easi Sms Enterprise Solutions BrochureEasi Sms Enterprise Solutions Brochure
Easi Sms Enterprise Solutions Brochure
fazal_000
 
Sccm Interview Questions and Answers
Sccm Interview Questions and AnswersSccm Interview Questions and Answers
Sccm Interview Questions and Answers
KashifSCCMTrainer
 
Highlights of the Telecommunications Event Data Analytics toolkit
Highlights of the Telecommunications Event Data Analytics toolkitHighlights of the Telecommunications Event Data Analytics toolkit
Highlights of the Telecommunications Event Data Analytics toolkit
lisanl
 
IBM Streams V4.2 Submission Time Fusion and Configuration
IBM Streams V4.2 Submission Time Fusion and ConfigurationIBM Streams V4.2 Submission Time Fusion and Configuration
IBM Streams V4.2 Submission Time Fusion and Configuration
lisanl
 
IBM Streams Getting Started Resources
IBM Streams Getting Started ResourcesIBM Streams Getting Started Resources
IBM Streams Getting Started Resources
lisanl
 
Introduction to IBM Platform Symphony Integration with IBM Streams V4.1
Introduction to IBM Platform Symphony Integration with IBM Streams V4.1Introduction to IBM Platform Symphony Integration with IBM Streams V4.1
Introduction to IBM Platform Symphony Integration with IBM Streams V4.1
lisanl
 
Streaming Analytics for Bluemix Enhancements
Streaming Analytics for Bluemix EnhancementsStreaming Analytics for Bluemix Enhancements
Streaming Analytics for Bluemix Enhancements
lisanl
 
Toolkits Overview for IBM Streams V4.2
Toolkits Overview for IBM Streams V4.2Toolkits Overview for IBM Streams V4.2
Toolkits Overview for IBM Streams V4.2
lisanl
 
CLI319 Microsoft Desktop Optimization Pack: Planning the Deployment of Micros...
CLI319 Microsoft Desktop Optimization Pack: Planning the Deployment of Micros...CLI319 Microsoft Desktop Optimization Pack: Planning the Deployment of Micros...
CLI319 Microsoft Desktop Optimization Pack: Planning the Deployment of Micros...
Louis Göhl
 
Avaya Proactive Contact 5
Avaya Proactive Contact 5Avaya Proactive Contact 5
Avaya Proactive Contact 5
Barryhind
 
Microsoft App-V 5.1 and Flexera AdminStudio Webinar
Microsoft App-V 5.1 and Flexera AdminStudio WebinarMicrosoft App-V 5.1 and Flexera AdminStudio Webinar
Microsoft App-V 5.1 and Flexera AdminStudio Webinar
Flexera
 
Easi Sms Enterprise Solutions Brochure
Easi Sms Enterprise Solutions BrochureEasi Sms Enterprise Solutions Brochure
Easi Sms Enterprise Solutions Brochure
fazal_000
 
Sccm Interview Questions and Answers
Sccm Interview Questions and AnswersSccm Interview Questions and Answers
Sccm Interview Questions and Answers
KashifSCCMTrainer
 

Viewers also liked (14)

Tatiana
TatianaTatiana
Tatiana
LeidyTGuarguati
 
El sonido
El sonidoEl sonido
El sonido
james0x
 
Himalayal-AC-Resonant-Test-System
Himalayal-AC-Resonant-Test-SystemHimalayal-AC-Resonant-Test-System
Himalayal-AC-Resonant-Test-System
Fang Sam
 
Primera investigacion
Primera investigacionPrimera investigacion
Primera investigacion
arianalop
 
Diferencias ente los wikis y blogs
Diferencias ente los wikis y blogsDiferencias ente los wikis y blogs
Diferencias ente los wikis y blogs
james0x
 
AJ PA601 Leaflet
AJ PA601 LeafletAJ PA601 Leaflet
AJ PA601 Leaflet
Lukas Beres
 
UNIVERSIDADE E MERCADO DE TRABALHO - comunicação escrita - Set 2014
UNIVERSIDADE E MERCADO DE TRABALHO - comunicação escrita - Set 2014UNIVERSIDADE E MERCADO DE TRABALHO - comunicação escrita - Set 2014
UNIVERSIDADE E MERCADO DE TRABALHO - comunicação escrita - Set 2014
Carla Sofia Oliveira Silva
 
Mi presentación de tic's
Mi presentación de tic'sMi presentación de tic's
Mi presentación de tic's
IssisGT
 
Ольга Чередова
Ольга ЧередоваОльга Чередова
Ольга Чередова
bduomsk
 
Partners in Technology (PiT) - Department of Housing and Public Works - 23 Oc...
Partners in Technology (PiT) - Department of Housing and Public Works - 23 Oc...Partners in Technology (PiT) - Department of Housing and Public Works - 23 Oc...
Partners in Technology (PiT) - Department of Housing and Public Works - 23 Oc...
Digital Queensland
 
Stakeholder involvement in ux research
Stakeholder involvement in ux researchStakeholder involvement in ux research
Stakeholder involvement in ux research
Hester Bruikman
 
Sadab AHMAD
Sadab AHMADSadab AHMAD
Sadab AHMAD
Pradeep Yadav
 
El sonido
El sonidoEl sonido
El sonido
james0x
 
Himalayal-AC-Resonant-Test-System
Himalayal-AC-Resonant-Test-SystemHimalayal-AC-Resonant-Test-System
Himalayal-AC-Resonant-Test-System
Fang Sam
 
Primera investigacion
Primera investigacionPrimera investigacion
Primera investigacion
arianalop
 
Diferencias ente los wikis y blogs
Diferencias ente los wikis y blogsDiferencias ente los wikis y blogs
Diferencias ente los wikis y blogs
james0x
 
AJ PA601 Leaflet
AJ PA601 LeafletAJ PA601 Leaflet
AJ PA601 Leaflet
Lukas Beres
 
UNIVERSIDADE E MERCADO DE TRABALHO - comunicação escrita - Set 2014
UNIVERSIDADE E MERCADO DE TRABALHO - comunicação escrita - Set 2014UNIVERSIDADE E MERCADO DE TRABALHO - comunicação escrita - Set 2014
UNIVERSIDADE E MERCADO DE TRABALHO - comunicação escrita - Set 2014
Carla Sofia Oliveira Silva
 
Mi presentación de tic's
Mi presentación de tic'sMi presentación de tic's
Mi presentación de tic's
IssisGT
 
Ольга Чередова
Ольга ЧередоваОльга Чередова
Ольга Чередова
bduomsk
 
Partners in Technology (PiT) - Department of Housing and Public Works - 23 Oc...
Partners in Technology (PiT) - Department of Housing and Public Works - 23 Oc...Partners in Technology (PiT) - Department of Housing and Public Works - 23 Oc...
Partners in Technology (PiT) - Department of Housing and Public Works - 23 Oc...
Digital Queensland
 
Stakeholder involvement in ux research
Stakeholder involvement in ux researchStakeholder involvement in ux research
Stakeholder involvement in ux research
Hester Bruikman
 
Ad

Similar to IBM Streams V4.1 and Incremental Checkpointing (20)

What's New in the Timeseries Toolkit for IBM InfoSphere Streams V4.0
What's New in the Timeseries Toolkit for IBM InfoSphere Streams V4.0What's New in the Timeseries Toolkit for IBM InfoSphere Streams V4.0
What's New in the Timeseries Toolkit for IBM InfoSphere Streams V4.0
lisanl
 
Next-Generation Kubernetes Optimization: Optimize Live 2.0
Next-Generation Kubernetes Optimization: Optimize Live 2.0Next-Generation Kubernetes Optimization: Optimize Live 2.0
Next-Generation Kubernetes Optimization: Optimize Live 2.0
StormForge .io
 
Presentation v mware roi tco calculator
Presentation   v mware roi tco calculatorPresentation   v mware roi tco calculator
Presentation v mware roi tco calculator
solarisyourep
 
Using Technical Performance Progress
Using Technical Performance ProgressUsing Technical Performance Progress
Using Technical Performance Progress
Glen Alleman
 
MQ Appliance - Intro and 8.0.0.5 updates
MQ Appliance - Intro and 8.0.0.5 updatesMQ Appliance - Intro and 8.0.0.5 updates
MQ Appliance - Intro and 8.0.0.5 updates
Anthony Beardsmore
 
GPCloud ( GP on PKS)
GPCloud ( GP on PKS)GPCloud ( GP on PKS)
GPCloud ( GP on PKS)
VMware Tanzu Korea
 
Non-Blocking Checkpointing for Consistent Regions in IBM Streams V4.2.
Non-Blocking Checkpointing for Consistent Regions in IBM Streams V4.2.Non-Blocking Checkpointing for Consistent Regions in IBM Streams V4.2.
Non-Blocking Checkpointing for Consistent Regions in IBM Streams V4.2.
lisanl
 
Follow the evidence: Troubleshooting Performance Issues
Follow the evidence:  Troubleshooting Performance IssuesFollow the evidence:  Troubleshooting Performance Issues
Follow the evidence: Troubleshooting Performance Issues
Salesforce Developers
 
Cognition cockpit requirements
Cognition cockpit requirementsCognition cockpit requirements
Cognition cockpit requirements
Cognition Corporation
 
InterConnect2016 Monitoring Nodejs
InterConnect2016 Monitoring NodejsInterConnect2016 Monitoring Nodejs
InterConnect2016 Monitoring Nodejs
Chris Bailey
 
Case Study: VF Corporation Takes a Practical Approach to Improving its MOJO w...
Case Study: VF Corporation Takes a Practical Approach to Improving its MOJO w...Case Study: VF Corporation Takes a Practical Approach to Improving its MOJO w...
Case Study: VF Corporation Takes a Practical Approach to Improving its MOJO w...
CA Technologies
 
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDzRDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
Susan Yoskin
 
Real 'E' State, Your Cloud Based Assets
Real 'E' State, Your Cloud Based AssetsReal 'E' State, Your Cloud Based Assets
Real 'E' State, Your Cloud Based Assets
Brij Consulting, LLC
 
ETAP - Power system modeling
ETAP - Power system modelingETAP - Power system modeling
ETAP - Power system modeling
Himmelstern
 
Cumulus overview
Cumulus overviewCumulus overview
Cumulus overview
CharlieCavielIII
 
Viavi_TeraVM Core Emulator.pptx
Viavi_TeraVM Core Emulator.pptxViavi_TeraVM Core Emulator.pptx
Viavi_TeraVM Core Emulator.pptx
mani723
 
JavaMicroBenchmarkpptm
JavaMicroBenchmarkpptmJavaMicroBenchmarkpptm
JavaMicroBenchmarkpptm
Srinivasan Raghavan
 
Customizing Change Management
Customizing Change ManagementCustomizing Change Management
Customizing Change Management
Aras
 
Service Virtualization - Next Gen Testing Conference Singapore 2013
Service Virtualization - Next Gen Testing Conference Singapore 2013Service Virtualization - Next Gen Testing Conference Singapore 2013
Service Virtualization - Next Gen Testing Conference Singapore 2013
Min Fang
 
Maximo and a roadmap for your IoT journey
Maximo and a roadmap for your IoT journeyMaximo and a roadmap for your IoT journey
Maximo and a roadmap for your IoT journey
Helen Fisher
 
What's New in the Timeseries Toolkit for IBM InfoSphere Streams V4.0
What's New in the Timeseries Toolkit for IBM InfoSphere Streams V4.0What's New in the Timeseries Toolkit for IBM InfoSphere Streams V4.0
What's New in the Timeseries Toolkit for IBM InfoSphere Streams V4.0
lisanl
 
Next-Generation Kubernetes Optimization: Optimize Live 2.0
Next-Generation Kubernetes Optimization: Optimize Live 2.0Next-Generation Kubernetes Optimization: Optimize Live 2.0
Next-Generation Kubernetes Optimization: Optimize Live 2.0
StormForge .io
 
Presentation v mware roi tco calculator
Presentation   v mware roi tco calculatorPresentation   v mware roi tco calculator
Presentation v mware roi tco calculator
solarisyourep
 
Using Technical Performance Progress
Using Technical Performance ProgressUsing Technical Performance Progress
Using Technical Performance Progress
Glen Alleman
 
MQ Appliance - Intro and 8.0.0.5 updates
MQ Appliance - Intro and 8.0.0.5 updatesMQ Appliance - Intro and 8.0.0.5 updates
MQ Appliance - Intro and 8.0.0.5 updates
Anthony Beardsmore
 
Non-Blocking Checkpointing for Consistent Regions in IBM Streams V4.2.
Non-Blocking Checkpointing for Consistent Regions in IBM Streams V4.2.Non-Blocking Checkpointing for Consistent Regions in IBM Streams V4.2.
Non-Blocking Checkpointing for Consistent Regions in IBM Streams V4.2.
lisanl
 
Follow the evidence: Troubleshooting Performance Issues
Follow the evidence:  Troubleshooting Performance IssuesFollow the evidence:  Troubleshooting Performance Issues
Follow the evidence: Troubleshooting Performance Issues
Salesforce Developers
 
InterConnect2016 Monitoring Nodejs
InterConnect2016 Monitoring NodejsInterConnect2016 Monitoring Nodejs
InterConnect2016 Monitoring Nodejs
Chris Bailey
 
Case Study: VF Corporation Takes a Practical Approach to Improving its MOJO w...
Case Study: VF Corporation Takes a Practical Approach to Improving its MOJO w...Case Study: VF Corporation Takes a Practical Approach to Improving its MOJO w...
Case Study: VF Corporation Takes a Practical Approach to Improving its MOJO w...
CA Technologies
 
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDzRDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
Susan Yoskin
 
Real 'E' State, Your Cloud Based Assets
Real 'E' State, Your Cloud Based AssetsReal 'E' State, Your Cloud Based Assets
Real 'E' State, Your Cloud Based Assets
Brij Consulting, LLC
 
ETAP - Power system modeling
ETAP - Power system modelingETAP - Power system modeling
ETAP - Power system modeling
Himmelstern
 
Viavi_TeraVM Core Emulator.pptx
Viavi_TeraVM Core Emulator.pptxViavi_TeraVM Core Emulator.pptx
Viavi_TeraVM Core Emulator.pptx
mani723
 
Customizing Change Management
Customizing Change ManagementCustomizing Change Management
Customizing Change Management
Aras
 
Service Virtualization - Next Gen Testing Conference Singapore 2013
Service Virtualization - Next Gen Testing Conference Singapore 2013Service Virtualization - Next Gen Testing Conference Singapore 2013
Service Virtualization - Next Gen Testing Conference Singapore 2013
Min Fang
 
Maximo and a roadmap for your IoT journey
Maximo and a roadmap for your IoT journeyMaximo and a roadmap for your IoT journey
Maximo and a roadmap for your IoT journey
Helen Fisher
 
Ad

More from lisanl (18)

What's New Overview for IBM Streams V4.3
What's New Overview for IBM Streams V4.3 What's New Overview for IBM Streams V4.3
What's New Overview for IBM Streams V4.3
lisanl
 
SPL Event-Time Processing in IBM Streams V4.3
SPL Event-Time Processing in IBM Streams V4.3SPL Event-Time Processing in IBM Streams V4.3
SPL Event-Time Processing in IBM Streams V4.3
lisanl
 
Option Data Types in IBM Streams V4.3
Option Data Types in IBM Streams V4.3Option Data Types in IBM Streams V4.3
Option Data Types in IBM Streams V4.3
lisanl
 
Dynamic and Elastic Scaling in IBM Streams V4.3
Dynamic and Elastic Scaling in IBM Streams V4.3Dynamic and Elastic Scaling in IBM Streams V4.3
Dynamic and Elastic Scaling in IBM Streams V4.3
lisanl
 
IBM ODM Rules Compiler support in IBM Streams V4.2.
IBM ODM Rules Compiler support in IBM Streams V4.2.IBM ODM Rules Compiler support in IBM Streams V4.2.
IBM ODM Rules Compiler support in IBM Streams V4.2.
lisanl
 
IBM Streams IoT Integration
IBM Streams IoT IntegrationIBM Streams IoT Integration
IBM Streams IoT Integration
lisanl
 
What's New in IBM Streams V4.2
What's New in IBM Streams V4.2What's New in IBM Streams V4.2
What's New in IBM Streams V4.2
lisanl
 
Data Governance with IBM Streams V4.1
Data Governance with IBM Streams V4.1Data Governance with IBM Streams V4.1
Data Governance with IBM Streams V4.1
lisanl
 
Github Projects Overview and IBM Streams V4.1
Github Projects Overview and IBM Streams V4.1Github Projects Overview and IBM Streams V4.1
Github Projects Overview and IBM Streams V4.1
lisanl
 
What's New in Toolkits for IBM Streams V4.1
What's New in Toolkits for IBM Streams V4.1What's New in Toolkits for IBM Streams V4.1
What's New in Toolkits for IBM Streams V4.1
lisanl
 
What's New in IBM Streams V4.1
What's New in IBM Streams V4.1What's New in IBM Streams V4.1
What's New in IBM Streams V4.1
lisanl
 
What's New in the Streams Console in IBM Streams V4.1
What's New in the Streams Console in IBM Streams V4.1What's New in the Streams Console in IBM Streams V4.1
What's New in the Streams Console in IBM Streams V4.1
lisanl
 
Expanding beyond SPL -- More language support in IBM Streams V4.1
Expanding beyond SPL -- More language support in IBM Streams V4.1Expanding beyond SPL -- More language support in IBM Streams V4.1
Expanding beyond SPL -- More language support in IBM Streams V4.1
lisanl
 
Introduction to the Spark MLLib Toolkit in IBM Streams V4.1
Introduction to the Spark MLLib Toolkit in IBM Streams V4.1Introduction to the Spark MLLib Toolkit in IBM Streams V4.1
Introduction to the Spark MLLib Toolkit in IBM Streams V4.1
lisanl
 
An Overview of IBM Streaming Analytics for Bluemix
An Overview of IBM Streaming Analytics for BluemixAn Overview of IBM Streaming Analytics for Bluemix
An Overview of IBM Streaming Analytics for Bluemix
lisanl
 
ZooKeeper and Embedded ZooKeeper Support for IBM InfoSphere Streams V4.0
ZooKeeper and Embedded ZooKeeper Support for IBM InfoSphere Streams V4.0ZooKeeper and Embedded ZooKeeper Support for IBM InfoSphere Streams V4.0
ZooKeeper and Embedded ZooKeeper Support for IBM InfoSphere Streams V4.0
lisanl
 
Streams Studio Support for IBM InfoSphere Streams V4.0
Streams Studio Support for IBM InfoSphere Streams V4.0Streams Studio Support for IBM InfoSphere Streams V4.0
Streams Studio Support for IBM InfoSphere Streams V4.0
lisanl
 
Streams GitHub Products Overview for IBM InfoSphere Streams V4.0
Streams GitHub Products Overview for IBM InfoSphere Streams V4.0Streams GitHub Products Overview for IBM InfoSphere Streams V4.0
Streams GitHub Products Overview for IBM InfoSphere Streams V4.0
lisanl
 
What's New Overview for IBM Streams V4.3
What's New Overview for IBM Streams V4.3 What's New Overview for IBM Streams V4.3
What's New Overview for IBM Streams V4.3
lisanl
 
SPL Event-Time Processing in IBM Streams V4.3
SPL Event-Time Processing in IBM Streams V4.3SPL Event-Time Processing in IBM Streams V4.3
SPL Event-Time Processing in IBM Streams V4.3
lisanl
 
Option Data Types in IBM Streams V4.3
Option Data Types in IBM Streams V4.3Option Data Types in IBM Streams V4.3
Option Data Types in IBM Streams V4.3
lisanl
 
Dynamic and Elastic Scaling in IBM Streams V4.3
Dynamic and Elastic Scaling in IBM Streams V4.3Dynamic and Elastic Scaling in IBM Streams V4.3
Dynamic and Elastic Scaling in IBM Streams V4.3
lisanl
 
IBM ODM Rules Compiler support in IBM Streams V4.2.
IBM ODM Rules Compiler support in IBM Streams V4.2.IBM ODM Rules Compiler support in IBM Streams V4.2.
IBM ODM Rules Compiler support in IBM Streams V4.2.
lisanl
 
IBM Streams IoT Integration
IBM Streams IoT IntegrationIBM Streams IoT Integration
IBM Streams IoT Integration
lisanl
 
What's New in IBM Streams V4.2
What's New in IBM Streams V4.2What's New in IBM Streams V4.2
What's New in IBM Streams V4.2
lisanl
 
Data Governance with IBM Streams V4.1
Data Governance with IBM Streams V4.1Data Governance with IBM Streams V4.1
Data Governance with IBM Streams V4.1
lisanl
 
Github Projects Overview and IBM Streams V4.1
Github Projects Overview and IBM Streams V4.1Github Projects Overview and IBM Streams V4.1
Github Projects Overview and IBM Streams V4.1
lisanl
 
What's New in Toolkits for IBM Streams V4.1
What's New in Toolkits for IBM Streams V4.1What's New in Toolkits for IBM Streams V4.1
What's New in Toolkits for IBM Streams V4.1
lisanl
 
What's New in IBM Streams V4.1
What's New in IBM Streams V4.1What's New in IBM Streams V4.1
What's New in IBM Streams V4.1
lisanl
 
What's New in the Streams Console in IBM Streams V4.1
What's New in the Streams Console in IBM Streams V4.1What's New in the Streams Console in IBM Streams V4.1
What's New in the Streams Console in IBM Streams V4.1
lisanl
 
Expanding beyond SPL -- More language support in IBM Streams V4.1
Expanding beyond SPL -- More language support in IBM Streams V4.1Expanding beyond SPL -- More language support in IBM Streams V4.1
Expanding beyond SPL -- More language support in IBM Streams V4.1
lisanl
 
Introduction to the Spark MLLib Toolkit in IBM Streams V4.1
Introduction to the Spark MLLib Toolkit in IBM Streams V4.1Introduction to the Spark MLLib Toolkit in IBM Streams V4.1
Introduction to the Spark MLLib Toolkit in IBM Streams V4.1
lisanl
 
An Overview of IBM Streaming Analytics for Bluemix
An Overview of IBM Streaming Analytics for BluemixAn Overview of IBM Streaming Analytics for Bluemix
An Overview of IBM Streaming Analytics for Bluemix
lisanl
 
ZooKeeper and Embedded ZooKeeper Support for IBM InfoSphere Streams V4.0
ZooKeeper and Embedded ZooKeeper Support for IBM InfoSphere Streams V4.0ZooKeeper and Embedded ZooKeeper Support for IBM InfoSphere Streams V4.0
ZooKeeper and Embedded ZooKeeper Support for IBM InfoSphere Streams V4.0
lisanl
 
Streams Studio Support for IBM InfoSphere Streams V4.0
Streams Studio Support for IBM InfoSphere Streams V4.0Streams Studio Support for IBM InfoSphere Streams V4.0
Streams Studio Support for IBM InfoSphere Streams V4.0
lisanl
 
Streams GitHub Products Overview for IBM InfoSphere Streams V4.0
Streams GitHub Products Overview for IBM InfoSphere Streams V4.0Streams GitHub Products Overview for IBM InfoSphere Streams V4.0
Streams GitHub Products Overview for IBM InfoSphere Streams V4.0
lisanl
 

Recently uploaded (20)

1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf
1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf
1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf
Simran112433
 
Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...
Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...
Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...
gmuir1066
 
Data Analytics Overview and its applications
Data Analytics Overview and its applicationsData Analytics Overview and its applications
Data Analytics Overview and its applications
JanmejayaMishra7
 
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbbEDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
JessaMaeEvangelista2
 
Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...
Pixellion
 
Stack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptxStack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptx
binduraniha86
 
VKS-Python Basics for Beginners and advance.pptx
VKS-Python Basics for Beginners and advance.pptxVKS-Python Basics for Beginners and advance.pptx
VKS-Python Basics for Beginners and advance.pptx
Vinod Srivastava
 
Principles of information security Chapter 5.ppt
Principles of information security Chapter 5.pptPrinciples of information security Chapter 5.ppt
Principles of information security Chapter 5.ppt
EstherBaguma
 
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptxmd-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
fatimalazaar2004
 
VKS-Python-FIe Handling text CSV Binary.pptx
VKS-Python-FIe Handling text CSV Binary.pptxVKS-Python-FIe Handling text CSV Binary.pptx
VKS-Python-FIe Handling text CSV Binary.pptx
Vinod Srivastava
 
04302025_CCC TUG_DataVista: The Design Story
04302025_CCC TUG_DataVista: The Design Story04302025_CCC TUG_DataVista: The Design Story
04302025_CCC TUG_DataVista: The Design Story
ccctableauusergroup
 
03 Daniel 2-notes.ppt seminario escatologia
03 Daniel 2-notes.ppt seminario escatologia03 Daniel 2-notes.ppt seminario escatologia
03 Daniel 2-notes.ppt seminario escatologia
Alexander Romero Arosquipa
 
Conic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptxConic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptx
taiwanesechetan
 
Ch3MCT24.pptx measure of central tendency
Ch3MCT24.pptx measure of central tendencyCh3MCT24.pptx measure of central tendency
Ch3MCT24.pptx measure of central tendency
ayeleasefa2
 
CTS EXCEPTIONSPrediction of Aluminium wire rod physical properties through AI...
CTS EXCEPTIONSPrediction of Aluminium wire rod physical properties through AI...CTS EXCEPTIONSPrediction of Aluminium wire rod physical properties through AI...
CTS EXCEPTIONSPrediction of Aluminium wire rod physical properties through AI...
ThanushsaranS
 
IAS-slides2-ia-aaaaaaaaaaain-business.pdf
IAS-slides2-ia-aaaaaaaaaaain-business.pdfIAS-slides2-ia-aaaaaaaaaaain-business.pdf
IAS-slides2-ia-aaaaaaaaaaain-business.pdf
mcgardenlevi9
 
GenAI for Quant Analytics: survey-analytics.ai
GenAI for Quant Analytics: survey-analytics.aiGenAI for Quant Analytics: survey-analytics.ai
GenAI for Quant Analytics: survey-analytics.ai
Inspirient
 
LLM finetuning for multiple choice google bert
LLM finetuning for multiple choice google bertLLM finetuning for multiple choice google bert
LLM finetuning for multiple choice google bert
ChadapornK
 
Molecular methods diagnostic and monitoring of infection - Repaired.pptx
Molecular methods diagnostic and monitoring of infection  -  Repaired.pptxMolecular methods diagnostic and monitoring of infection  -  Repaired.pptx
Molecular methods diagnostic and monitoring of infection - Repaired.pptx
7tzn7x5kky
 
Deloitte Analytics - Applying Process Mining in an audit context
Deloitte Analytics - Applying Process Mining in an audit contextDeloitte Analytics - Applying Process Mining in an audit context
Deloitte Analytics - Applying Process Mining in an audit context
Process mining Evangelist
 
1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf
1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf
1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf
Simran112433
 
Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...
Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...
Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...
gmuir1066
 
Data Analytics Overview and its applications
Data Analytics Overview and its applicationsData Analytics Overview and its applications
Data Analytics Overview and its applications
JanmejayaMishra7
 
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbbEDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
JessaMaeEvangelista2
 
Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...
Pixellion
 
Stack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptxStack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptx
binduraniha86
 
VKS-Python Basics for Beginners and advance.pptx
VKS-Python Basics for Beginners and advance.pptxVKS-Python Basics for Beginners and advance.pptx
VKS-Python Basics for Beginners and advance.pptx
Vinod Srivastava
 
Principles of information security Chapter 5.ppt
Principles of information security Chapter 5.pptPrinciples of information security Chapter 5.ppt
Principles of information security Chapter 5.ppt
EstherBaguma
 
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptxmd-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
fatimalazaar2004
 
VKS-Python-FIe Handling text CSV Binary.pptx
VKS-Python-FIe Handling text CSV Binary.pptxVKS-Python-FIe Handling text CSV Binary.pptx
VKS-Python-FIe Handling text CSV Binary.pptx
Vinod Srivastava
 
04302025_CCC TUG_DataVista: The Design Story
04302025_CCC TUG_DataVista: The Design Story04302025_CCC TUG_DataVista: The Design Story
04302025_CCC TUG_DataVista: The Design Story
ccctableauusergroup
 
Conic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptxConic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptx
taiwanesechetan
 
Ch3MCT24.pptx measure of central tendency
Ch3MCT24.pptx measure of central tendencyCh3MCT24.pptx measure of central tendency
Ch3MCT24.pptx measure of central tendency
ayeleasefa2
 
CTS EXCEPTIONSPrediction of Aluminium wire rod physical properties through AI...
CTS EXCEPTIONSPrediction of Aluminium wire rod physical properties through AI...CTS EXCEPTIONSPrediction of Aluminium wire rod physical properties through AI...
CTS EXCEPTIONSPrediction of Aluminium wire rod physical properties through AI...
ThanushsaranS
 
IAS-slides2-ia-aaaaaaaaaaain-business.pdf
IAS-slides2-ia-aaaaaaaaaaain-business.pdfIAS-slides2-ia-aaaaaaaaaaain-business.pdf
IAS-slides2-ia-aaaaaaaaaaain-business.pdf
mcgardenlevi9
 
GenAI for Quant Analytics: survey-analytics.ai
GenAI for Quant Analytics: survey-analytics.aiGenAI for Quant Analytics: survey-analytics.ai
GenAI for Quant Analytics: survey-analytics.ai
Inspirient
 
LLM finetuning for multiple choice google bert
LLM finetuning for multiple choice google bertLLM finetuning for multiple choice google bert
LLM finetuning for multiple choice google bert
ChadapornK
 
Molecular methods diagnostic and monitoring of infection - Repaired.pptx
Molecular methods diagnostic and monitoring of infection  -  Repaired.pptxMolecular methods diagnostic and monitoring of infection  -  Repaired.pptx
Molecular methods diagnostic and monitoring of infection - Repaired.pptx
7tzn7x5kky
 
Deloitte Analytics - Applying Process Mining in an audit context
Deloitte Analytics - Applying Process Mining in an audit contextDeloitte Analytics - Applying Process Mining in an audit context
Deloitte Analytics - Applying Process Mining in an audit context
Process mining Evangelist
 

IBM Streams V4.1 and Incremental Checkpointing

  • 1. © 2015 IBM Corporation Incremental Checkpointing IBM Streams Version 4.1 Fang Zheng Streams Development [email protected]
  • 2. 2 © 2015 IBM Corporation Agenda  Introduction to Incremental Checkpointing  How It Works  How to Use It  Case Study: VWAP Application
  • 3. 3 © 2015 IBM Corporation Important Disclaimer THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. IN ADDITION, THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE. IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION. NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALL HAVE THE EFFECT OF: • CREATING ANY WARRANTY OR REPRESENTATION FROM IBM (OR ITS AFFILIATES OR ITS OR THEIR SUPPLIERS AND/OR LICENSORS); OR • ALTERING THE TERMS AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT GOVERNING THE USE OF IBM SOFTWARE. IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE. IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION.
  • 4. 4 © 2015 IBM Corporation Introduction to Incremental Checkpointing Since Streams V4, an operator can implement the StateHandler interface to checkpoint and reset its state • StateHandler::checkpoint(Checkpoint & ckpt) is periodically called by Streams Runtime to checkpoint operator state • StateHandler::reset(Checkpoint & ckpt) is called upon operator restart to restore operator state By convention, each checkpoint contains the full operator state  When operator state is large, the time and space costs of checkpointing can be high  This can in turn cause negative impact on tuple processing performance  Large checkpoints can also cause resource contention on checkpointing data store Incremental checkpointing is a known technique to reduce checkpointing cost • Save full operator state in a “Base” checkpoint • Track changes made to operator state during normal processing • For each subsequent checkpoint, only save the changed portion of state since previous checkpoint to form a “Delta” checkpoint
  • 5. 5 © 2015 IBM Corporation How Incremental Checkpointing Works Why incremental checkpointing? • If the size of a “Delta” checkpoint is smaller than a full-state checkpoint, then the time and size of checkpoint is reduced Incremental checkpointing is applicable to many streaming applications  Some operator state data is intensively read but rarely updated  A large sliding window which moves slowly  Only a small number of “hot” keys are updated in a large key-value map  Such opportunity exists in many analytics (Aggregate, Join, Sort, Dedup, TopK, …) What’s in Streams V4.1 • Low-overhead change tracking and incremental checkpointing for commonly-used data structures (in particular, all configurations of SPL windows) • Automatically and dynamically adjust incremental checkpointing behavior to i) improve overall application performance and ii) bound worst-case restoration cost
  • 6. 6 © 2015 IBM Corporation How Incremental Checkpointing Works (Cont.) An example: Incrementally checkpointing a queue A B C D E F G H I J B C D E F G H I J K D E F G H I J K L M Insert K Delete A Insert L Delete B Insert M Delete C A,B,C,D,E,F,G,H,I,J Take Checkpoint #1 Take Checkpoint #2 K 1 L M 2 Take Checkpoint #3 Base checkpoint Delta checkpoint Delta checkpoint new item K number of deletions: 1 new item L, M number of deletions: 2 Queue
  • 7. 7 © 2015 IBM Corporation How Incremental Checkpointing Works (Cont.) An example: Restore the queue from a Delta checkpoint A B C D E F G H I J B C D E F G H I J K D E F G H I J K L M Step 2: retrieve Checkpoint #2, and re-apply changes in Checkpoint #2 Insert K Delete A Step 3: retrieve Checkpoint #3, and re-apply changes in Checkpoint #3 Insert L Insert M Delete B Delete C A,B,C,D,E,F,G,H,I,J Step 1: Retrieve Checkpoint #1, De-serialize the queue from it K 1 L M 2 new item K number of deletions: 1 new item L, M number of deletions: 2 Queue
  • 8. 8 © 2015 IBM Corporation How Incremental Checkpointing Works (Cont.) An example: an unordered map K0 V0 Insert (K10, V10) Update (K1) <- V1’ Delete(K2, V2) Update (K1) <- V1’’ (K0,V0), (K1,V1), …, (K9,V9) Take Checkpoint #1 Map …… K1 V1 K2 V2 K9 V9 K0 V0 …… K1 V1’’ K9 V9 K10 V10 Base checkpoint (K1,V1’’), (K10,V10) K2 Delta checkpointTake Checkpoint #2 Updated/inserted key-values Plus deleted keys
  • 9. 9 © 2015 IBM Corporation How Incremental Checkpointing Works (Cont.) Issues with incremental checkpointing • The overhead of change tracking must be paid off by savings in checkpointing cost • What if operator state is changed completely between two checkpoints? • The restoration cost is increased with incremental checkpointing Our solution: dynamically adapt incremental checkpointing behavior • The Streams Runtime continuously assesses whether incremental checkpointing is beneficial, and adjusts the number of consecutive Delta checkpoints to take • The worst-case restoration cost is bounded by capping number of Delta checkpoints • Automatically turn off incremental checkpointing when it’s not beneficial • Such adaptiveness saves end user the burden of manual configuration and tuning BASE …DELTA TIMECHECKPOINT 1 CHECKPOINT 2 CHECKPOINT 3 CHECKPOINT 4 CHECKPOINT D+1 CHECKPOINT D+2… DELTA DELTA DELTA BASE D: Number of consecutive Delta checkpoints DELTA …
  • 10. 10 © 2015 IBM Corporation How to Use Incremental Checkpointing? For C++ operator developer • The SPL Runtime provides two container classes with built-in change tracking and incremental checkpointing capabilities: • SPL::IncrDeque<T> for double-ended queue • SPL::IncrUnorderedMap<K, V> for unordered map • Operator code can enable incremental checkpointing for an SPL Window by instantiate the window with incremental deque and map: • Two CodeGen APIs are extended to help generating C++ codes for SPL Window: // an SPL window without incremental checkpointing capability SPL::Window<T, G, D=std::deque<T>, S=std::tr1::unordered_map<G,D> > myWindow; // an SPL window with incremental checkpointing capability SPL::Window<T, G, D=SPL::IncrDeque<T>, S=SPL::IncrUnorderedMap<G,D> > myWindow; SPL::CodeGen::getWindowCppType() SPL::CodeGen::getWindowEventCppType()
  • 11. 11 © 2015 IBM Corporation How to Use Incremental Checkpointing? (Cont.) For C++ operator developer • Example: Instantiate SPL Window with incremental data types # Code taken from Aggregate_h.cgt # Check if the operator is configured to do checkpointing # (in a Consistent Region or with config checkpoint clause configured) my $isInConsistentRegion = $model->getContext()->getOptionalContext("ConsistentRegion"); my $ckptKind = $model->getContext()->getCheckpointingKind(); if ($isInConsistentRegion || $ckptKind ne "none") { # Instantiate window with deque and unordered map which are of incremental checkpointing capability $windowCppType = ($partitionByParam) ? SPL::CodeGen::getWindowCppType($window, $windowTupleType, 'PartitionByType', 'SPL::IncrDeque', 'SPL::IncrUnorderedMap') : SPL::CodeGen::getWindowCppType($window, $windowTupleType, '', 'SPL::IncrDeque'); $windowEventCppType = ($partitionByParam) ? SPL::CodeGen::getWindowEventCppType($window, $windowTupleType, 'PartitionByType','SPL::IncrDeque','SPL::IncrUnorderedMap') : SPL::CodeGen::getWindowEventCppType($window, $windowTupleType, '', 'SPL::IncrDeque'); }
  • 12. 12 © 2015 IBM Corporation How to Use Incremental Checkpointing? (Cont.) For SPL programmer • The Join, Aggregate, and Sort operators instantiate their SPL windows with incremental checkpointing if the operators are configured to do checkpointing (in Consistent Region or with “config checkpoint” clause) • No extra configuration is needed in SPL code @consistent(trigger=periodic, period4.0) stream<SourceFormat> Message = CustomSource() { …. } // Aggregate operator is in Consistent Region stream< Message > VWAPAggregator0_0_1 as O = Aggregate(TradeFilter as I) { window I : sliding, count(2000), count(1), partitioned; param partitionBy : ric; output O : svwap = Sum(myvwap), svolume = Sum(volume); } // Aggregate operator is in an Autonomous region and with config checkpoint clause stream< Message > VWAPAggregator0_0_1 as O = Aggregate(Message as I) { window I : sliding, count(2000), count(1), partitioned; param partitionBy : ric; output O : svwap = Sum(myvwap), svolume = Sum(volume); config checkpoint : periodic(10.0); }
  • 13. 13 © 2015 IBM Corporation Case Study: VWAP Application VWAP Application • Ingest financial transaction data streams • Contains an Aggregate operator • Run VWAP within a consistent region, varying the checkpointing period • Run VWAP with Streams V4 which always checkpoints full operator state vs. Streams V4.1 which does incremental checkpointing
  • 14. 14 © 2015 IBM Corporation Questions?