456 research outputs found

    Efficient and Reasonable Object-Oriented Concurrency

    Full text link
    Making threaded programs safe and easy to reason about is one of the chief difficulties in modern programming. This work provides an efficient execution model for SCOOP, a concurrency approach that provides not only data race freedom but also pre/postcondition reasoning guarantees between threads. The extensions we propose influence both the underlying semantics to increase the amount of concurrent execution that is possible, exclude certain classes of deadlocks, and enable greater performance. These extensions are used as the basis an efficient runtime and optimization pass that improve performance 15x over a baseline implementation. This new implementation of SCOOP is also 2x faster than other well-known safe concurrent languages. The measurements are based on both coordination-intensive and data-manipulation-intensive benchmarks designed to offer a mixture of workloads.Comment: Proceedings of the 10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE '15). ACM, 201

    Handling Parallelism in a Concurrency Model

    Full text link
    Programming models for concurrency are optimized for dealing with nondeterminism, for example to handle asynchronously arriving events. To shield the developer from data race errors effectively, such models may prevent shared access to data altogether. However, this restriction also makes them unsuitable for applications that require data parallelism. We present a library-based approach for permitting parallel access to arrays while preserving the safety guarantees of the original model. When applied to SCOOP, an object-oriented concurrency model, the approach exhibits a negligible performance overhead compared to ordinary threaded implementations of two parallel benchmark programs.Comment: MUSEPAT 201

    On the dynamic toroidal multipoles from localized electric current distributions

    Get PDF
    We analyze the dynamic toroidal multipoles and prove that they do not have an independent physical meaning with respect to their interaction with electromagnetic waves. We analytically show how the split into electric and toroidal parts causes the appearance of non-radiative components in each of the two parts. These non-radiative components, which cancel each other when both parts are summed, preclude the separate determination of each part by means of measurements of the radiation from the source or of its coupling to external electromagnetic waves. In other words, there is no toroidal radiation or independent toroidal electromagnetic coupling. The formal meaning of the toroidal multipoles is clear in our derivations. They are the higher order terms of an expansion of the multipolar coefficients of electric parity with respect to the electromagnetic size of the source

    Tailored Light Scattering and Emission in Solar Cells and LEDs Using Ordered and Disordered Interfaces

    Get PDF

    Contract-Based General-Purpose GPU Programming

    Get PDF
    Using GPUs as general-purpose processors has revolutionized parallel computing by offering, for a large and growing set of algorithms, massive data-parallelization on desktop machines. An obstacle to widespread adoption, however, is the difficulty of programming them and the low-level control of the hardware required to achieve good performance. This paper suggests a programming library, SafeGPU, that aims at striking a balance between programmer productivity and performance, by making GPU data-parallel operations accessible from within a classical object-oriented programming language. The solution is integrated with the design-by-contract approach, which increases confidence in functional program correctness by embedding executable program specifications into the program text. We show that our library leads to modular and maintainable code that is accessible to GPGPU non-experts, while providing performance that is comparable with hand-written CUDA code. Furthermore, runtime contract checking turns out to be feasible, as the contracts can be executed on the GPU

    Exact dipolar moments of a localized electric current distribution

    Get PDF
    The multipolar decomposition of current distributions is used in many branches of physics. Here, we obtain new exact expressions for the dipolar moments of a localized electric current distribution. The typical integrals for the dipole moments of electromagnetically small sources are recovered as the lowest order terms of the new expressions in a series expansion with respect to the size of the source. All the higher order terms can be easily obtained. We also provide exact and approximated expressions for dipoles that radiate a definite polarization handedness (helicity). Formally, the new exact expressions are only marginally more complex than their lowest order approximations

    Exact dipolar moments of a localized electric current distribution

    Get PDF
    The multipolar decomposition of current distributions is used in many branches of physics. Here, we obtain new exact expressions for the dipolar moments of a localized electric current distribution. The typical integrals for the dipole moments of electromagnetically small sources are recovered as the lowest order terms of the new expressions in a series expansion with respect to the size of the source. All the higher order terms can be easily obtained. We also provide exact and approximated expressions for dipoles that radiate a definite polarization handedness (helicity). Formally, the new exact expressions are only marginally more complex than their lowest order approximations

    Double Patenting in Copending Applications

    Get PDF

    A study in transfer Japanese-English

    Get PDF

    The 101 translation problems between Japanese and German/English

    Get PDF
    We investigate differences between Japanese and German/English and explain characteristic phenomena to Japanese. The study helps us to realize what can be problematic when translating Japanese into German/English and vice versa
    corecore