6,411 research outputs found

    McMini: A Programmable DPOR-based Model Checker for Multithreaded Programs

    Full text link
    Model checking has become a key tool for gaining confidence in correctness of multi-threaded programs. Unit tests and functional tests do not suffice because of race conditions that are not discovered by those tests. McMini is an extensible model checker based on DPOR (Dynamic Partial Order Reduction). A mechanism was invented to declare to McMini new, primitive thread operations, typically in 100~lines or less of C~code. The mechanism was extended to also allow the end user to declare alternative thread wakeup policies, including spurious wakeups from condition variables. One declares: (I) under what conditions an operation is enabled; (ii) which thread operations are independent of each other; and (iii) when two operations can be considered as co-enabled. An optional wakeup policy is implemented by defining when a wait operation (on a semaphore, condition variable, etc.) is enabled. A new enqueue thread operation is described, allowing a user to declare alternative wakeup policies. McMini was first confirmed to operate correctly and efficiently as a traditional, but extensible model checker for mutex, semaphore, condition variable, and reader-writer. McMini's extensibility was then tested on novel primitive operations, representing other useful paradigms for multithreaded operations. An example is readers-and-two-writers. The speed of model checking was found to be five times faster and more, as compared to traditional implementations on top of condition variables. Alternative wakeup policies (e.g., FIFO, LIFO, arbitrary, etc.) were then tested using an enqueue operation. Finally, spurious wakeups were tested with a program that exposes a bug only in the presence of a spurious wakeup.Comment: 24 pages, 1 figur

    Representing the refugee: Rhetoric, discourse and the public agenda

    Get PDF
    The central concern of this dissertation is to examine representation and selfrepresentation as they pertain to this nation’s response to asylum seekers between the Tampa affair in August 2001 and the defeat of the Coalition government in the 2007 federal election. The first half of the dissertation examines the representation of refugees in two of the nation’s prominent newspapers, The West Australian and The Australian. Drawing upon the work of Stuart Hall, Edward Said, Michel Foucault and others it is contended that in the Australian government and media’s representation of asylum seekers Manichean-based ideologies can be traced, which serve to propagate the Orientalist’s project. Furthermore, a close analysis of From Nothing to Zero: Letters from Refugees in Australia’s Detention Centres and Asylum: Voices behind the razor wire, shows that it is only through selfrepresentation that the damaging effects of Orientalism can be challenged. As such the writings of Mikhail Bakhtin are central to this analysis of refugees’ selfrepresentations. In the final chapter the work of Emmanuel Levinas is also used, of particular interest is his concept of ‘face’. Combined with some of the ideas of the aforementioned theorists this demonstrates the centrality of oral discourse and selfrepresentation as sites of life, death and most crucially, hope for those refugees seeking to be accepted into the Australian community. The analysis of The West Australian and The Australian conducted in the first two chapters of this dissertation should be read in this context. While there are many factors that contribute to newspaper production such as audience, editorial influences and advertising demands to name but a few, these are not treated by this dissertation. My approach is entirely focussed on the politics of language in terms of its conception, use and effect. Similarly, in my analysis of refugees’ selfrepresentations, conducted in the final two chapters of the dissertation, these same concerns are fore-grounded. Furthermore, as the representations and selfrepresentations surrounding refugees considered in this dissertation were produced within specific historical and social conditions these also play an important role in informing my analysis. This Masters by Research (English Literature) was written by John Martin Cartner for the School of Arts and Sciences of the University of Notre Dame (Fremantle) and submitted in the year 2009

    Optimal Multiprocessor Locking Protocols Under FIFO Scheduling

    Get PDF
    Real-time locking protocols are typically designed to reduce any priority-inversion blocking (pi-blocking) a task may incur while waiting to access a shared resource. For the multiprocessor case, a number of such protocols have been developed that ensure asymptotically optimal pi-blocking bounds under job-level fixed-priority scheduling. Unfortunately, no optimal multiprocessor real-time locking protocols are known that ensure tight pi-blocking bounds under any scheduler. This paper presents the first such protocols. Specifically, protocols are presented for mutual exclusion, reader-writer synchronization, and k-exclusion that are optimal under first-in-first-out (FIFO) scheduling when schedulability analysis treats suspension times as computation. Experiments are presented that demonstrate the effectiveness of these protocols

    A Tutorial Introduction to Mosaic Pascal

    Get PDF
    In this report we describe a Pascal system that has been developed for programming Mosaic multi- computers. The system that we discuss runs on our Sun workstations, and we assume some familiarity with the use thereof. We assume the reader to be also familiar with programming in Pascal, and with message-passing programs. We describe how the Pascal language has been extended to perform message passing. We discuss a few implementation aspects that are relevant only to those users who have a need (or desire) to control some machine-specific aspects. The latter requires some detailed knowledge of the Mosaic system

    Parallel software caches

    Get PDF
    We investigate the construction and application of parallel software caches in shared memory multiprocessors. In contrast to maintaining a private cache for each thread, a parallel cache allows the re-use of results of lengthy computations by other threads. This is especially important in irregular applications where the re-use of intermediate results by scheduling is not possible. Example applications are the computation of intersections between a scanline and a polygon in computational geometry, and the computation of intersections between rays and objects in ray tracing. A parallel software cache is based on a readers/writers lock, i.e. as long as no thread alters the cache data structure, multiple threads may read simultaneously. If a thread wants to alter the cache because of a cache miss, it waits until all other threads have left the data structure, then it can update the contents of the cache. Other threads can access the cache only after the writer has finished its work. To increase utilization, the cache has a number of slots that can be locked separately. We investigate the tradeoff between slot size, search time in the cache, and the time to re-compute a cache entry. Another major difference between sequential and parallel software caches is the replacement strategy. We adapt classic replacement strategies such as LRU and random replacement for parallel caches. As execution platform, we use the SB-PRAM, but the concepts might be portable to machines such as NYU Ultracomputer, Tera MTA, and Stanford DASH

    Construir el diálogo científico en la Matemática: la búsqueda del equilibrio entre símbolos y palabras en artículos de investigación sobre Teoría de Juegos

    Get PDF
    Maestría en Inglés con Orientación en Lingüística AplicadaMost scientific communication is conducted in English, which may be a difficult task and a source of obstacles for researchers whose primary language is not English (Bitchenera & Basturkmen, 2006; Borlogan, 2009; Duff, 2010; Matsuda & Matsuda, 2010). As a matter of concern for language scholars, this situation requires at least two actions: (1) the development of research focused on the problems faced by researchers when writing in a foreign language, and (2) the design and implementation of pedagogical and didactic programmes or services aimed at providing researchers with the tools to enhance their linguistic and rhetorical skills. In both cases, the ultimate objective of these lines of action is to help researchers integrate into and interact with their knowledge communities in an independent, active and successful way. Considering those needs and the emerging interest in English as a lingua franca or as an international language, many scholars have devoted to studying the features of writing and language use across the world and across disciplines (Hyland, 2004; Matsuda & Matsuda, 2010; Mercado, 2010). However, few have explored the case of Mathematics (Lemke, 2002; Morgan, 2008; O’Halloran, 2005; Schleppegrell, 2007), and even fewer have investigated the discourse of scientific research articles (SRA) in this discipline (Graves & Moghadassi, 2013, 2014). In view of this situation, investigation of the discourse of science in the field of Mathematics (Game Theory - GT) as used in the Institute of Applied Mathematics (IMASL), at the National University of San Luis (UNSL), becomes both an answer to local researchers’ needs and an attempt to contribute to current research in writing, evaluative discourse and use of English as an international language for the communication of science. Thus, the main objective of this work is to conduct a comparative description between unpublished GT SRAs written in English by IMASL researchers and published GT SRAs written in English by international authors, in terms of linguistic features used to build authorship and authorial stance. The exploration of the genre is made from the perspective of the system of Appraisal (Hood, 2010; Martin & White, 2005; White, 2000), with the aid of Corpus Linguistics (CL) tools (Cheng, 2012; Meyer, 2002; Tognini-Bonelli, 2001). The results of this research are expected to be useful for the enhancement of knowledge of language professionals devoted to the teaching of writing as well as translation, proofreading, editing and reviewing services. A further goal is to lay the foundations for the production of didactic material which can potentially be incorporated into writing courses or professional writing, translation, reviewing and proofreading training programmes.Fil: Lucero Arrua, Graciela Beatriz. Universidad Nacional de Córdoba. Facultad de Lenguas; Argentina

    Creating a Concurrent In-Memory B-Tree Optimized for NUMA Systems

    Get PDF
    The size of main memory is becoming larger. With the number of Central Processing Unit (CPU) cores ever increasing in modern systems, with each of them being able to access memory, the organization of memory becomes more important. In multicore systems, there are two main architectures for memory organization with respect to the cores - Symmetric Multi-Processor (SMP) and Non-Uniform Memory Architecture (NUMA). Prior work has focused on the improvement of the performance of B-Trees in highly concurrent and distributed environments, as well as in memory, for shared-memory mul- tiprocessors. However, little focus has been given to the performance of main memory B-Trees for NUMA systems. This work focuses on improving the performance of B-Trees contained in main memory of NUMA systems by introducing modifications that consider its storage in the physically distributed main memory of the NUMA system. The work in this thesis makes the following contributions to the development of a distributed B-Tree, specifically in a NUMA environment, modified from a B-Tree originally designed for high concurrency: • It introduces replication of internal nodes of the tree and shows how this can improve its overall performance in a NUMA environment. • It introduces NUMA-aware locking procedures with the aim of managing contention and exploiting locality of lock requests with reference to previous client operation request locations. • It introduces changes in the granularity of locking, starting from the original locking of every node to the locking of certain levels of nodes, showing the tradeoff between the granularity of locking and the performance of the tree based on the workload. • It considers the combination of the different techniques, with the aim of finding the combination which performs well overall for varying read-heavy workloads and number of client threads

    Enhancing Mobile Device System using Information from Users and Upper Layers

    Get PDF
    Despite the rapid hardware upgrades, a common complaint among smartphone owners is the poor battery life. to many users, being required to charge the smartphone after a single day of moderate usage is unacceptable. Moreover, current smartphones suffer various unpredictable delays during operation, e.g., when launching an app, leading to poor user experience. In this dissertation, we provide solutions that enhance systems on portable devices using information obtained from their users and upper layers on the I/O path. First, we provide an experimental study on how storage I/O path upper layers affect power levels in smartphones, and introduce energy-efficient approaches to reduce energy consumption facilitating various usage patterns. at each layer, we investigate the amount of energy that can be saved, and use that to design and implement a prototype with optimal energy savings named SmartStorage. We evaluate our prototype by using the 20 most popular android applications, and our energy-efficient approaches achieve from 23% to 52% of energy savings compared to using the current techniques. Next, we conduct the first large-scale user study on the I/O delay of android using the data collected from our android app running on 2611 devices within nine months. Among other factors, we observe that reads experience up to 626% slowdown when blocked by concurrent writes for certain workloads. We use this obtained knowledge to design a system called SmartIO that reduces application delays by prioritizing reads over writes. SmartIO is evaluated extensively on several groups of popular applications. The results show that our system reduces launch delays by up to 37.8%, and run-time delays by up to 29.6%. Finally, we study the impact of memory on smartphone user-perceived performance. Our heap usage investigation of 20 popular applications indicates that rich multimedia applications have high heap usage and go above allowed boundaries, up to 5.63 times more heap than guaranteed by the system, and may cause crashes and erroneous behaviors. Moreover, limited heap may not only cause an app to crash, but may even prevent an app from launching. Therefore, we present iRAM, a system that maintains optimal heap size limits to avoid crashes, efficiently maximizes free memory levels, and cleans low-priority processes to reduce application delays. The evaluation indicates that iRAM reduces application crashes by up to 14 percent
    • …
    corecore