Show simple item record

dc.contributor.authorHerhut, Stephan
dc.contributor.authorScholz, Sven-Bodo
dc.contributor.authorGrelck, Clemens
dc.date.accessioned2011-10-13T09:01:10Z
dc.date.available2011-10-13T09:01:10Z
dc.date.issued2009
dc.identifier.citationHerhut , S , Scholz , S-B & Grelck , C 2009 , Controlling chaos on safe side-effects in data-parallel operations . in Proceedings of the 4th workshop on Declarative aspects of multicore programming . ACM Press , pp. 59-67 , DAMP'09 , Savannah, Georgia , United States , 21/01/09 . https://doi.org/10.1145/1481839.1481847
dc.identifier.citationconference
dc.identifier.isbn978-1-60558-417-1
dc.identifier.otherPURE: 410573
dc.identifier.otherPURE UUID: b407e009-d201-46ae-b6fb-078b6d07ff83
dc.identifier.otherScopus: 67650686282
dc.identifier.urihttp://hdl.handle.net/2299/6676
dc.descriptionOriginal paper can be found at: http://dl.acm.org/ Copyright ACM [Full text of this conference paper is not available in the UHRA]
dc.description.abstractWith the rising variety of hardware designs for multi-core systems, the effectiveness in exploiting implicit concurrency of programs plays a more vital role for programming such systems than ever before. We believe that a combination of a data-parallel approach with a declarative programming-style is up to that task: Data-parallel approaches are known to enable compilers to make efficient use of multi-processors without requiring low-level program annotations. Combining the data-parallel approach with a declarative programming-style guarantees semantic equivalence between sequential and concurrent executions of data parallel operations. Furthermore, the side-effect free setting and explicit model of dependencies enables compilers to maximise the size of the data-parallel program sections. However, the strength of the rigidity of the declarative approach also constitutes its weakness: Being bound to observe all data dependencies categorically rules out the use of side-effecting operations within data-parallel sections. Not only does this limit the size of these regions in certain situations, but it may also hamper an effective workload distribution. Considering side effects such as plotting individual pixels of an image or output for debugging purposes, there are situations where a non-deterministic order of side-effects would not be considered harmful at all. We propose a mechanism for enabling such non-determinism on the execution of side-effecting operations within data-parallel sections without sacrificing the side-effect free setting in general. Outside of the data-parallel sections we ensure single-threading of side-effecting operations using uniqueness typing. Within data-parallel operations however we allow the side-effecting operations of different threads to occur in any order, as long as effects of different threads are not interleaved. Furthermore, we still model the dependencies arising from the manipulated states within the data parallel sections. This measure preserves the explicitness of all data dependencies and therefore it preserves the transformational potential of any restructuring compiler.en
dc.format.extent9
dc.language.isoeng
dc.publisherACM Press
dc.relation.ispartofProceedings of the 4th workshop on Declarative aspects of multicore programming
dc.titleControlling chaos on safe side-effects in data-parallel operationsen
dc.contributor.institutionScience & Technology Research Institute
dc.contributor.institutionSchool of Computer Science
dc.identifier.urlhttp://cseweb.ucsd.edu/popl/09/
rioxxterms.versionofrecordhttps://doi.org/10.1145/1481839.1481847
rioxxterms.typeOther
herts.preservation.rarelyaccessedtrue


Files in this item

FilesSizeFormatView

There are no files associated with this item.

This item appears in the following Collection(s)

Show simple item record