Filters








1,286,541 Hits in 3.5 sec

Implementing concurrent C

N. H. Gehani, W. D. Roome
1992 Software, Practice & Experience  
Concurrent C is translated to C. The generated C code contains calls to the C library implementing the Concurrent C run-time system.  ...  Concurrent C (C++) is a parallel superset of C (C++). Versions of Concurrent C have now been implemented for a variety of uniprocessors and multiprocessors.  ...  Currently, Jacques Gava is working on release 2.0 of Concurrent C. Bjarne Stroustrup provided the cfront source, which was the basis for ccpp.  ... 
doi:10.1002/spe.4380220305 fatcat:l6xnmuyrtna5jkydjs3cziw3du

Mathematizing C++ concurrency

Mark Batty, Scott Owens, Susmit Sarkar, Peter Sewell, Tjark Weber
2011 Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '11  
Shared-memory concurrency in C and C++ is pervasive in systems programming, but has long been poorly defined.  ...  In this paper we establish a mathematical (yet readable) semantics for C++ concurrency.  ...  Acknowledgements This work would not have been possible without discussions with members of the C++ Concurrency subcommittee and the cpp-threads mailing list, including Hans Boehm, Lawrence Crowl, Peter  ... 
doi:10.1145/1926385.1926394 dblp:conf/popl/BattyOSSW11 fatcat:i4hrcm7yi5fgbj6kxhfsbv2kja

Mathematizing C++ concurrency

Mark Batty, Scott Owens, Susmit Sarkar, Peter Sewell, Tjark Weber
2011 SIGPLAN notices  
Shared-memory concurrency in C and C++ is pervasive in systems programming, but has long been poorly defined.  ...  In this paper we establish a mathematical (yet readable) semantics for C++ concurrency.  ...  Acknowledgements This work would not have been possible without discussions with members of the C++ Concurrency subcommittee and the cpp-threads mailing list, including Hans Boehm, Lawrence Crowl, Peter  ... 
doi:10.1145/1925844.1926394 fatcat:nhbpkrhadndevmnwfg6v725p3a

Nitpicking c++ concurrency

Jasmin Christian Blanchette, Tjark Weber, Mark Batty, Scott Owens, Susmit Sarkar
2011 Proceedings of the 13th international ACM SIGPLAN symposium on Principles and practices of declarative programming - PPDP '11  
Previous work formalized the C++ memory model in Isabelle/HOL in an effort to clarify the proposed standard's semantics.  ...  Nitpick is built on Kodkod (Alloy's backend) but understands Isabelle's richer logic; hence it can be applied directly to the C++ memory model.  ...  Acknowledgments This work would not have been possible without Peter Sewell, who together with the last four authors specified the C++ memory model in Isabelle/HOL.  ... 
doi:10.1145/2003476.2003493 dblp:conf/ppdp/BlanchetteWBOS11 fatcat:qv5ktwhmdfc4flhw7iytvisddm

Concurrent C++: Concurrent programming with class(es)

N. H. Gehani, W. D. Roome
1988 Software, Practice & Experience  
Integrating Concurrent C with C++ Both C++ and Concurrent C have been implemented as C preprocessors.  ...  We needed Concurrent C as well as Concurrent C++ because many potential users of our concurrent programming extension know C but not C++.  ...  C++ and Concurrent C to produce Concurrent C++.  ... 
doi:10.1002/spe.4380181205 fatcat:3nenpurzgjbqjli73icc333rki

Library abstraction for C/C++ concurrency

Mark Batty, Mike Dodds, Alexey Gotsman
2013 SIGPLAN notices  
Ours is the first approach to compositional reasoning for concurrent C11/C++11 programs.  ...  When constructing complex concurrent systems, abstraction is vital: programmers should be able to reason about concurrent libraries in terms of abstract specifications that hide the implementation details  ...  These case studies represent the first step towards verified concurrent libraries for C11 and C++11. Technical challenges.  ... 
doi:10.1145/2480359.2429099 fatcat:ken2fciygbhf5cmbu2r6v6pecm

Operational Aspects of C/C++ Concurrency [article]

Anton Podkopaev, Ilya Sergey, Aleksandar Nanevski
2016 arXiv   pre-print
In this work, we present a family of operational semantics that gradually approximates the realistic program behaviors in the C/C++11 memory model.  ...  To the best of our knowledge, this is the first formal and executable operational semantics of C11 capable of expressing all essential concurrent aspects of the standard.  ...  The most prominent example of a relaxed memory model is the C11 model, introduced by the C/C++ 2011 standards [2, 3] and describing the behavior of concurrent C/C++ programs.  ... 
arXiv:1606.01400v2 fatcat:4mtabv4qdvcchia47tldiqzh5m

Clarifying and compiling C/C++ concurrency

Mark Batty, Kayvan Memarian, Scott Owens, Susmit Sarkar, Peter Sewell
2012 SIGPLAN notices  
The upcoming C and C++ revised standards add concurrency to the languages, for the first time, in the form of a subtle relaxed memory model (the C++11 model).  ...  We then prove our main result, the correctness of two proposed compilation schemes for the C++11 load and store concurrency primitives to Power assembly, having noted that an earlier proposal was flawed  ...  Background: C++11 concurrency This section gives a general introduction to the C++11 concurrency primitives and their semantics.  ... 
doi:10.1145/2103621.2103717 fatcat:63v7vwwt6vahpdffcdcxaahesa

Clarifying and compiling C/C++ concurrency

Mark Batty, Kayvan Memarian, Scott Owens, Susmit Sarkar, Peter Sewell
2012 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '12  
The upcoming C and C++ revised standards add concurrency to the languages, for the first time, in the form of a subtle relaxed memory model (the C++11 model).  ...  We then prove our main result, the correctness of two proposed compilation schemes for the C++11 load and store concurrency primitives to Power assembly, having noted that an earlier proposal was flawed  ...  Background: C++11 concurrency This section gives a general introduction to the C++11 concurrency primitives and their semantics.  ... 
doi:10.1145/2103656.2103717 dblp:conf/popl/BattyMOSS12 fatcat:if5wozkscjdond33wzik3dar5q

Library abstraction for C/C++ concurrency

Mark Batty, Mike Dodds, Alexey Gotsman
2013 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '13  
Ours is the first approach to compositional reasoning for concurrent C11/C++11 programs.  ...  When constructing complex concurrent systems, abstraction is vital: programmers should be able to reason about concurrent libraries in terms of abstract specifications that hide the implementation details  ...  These case studies represent the first step towards verified concurrent libraries for C11 and C++11. Technical challenges.  ... 
doi:10.1145/2429069.2429099 dblp:conf/popl/BattyDG13 fatcat:cdsod43i7neadoj2tkci5xq5ee

Concurrency annotations in C++

Carlos Baquero, Francisco Moura
1994 SIGPLAN notices  
This paper describes CA/C++, Concurrency Annotations in C++, a language extension that regulates method invocations from multiple threads of execution in a shared-memory multiprocessor system.  ...  A translator for CA/C++ was simply developed using James Roskind's C++ grammar, integrating the concurrency annotation rules within the syntax.  ...  With the information provided by the annotations, the CA/C++ translator generates two new classes: A class that represents in C++ the concurrency annotations of the Stack class.  ... 
doi:10.1145/181593.181603 fatcat:nq66baodrngfbokhrdsul3dyqy

Validating optimizations of concurrent C/C++ programs

Soham Chakraborty, Viktor Vafeiadis
2016 Proceedings of the 2016 International Symposium on Code Generation and Optimization - CGO 2016  
We present a validator for checking the correctness of LLVM compiler optimizations on C11 programs as far as concurrency is concerned.  ...  We use a custom C11 concurrent program generator to trigger multiple LLVM optimizations and evaluate the efficacy of our validator.  ...  While reordering g = 42; and unlock(); is correct for sequential programs, it is clearly wrong for concurrent programs because it introduces a data race and, as such, it is forbidden by the C/C++11 standards  ... 
doi:10.1145/2854038.2854051 dblp:conf/cgo/ChakrabortyV16 fatcat:fa36gt6bqngcrmxcpteqbfhwdu

Modern Concurrency Abstractions for C# [chapter]

Nick Benton, Luca Cardelli, Cédric Fournet
2002 Lecture Notes in Computer Science  
Polyphonic C is an extension of the C language with new asynchronous concurrency constructs, based on the join calculus.  ...  We describe the design and implementation of the language and give examples of its use in addressing a range of concurrent programming problems.  ...  Acknowledgements Thanks to Mark Shinwell, who did the initial implementation work on the Polyphonic C compiler during an internship at Microsoft Research.  ... 
doi:10.1007/3-540-47993-7_18 fatcat:bd6hgjz4ffawhdfrphd5yftz2q

Modern concurrency abstractions for C#

Nick Benton, Luca Cardelli, Cédric Fournet
2004 ACM Transactions on Programming Languages and Systems  
Polyphonic C is an extension of the C language with new asynchronous concurrency constructs, based on the join calculus.  ...  We describe the design and implementation of the language and give examples of its use in addressing a range of concurrent programming problems.  ...  Acknowledgements Thanks to Mark Shinwell, who did the initial implementation work on the Polyphonic C compiler during an internship at Microsoft Research.  ... 
doi:10.1145/1018203.1018205 fatcat:eivshr6sdvdgjnxp6zt77ts7ry

An operational semantics for C/C++11 concurrency

Kyndylan Nienhuis, Kayvan Memarian, Peter Sewell
2016 SIGPLAN notices  
Our main contribution is the development of an operational model for C/C++11 concurrency.  ...  The C/C++11 concurrency model balances two goals: it is relaxed enough to be efficiently implementable and (leaving aside the "thin-air" problem) it is strong enough to give useful guarantees to programmers  ...  Introduction C and C++ have been used for concurrent programming for decades, and concurrency became an official part of the ISO language standards in C/C++11 [8, 28, 29] .  ... 
doi:10.1145/3022671.2983997 fatcat:4aeuv4euxbhurojjuzf3rhg5ae
« Previous Showing results 1 — 15 out of 1,286,541 results