Dissertation/ Thesis

Structured arrows : a type-based framework for structured parallelism

Λεπτομέρειες βιβλιογραφικής εγγραφής
Τίτλος: Structured arrows : a type-based framework for structured parallelism
Συγγραφείς: Castro, David
Συνεισφορές: Hammond, Kevin
Στοιχεία εκδότη: University of St Andrews, 2018.
Έτος έκδοσης: 2018
Θεματικοί όροι: 005.3, Parallel computing, Algorithmic skeletons, Structured recursion, Hylomorphisms, Type and effect systems, Cost models, QA76.642C2, Parallel programs (Computer programs), Parallel programs (Computer programs)--Verification, Parallel programs (Computer programs)--Costs
Περιγραφή: This thesis deals with the important problem of parallelising sequential code. Despite the importance of parallelism in modern computing, writing parallel software still relies on many low-level and often error-prone approaches. These low-level approaches can lead to serious execution problems such as deadlocks and race conditions. Due to the non-deterministic behaviour of most parallel programs, testing parallel software can be both tedious and time-consuming. A way of providing guarantees of correctness for parallel programs would therefore provide significant benefit. Moreover, even if we ignore the problem of correctness, achieving good speedups is not straightforward, since this generally involves rewriting a program to consider a (possibly large) number of alternative parallelisations. This thesis argues that new languages and frameworks are needed. These language and frameworks must not only support high-level parallel programming constructs, but must also provide predictable cost models for these parallel constructs. Moreover, they need to be built around solid, well-understood theories that ensure that: (a) changes to the source code will not change the functional behaviour of a program, and (b) the speedup obtained by doing the necessary changes is predictable. Algorithmic skeletons are parametric implementations of common patterns of parallelism that provide good abstractions for creating new high-level languages, and also support frameworks for parallel computing that satisfy the correctness and predictability requirements that we require. This thesis presents a new type-based framework, based on the connection between structured parallelism and structured patterns of recursion, that provides parallel structures as type abstractions that can be used to statically parallelise a program. Specifically, this thesis exploits hylomorphisms as a single, unifying construct to represent the functional behaviour of parallel programs, and to perform correct code rewritings between alternative parallel implementations, represented as algorithmic skeletons. This thesis also defines a mechanism for deriving cost models for parallel constructs from a queue-based operational semantics. In this way, we can provide strong static guarantees about the correctness of a parallel program, while simultaneously achieving predictable speedups.
Τύπος εγγράφου: Thesis Or Dissertation
Γλώσσα: English
Σύνδεσμος πρόσβασης: https://ethos.blethoshyku.com/concern/thesis_or_dissertations/759337
Αριθμός Καταχώρησης: edsble.759337
Βάση Δεδομένων: British Library EThOS
FullText Text:
  Availability: 0
CustomLinks:
  – Url: https://ethos.blethoshyku.com/concern/thesis_or_dissertations/759337
    Name: EDS - British Library EThOS (ns324271)
    Category: fullText
    Text: View record in EThOS
Header DbId: edsble
DbLabel: British Library EThOS
An: edsble.759337
RelevancyScore: 952
AccessLevel: 3
PubType: Dissertation/ Thesis
PubTypeId: dissertation
PreciseRelevancyScore: 952.436645507813
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Structured arrows : a type-based framework for structured parallelism
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Castro%2C+David%22">Castro, David</searchLink>
– Name: Author
  Label: Contributors
  Group: Au
  Data: Hammond, Kevin
– Name: Publisher
  Label: Publisher Information
  Group: PubInfo
  Data: University of St Andrews, 2018.
– Name: DatePubCY
  Label: Publication Year
  Group: Date
  Data: 2018
– Name: Subject
  Label: Subject Terms
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22005%2E3%22">005.3</searchLink><br /><searchLink fieldCode="DE" term="%22Parallel+computing%22">Parallel computing</searchLink><br /><searchLink fieldCode="DE" term="%22Algorithmic+skeletons%22">Algorithmic skeletons</searchLink><br /><searchLink fieldCode="DE" term="%22Structured+recursion%22">Structured recursion</searchLink><br /><searchLink fieldCode="DE" term="%22Hylomorphisms%22">Hylomorphisms</searchLink><br /><searchLink fieldCode="DE" term="%22Type+and+effect+systems%22">Type and effect systems</searchLink><br /><searchLink fieldCode="DE" term="%22Cost+models%22">Cost models</searchLink><br /><searchLink fieldCode="DE" term="%22QA76%2E642C2%22">QA76.642C2</searchLink><br /><searchLink fieldCode="DE" term="%22Parallel+programs+%28Computer+programs%29%22">Parallel programs (Computer programs)</searchLink><br /><searchLink fieldCode="DE" term="%22Parallel+programs+%28Computer+programs%29--Verification%22">Parallel programs (Computer programs)--Verification</searchLink><br /><searchLink fieldCode="DE" term="%22Parallel+programs+%28Computer+programs%29--Costs%22">Parallel programs (Computer programs)--Costs</searchLink>
– Name: Abstract
  Label: Description
  Group: Ab
  Data: This thesis deals with the important problem of parallelising sequential code. Despite the importance of parallelism in modern computing, writing parallel software still relies on many low-level and often error-prone approaches. These low-level approaches can lead to serious execution problems such as deadlocks and race conditions. Due to the non-deterministic behaviour of most parallel programs, testing parallel software can be both tedious and time-consuming. A way of providing guarantees of correctness for parallel programs would therefore provide significant benefit. Moreover, even if we ignore the problem of correctness, achieving good speedups is not straightforward, since this generally involves rewriting a program to consider a (possibly large) number of alternative parallelisations. This thesis argues that new languages and frameworks are needed. These language and frameworks must not only support high-level parallel programming constructs, but must also provide predictable cost models for these parallel constructs. Moreover, they need to be built around solid, well-understood theories that ensure that: (a) changes to the source code will not change the functional behaviour of a program, and (b) the speedup obtained by doing the necessary changes is predictable. Algorithmic skeletons are parametric implementations of common patterns of parallelism that provide good abstractions for creating new high-level languages, and also support frameworks for parallel computing that satisfy the correctness and predictability requirements that we require. This thesis presents a new type-based framework, based on the connection between structured parallelism and structured patterns of recursion, that provides parallel structures as type abstractions that can be used to statically parallelise a program. Specifically, this thesis exploits hylomorphisms as a single, unifying construct to represent the functional behaviour of parallel programs, and to perform correct code rewritings between alternative parallel implementations, represented as algorithmic skeletons. This thesis also defines a mechanism for deriving cost models for parallel constructs from a queue-based operational semantics. In this way, we can provide strong static guarantees about the correctness of a parallel program, while simultaneously achieving predictable speedups.
– Name: TypeDocument
  Label: Document Type
  Group: TypDoc
  Data: Thesis Or Dissertation
– Name: Language
  Label: Language
  Group: Lang
  Data: English
– Name: URL
  Label: Access URL
  Group: URL
  Data: <link linkTarget="URL" linkTerm="https://ethos.blethoshyku.com/concern/thesis_or_dissertations/759337" linkWindow="_blank">https://ethos.blethoshyku.com/concern/thesis_or_dissertations/759337</link>
– Name: AN
  Label: Accession Number
  Group: ID
  Data: edsble.759337
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsble&AN=edsble.759337
RecordInfo BibRecord:
  BibEntity:
    Languages:
      – Text: English
    Subjects:
      – SubjectFull: 005.3
        Type: general
      – SubjectFull: Parallel computing
        Type: general
      – SubjectFull: Algorithmic skeletons
        Type: general
      – SubjectFull: Structured recursion
        Type: general
      – SubjectFull: Hylomorphisms
        Type: general
      – SubjectFull: Type and effect systems
        Type: general
      – SubjectFull: Cost models
        Type: general
      – SubjectFull: QA76.642C2
        Type: general
      – SubjectFull: Parallel programs (Computer programs)
        Type: general
      – SubjectFull: Parallel programs (Computer programs)--Verification
        Type: general
      – SubjectFull: Parallel programs (Computer programs)--Costs
        Type: general
    Titles:
      – TitleFull: Structured arrows : a type-based framework for structured parallelism
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Castro, David
      – PersonEntity:
          Name:
            NameFull: Hammond, Kevin
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 01
              Type: published
              Y: 2018
          Identifiers:
            – Type: issn-locals
              Value: edsble
ResultId 1