diff --git a/Framework/Algorithms/inc/MantidAlgorithms/MultipleScatteringCylinderAbsorption.h b/Framework/Algorithms/inc/MantidAlgorithms/MultipleScatteringCylinderAbsorption.h
index 68a30583a3615e34d013f6c9e16e683c3dca44c8..ab2190f5bf9fa46fadddf2d3a6e49d054f002728 100644
--- a/Framework/Algorithms/inc/MantidAlgorithms/MultipleScatteringCylinderAbsorption.h
+++ b/Framework/Algorithms/inc/MantidAlgorithms/MultipleScatteringCylinderAbsorption.h
@@ -1,10 +1,7 @@
 #ifndef MANTID_ALGORITHM_MULTIPLE_SCATTERING_ABSORPTION_H_
 #define MANTID_ALGORITHM_MULTIPLE_SCATTERING_ABSORPTION_H_
 
-//----------------------------------------------------------------------
-// Includes
-//----------------------------------------------------------------------
-#include "MantidAPI/Algorithm.h"
+#include "MantidAPI/DistributedAlgorithm.h"
 #include <vector>
 
 namespace Mantid {
@@ -44,7 +41,8 @@ namespace Algorithms {
                   <https://github.com/mantidproject/mantid>
     Code Documentation is available at: <http://doxygen.mantidproject.org>
  */
-class DLLExport MultipleScatteringCylinderAbsorption : public API::Algorithm {
+class DLLExport MultipleScatteringCylinderAbsorption
+    : public API::DistributedAlgorithm {
 public:
   /// Algorithm's name for identification overriding a virtual method
   const std::string name() const override;
diff --git a/Framework/Algorithms/inc/MantidAlgorithms/NormaliseByCurrent.h b/Framework/Algorithms/inc/MantidAlgorithms/NormaliseByCurrent.h
index 6bb98e6ed6d0ed2c423856b5d5103322d91a7619..c41872d84f016b308ff7653a6b127eee2d2dbf39 100644
--- a/Framework/Algorithms/inc/MantidAlgorithms/NormaliseByCurrent.h
+++ b/Framework/Algorithms/inc/MantidAlgorithms/NormaliseByCurrent.h
@@ -1,10 +1,7 @@
 #ifndef MANTID_ALGORITHMS_NORMALISEBYCURRENT_H_
 #define MANTID_ALGORITHMS_NORMALISEBYCURRENT_H_
 
-//----------------------------------------------------------------------
-// Includes
-//----------------------------------------------------------------------
-#include "MantidAPI/Algorithm.h"
+#include "MantidAPI/DistributedAlgorithm.h"
 #include <boost/shared_ptr.hpp>
 namespace Mantid {
 namespace API {
@@ -50,7 +47,7 @@ namespace Algorithms {
     File change history is stored at: <https://github.com/mantidproject/mantid>
     Code Documentation is available at: <http://doxygen.mantidproject.org>
 */
-class DLLExport NormaliseByCurrent : public API::Algorithm {
+class DLLExport NormaliseByCurrent : public API::DistributedAlgorithm {
 public:
   /// Algorithm's name for identification overriding a virtual method
   const std::string name() const override { return "NormaliseByCurrent"; }
diff --git a/Framework/Algorithms/inc/MantidAlgorithms/RenameWorkspace.h b/Framework/Algorithms/inc/MantidAlgorithms/RenameWorkspace.h
index 2f6d4fa95e5fece4686cdf7261e8667d36c392a9..fcde2879ca7e806c156052801f926bd8ff3b8bf5 100644
--- a/Framework/Algorithms/inc/MantidAlgorithms/RenameWorkspace.h
+++ b/Framework/Algorithms/inc/MantidAlgorithms/RenameWorkspace.h
@@ -1,10 +1,7 @@
 #ifndef MANTID_ALGORITHMS_RENAMEWORKSPACE_H_
 #define MANTID_ALGORITHMS_RENAMEWORKSPACE_H_
 
-//----------------------------------------------------------------------
-// Includes
-//----------------------------------------------------------------------
-#include "MantidAPI/Algorithm.h"
+#include "MantidAPI/DistributedAlgorithm.h"
 
 namespace Mantid {
 namespace Algorithms {
@@ -41,7 +38,7 @@ namespace Algorithms {
 
     Code Documentation is available at: <http://doxygen.mantidproject.org>
  */
-class DLLExport RenameWorkspace : public API::Algorithm {
+class DLLExport RenameWorkspace : public API::DistributedAlgorithm {
 public:
   /// Algorithm's name for identification overriding a virtual method
   const std::string name() const override { return "RenameWorkspace"; }
diff --git a/Framework/DataHandling/inc/MantidDataHandling/SaveFocusedXYE.h b/Framework/DataHandling/inc/MantidDataHandling/SaveFocusedXYE.h
index b980b8be1664e240e67cfa41402288bf2472a409..7da884dc5cc1a1ccb0a96fc34134e3610d61e89f 100644
--- a/Framework/DataHandling/inc/MantidDataHandling/SaveFocusedXYE.h
+++ b/Framework/DataHandling/inc/MantidDataHandling/SaveFocusedXYE.h
@@ -1,10 +1,7 @@
 #ifndef DATAHANDING_SAVEFOCUSEDXYE_H_
 #define DATAHANDING_SAVEFOCUSEDXYE_H_
 
-//---------------------------------------------------
-// Includes
-//---------------------------------------------------
-#include "MantidAPI/Algorithm.h"
+#include "MantidAPI/SerialAlgorithm.h"
 
 namespace Mantid {
 namespace DataHandling {
@@ -58,11 +55,9 @@ namespace DataHandling {
      File change history is stored at: <https://github.com/mantidproject/mantid>
      Code Documentation is available at: <http://doxygen.mantidproject.org>
   */
-class DLLExport SaveFocusedXYE : public API::Algorithm {
+class DLLExport SaveFocusedXYE : public API::SerialAlgorithm {
 public:
   enum HeaderType { XYE, MAUD, TOPAS };
-  /// Constructor
-  SaveFocusedXYE();
   /// Algorithm's name
   const std::string name() const override { return "SaveFocusedXYE"; }
   /// Summary of algorithms purpose
@@ -116,7 +111,7 @@ private:
                           int perioidNum) override;
 
   /// Header type
-  HeaderType m_headerType;
+  HeaderType m_headerType{XYE};
   /// Comment character
   std::string m_comment;
 };
diff --git a/Framework/DataHandling/inc/MantidDataHandling/SaveGSS.h b/Framework/DataHandling/inc/MantidDataHandling/SaveGSS.h
index 712f64c0bcdb63c50020b5ba33d5a5dc0c10c7c0..adb8cdd17c6b216b5aa54f78d3a0ec6be1038f8c 100644
--- a/Framework/DataHandling/inc/MantidDataHandling/SaveGSS.h
+++ b/Framework/DataHandling/inc/MantidDataHandling/SaveGSS.h
@@ -1,10 +1,7 @@
 #ifndef DATAHANDING_SAVEGSS_H_
 #define DATAHANDING_SAVEGSS_H_
 
-//---------------------------------------------------
-// Includes
-//---------------------------------------------------
-#include "MantidAPI/Algorithm.h"
+#include "MantidAPI/SerialAlgorithm.h"
 #include "MantidAPI/SpectrumInfo.h"
 #include "MantidAPI/Run.h"
 #include "MantidKernel/System.h"
@@ -71,10 +68,8 @@ namespace DataHandling {
      File change history is stored at: <https://github.com/mantidproject/mantid>
      Code Documentation is available at: <http://doxygen.mantidproject.org>
   */
-class DLLExport SaveGSS : public Mantid::API::Algorithm {
+class DLLExport SaveGSS : public Mantid::API::SerialAlgorithm {
 public:
-  /// Constructor
-  SaveGSS();
   /// Algorithm's name
   const std::string name() const override { return "SaveGSS"; }
   /// Summary of algorithms purpose
diff --git a/Framework/DataHandling/inc/MantidDataHandling/SetSampleMaterial.h b/Framework/DataHandling/inc/MantidDataHandling/SetSampleMaterial.h
index cc9a5006a3a160903545066457ba842ecf1581b6..a4e0461fdbeb365bb0973f075337011b1297afab 100644
--- a/Framework/DataHandling/inc/MantidDataHandling/SetSampleMaterial.h
+++ b/Framework/DataHandling/inc/MantidDataHandling/SetSampleMaterial.h
@@ -1,10 +1,7 @@
 #ifndef MANTID_DATAHANDLING_SetSampleMaterial_H_
 #define MANTID_DATAHANDLING_SetSampleMaterial_H_
 
-//--------------------------------
-// Includes
-//--------------------------------
-#include "MantidAPI/Algorithm.h"
+#include "MantidAPI/DistributedAlgorithm.h"
 #include "MantidKernel/NeutronAtom.h"
 
 namespace Mantid {
@@ -39,7 +36,7 @@ namespace DataHandling {
     File change history is stored at: <https://github.com/mantidproject/mantid>
     Code Documentation is available at: <http://doxygen.mantidproject.org>
 */
-class DLLExport SetSampleMaterial : public Mantid::API::Algorithm {
+class DLLExport SetSampleMaterial : public Mantid::API::DistributedAlgorithm {
 public:
   /// Algorithm's name
   const std::string name() const override;
diff --git a/Framework/DataHandling/src/SaveFocusedXYE.cpp b/Framework/DataHandling/src/SaveFocusedXYE.cpp
index 2375ad1321604940bd32e49e496826ce26f452fd..cd63e3462396de38db1139e1b49ce61caa6cfc5a 100644
--- a/Framework/DataHandling/src/SaveFocusedXYE.cpp
+++ b/Framework/DataHandling/src/SaveFocusedXYE.cpp
@@ -18,8 +18,6 @@ using namespace Mantid::DataHandling;
 // Register the algorithm into the AlgorithmFactory
 DECLARE_ALGORITHM(SaveFocusedXYE)
 
-SaveFocusedXYE::SaveFocusedXYE() : API::Algorithm(), m_headerType(XYE) {}
-
 /**
  * Initialise the algorithm
  */
diff --git a/Framework/DataHandling/src/SaveGSS.cpp b/Framework/DataHandling/src/SaveGSS.cpp
index 66a5ec500d2ed59e5aa232dc95b6054f40b7a46d..8ae01d013e12c6bad427b958b486af2f94f43cee 100644
--- a/Framework/DataHandling/src/SaveGSS.cpp
+++ b/Framework/DataHandling/src/SaveGSS.cpp
@@ -96,9 +96,6 @@ void writeBankHeader(std::stringstream &out, const std::string &bintype,
 }
 } // End of anonymous namespace
 
-// Constructor
-SaveGSS::SaveGSS() : Mantid::API::Algorithm() {}
-
 // Initialise the algorithm
 void SaveGSS::init() {
   declareProperty(Kernel::make_unique<API::WorkspaceProperty<>>(
diff --git a/dev-docs/source/AlgorithmMPISupport.rst b/dev-docs/source/AlgorithmMPISupport.rst
index 2ec9ed259c9443c82c23286b08b0d55921a32aec..f057f08c116f29db623a990fdffdd0c7741d2a0b 100644
--- a/dev-docs/source/AlgorithmMPISupport.rst
+++ b/dev-docs/source/AlgorithmMPISupport.rst
@@ -589,7 +589,9 @@ MaskDetectorsInShape                   all
 MaskSpectra                            all
 Minus                                  all                     see ``BinaryOperation``
 MoveInstrumentComponent                all
+MultipleScatteringCylinderAbsorption   all
 Multiply                               all                     see ``BinaryOperation``
+NormaliseByCurrent                     all
 OneMinusExponentialCor                 all                     see ``UnaryOperation``
 PDDetermineCharacterizations           all
 PDLoadCharacterizations                Identical
@@ -603,6 +605,7 @@ RealFFT                                MasterOnly, Identical
 Rebin                                  all
 RebinToWorkspace                       all                     ``WorkspaceToMatch`` must have ``StorageMode::Cloned``
 RemovePromptPulse                      all
+RenameWorkspace                        all
 ReplaceSpecialValues                   all                     see ``UnaryOperation``
 RotateInstrumentComponent              all
 SANSCalculateTransmission              MasterOnly, Identical
@@ -622,9 +625,12 @@ SANSScale                              all
 SANSSingleReduction                    all
 SANSSliceEvent                         all
 SANSStitch                             MasterOnly, Identical
+SaveFocusedXYE                         MasterOnly
+SaveGSS                                MasterOnly
 SaveNexus                              MasterOnly
 SaveNexusProcessed                     MasterOnly
 Scale                                  all
+SetSampleMaterial                      all
 SetUncertainties                       MasterOnly, Identical
 SignalOverError                        all                     see ``UnaryOperation``
 SNSPowderReduction                     Distributed