7,522 research outputs found

    Enabling preemptive multiprogramming on GPUs

    Get PDF
    GPUs are being increasingly adopted as compute accelerators in many domains, spanning environments from mobile systems to cloud computing. These systems are usually running multiple applications, from one or several users. However GPUs do not provide the support for resource sharing traditionally expected in these scenarios. Thus, such systems are unable to provide key multiprogrammed workload requirements, such as responsiveness, fairness or quality of service. In this paper, we propose a set of hardware extensions that allow GPUs to efficiently support multiprogrammed GPU workloads. We argue for preemptive multitasking and design two preemption mechanisms that can be used to implement GPU scheduling policies. We extend the architecture to allow concurrent execution of GPU kernels from different user processes and implement a scheduling policy that dynamically distributes the GPU cores among concurrently running kernels, according to their priorities. We extend the NVIDIA GK110 (Kepler) like GPU architecture with our proposals and evaluate them on a set of multiprogrammed workloads with up to eight concurrent processes. Our proposals improve execution time of high-priority processes by 15.6x, the average application turnaround time between 1.5x to 2x, and system fairness up to 3.4x.We would like to thank the anonymous reviewers, Alexan- der Veidenbaum, Carlos Villavieja, Lluis Vilanova, Lluc Al- varez, and Marc Jorda on their comments and help improving our work and this paper. This work is supported by Euro- pean Commission through TERAFLUX (FP7-249013), Mont- Blanc (FP7-288777), and RoMoL (GA-321253) projects, NVIDIA through the CUDA Center of Excellence program, Spanish Government through Programa Severo Ochoa (SEV-2011-0067) and Spanish Ministry of Science and Technology through TIN2007-60625 and TIN2012-34557 projects.Peer ReviewedPostprint (author’s final draft

    Regression-free Synthesis for Concurrency

    Get PDF
    While fixing concurrency bugs, program repair algorithms may introduce new concurrency bugs. We present an algorithm that avoids such regressions. The solution space is given by a set of program transformations we consider in for repair process. These include reordering of instructions within a thread and inserting atomic sections. The new algorithm learns a constraint on the space of candidate solutions, from both positive examples (error-free traces) and counterexamples (error traces). From each counterexample, the algorithm learns a constraint necessary to remove the errors. From each positive examples, it learns a constraint that is necessary in order to prevent the repair from turning the trace into an error trace. We implemented the algorithm and evaluated it on simplified Linux device drivers with known bugs.Comment: for source code see https://github.com/thorstent/ConRepai

    Reverse-Commandeering

    Get PDF
    Although the anti-commandeering doctrine was developed by the Supreme Court to protect state sovereignty from federal overreach, nothing prohibits flipping the doctrine in the opposite direction to protect federal sovereignty from state overreach. Federalism preserves a balance of power between two sovereigns. Thus, the reversibility of the anti-commandeering doctrine appears inherent in the reasoning offered by the Court for the doctrine’s creation and application. In this Article, I contend that reversing the anti-commandeering doctrine is appropriate in the context of contemporary immigration federalism laws. Specifically, I explore how an unconstitutional incursion into federal sovereignty can be seen in state immigration laws such as Arizona’s controversial Senate Bill 1070 (SB 1070), the subject of the Court’s recent decision in Arizona v.United States, and also in the Legal Arizona Workers Act (LAWA), the subject of the Court’s consideration in Chamber of Commerce v. Whiting during the prior term. The Court upheld Section 2(B) of SB 1070 in Arizona, and upheld LAWA in Whiting, finding these state laws were not preempted by federal immigration law. Yet, in this Article, I conclude that these laws nonetheless interfere with the federal government’s exclusive power to control immigration policy at the national level. Thus, the constitutionality of state immigration laws such as SB 1070 and LAWA should be interpreted within an anti-commandeering framework. This doctrinal shift, from the preemption doctrine to the anti-commandeering doctrine, allows federal courts to examine the constitutionality of state immigration laws through a more explicit federalist lens

    A Resource-Based Prioritized Bisimulation for Real-Time Systems

    Get PDF
    The behavior of concurrent, real-time systems can be specified using a process algebra called CCSR. The underlying computation model of CCSR is resource-based, in which multiple resources execute synchronously, while processes assigned to the same resource are interleaved according to their priorities. CCSR allows the algebraic specification of timeouts, interrupts, periodic behaviors and exceptions. This paper develops a natural treatment of preemption, which is based not only on priority, but also on resource utilization and inter-resource synchronization. The preemption ordering leads to a term equivalence based on strong bisimulation, which is also a congruence with respect to the operators. Consequently the equivalence yields a compositional proof system, which is illustrated in the verification of resource-sharing, producer-consumer problem

    HeteroCore GPU to exploit TLP-resource diversity

    Get PDF

    Modular Verification of Interrupt-Driven Software

    Full text link
    Interrupts have been widely used in safety-critical computer systems to handle outside stimuli and interact with the hardware, but reasoning about interrupt-driven software remains a difficult task. Although a number of static verification techniques have been proposed for interrupt-driven software, they often rely on constructing a monolithic verification model. Furthermore, they do not precisely capture the complete execution semantics of interrupts such as nested invocations of interrupt handlers. To overcome these limitations, we propose an abstract interpretation framework for static verification of interrupt-driven software that first analyzes each interrupt handler in isolation as if it were a sequential program, and then propagates the result to other interrupt handlers. This iterative process continues until results from all interrupt handlers reach a fixed point. Since our method never constructs the global model, it avoids the up-front blowup in model construction that hampers existing, non-modular, verification techniques. We have evaluated our method on 35 interrupt-driven applications with a total of 22,541 lines of code. Our results show the method is able to quickly and more accurately analyze the behavior of interrupts.Comment: preprint of the ASE 2017 pape

    The New State Preemption, The Future of Home Rule, and The Illinois Experience

    Get PDF
    This article examines the rise of new forms of state preemption of local government legal authority in states across the nation, a trend that is prompting scholars, advocates, and officials to re-examine the underlying nature of home rule. The article lays out core components of a new approach to home rule that might remedy contemporary shortcomings in the doctrine, then reflects on lessons for reforming home rule from the Illinois experience

    Hop and HipHop : Multitier Web Orchestration

    Get PDF
    Rich applications merge classical computing, client-server concurrency, web-based interfaces, and the complex time- and event-based reactive programming found in embedded systems. To handle them, we extend the Hop web programming platform by HipHop, a domain-specific language dedicated to event-based process orchestration. Borrowing the synchronous reactive model of Esterel, HipHop is based on synchronous concurrency and preemption primitives that are known to be key components for the modular design of complex reactive behaviors. HipHop departs from Esterel by its ability to handle the dynamicity of Web applications, thanks to the reflexivity of Hop. Using a music player example, we show how to modularly build a non-trivial Hop application using HipHop orchestration code.Comment: International Conference on Distributed Computing and Internet Technology (2014
    • …
    corecore