24 research outputs found

    Continuation-Passing C: compiling threads to events through continuations

    Get PDF
    In this paper, we introduce Continuation Passing C (CPC), a programming language for concurrent systems in which native and cooperative threads are unified and presented to the programmer as a single abstraction. The CPC compiler uses a compilation technique, based on the CPS transform, that yields efficient code and an extremely lightweight representation for contexts. We provide a proof of the correctness of our compilation scheme. We show in particular that lambda-lifting, a common compilation technique for functional languages, is also correct in an imperative language like C, under some conditions enforced by the CPC compiler. The current CPC compiler is mature enough to write substantial programs such as Hekate, a highly concurrent BitTorrent seeder. Our benchmark results show that CPC is as efficient, while using significantly less space, as the most efficient thread libraries available.Comment: Higher-Order and Symbolic Computation (2012). arXiv admin note: substantial text overlap with arXiv:1202.324

    Same data, different conclusions: Radical dispersion in empirical results when independent analysts operationalize and test the same hypothesis

    Get PDF
    In this crowdsourced initiative, independent analysts used the same dataset to test two hypotheses regarding the effects of scientists’ gender and professional status on verbosity during group meetings. Not only the analytic approach but also the operationalizations of key variables were left unconstrained and up to individual analysts. For instance, analysts could choose to operationalize status as job title, institutional ranking, citation counts, or some combination. To maximize transparency regarding the process by which analytic choices are made, the analysts used a platform we developed called DataExplained to justify both preferred and rejected analytic paths in real time. Analyses lacking sufficient detail, reproducible code, or with statistical errors were excluded, resulting in 29 analyses in the final sample. Researchers reported radically different analyses and dispersed empirical outcomes, in a number of cases obtaining significant effects in opposite directions for the same research question. A Boba multiverse analysis demonstrates that decisions about how to operationalize variables explain variability in outcomes above and beyond statistical choices (e.g., covariates). Subjective researcher decisions play a critical role in driving the reported empirical results, underscoring the need for open data, systematic robustness checks, and transparency regarding both analytic paths taken and not taken. Implications for organizations and leaders, whose decision making relies in part on scientific findings, consulting reports, and internal analyses by data scientists, are discussed

    ATLAS detector and physics performance: Technical Design Report, 1

    Get PDF

    Tribological investigation of TiAlCrN and TiAlN/CrN coatings grown by combined steered-arc/unbalanced magnetron deposition

    No full text
    The dry sliding wear of monolayer TiAlCrN and multilayer TiAlN/CrN coatings has been investigated against a BM2 tool steel counterface. The coatings were deposited on a BM2 tool steel substrate by combined steered-arc/unbalanced-magnetron deposition. Increasing either contact load or sliding speed led to a reduction in friction coefficient, typically from 1.1 to 0.2. Increasing load resulted in an increase in wear rate for both TiAlCrN and TiAlN/CrN (e.g. from 7 × 10-6 mm3/m at 22 N to 4 × 10-5 mm3/m at 189 N for the TiAlCrN monolayer coating, and from 7 × 10-6 mm3/m at 22 N to 2.5 × 10-5 mm3/m at 189 N for TiAlN/CrN multilayer). The wear rate for all coatings was at least an order of magnitude lower than the uncoated BM2 steel. The wear rate of the TiAlCrN coating tended to decrease with an increase in sliding speed (from 7.4 × 10-5 mm3/m at 0.2 m/s to 1.3 × 10-5 mm3 m at 1.1m/s) while the wear rate of the TiAlN/CrN was approximately constant as a function of sliding speed (approx. 1.5 × 10-5 mm3m)
    corecore