<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"/>
  <title>Gearpump Internals - Gearpump 0.7.4 Documentation</title>
  
   <meta name="description" content="Gearpump Internals">
  

  

  <link rel="stylesheet" href="css/bootstrap-3.3.5.min.css">
  <style>
    body {
      padding-top: 60px;
      padding-bottom: 40px;
    }
  </style>
  <link rel="stylesheet" href="css/main.css">
  <link rel="stylesheet" href="css/pygments-default.css">
  <script src="js/vendor/modernizr-2.6.1-respond-1.1.0.min.js"></script>
</head>
<body>
  <!--[if lt IE 7]>
    <p class="chromeframe">You are using an outdated browser. <a href="http://browsehappy.com/">Upgrade your browser today</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to better experience this site.</p>
  <![endif]-->

  <div class="navbar navbar-inverse navbar-fixed-top" id="topbar">
    <div class="container">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
          <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="http://gearpump.io">Gearpump
          <span class="label label-primary" style="font-size: .6em">0.7.4</span>
        </a>
      </div>
      <div id="navbar" class="collapse navbar-collapse">
        <ul class="nav navbar-nav">
          <li><a href="index.html">Overview</a></li>

          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Introduction<b class="caret"></b></a>
            <ul class="dropdown-menu">
              <li><a href="submit-your-1st-application.html">Submit Your 1st Application</a></li>
              <li><a href="commandline.html">Client Command Line</a></li>
              <li class="divider"></li>
              <li><a href="basic-concepts.html">Basic Concepts</a></li>
              <li><a href="features.html">Technical Highlights</a></li>
              <li><a href="message-delivery.html">Reliable Message Delivery</a></li>
              <li><a href="performance-report.html">Performance</a></li>
              <li><a href="gearpump-internals.html">Gearpump Internals</a></li>
            </ul>
          </li>

          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Deploying<b class="caret"></b></a>
            <ul class="dropdown-menu">
              <li class="dropdown-header">Deployment</li>
              <li><a href="deployment-local.html">Local Mode</a><li>
              <li><a href="deployment-standalone.html">Standalone Mode</a></li>
              <li><a href="deployment-yarn.html">YARN Mode</a></li>
              <li><a href="deployment-docker.html">Docker Mode</a><li>
              <li class="divider"></li>
              <li><a href="deployment-ui-authentication.html">UI Authentication</a></li>
              <li><a href="deployment-ha.html">High Availability</a></li>
              <li><a href="deployment-msg-delivery.html">Reliable Message Delivery</a></li>
              <li><a href="deployment-configuration.html">Configuration</a></li>
              <li class="divider"></li>
              <li><a href="deployment-security.html">YARN Security Guide</a></li>
            </ul>
          </li>

          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Programming Guide<b class="caret"></b></a>
            <ul class="dropdown-menu">
              <li><a href="dev-write-1st-app.html">Write Your 1st App</a></li>
              <li><a href="dev-custom-serializer.html">Customized Message Passing</a></li>
              <li class="divider"></li>
              <li><a href="api/scala/index.html">Scala API</a></li>
              <li><a href="api/java/index.html">Java API</a></li>
              <li><a href="dev-rest-api.html">RESTful API</a></li>
              <li class="divider"></li>
              <li><a href="dev-connectors.html">Gearpump Connectors</a></li>
              <li class="divider"></li>
              <li><a href="dev-storm.html">Storm Compatibility</a></li>
              <!--
              <li><a href="dev-samoa.html">Samoa Compatibility</a></li>
              <li class="divider"></li>
              <li><a href="dev-iot.html">Gearpump with IoT</a></li>
              -->
            </ul>
          </li>

          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">More<b class="caret"></b></a>
            <ul class="dropdown-menu">
              <li><a href="how-to-contribute.html">How to Contribute</a></li>
              <li><a href="coding-style.html">Coding Style</a></li>
              <li class="divider"></li>
              <li><a href="faq.html">FAQ</a><li>
              <li><a href="about.html">About</a></li>
            </ul>
          </li>
        </ul>
      </div>
    </div>
  </div>

  <div class="container" id="content">
   
    <h1 class="title">Gearpump Internals</h1>
   

   <h3 id="actor-hiearachy">Actor Hiearachy?</h3>

<p><img src="img/actor_hierarchy.png" alt="Actor Hierarchy" /></p>

<p>Everything in the diagram is an actor; they fall into two categories, Cluster Actors and Application Actors.</p>

<h4 id="cluster-actors">Cluster Actors</h4>

<p><strong>Worker</strong>: Maps to a physical worker machine. It is responsible for managing resources and report metrics on that machine.</p>

<p><strong>Master</strong>: Heart of the cluster, which manages workers, resources, and applications. The main function is delegated to three child actors, App Manager, Worker Manager, and Resource Scheduler.</p>

<h4 id="application-actors">Application Actors:</h4>

<p><strong>AppMaster</strong>: Responsible to schedule the tasks to workers and manage the state of the application. Different applications have different AppMaster instances and are isolated.</p>

<p><strong>Executor</strong>: Child of AppMaster, represents a JVM process. Its job is to manage the life cycle of tasks and recover the tasks in case of failure.</p>

<p><strong>Task</strong>: Child of Executor, does the real job. Every task actor has a global unique address. One task actor can send data to any other task actors. This gives us great flexibility of how the computation DAG is distributed.</p>

<p>All actors in the graph are weaved together with actor supervision, and actor watching and every error is handled properly via supervisors. In a master, a risky job is isolated and delegated to child actors, so it&#8217;s more robust. In the application, an extra intermediate layer &#8220;Executor&#8221; is created so that we can do fine-grained and fast recovery in case of task failure. A master watches the lifecycle of AppMaster and worker to handle the failures, but the life cycle of Worker and AppMaster are not bound to a Master Actor by supervision, so that Master node can fail independently.  Several Master Actors form an Akka cluster, the Master state is exchanged using the Gossip protocol in a conflict-free consistent way so that there is no single point of failure. With this hierarchy design, we are able to achieve high availability.</p>

<h3 id="application-clock-and-global-clock-service">Application Clock and Global Clock Service</h3>

<p>Global clock service will track the minimum time stamp of all pending messages in the system. Every task will update its own minimum-clock to global clock service; the minimum-clock of task is decided by the minimum of:</p>

<ul>
  <li>Minimum time stamp of all pending messages in the inbox.</li>
  <li>Minimum time stamp of all un-acked outgoing messages. When there is message loss, the minimum clock will not advance.</li>
  <li>Minimum clock of all task states. If the state is accumulated by a lot of input messages, then the clock value is decided by the oldest message&#8217;s timestamp. The state clock will advance by doing snapshots to persistent storage or by fading out the effect of old messages.</li>
</ul>

<p><img src="img/clock.png" alt="Clock" /></p>

<p>The global clock service will keep track of all task minimum clocks effectively and maintain a global view of minimum clock. The global minimum clock value is monotonically increasing; it means that all source messages before this clock value have been processed. If there is message loss or task crash, the global minimum clock will stop.</p>

<h3 id="how-do-we-optimize-the-message-passing-performance">How do we optimize the message passing performance?</h3>

<p>For streaming application, message passing performance is extremely important. For example, one streaming platform may need to process millions of messages per second with millisecond level latency. High throughput and low latency is not that easy to achieve. There are a number of challenges:</p>

<h4 id="first-challenge-network-is-not-efficient-for-small-messages">First Challenge: Network is not efficient for small messages</h4>

<p>In streaming, typical message size is very small, usually less than 100 bytes per message, like the floating car GPS data. But network efficiency is very bad when transferring small messages. As you can see in below diagram, when message size is 50 bytes, it can only use 20% bandwidth. How to improve the throughput?</p>

<p><img src="img/through_vs_message_size.png" alt="Throughput vs. Message Size" /></p>

<h4 id="second-challenge-message-overhead-is-too-big">Second Challenge: Message overhead is too big</h4>

<p>For each message sent between two actors, it contains sender and receiver actor path. When sending over the wire, the overhead of this ActorPath is not trivial. For example, the below actor path takes more than 200 bytes.</p>

<div class="highlight"><pre><code class="language-javascript"><span class="nx">akka</span><span class="p">.</span><span class="nx">tcp</span><span class="o">:</span><span class="c1">//system1@192.168.1.53:51582/remote/akka.tcp/2120193a-e10b-474e-bccb-8ebc4b3a0247@192.168.1.53:48948/remote/akka.tcp/system2@192.168.1.54:43676/user/master/Worker1/app_0_executor_0/group_1_task_0#-768886794</span></code></pre></div>

<h4 id="how-do-we-solve-this">How do we solve this?</h4>

<p>We implement a custom Netty transportation layer with Akka extension. In the below diagram, Netty Client will translate ActorPath to TaskId, and Netty Server will translate it back. Only TaskId will be passed on wire, it is only about 10 bytes, the overhead is minimized. Different Netty Client Actors are isolated; they will not block each other.</p>

<p><img src="img/netty_transport.png" alt="Netty Transport" /></p>

<p>For performance, effective batching is really the key! We group multiple messages to a single batch and send it on the wire. The batch size is not fixed; it is adjusted dynamically based on network status. If the network is available, we will flush pending messages immediately without waiting; otherwise we will put the message in a batch and trigger a timer to flush the batch later.</p>

<h3 id="how-do-we-do-flow-control">How do we do flow Control?</h3>

<p>Without flow control, one task can easily flood another task with too many messages, causing out of memory error. Typical flow control will use a TCP-like sliding window, so that source and target can run concurrently without blocking each other.</p>

<p><img src="img/flow_control.png" alt="Flow Control" />
Figure: Flow control, each task is &#8220;star&#8221; connected to input tasks and output tasks</p>

<p>The difficult part for our problem is that each task can have multiple input tasks and output tasks. The input and output must be geared together so that the back pressure can be properly propagated from downstream to upstream. The flow control also needs to consider failures, and it needs to be able to recover when there is message loss.
Another challenge is that the overhead of flow control messages can be big. If we ack every message, there will be huge amount of ack&#8217;d messages in the system, degrading streaming performance. The approach we adopted is to use explicit AckRequest message. The target tasks will only ack back when they receive the AckRequest message, and the source will only send AckRequest when it feels necessary. With this approach, we can largely reduce the overhead.</p>

<h3 id="how-do-we-detect-message-loss">How do we detect message loss?</h3>

<p>For example, for web ads, we may charge for every click, we don&#8217;t want to miscount.  The streaming platform needs to effectively track what messages have been lost, and recover as fast as possible.</p>

<p><img src="img/messageLoss.png" alt="Message Loss" />
Figure: Message Loss Detection</p>

<p>We use the flow control message AckRequest and Ack to detect message loss. The target task will count how many messages has been received since last AckRequest, and ack the count back to source task. The source task will check the count and find message loss.
This is just an illustration, the real case is more difficulty, we need to handle zombie tasks, and in-the-fly stale messages.</p>

<h3 id="how-gearpump-know-what-messages-to-replay">How Gearpump know what messages to replay?</h3>

<p>In some applications, a message cannot be lost, and must be replayed. For example, during the money transfer, the bank will SMS us the verification code. If that message is lost, the system must replay it so that money transfer can continue. We made the decision to use <strong>source end message storage</strong> and <strong>time stamp based replay</strong>.</p>

<p><img src="img/replay.png" alt="Replay" />
Figure: Replay with Source End Message Store</p>

<p>Every message is immutable, and tagged with a timestamp. We have an assumption that the timestamp is approximately incremental (allow small ratio message disorder).</p>

<p>We assume the message is coming from a replay-able source, like Kafka queue; otherwise the message will be stored at customizable source end &#8220;message store&#8221;. When the source task sends the message downstream, the timestamp and offset of the message is also check-pointed to offset-timestamp storage periodically. During recovery, the system will first retrieve the right time stamp and offset from the offset-timestamp storage, then it will replay the message store from that time stamp and offset. A Timestamp Filter will filter out old messages in case the message in message store is not strictly time-ordered.</p>

<h3 id="master-high-availability">Master High Availability</h3>

<p>In a distributed streaming system, any part can fail. The system must stay responsive and do recovery in case of errors.</p>

<p><img src="img/ha.png" alt="HA" />
Figure: Master High Availability</p>

<p>We use Akka clustering to implement the Master high availability. The cluster consists of several master nodes, but no worker nodes. With clustering facilities, we can easily detect and handle the failure of master node crash. The master state is replicated on all master nodes with the Typesafe akka-data-replication  library, when one master node crashes, another standby master will read the master state and take over. The master state contains the submission data of all applications. If one application dies, a master can use that state to recover that application. CRDT LwwMap  is used to represent the state; it is a hash map that can converge on distributed nodes without conflict. To have strong data consistency, the state read and write must happen on a quorum of master nodes.</p>

<h3 id="how-we-do-handle-failures">How we do handle failures?</h3>

<p>With Akka&#8217;s powerful actor supervision, we can implement a resilient system relatively easy. In Gearpump, different applications have a different AppMaster instance, they are totally isolated from each other. For each application, there is a supervision tree, AppMaster-&gt;Executor-&gt;Task. With this supervision hierarchy, we can free ourselves from the headache of zombie process, for example if AppMaster is down, Akka supervisor will ensure the whole tree is shutting down.</p>

<p>There are multiple possible failure scenarios</p>

<p><img src="img/failures.png" alt="Failures" />
Figure: Possible Failure Scenarios and Error Supervision Hierarchy</p>

<h4 id="what-happen-when-master-crash">What happen when Master Crash?</h4>

<p>When Master crash, other standby masters will be notified, they will resume the master state, and take over control. Worker and AppMaster will also be notified, They will trigger a process to find the new active master, until the resolution complete. If AppMaster or Worker cannot resolve a new Master in a time out, they will make suicide and kill themselves.</p>

<h4 id="what-happen-when-worker-crash">What happen When worker crash?</h4>

<p>When worker crash, the Master will get notified and stop scheduling new computation to this worker. All supervised executors on current worker will be killed, AppMaster can treat it as recovery of executor crash like <a href="#what-happen-when-executor-crash">What happen when executor crash?</a></p>

<h4 id="what-happen-when-appmaster-crash">What happen when AppMaster Crash?</h4>

<p>If a AppMaster crashes, Master will schedule a new resource to create a new AppMaster Instance elsewhere, and then the AppMaster will handle the recovery inside the application. For streaming, it will recover the latest min clock and other state from disk, request resources from master to start executors, and restart the tasks with recovered min clock.</p>

<h4 id="what-happen-when-executor-crash">What happen when executor crash?</h4>

<p>If an Executor Crashes, its supervisor AppMaster will get notified, and request a new resource from the active master to start a new executor, to run the tasks which were located on the crashed executor.</p>

<h4 id="what-happen-when-task-crash">What happen when task crash?</h4>

<p>If a task throws an exception, its supervisor executor will restart that Task.</p>

<p>When &#8220;at least once&#8221; message delivery is enabled, it will trigger the message replaying in the case of message loss. First AppMaster will read the latest minimum clock from the global clock service(or clock storage if the clock service crashes), then AppMaster will restart all the task actors to get a fresh task state, then the source end tasks will replay messages from that minimum clock.</p>

<h3 id="how-exactly-once-work">How exactly once work?</h3>

<p>For some applications, it is extremely important to do &#8220;exactly once&#8221; message delivery. For example, for a real-time billing system, we will not want to bill the customer twice. The goal of &#8220;exactly once&#8221; message delivery is to make sure:
  The error doesn&#8217;t accumulate, today&#8217;s error will not be accumulated to tomorrow.
  Transparent to application developer
We use global clock to synchronize the distributed transactions. We assume every message from the data source will have a unique timestamp, the timestamp can be a part of the message body, or can be attached later with system clock when the message is injected into the streaming system. With this global synchronized clock, we can coordinate all tasks to checkpoint at same timestamp.</p>

<p><img src="img/checkpointing.png" alt="Checkpoint" />
Figure: Checkpointing and Exactly-Once Message delivery</p>

<p>Workflow to do state checkpointing:</p>

<ol>
  <li>The coordinator asks the streaming system to do checkpoint at timestamp Tc.</li>
  <li>For each application task, it will maintain two states, checkpoint state and current state. Checkpoint state only contains information before timestamp Tc. Current state contains all information.</li>
  <li>When global minimum clock is larger than Tc, it means all messages older than Tc has been processed; the checkpoint state will no longer change, so we will then persist the checkpoint state to storage safely.</li>
  <li>When there is message loss, we will start the recovery process.</li>
  <li>To recover, load the latest checkpoint state from store, and then use it to restore the application status.</li>
  <li>Data source replays messages from the checkpoint timestamp.</li>
</ol>

<p>The checkpoint interval is determined by global clock service dynamically. Each data source will track the max timestamp of input messages. Upon receiving min clock updates, the data source will report the time delta back to global clock service. The max time delta is the upper bound of the application state timespan. The checkpoint interval is bigger than max delta time:</p>

<p><img src="img/checkpoint_equation.png" alt="Checkpoint Equation" /></p>

<p><img src="img/checkpointing_interval.png" alt="Checkpointing Interval" />
Figure: How to determine Checkpoint Interval</p>

<p>After the checkpoint interval is notified to tasks by global clock service, each task will calculate its next checkpoint timestamp autonomously without global synchronization.</p>

<p><img src="img/checkpoint_interval_equation.png" alt="Checkpoint Interval Equation" /></p>

<p>For each task, it contains two states, checkpoint state and current state. The code to update the state is shown in listing below.</p>

<div class="highlight"><pre><code class="language-python"><span class="n">TaskState</span><span class="p">(</span><span class="n">stateStore</span><span class="p">,</span> <span class="n">initialTimeStamp</span><span class="p">):</span>
  <span class="n">currentState</span> <span class="o">=</span> <span class="n">stateStore</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">initialTimeStamp</span><span class="p">)</span>
  <span class="n">checkpointState</span> <span class="o">=</span> <span class="n">currentState</span><span class="o">.</span><span class="n">clone</span>
  <span class="n">checkpointTimestamp</span> <span class="o">=</span> <span class="n">nextCheckpointTimeStamp</span><span class="p">(</span><span class="n">initialTimeStamp</span><span class="p">)</span>
<span class="n">onMessage</span><span class="p">(</span><span class="n">msg</span><span class="p">):</span>
  <span class="k">if</span> <span class="p">(</span><span class="n">msg</span><span class="o">.</span><span class="n">timestamp</span> <span class="o">&lt;</span> <span class="n">checkpointTimestamp</span><span class="p">):</span>
    <span class="n">checkpointState</span><span class="o">.</span><span class="n">updateMessage</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
  <span class="n">currentState</span><span class="o">.</span><span class="n">updateMessage</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>  
  <span class="n">maxClock</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">maxClock</span><span class="p">,</span> <span class="n">msg</span><span class="o">.</span><span class="n">timeStamp</span><span class="p">)</span>

<span class="n">onMinClock</span><span class="p">(</span><span class="n">minClock</span><span class="p">):</span>
  <span class="k">if</span> <span class="p">(</span><span class="n">minClock</span> <span class="o">&gt;</span> <span class="n">checkpointTimestamp</span><span class="p">):</span>
    <span class="n">stateStore</span><span class="o">.</span><span class="n">persist</span><span class="p">(</span><span class="n">checkpointState</span><span class="p">)</span>
    <span class="n">checkpointTimeStamp</span> <span class="o">=</span> <span class="n">nextCheckpointTimeStamp</span><span class="p">(</span><span class="n">maxClock</span><span class="p">)</span>
    <span class="n">checkpointState</span> <span class="o">=</span> <span class="n">currentState</span><span class="o">.</span><span class="n">clone</span>

<span class="n">onNewCheckpointInterval</span><span class="p">(</span><span class="n">newStep</span><span class="p">):</span>
  <span class="n">step</span> <span class="o">=</span> <span class="n">newStep</span>  
<span class="n">nextCheckpointTimeStamp</span><span class="p">(</span><span class="n">timestamp</span><span class="p">):</span>
  <span class="n">checkpointTimestamp</span> <span class="o">=</span> <span class="p">(</span><span class="mi">1</span> <span class="o">+</span> <span class="n">timestamp</span><span class="o">/</span><span class="n">step</span><span class="p">)</span> <span class="o">*</span> <span class="n">step</span></code></pre></div>

<p>List 1: Task Transactional State Implementation</p>

<h3 id="what-is-dynamic-graph-and-how-it-works">What is dynamic graph, and how it works?</h3>

<p>The DAG can be modified dynamically. We want to be able to dynamically add, remove, and replace a sub-graph.</p>

<p><img src="img/dynamic.png" alt="Dynamic DAG" />
Figure: Dynamic Graph, Attach, Replace, and Remove</p>

<h2 id="at-least-once-message-delivery-and-kafka">At least once message delivery and Kafka</h2>

<p>The Kafka source example project and tutorials can be found at:
- <a href="https://github.com/gearpump/gearpump/tree/master/examples/streaming/kafka">Kafka connector example project</a>
- <a href="dev-connectors.html">Connect with Kafka source</a></p>

<p>In this doc, we will talk about how the at least once message delivery works.</p>

<p>We will use the WordCount example of <a href="https://github.com/gearpump/gearpump/tree/master/examples/streaming/kafka">source tree</a>  to illustrate.</p>

<h3 id="how-the-kafka-wordcount-dag-looks-like">How the kafka WordCount DAG looks like:</h3>

<p>It contains three processors:
<img src="img/kafka_wordcount.png" alt="Kafka WordCount" /></p>

<ul>
  <li>KafkaStreamProducer(or KafkaSource) will read message from kafka queue.</li>
  <li>Split will split lines to words</li>
  <li>Sum will summarize the words to get a count for each word.</li>
</ul>

<h3 id="how-to-read-data-from-kafka">How to read data from Kafka</h3>

<p>We use KafkaSource, please check <a href="dev-connectors.html">Connect with Kafka source</a> for the introduction.</p>

<p>Please note that we have set a startTimestamp for the KafkaSource, which means KafkaSource will read from Kafka queue starting from messages whose timestamp is near startTimestamp.</p>

<h3 id="what-happen-where-there-is-task-crash-or-message-loss">What happen where there is Task crash or message loss?</h3>
<p>When there is message loss, the AppMaster will first pause the global clock service so that the global minimum timestamp no longer change, then it will restart the Kafka source tasks. Upon restart, Kafka Source will start to replay. It will first read the global minimum timestamp from AppMaster, and start to read message from that timestamp.</p>

<h3 id="what-method-kafkasource-used-to-read-messages-from-a-start-timestamp-as-we-know-kafka-queue-doesnt-expose-the-timestamp-information">What method KafkaSource used to read messages from a start timestamp? As we know Kafka queue doesn&#8217;t expose the timestamp information.</h3>

<p>Kafka queue only expose the offset information for each partition. What KafkaSource do is to maintain its own mapping from Kafka offset to  Application timestamp, so that we can map from a application timestamp to a Kafka offset, and replay Kafka messages from that Kafka offset.</p>

<p>The mapping between Application timestmap with Kafka offset is stored in a distributed file system or as a Kafka topic.</p>


  </div> <!-- /container -->

  <script src="js/vendor/jquery-2.1.4.min.js"></script>
  <script src="js/vendor/bootstrap-3.3.5.min.js"></script>
  <script src="js/vendor/anchor-1.1.1.min.js"></script>
  <script src="js/main.js"></script>

  <!-- MathJax Section -->
  <script type="text/x-mathjax-config">
    MathJax.Hub.Config({
      TeX: { equationNumbers: { autoNumber: "AMS" } }
    });
  </script>
  <script>
    // Note that we load MathJax this way to work with local file (file://), HTTP and HTTPS.
    // We could use "//cdn.mathjax...", but that won't support "file://".
    (function(d, script) {
      script = d.createElement('script');
      script.type = 'text/javascript';
      script.async = true;
      script.onload = function(){
        MathJax.Hub.Config({
          tex2jax: {
            inlineMath: [ ["$", "$"], ["\\\\(","\\\\)"] ],
            displayMath: [ ["$$","$$"], ["\\[", "\\]"] ],
            processEscapes: true,
            skipTags: ['script', 'noscript', 'style', 'textarea', 'pre']
          }
        });
      };
      script.src = ('https:' == document.location.protocol ? 'https://' : 'http://') +
        'cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML';
      d.getElementsByTagName('head')[0].appendChild(script);
    }(document));
  </script>
</body>
</html>
