Please use this identifier to cite or link to this item: http://hdl.handle.net/1893/30034
Full metadata record
DC FieldValueLanguage
dc.contributor.authorStewart, Roberten_UK
dc.contributor.authorMaier, Patricken_UK
dc.contributor.authorTrinder, Philen_UK
dc.date.accessioned2019-08-28T12:55:48Z-
dc.date.available2019-08-28T12:55:48Z-
dc.date.issued2016en_UK
dc.identifier.othere5en_UK
dc.identifier.urihttp://hdl.handle.net/1893/30034-
dc.description.abstractReliability is set to become a major concern on emergent large-scale architectures. While there are many parallel languages, and indeed many parallel functional languages, very few address reliability. The notable exception is the widely emulated Erlang distributed actor model that provides explicit supervision and recovery of actors with isolated state. We investigate scalable transparent fault tolerant functional computation with automatic supervision and recovery of tasks. We do so by developing HdpH-RS, a variant of the Haskell distributed parallel Haskell (HdpH) DSL with Reliable Scheduling. Extending the distributed work stealing protocol of HdpH for task supervision and recovery is challenging. To eliminate elusive concurrency bugs, we validate the HdpH-RS work stealing protocol using the SPIN model checker. HdpH-RS differs from the actor model in that its principal entities are tasks, i.e. independent stateless computations, rather than isolated stateful actors. Thanks to statelessness, fault recovery can be performed automatically and entirely hidden in the HdpH-RS runtime system. Statelessness is also key for proving a crucial property of the semantics of HdpH-RS: fault recovery does not change the result of the program, akin to deterministic parallelism. HdpH-RS provides a simple distributed fork/join-style programming model, with minimal exposure of fault tolerance at the language level, and a library of higher level abstractions such as algorithmic skeletons. In fact, the HdpH-RS DSL is exactly the same as the HdpH DSL, hence users can opt in or out of fault tolerant execution without any refactoring. Computations in HdpH-RS are always as reliable as the root node, no matter how many nodes and cores are actually used. We benchmark HdpH-RS on conventional clusters and an High Performance Computing platform: all benchmarks survive Chaos Monkey random fault injection; the system scales well e.g. up to 1,400 cores on the High Performance Computing; reliability and recovery overheads are consistently low even at scale.en_UK
dc.language.isoenen_UK
dc.publisherCambridge University Press (CUP)en_UK
dc.relationStewart R, Maier P & Trinder P (2016) Transparent fault tolerance for scalable functional computation. Journal of Functional Programming, 26, Art. No.: e5. https://doi.org/10.1017/s095679681600006xen_UK
dc.rightsThis article has been published in a revised form in Journal of Functional Programming https://doi.org/10.1017/s095679681600006x. This version is free to view and download for private research and study only. Not for re-distribution, re-sale or use in derivative works. © Cambridge University Press 2016.en_UK
dc.subjectSoftwareen_UK
dc.titleTransparent fault tolerance for scalable functional computationen_UK
dc.typeJournal Articleen_UK
dc.identifier.doi10.1017/s095679681600006xen_UK
dc.citation.jtitleJournal of Functional Programmingen_UK
dc.citation.issn1469-7653en_UK
dc.citation.issn0956-7968en_UK
dc.citation.volume26en_UK
dc.citation.publicationstatusPublisheden_UK
dc.citation.peerreviewedRefereeden_UK
dc.type.statusAM - Accepted Manuscripten_UK
dc.contributor.funderEngineering and Physical Sciences Research Councilen_UK
dc.contributor.funderEngineering and Physical Sciences Research Councilen_UK
dc.contributor.funderEngineering and Physical Sciences Research Councilen_UK
dc.author.emailpatrick.maier@stir.ac.uken_UK
dc.citation.date17/03/2016en_UK
dc.contributor.affiliationHeriot-Watt Universityen_UK
dc.contributor.affiliationUniversity of Glasgowen_UK
dc.contributor.affiliationUniversity of Glasgowen_UK
dc.identifier.isiWOS:000373001500001en_UK
dc.identifier.scopusid2-s2.0-84961223387en_UK
dc.identifier.wtid1428029en_UK
dc.contributor.orcid0000-0002-7051-8169en_UK
dc.date.accepted2016-01-23en_UK
dcterms.dateAccepted2016-01-23en_UK
dc.date.filedepositdate2019-08-15en_UK
rioxxterms.apcnot requireden_UK
rioxxterms.typeJournal Article/Reviewen_UK
rioxxterms.versionAMen_UK
local.rioxx.authorStewart, Robert|en_UK
local.rioxx.authorMaier, Patrick|0000-0002-7051-8169en_UK
local.rioxx.authorTrinder, Phil|en_UK
local.rioxx.projectProject ID unknown|Engineering and Physical Sciences Research Council|http://dx.doi.org/10.13039/501100000266en_UK
local.rioxx.freetoreaddate2019-08-19en_UK
local.rioxx.licencehttp://www.rioxx.net/licenses/all-rights-reserved|2019-08-19|en_UK
local.rioxx.filenameStewart_Maier_Trinder_JFP2016_preprint.pdfen_UK
local.rioxx.filecount1en_UK
local.rioxx.source1469-7653en_UK
Appears in Collections:Computing Science and Mathematics Journal Articles

Files in This Item:
File Description SizeFormat 
Stewart_Maier_Trinder_JFP2016_preprint.pdfFulltext - Accepted Version456.86 kBAdobe PDFView/Open


This item is protected by original copyright



Items in the Repository are protected by copyright, with all rights reserved, unless otherwise indicated.

The metadata of the records in the Repository are available under the CC0 public domain dedication: No Rights Reserved https://creativecommons.org/publicdomain/zero/1.0/

If you believe that any material held in STORRE infringes copyright, please contact library@stir.ac.uk providing details and we will remove the Work from public display in STORRE and investigate your claim.