656 research outputs found

    Specifying and Executing Optimizations for Parallel Programs

    Full text link
    Compiler optimizations, usually expressed as rewrites on program graphs, are a core part of all modern compilers. However, even production compilers have bugs, and these bugs are difficult to detect and resolve. The problem only becomes more complex when compiling parallel programs; from the choice of graph representation to the possibility of race conditions, optimization designers have a range of factors to consider that do not appear when dealing with single-threaded programs. In this paper we present PTRANS, a domain-specific language for formal specification of compiler transformations, and describe its executable semantics. The fundamental approach of PTRANS is to describe program transformations as rewrites on control flow graphs with temporal logic side conditions. The syntax of PTRANS allows cleaner, more comprehensible specification of program optimizations; its executable semantics allows these specifications to act as prototypes for the optimizations themselves, so that candidate optimizations can be tested and refined before going on to include them in a compiler. We demonstrate the use of PTRANS to state, test, and refine the specification of a redundant store elimination optimization on parallel programs.Comment: In Proceedings GRAPHITE 2014, arXiv:1407.767

    Endohedral Impurities in Carbon Nanotubes

    Full text link
    A generalization of the Anderson model that includes pseudo-Jahn-Teller impurity coupling is proposed to describe distortions of an endohedral impurity in a carbon nanotube. Treating the distortion within mean-field theory, spontaneous axial symmetry breaking is found when the vibronic coupling strength g exceeds a critical value gc_c. The effective potential in the symmetry-broken state is found to have O(2) symmetry, in agreement with numerical calculations. For metallic zigzag nanotubes endohedrally-doped with transition metals in the dilute limit, the low-energy properties of the system may display two-channel Kondo behavior; however, strong vibronic coupling is seen to exponentially suppress the Kondo energy scale.Comment: 4 pages, 2 figure

    Work Analysis with Resource-Aware Session Types

    Full text link
    While there exist several successful techniques for supporting programmers in deriving static resource bounds for sequential code, analyzing the resource usage of message-passing concurrent processes poses additional challenges. To meet these challenges, this article presents an analysis for statically deriving worst-case bounds on the total work performed by message-passing processes. To decompose interacting processes into components that can be analyzed in isolation, the analysis is based on novel resource-aware session types, which describe protocols and resource contracts for inter-process communication. A key innovation is that both messages and processes carry potential to share and amortize cost while communicating. To symbolically express resource usage in a setting without static data structures and intrinsic sizes, resource contracts describe bounds that are functions of interactions between processes. Resource-aware session types combine standard binary session types and type-based amortized resource analysis in a linear type system. This type system is formulated for a core session-type calculus of the language SILL and proved sound with respect to a multiset-based operational cost semantics that tracks the total number of messages that are exchanged in a system. The effectiveness of the analysis is demonstrated by analyzing standard examples from amortized analysis and the literature on session types and by a comparative performance analysis of different concurrent programs implementing the same interface.Comment: 25 pages, 2 pages of references, 11 pages of appendix, Accepted at LICS 201

    Polarized substructural session types

    Get PDF
    Concurrent processes can be extremely difficult to reason about, both for programmers and formally. One approach to coping with this difficulty is to study new programming languages and type features such as Session Types. Session types take as their conceptual notion of concurrency as a collection of processes linked together via channels and provide type-level coordination between processes using these channels. Logically motivated programming languages exploit the idea that providing a proof of a theorem in a logic is similar to proving that a given term has a particular type in a programming language and vice versa. These connections can be interesting for a few different reasons. First, when language and logic are independently discovered and independently useful, the existence of a connection suggests that both are onto some fundamentally important idea. Additionally, a connection provides a basis both for sanity checking our ideas and also can be fruitful grounds for inspiration by seeing how variants of either the logic or the language are reflected through the connection. This thesis primarily describes an exploration of logically motivated session types, SILL. Polarization, classifying propositions as either positive or negative, provides a natural way to describe a logically based session typing language with asynchronous communication while retaining a semantics that is reasonably implementable. Additionally, polarization gives us a way to smoothly integrate synchronous channels into SILL without needing a semantic extension. When combined with Adjoint Logic, this gives us an ability to incorporate a variety of modalities with relatively little work. From a practical perspective, this gives SILL access to persistent processes and garbage collection. We additionally explore a trio of loosely related extensions to SILL, and their logical connections, inspired by the above results: bundled message passing to reduce the number of communications performed by processes; racy programs, enabled by a select/epoll-like mechanism; and asynchronous receiving, an almost generalization of the basic asynchronous semantics. We have three different implementations of SILL: a simple but relatively full featured interpreter written in OCaml; a fragment of SILL as an embedded domain specific language in Haskell; and a cleaner version of the same in Idris. Lastly, we show that Liquid Types and Session Types are compatible. This gives us one notion of a dependently session typed language

    Antibody Responses of Vaccinated and Nonvaccinated Calves to Haemophilus somnus

    Get PDF
    Respiratory disease resulting from infection of calves with Haemophilus somnus (H. somnus) is an annual occurrence in fall calves at the McNay Farm. Previous observations of skin test reactivity to H. somnus antigens suggested a role for this phenomenon in the pathogenesis of the disease. Groups of calves, about 90 days of age, were vaccinated with four different commercial H. somnus vaccines, and serum levels of H. somnus antibodies were determined. Antibodies of the IgG and IgE classes were detected with ELISA procedures conducted on sera collected before and after vaccination. Most of the calves had detectable H. somnus IgE class antibodies at the start of the experimentation but IgG class antibodies were minimal. Antibodies of both classes increased in nonvaccinated and vaccinated calves during the 30 day period of experimentation. However, the level of IgE class antibodies in vaccinates was lower than in controls suggesting that vaccination may limit the IgE response

    A Dependently-Typed Linear π -Calculus in Agda

    Get PDF
    Session types have consolidated as a formalism for the specification and static enforcement of communication protocols. Many different theories of dependent session types have been proposed, some enabling refined specifications on the content of messages, others allowing the structure of the protocols to depend on data exchanged in the protocol itself. In this work we continue a line of research studying the foundations of binary session types. In particular, we propose a variant of the linear π-calculus whose type structure encompasses virtually all dependent session types using just two type constructors: linear channel types and linear dependent pairs. We use Agda not only to formalize the metatheory of the calculus and obtain machine-checked proofs of type soundness, but also as host language in which we implement data-dependent protocols

    Applying Laser Doppler Anemometry inside a Taylor-Couette geometry - Using a ray-tracer to correct for curvature effects

    Get PDF
    In the present work it will be shown how the curvature of the outer cylinder affects Laser Doppler anemometry measurements inside a Taylor-Couette apparatus. The measurement position and the measured velocity are altered by curved surfaces. Conventional methods for curvature correction are not applicable to our setup, and it will be shown how a ray-tracer can be used to solve this complication. By using a ray-tracer the focal position can be calculated, and the velocity can be corrected. The results of the ray-tracer are verified by measuring an a priori known velocity field, and after applying refractive corrections good agreement with theoretical predictions are found. The methods described in this paper are applied to measure the azimuthal velocity profiles in high Reynolds number Taylor-Couette flow for the case of outer cylinder rotation

    Radiation induces iatrogenic immunosuppression by indirectly affecting hematopoiesis in bone marrow

    Get PDF
    The immune system plays a vital role in cancer therapy, especially with the advent of immunotherapy. Radiation therapy induces iatrogenic immunosuppression referred to as radiation-induced lymphopenia (RIL). RIL correlates with significant decreases in the overall survival of cancer patients. Although the etiology and severity of lymphopenia are known, the mechanism(s) of RIL are largely unknown. We found that irradiation not only had direct effects on circulating lymphocytes but also had indirect effects on the spleen, thymus, and bone marrow. We found that irradiated cells traffic to the bone marrow and bring about the reduction of hematopoietic stem cells (HSC) and progenitor cells. Using mass cytometry analysis (CyTOF) of the bone marrow, we found reduced expression of CD11a, which is required for T cell proliferation and maturation. RNA Sequencing and gene set enrichment analysis of the bone marrow cells following irradiation showed down-regulation of genes involved in hematopoiesis. Identification of CD11a and hematopoietic genes involved in iatrogenic immune suppression can help identify mechanisms of RIL
    • …
    corecore