Author: zznate
Date: Wed Aug 8 01:44:58 2018
New Revision: 1837624
URL: http://svn.apache.org/viewvc?rev=1837624&view=rev
Log:
Actually add the pages for CASSANDRA-14624 blog post
Added:
cassandra/site/publish/blog/
cassandra/site/publish/blog/2018/
cassandra/site/publish/blog/2018/08/
cassandra/site/publish/blog/2018/08/07/
cassandra/site/publish/blog/2018/08/07/faster_streaming_in_cassandra.html
cassandra/site/publish/blog/index.html
Added: cassandra/site/publish/blog/2018/08/07/faster_streaming_in_cassandra.html
URL:
http://svn.apache.org/viewvc/cassandra/site/publish/blog/2018/08/07/faster_streaming_in_cassandra.html?rev=1837624&view=auto
==============================================================================
--- cassandra/site/publish/blog/2018/08/07/faster_streaming_in_cassandra.html
(added)
+++ cassandra/site/publish/blog/2018/08/07/faster_streaming_in_cassandra.html
Wed Aug 8 01:44:58 2018
@@ -0,0 +1,214 @@
+<!DOCTYPE html>
+<html>
+
+
+
+
+<head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <meta name="description" content="Streaming in Apache Cassandra powers host
replacement, range movements, and cluster expansions. Streaming plays a crucial
role in the cluster and as such its...">
+ <meta name="keywords" content="cassandra, apache, apache cassandra,
distributed storage, key value store, scalability, bigtable, dynamo" />
+ <meta name="robots" content="index,follow" />
+ <meta name="language" content="en" />
+
+ <title>Hardware-bound Zero Copy Streaming in Apache Cassandra 4.0</title>
+
+ <link rel="canonical"
href="http://cassandra.apache.org/blog/2018/08/07/faster_streaming_in_cassandra.html">
+
+ <link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7"
crossorigin="anonymous">
+ <link rel="stylesheet" href="./../../../../css/style.css">
+
+
+
+</head>
+
+ <body>
+ <!-- breadcrumbs -->
+<div class="topnav">
+ <div class="container breadcrumb-container">
+ <ul class="breadcrumb">
+ <li>
+ <div class="dropdown">
+ <img class="asf-logo" src="./../../../../img/asf_feather.png" />
+ <a data-toggle="dropdown" href="#">Apache Software Foundation <span
class="caret"></span></a>
+ <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
+ <li><a href="http://www.apache.org">Apache Homepage</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a
href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a
href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ </ul>
+ </div>
+ </li>
+
+
+ <li><a href="./../../../../">Apache Cassandra</a></li>
+
+
+
+
+ <li>Hardware-bound Zero Copy Streaming in Apache Cassandra 4.0</li>
+
+
+
+
+
+
+ </ul>
+ </div>
+
+ <!-- navbar -->
+ <nav class="navbar navbar-default navbar-static-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle collapsed"
data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="./../../../../"><img
src="./../../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
+ </div><!-- /.navbar-header -->
+
+ <div id="cassandra-menu" class="collapse navbar-collapse">
+ <ul class="nav navbar-nav navbar-right">
+ <li><a href="./../../../../">Home</a></li>
+ <li><a href="./../../../../download/">Download</a></li>
+ <li><a href="./../../../../doc/">Documentation</a></li>
+ <li><a href="./../../../../community/">Community</a></li>
+ <li><a href="./../../../../blog">Blog</a></li>
+ </ul>
+ </div><!-- /#cassandra-menu -->
+
+
+ </div>
+ </nav><!-- /.navbar -->
+</div><!-- /.topnav -->
+
+ <div class="content">
+ <div class="container">
+ <h2>Hardware-bound Zero Copy Streaming in Apache Cassandra 4.0</h2>
+ <p>Posted on August 07, 2018 by The Apache Cassandra Community</p>
+ <h5><a href="/blog">« Back to the Apache Cassandra Blog</a></h5>
+ <hr />
+ <p>Streaming in Apache Cassandra powers host replacement, range movements,
and cluster expansions. Streaming plays a crucial role in the cluster and as
such its performance is key to not only the speed of the operations its used in
but the clusterâs health generally. In Apache Cassandra 4.0, we have
introduced an improved streaming implementation that reduces GC pressure and
increases throughput several folds and are now limited, in some cases, only by
the disk / network IO (See: <a
href="https://issues.apache.org/jira/browse/CASSANDRA-14556">CASSANDRA-14556</a>).</p>
+
+<p><img
src="data:image/png;base64,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"
alt="Fig 1. Cassandra Streaming" style="float: right;margin-right:
7px;margin-top: 7px;" /> To get an understanding of the impact of these
changes, letâs first have a look at the current streaming code path. The
diagram below illustrates the stream session setup
when a node attempts to stream data from a peer. Letâs say, we have a 3
node cluster (Nodes A, B, C). Node C is being rebuilt and has to stream all
data that it is responsible for from A & B. C setups a streaming session
with each of itâs peers (See: <a
href="https://issues.apache.org/jira/browse/CASSANDRA-4650">CASSANDRA-4560</a>
how Cassandra applies <a
href="https://en.wikipedia.org/wiki/Ford%E2%80%93Fulkerson_algorithm">Ford
Fulkerson</a> to optimize streaming peers). It exchanges messages to request
ranges and begins streaming data from the selected nodes.</p>
+
+<p>During the streaming phase, A collects all SSTables that have partitions in
the requested ranges. It streams each SSTable by serializing individual
partitions. Upon receiving the partition, node C reifies the data in memory and
then writes it to disk. This is necessary to accurately transfer partitions
from all possible SSTables for the requested ranges. This streaming path
generates garbage and could be avoided in scenarios where all partitions within
the SSTable need to be transmitted. This is common when youâre using
LeveledCompactionStrategy or have enabled partitioning SSTables by token range
(See: <a
href="http://issues.apache.org/jira/browse/CASSANDRA-6696">CASSANDRA-6696</a>),
etc.</p>
+
+<p>To solve this problem <a
href="http://issues.apache.org/jira/browse/CASSANDRA-14556">CASSANDRA-14556</a>
adds a Zero Copy streaming path. This significantly speeds up the transfer of
SSTables and reduces garbage and unnecessary object creation. It modifies the
streaming path to add additional information into the streaming header and uses
ZeroCopy APIs to transfer bytes to and from the network and disk. So now, an
SSTable may be transferred using this strategy when Cassandra detects that a
complete SSTable needs to be transferred.</p>
+
+<h2 id="how-do-i-use-this-feature">How do I use this feature?</h2>
+
+<p>It just works. This feature is controlled using <code
class="highlighter-rouge">streaming_zerocopy_sstables_enabled</code> in <code
class="highlighter-rouge">cassandra.yaml</code> and is enabled by default. Even
though this feature is enabled, it will respect the throttling limits as
defined by <code
class="highlighter-rouge">stream_throughput_outbound_megabits_per_sec</code>.</p>
+
+<h2 id="impact">Impact</h2>
+
+<p>Cassandra can stream SSTables only bounded by the hardware limitations
(Network and Disk IO). With this optimization, we hope to make Cassandra more
performant and reliable.</p>
+
+<p>Microbenchmarking this feature shows a marked improvement (higher is
better). Block Stream Writers are the ZeroCopy writers and Partial Stream
Writers are the existing writers.</p>
+
+<table class="table-condensed table-bordered table-hover">
+ <thead>
+ <tr>
+ <th>Benchmark</th>
+ <th>Mode</th>
+ <th>Cnt</th>
+ <th>Score</th>
+ <th>Error</th>
+ <th>Units</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>ZeroCopyStreamingBenchmark.blockStreamReader</td>
+ <td>thrpt</td>
+ <td>10</td>
+ <td>20.119</td>
+ <td>± 1.300</td>
+ <td>ops/s</td>
+ </tr>
+ <tr>
+ <td>ZeroCopyStreamingBenchmark.blockStreamWriter</td>
+ <td>thrpt</td>
+ <td>10</td>
+ <td>1339.672</td>
+ <td>± 352.242</td>
+ <td>ops/s</td>
+ </tr>
+ <tr>
+ <td>ZeroCopyStreamingBenchmark.partialStreamReader</td>
+ <td>thrpt</td>
+ <td>10</td>
+ <td>0.590</td>
+ <td>± 0.135</td>
+ <td>ops/s</td>
+ </tr>
+ <tr>
+ <td>ZeroCopyStreamingBenchmark.partialStreamWriter</td>
+ <td>thrpt</td>
+ <td>10</td>
+ <td>17.556</td>
+ <td>± 0.323</td>
+ <td>ops/s</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="conclusion">Conclusion</h2>
+
+<p>If youâre a Cassandra user, we would love to hear back from you. Please
send us feedback via user <a
href="http://cassandra.apache.org/community/">Mailing List</a>, <a
href="https://issues.apache.org/jira/projects/CASSANDRA/summary">Jira</a>, or
<a href="http://cassandra.apache.org/community/">IRC</a> (or any combination of
the three).</p>
+
+
+ </div>
+</div>
+
+ <hr />
+
+<footer>
+ <div class="container">
+ <div class="col-md-4 social-blk">
+ <span class="social">
+ <a href="https://twitter.com/cassandra"
+ class="twitter-follow-button"
+ data-show-count="false" data-size="large">Follow @cassandra</a>
+ <script>!function(d,s,id){var
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,
'script', 'twitter-wjs');</script>
+ <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
+ class="twitter-hashtag-button"
+ data-size="large"
+ data-related="ApacheCassandra">Tweet #cassandra</a>
+ <script>!function(d,s,id){var
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,
'script', 'twitter-wjs');</script>
+ </span>
+ </div>
+
+ <div class="col-md-8 trademark">
+ <p>© 2016 <a href="http://apache.org">The Apache Software
Foundation</a>.
+ Apache, the Apache feather logo, and Apache Cassandra are trademarks of
The Apache Software Foundation.
+ <p>
+ </div>
+ </div><!-- /.container -->
+</footer>
+
+<!-- Javascript. Placed here so pages load faster -->
+<script
src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+<script src="./../../../../js/underscore-min.js"></script>
+<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
crossorigin="anonymous"></script>
+
+
+
+<script type="text/javascript">
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." :
"http://www.");
+ document.write(unescape("%3Cscript src='" + gaJsHost +
"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+
+ try {
+ var pageTracker = _gat._getTracker("UA-11583863-1");
+ pageTracker._trackPageview();
+ } catch(err) {}
+</script>
+
+
+ </body>
+</html>
Added: cassandra/site/publish/blog/index.html
URL:
http://svn.apache.org/viewvc/cassandra/site/publish/blog/index.html?rev=1837624&view=auto
==============================================================================
--- cassandra/site/publish/blog/index.html (added)
+++ cassandra/site/publish/blog/index.html Wed Aug 8 01:44:58 2018
@@ -0,0 +1,159 @@
+<!DOCTYPE html>
+<html>
+
+
+
+
+<head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <meta name="description" content="The Apache Cassandra database is the right
choice when you need scalability and high availability without compromising
performance. Linear scalability and proven fault-tolerance on commodity
hardware or cloud infrastructure make it the perfect platform for
mission-critical data. Cassandra's support for replicating across multiple
datacenters is best-in-class, providing lower latency for your users and the
peace of mind of knowing that you can survive regional outages.
+">
+ <meta name="keywords" content="cassandra, apache, apache cassandra,
distributed storage, key value store, scalability, bigtable, dynamo" />
+ <meta name="robots" content="index,follow" />
+ <meta name="language" content="en" />
+
+ <title>Blog</title>
+
+ <link rel="canonical" href="http://cassandra.apache.org/blog/">
+
+ <link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7"
crossorigin="anonymous">
+ <link rel="stylesheet" href="./../css/style.css">
+
+
+
+</head>
+
+ <body>
+ <!-- breadcrumbs -->
+<div class="topnav">
+ <div class="container breadcrumb-container">
+ <ul class="breadcrumb">
+ <li>
+ <div class="dropdown">
+ <img class="asf-logo" src="./../img/asf_feather.png" />
+ <a data-toggle="dropdown" href="#">Apache Software Foundation <span
class="caret"></span></a>
+ <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
+ <li><a href="http://www.apache.org">Apache Homepage</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a
href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a
href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ </ul>
+ </div>
+ </li>
+
+
+ <li><a href="./../">Apache Cassandra</a></li>
+
+
+
+
+ <li>Blog</li>
+
+
+
+
+
+
+ </ul>
+ </div>
+
+ <!-- navbar -->
+ <nav class="navbar navbar-default navbar-static-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle collapsed"
data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="./../"><img
src="./../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
+ </div><!-- /.navbar-header -->
+
+ <div id="cassandra-menu" class="collapse navbar-collapse">
+ <ul class="nav navbar-nav navbar-right">
+ <li><a href="./../">Home</a></li>
+ <li><a href="./../download/">Download</a></li>
+ <li><a href="./../doc/">Documentation</a></li>
+ <li><a href="./../community/">Community</a></li>
+ <li><a href="./../blog">Blog</a></li>
+ </ul>
+ </div><!-- /#cassandra-menu -->
+
+
+ </div>
+ </nav><!-- /.navbar -->
+</div><!-- /.topnav -->
+
+ <div class="content">
+ <div class="container">
+ <h2>Apache Cassandra Blog</h2>
+<p>Have something to share with the community? Let us know on the <a
href="http://cassandra.apache.org/community/#mailing">mailing list</a>!</p>
+
+
+ <ul class="blog-post-listing">
+
+ <li class="blog-post">
+ <h4><a
href="/blog/2018/08/07/faster_streaming_in_cassandra.html">Hardware-bound Zero
Copy Streaming in Apache Cassandra 4.0</a></h4>
+ <p>Posted on August 07, 2018 by The Apache Cassandra Community</p>
+ <p>Streaming in Apache Cassandra powers host replacement, range
movements, and cluster expansions. Streaming plays a crucial role in the
cluster and as such its performance is key to not only the speed of the
operations its used in but the clusterâs health generally. In Apache
Cassandra 4.0, we have introduced an improved streaming implementation that
reduces GC pressure and increases throughput several folds and are now limited,
in some cases, only by the disk / network IO (See: <a
href="https://issues.apache.org/jira/browse/CASSANDRA-14556">CASSANDRA-14556</a>).</p>
+
+
+ <h5><a
href="/blog/2018/08/07/faster_streaming_in_cassandra.html">Read more
»</a></h5>
+ </li>
+
+ </ul>
+
+
+ </div>
+</div>
+
+ <hr />
+
+<footer>
+ <div class="container">
+ <div class="col-md-4 social-blk">
+ <span class="social">
+ <a href="https://twitter.com/cassandra"
+ class="twitter-follow-button"
+ data-show-count="false" data-size="large">Follow @cassandra</a>
+ <script>!function(d,s,id){var
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,
'script', 'twitter-wjs');</script>
+ <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
+ class="twitter-hashtag-button"
+ data-size="large"
+ data-related="ApacheCassandra">Tweet #cassandra</a>
+ <script>!function(d,s,id){var
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,
'script', 'twitter-wjs');</script>
+ </span>
+ </div>
+
+ <div class="col-md-8 trademark">
+ <p>© 2016 <a href="http://apache.org">The Apache Software
Foundation</a>.
+ Apache, the Apache feather logo, and Apache Cassandra are trademarks of
The Apache Software Foundation.
+ <p>
+ </div>
+ </div><!-- /.container -->
+</footer>
+
+<!-- Javascript. Placed here so pages load faster -->
+<script
src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+<script src="./../js/underscore-min.js"></script>
+<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
crossorigin="anonymous"></script>
+
+
+
+<script type="text/javascript">
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." :
"http://www.");
+ document.write(unescape("%3Cscript src='" + gaJsHost +
"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+
+ try {
+ var pageTracker = _gat._getTracker("UA-11583863-1");
+ pageTracker._trackPageview();
+ } catch(err) {}
+</script>
+
+
+ </body>
+</html>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]