title: Distributed Python On Multi Machine Cluster
body: <p>Following is the Requirement -:</p>
  
  <pre><code>class MultiMachineDoWork:
  
      def Function1(self, A, B):  
          return A+B
  
      def Function2(self, A, B):  
          return A*B 
  
      def Function3(self, A, B):  
          return A**B  
  
      def Function4():  
          X = MultiMachineDoWork.Function1(5,10)
          Y = MultiMachineDoWork.Function2(5,10)
          Z = MultiMachineDoWork.Function3(5,10)
          return X+Y+Z
  </code></pre>
  
  <p>Assuming that Function1,Function2 &amp; Function3 take very long time each,its better to run them on distributed model in parallel on Machine L,M &amp; N respectively.
  And Function 4 can run on Machine P which can collect the results and combine.</p>
  
  <p>MapReduce Works on some sort of similar concept but runs <strong>same function on different part of Data</strong>...
  Can Dask / Ray / Celery be of any use in this case study...</p>
  
  <p>If custom solution has to be built,what and how should the solution proceed...</p>
  
  <p>Pydoop/Spark With Dask Local Cluster?</p>
  
  <hr>
  
  <p>Real Life Case Study - Ensemble Model For ML Classification.One Function For RandomForest,One For Support Vector &amp; Once For XGBoost.All running on same dataset...</p>