118,573 research outputs found
Relaxed Operational Semantics of Concurrent Programming Languages
We propose a novel, operational framework to formally describe the semantics
of concurrent programs running within the context of a relaxed memory model.
Our framework features a "temporary store" where the memory operations issued
by the threads are recorded, in program order. A memory model then specifies
the conditions under which a pending operation from this sequence is allowed to
be globally performed, possibly out of order. The memory model also involves a
"write grain," accounting for architectures where a thread may read a write
that is not yet globally visible. Our formal model is supported by a software
simulator, allowing us to run litmus tests in our semantics.Comment: In Proceedings EXPRESS/SOS 2012, arXiv:1208.244
Postpartum Safety and Satisfaction Following Early Discharge
Two Ontario sites were involved in the evaluation of an obstetrical discharge program. Before program implementation a group of eligible women were enrolled as the preprogram control group (n = 542). During the program, eligible women who agreed to early discharge (ED) became the ED group (n = 319), and those opting not to go home early but consenting to participate in the evaluation became the concurrent group (n = 456). All groups were mailed a self-administered postpartum questionnaire. On demographic characteristics, safety and satisfaction, the ED group was comparable to the concurrent group. Hospital readmission rates did not differ across groups after stratification by site or hospital. Multiple classification analyses revealed a similar pattern for overall satisfaction levels. This unique ED program, which allowed pre- or postnatal enrollment and did not require an initial home assessment, appears to be a safe, effective and flexible approach to obstetrical care
A Concurrent Language with a Uniform Treatment of Regions and Locks
A challenge for programming language research is to design and implement
multi-threaded low-level languages providing static guarantees for memory
safety and freedom from data races. Towards this goal, we present a concurrent
language employing safe region-based memory management and hierarchical locking
of regions. Both regions and locks are treated uniformly, and the language
supports ownership transfer, early deallocation of regions and early release of
locks in a safe manner
- …