16 research outputs found

    CSP for Executable Scientific Workflows

    Get PDF

    Communicating generators in Javascript

    Get PDF
    This paper outlines the design, performance, and use of an application programming interface and library for concurrent programming with CSP in JavaScript. The implementation harnesses ECMAScript 6 Generators to provide cooperative scheduling and channel communication within a single JavaScript engine. External channels lie atop WebSockets, amongst other web technologies, to enable multicore and distributed execution across standard web browsers and Node.js servers. Low-level benchmarks indicate that scheduling and messaging performance is within expectations for this dynamic and diverse execution environment. Sample code snippets highlight the applicability of CSP to contemporary web development in hiding the location of computation and state through the channel abstraction. The ”callback hell” scenario common to many JavaScript applications is alleviated by using channels instead of callbacks, and the possibility of performing parallel and scientific computing is explored with promising results. Finally, the limitations of the present design are discussed, and possible enhancements such as the dynamic migration of state and code are considered.peer-reviewe

    Managing Communication Latency-Hiding at Runtime for Parallel Programming Languages and Libraries

    Full text link
    This work introduces a runtime model for managing communication with support for latency-hiding. The model enables non-computer science researchers to exploit communication latency-hiding techniques seamlessly. For compiled languages, it is often possible to create efficient schedules for communication, but this is not the case for interpreted languages. By maintaining data dependencies between scheduled operations, it is possible to aggressively initiate communication and lazily evaluate tasks to allow maximal time for the communication to finish before entering a wait state. We implement a heuristic of this model in DistNumPy, an auto-parallelizing version of numerical Python that allows sequential NumPy programs to run on distributed memory architectures. Furthermore, we present performance comparisons for eight benchmarks with and without automatic latency-hiding. The results shows that our model reduces the time spent on waiting for communication as much as 27 times, from a maximum of 54% to only 2% of the total execution time, in a stencil application.Comment: PREPRIN

    Programming Model to Develop Supercomputer Combinatorial Solvers

    Get PDF
    © 2017 IEEE. Novel architectures for massively parallel machines offer better scalability and the prospect of achieving linear speedup for sizable problems in many domains. The development of suitable programming models and accompanying software tools for these architectures remains one of the biggest challenges towards exploiting their full potential. We present a multi-layer software abstraction model to develop combinatorial solvers on massively-parallel machines with regular topologies. The model enables different challenges in the design and optimization of combinatorial solvers to be tackled independently (separation of concerns) while permitting problem-specific tuning and cross-layer optimization. In specific, the model decouples the issues of inter-node communication, n ode-level scheduling, problem mapping, mesh-level load balancing and expressing problem logic. We present an implementation of the model and use it to profile a Boolean satisfiability solver on simulated massively-parallel machines with different scales and topologies

    Towards the Real-Time Application of Indirect Methods for Hypersonic Missions

    Get PDF
    Conceptual hypersonic mission design has typically been performed in a computationally intensive, iterative manner using direct optimization methods. The introduction of modern computing has resulted in the widespread adoption of direct methods, and useful information associated with optimal solutions has been lost. Optimization through indirect methods leverages this information, yielding high quality trajectories while reducing the dimensionality of the overall problem

    Genetic Algorithms - Implementation of Multiprocessing

    Get PDF
    Genetické algoritmy sú moderné algoritmy určené na riešenie optimalizačných problémov. Vznikli inšpiráciou z evolučných procesov v prírode. Ich paralelizáciou sa dosiahne nielen vyšších rýchlostí, ale aj nových a lepších riešení. Paralelné genetické algoritmy sú taktiež bližšie k skutočným pomerom v prírode ako ich sekvenčné náprotivky. Táto práca popisuje najpoužívanejšie spôsoby paralelizácie genetických algoritmov. Následne ponúka návrh a implementáciu v jazyku Python. Nakoniec je implementácia overená vo viacerých testovacích scenároch.Genetic algorithms are modern algorithms intended to solve optimization problems. Inspiration originates in evolutionary principles in nature. Parallelization of genetic algorithms provides not only faster processing but also new and better solutions. Parallel genetic algorithms are also closer to real nature than their sequential counterparts. This paper describes the most used models of parallelization of genetic algorithms. Moreover, it provides the design and implementation in programming language Python. Finally, the implementation is verified in several test cases.

    Identification and characterisation of new potential antigens involved in GAP-mediated immunity

    Get PDF
    Stage-specific sterile protection against malaria can be achieved in rodents and human volunteers by administration of Plasmodium parasites that attenuate during liver-stage development by either radiation (RAS) or genetic modification (GAP). In this study we focussed on the identification and characterisation of potential antigens involved in GAP-mediated immunity. We identified within this study novel potential antigens involved in GAP-mediated immunity. We compared the transcript repertoire expressed of Plasmodium liver-stage parasites from GAP and RAS versus wild-type in an attempt to detect antigens that are uniquely or differentially expressed in GAP. One of the most abundant transcript up-regulated in RAS and GAP coded for a P. berghei C2-containing protein (C2CP). C2 domains are generally involved in Ca2+-sensing and -signalling and characteristic domains of the ferlin protein family. Database search revealed beside the Pb C2CP one annotated Pb ferlin (FER) and a ferlin-like protein (FLP). The cellular functions of Plasmodial ferlins, however, are unknown. We therefore also aimed at the cellbiological characterisation of the identified protein family. Targeted gene disruption experiments revealed an essential role of Pb C2CP and Pb FER during blood-stage development. The main objective of this study, however, focussed on the investigation of the antigenic potential of this novel pre-erythrocytic antigen. Interestingly epitope prediction identified several high-binding Pb C2CP-specific H2b-restricted CD8+ T-cell epitopes. Indeed, we could show that Pb C2CP-specific cells are recognised and lysed in immunised C57BL/6 mice. Moreover, we were able to specifically restimulate T cells in the livers of immunised animals with the Pb C2CP-derived peptide T9L. Altogether, both the dissection of novel antigens from the protection-inducing attenuated parasites and the immunogenic capacity as shown by a selected critical target antigen Pb C2CP for the first time allows specific restimulation of T cells in the experimental GAP vaccination model. Therefore this work clears the way for studying effector mechanisms underlying GAP-induced immunity. This work is of fundamental importance to understanding the mechanisms of pre-erythrocytic immunity to malaria and may further pave the way for the composition of an anti-infective multi-component subunit malarial vaccine

    ProcessJ: The JVMCSP Code Generator

    Full text link
    We as a society have achieved greatness because we work together. There is power in numbers. However, when it comes to programming we have not been able to achieve the same level of symbiosis. This is because concurrent programming has been stigmatized as an advance and ab- stract subject allegedly harder than sequential programming. Additionally, traditional approaches to solving concurrent problems using sequential programming become unnecessarily difficult be- cause most of what newcomers are taught when it comes to concurrent programming (e.g., message passing and threads), while being technically correct, is completely irrelevant to the problems at hand. Rather than examining the preconceived notions of the problem, we stubbornly try to fix it using thread-and-lock models or non-shared memory and message passing models, making rea- soning about the concurrent behavior of the problem extremely complicated if at all even possible. Exploiting threads effectively depends on the concurrency model supported by the program- ming language being used. What is also needed is fine-grained parallelism without the explicit use of locks and without asynchronicity so programs can be made easy to reason about. I believe that ProcessJ can be the programming language that provides a bridge from todays languages to tomorrows concurrent programs. This thesis introduces ProcessJ, a new process-oriented language with Java-like syntax and CSP-based communication that uses synchronous channels. ProcessJ is cooperatively scheduled, runs on the Java Virtual Machine (JVM), and allows hundreds of millions of concurrent processes on a single core. Next, I describe its implementation and features. Follow- ing this, I explain the translation scheme of ProcessJ source code to Java, and how the generated code is used to create processes that correctly cooperate in scheduling without using the Thread or Runnable Java classes

    Malaria immunology and vaccine development

    No full text
    This thesis describes work undertaken by the author at the University of Oxford. Itbegins by providing an introduction to malaria infection and pathophysiology, anda review of the latest attempts to produce an effective malaria vaccine. It goes onto describe the rationale behind the vaccines developed by the University ofOxford and others. A brief introduction to the process of planning and carrying outclinical trials of vaccines is then provided, and is followed by chapters describingtwo clinical trials, designed to test the safety, immunogenicity and then efficacy ofcandidate malaria vaccines. These trials were performed in Oxford, to examinetwo different vaccination approaches. The first intended to broaden the specificityof the vaccine induced immune response, by providing multiple antigens in onevaccine, aiming thereby to improve protection from malaria infection. The secondregimen used a combination vaccine intending to induce both humoral and cellularimmunity simultaneously, thereby providing enhanced efficacy against malariainfection. Neither approach was sufficient to provide protection from infection in thechallenge studies described; however, some impact on the disease was detectedin the second study. This is examined in detail. The laboratory work describedstudies background immune responses (both cellular and humoral) to vaccineantigens in a malaria exposed population, intended to support the inclusion ofthese antigens in the multi-antigen vaccine. The remaining chapters describe workin parasite life cycle modelling, undertaken to aid interpretation of results of theseclinical trials, and finally an examination of the clinical course of malaria in thecontrol volunteers who have taken part in the many challenge studies conducted inOxford

    Characteristic time scale as optimal input in Machine Learning algorithms: Homogeneous autoignition

    Get PDF
    Considering temporally evolving processes, the search for optimal input selection in Machine Learning (ML) algorithms is extended here beyond (i) the readily available independent variables defining the process and (ii) the dependent variables suggested by feature extraction methods, by considering the time scale that characterizes the process. The analysis is based on the process of homogeneous autoignition, which is fully determined by the initial temperature T(0) and pressure p(0) of the mixture and the equivalence ratio that specifies the initial mixture composition. The aim is to seek the optimal input for the prediction of the time at which the mixture ignites. The Multilayer Perceptron (MLP) and Principal Component Analysis (PCA) algorithms are employed for prediction and feature extraction, respectively. It is demonstrated that the time scale that characterizes the initiation of the process (0), provides much better accuracy as input to MLP than any pair of the three independent parameters T(0), p(0) and or their two principal components. Indicatively, it is shown that using (0) as input results in a coefficient of determination R2 in the range of 0.953 to 0.982, while the maximum value of R2 when using the independent parameters or principal components is 0.660. The physical grounds, on which the success of (0) is based, are discussed. The results suggest the need for further research in order to develop selection methodologies of optimal inputs among those that characterize the process
    corecore