Matches in SemOpenAlex for { <https://semopenalex.org/work/W4225309661> ?p ?o ?g. }
- W4225309661 endingPage "1756" @default.
- W4225309661 startingPage "1726" @default.
- W4225309661 abstract "There is an ongoing effort to provide programming abstractions that ease the burden of exploiting multicore hardware. Many programming abstractions ( e.g. , concurrent objects, transactional memory, etc.) simplify matters, but still involve intricate engineering. We argue that some difficulty of multicore programming can be meliorated through a declarative programming style in which programmers directly express the independence of fragments of sequential programs. In our proposed paradigm, programmers write programs in a familiar, sequential manner, with the added ability to explicitly express the conditions under which code fragments sequentially commute. Putting such commutativity conditions into source code offers a new entry point for a compiler to exploit the known connection between commutativity and parallelism. We give a semantics for the programmer’s sequential perspective and, under a correctness condition, find that a compiler-transformed parallel execution is equivalent to the sequential semantics. Serializability/linearizability are not the right fit for this condition, so we introduce scoped serializability and show how it can be enforced with lock synthesis techniques. We next describe a technique for automatically verifying and synthesizing commute conditions via a new reduction from our commute blocks to logical specifications, upon which symbolic commutativity reasoning can be performed. We implemented our work in a new language called Veracity, implemented in Multicore OCaml. We show that commutativity conditions can be automatically generated across a variety of new benchmark programs, confirm the expectation that concurrency speedups can be seen as the computation increases, and apply our work to a small in-memory filesystem and an adaptation of a crowdfund blockchain smart contract." @default.
- W4225309661 created "2022-05-05" @default.
- W4225309661 creator A5016938513 @default.
- W4225309661 creator A5024796518 @default.
- W4225309661 creator A5037880049 @default.
- W4225309661 creator A5056357398 @default.
- W4225309661 date "2022-10-31" @default.
- W4225309661 modified "2023-10-14" @default.
- W4225309661 title "Veracity: declarative multicore programming with commutativity" @default.
- W4225309661 cites W1268528572 @default.
- W4225309661 cites W1599739018 @default.
- W4225309661 cites W1600009974 @default.
- W4225309661 cites W1606270358 @default.
- W4225309661 cites W1867941603 @default.
- W4225309661 cites W1935259232 @default.
- W4225309661 cites W1964291953 @default.
- W4225309661 cites W1964727056 @default.
- W4225309661 cites W1974008590 @default.
- W4225309661 cites W1986009031 @default.
- W4225309661 cites W1986277018 @default.
- W4225309661 cites W1987607743 @default.
- W4225309661 cites W2005423141 @default.
- W4225309661 cites W2011903918 @default.
- W4225309661 cites W2013892605 @default.
- W4225309661 cites W2021838450 @default.
- W4225309661 cites W2023304911 @default.
- W4225309661 cites W2032063820 @default.
- W4225309661 cites W2042661579 @default.
- W4225309661 cites W2063050381 @default.
- W4225309661 cites W2068617930 @default.
- W4225309661 cites W2069852267 @default.
- W4225309661 cites W2090551028 @default.
- W4225309661 cites W2091416827 @default.
- W4225309661 cites W2093162068 @default.
- W4225309661 cites W2094222793 @default.
- W4225309661 cites W2095825766 @default.
- W4225309661 cites W2097717378 @default.
- W4225309661 cites W2100763950 @default.
- W4225309661 cites W2101939036 @default.
- W4225309661 cites W2103412683 @default.
- W4225309661 cites W2104251622 @default.
- W4225309661 cites W2105055683 @default.
- W4225309661 cites W2113751407 @default.
- W4225309661 cites W2117278457 @default.
- W4225309661 cites W2120797071 @default.
- W4225309661 cites W2122735631 @default.
- W4225309661 cites W2128585185 @default.
- W4225309661 cites W2133385799 @default.
- W4225309661 cites W2138567239 @default.
- W4225309661 cites W2146955740 @default.
- W4225309661 cites W2153185584 @default.
- W4225309661 cites W2154326517 @default.
- W4225309661 cites W2156680804 @default.
- W4225309661 cites W2157092502 @default.
- W4225309661 cites W2167390822 @default.
- W4225309661 cites W2168234754 @default.
- W4225309661 cites W2169248772 @default.
- W4225309661 cites W2274598213 @default.
- W4225309661 cites W2513640037 @default.
- W4225309661 cites W2593176800 @default.
- W4225309661 cites W2778319809 @default.
- W4225309661 cites W2799184718 @default.
- W4225309661 cites W2900394527 @default.
- W4225309661 cites W2956274457 @default.
- W4225309661 cites W2983420373 @default.
- W4225309661 cites W3082023611 @default.
- W4225309661 cites W3119735966 @default.
- W4225309661 cites W3173222259 @default.
- W4225309661 cites W3195943579 @default.
- W4225309661 cites W4205272345 @default.
- W4225309661 cites W4221167351 @default.
- W4225309661 cites W4225922019 @default.
- W4225309661 cites W4235116491 @default.
- W4225309661 cites W4242949098 @default.
- W4225309661 cites W4244157805 @default.
- W4225309661 cites W4245871646 @default.
- W4225309661 cites W4251656607 @default.
- W4225309661 cites W4254522355 @default.
- W4225309661 doi "https://doi.org/10.1145/3563349" @default.
- W4225309661 hasPublicationYear "2022" @default.
- W4225309661 type Work @default.
- W4225309661 citedByCount "0" @default.
- W4225309661 crossrefType "journal-article" @default.
- W4225309661 hasAuthorship W4225309661A5016938513 @default.
- W4225309661 hasAuthorship W4225309661A5024796518 @default.
- W4225309661 hasAuthorship W4225309661A5037880049 @default.
- W4225309661 hasAuthorship W4225309661A5056357398 @default.
- W4225309661 hasBestOaLocation W42253096611 @default.
- W4225309661 hasConcept C169590947 @default.
- W4225309661 hasConcept C173608175 @default.
- W4225309661 hasConcept C184337299 @default.
- W4225309661 hasConcept C193702766 @default.
- W4225309661 hasConcept C199360897 @default.
- W4225309661 hasConcept C20528329 @default.
- W4225309661 hasConcept C34165917 @default.
- W4225309661 hasConcept C41008148 @default.
- W4225309661 hasConcept C55439883 @default.
- W4225309661 hasConcept C78766204 @default.