2,491 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

    Fairness-aware scheduling on single-ISA heterogeneous multi-cores

    Get PDF
    Single-ISA heterogeneous multi-cores consisting of small (e.g., in-order) and big (e.g., out-of-order) cores dramatically improve energy- and power-efficiency by scheduling workloads on the most appropriate core type. A significant body of recent work has focused on improving system throughput through scheduling. However, none of the prior work has looked into fairness. Yet, guaranteeing that all threads make equal progress on heterogeneous multi-cores is of utmost importance for both multi-threaded and multi-program workloads to improve performance and quality-of-service. Furthermore, modern operating systems affinitize workloads to cores (pinned scheduling) which dramatically affects fairness on heterogeneous multi-cores. In this paper, we propose fairness-aware scheduling for single-ISA heterogeneous multi-cores, and explore two flavors for doing so. Equal-time scheduling runs each thread or workload on each core type for an equal fraction of the time, whereas equal-progress scheduling strives at getting equal amounts of work done on each core type. Our experimental results demonstrate an average 14% (and up to 25%) performance improvement over pinned scheduling through fairness-aware scheduling for homogeneous multi-threaded workloads; equal-progress scheduling improves performance by 32% on average for heterogeneous multi-threaded workloads. Further, we report dramatic improvements in fairness over prior scheduling proposals for multi-program workloads, while achieving system throughput comparable to throughput-optimized scheduling, and an average 21% improvement in throughput over pinned scheduling

    Towards Energy-Aware Multi-Core Scheduling

    Get PDF
    Dieser Beitrag ist mit Zustimmung des Rechteinhabers aufgrund einer (DFG geförderten) Allianz- bzw. Nationallizenz frei zugänglich.This publication is with permission of the rights owner freely accessible due to an Alliance licence and a national licence (funded by the DFG, German Research Foundation) respectively.There are two major current trends that can easily be identified in computer industry: (i) the shift towards massively parallelization fostered by multi-core technology resulting in growing numbers of cores per processor and (ii) the increasing importance of energy-awareness in computing due to rising energy costs and environmental awareness. In current operating systems, these two issues are often addressed independently: one component, the scheduler, assigns processes to cores and a second component manages the power states of individual cores in time. In this paper, we explain why this orthogonal treatment can lead to problems such as a considerably degraded system performance in case of on-demand processor power state management. Furthermore, we present an approach to energy-aware multi-core scheduling at the operating system level avoiding the performance penalty while still saving energy. To corroborate our argumentation and to illustrate the applicability of the presented approach, we give numbers from experiments based on Linux and current multi-core processors

    AN EXPERIMENTAL ANALYSIS OF CONDITIONAL COOPERATION

    Get PDF
    Experimental and empirical evidence identifies the existence of socialpreferences and proposes competing models of such preferences. In this paper, wefurther examine one such social preference: conditional cooperation. We run threeexperimental public goods games, the traditional voluntary contribution mechanism(VCM, also called the linear public goods game), the weak-link mechanism (WLM) andthe best-shot mechanism (BSM). We then analyze the existence and types ofconditional cooperation observed. We find that participants are responsive to the pastcontributions of others in all three games, but are most responsive to differentcontributions in each game: the median in the VCM, the minimum in the WLM and themaximum in the BSM. We conclude by discussing implications of these differences forbehavior in these three mechanisms. This paper thus refines our notions of conditionalcooperation to allow for different types of public good production functions and byextension, other contexts.experimental economics, conditional cooperation, public goods

    Teaching Concurrent Software Design: A Case Study Using Android

    Full text link
    In this article, we explore various parallel and distributed computing topics from a user-centric software engineering perspective. Specifically, in the context of mobile application development, we study the basic building blocks of interactive applications in the form of events, timers, and asynchronous activities, along with related software modeling, architecture, and design topics.Comment: Submitted to CDER NSF/IEEE-TCPP Curriculum Initiative on Parallel and Distributed Computing - Core Topics for Undergraduate

    Prime: A framework for co-located multi-device apps

    Get PDF
    Even though mobile devices are ubiquitous, the conceptually simple endeavor of using co-located devices for multi-user experiences is cumbersome. It may not even be possible when certain apps are not widely available. We introduce Prime, a thin-client framework for colocated multi-device apps (MDAs). It leverages wellestablished remote display protocols to enable spontaneous use of MDAs. One device acts as a host, executing the app on behalf of connected clients. The key challenges is dynamic scalability: providing high framerates, low latency and fairness across clients. Therefore, we have developed: An online scheduling algorithm that provides frame rate, latency and fairness guarantees; a modified 802.11 MAC protocol that provides low-latency and fairness; and an efficient video encoder pipeline that offers up to fourteen times higher framerates. We show that Prime can scale a host up to seven concurrent players for a commercially released open source action game, achieving touch-To-pixel latency below 100ms for all clients

    Economic Approach to Counteracting Cartels

    Get PDF
    Horizontal agreements between competitors concerning price fixing, quotas, distribution and/or supply market share – cartels – represent the most severe form of competition law infringement. Why are these agreements subject to the highest fines and, in some countries (USA, Canada, Mexico, UK), subject to both fines as well as imprisonment? What are the economic grounds for such severe punishment? How important is an economic analysis for the results of anti-cartel proceedings considering that they are prohibited per se, that is, absolutely and unconditionally? Does growing market concentration and resulting transparency increase the significance of the economic approach to the evaluation of market effects of the behaviour of business? Which methods make it possible to differentiate cartels from competition in oligopolistic markets including economic and econometric analyses? This paper will present an answer to the aforementioned questions on the basis of literature studies, an analysis of Polish case law between 2000–2009 as well as the author’s extensive experience in the field of antitrust consultancy.cartels, collusions, explicit and tacit collusions, transparent markets, relevant markets, anti-competitive agreements
    corecore