4,556 research outputs found

    Reliable massively parallel symbolic computing : fault tolerance for a distributed Haskell

    Get PDF
    As the number of cores in manycore systems grows exponentially, the number of failures is also predicted to grow exponentially. Hence massively parallel computations must be able to tolerate faults. Moreover new approaches to language design and system architecture are needed to address the resilience of massively parallel heterogeneous architectures. Symbolic computation has underpinned key advances in Mathematics and Computer Science, for example in number theory, cryptography, and coding theory. Computer algebra software systems facilitate symbolic mathematics. Developing these at scale has its own distinctive set of challenges, as symbolic algorithms tend to employ complex irregular data and control structures. SymGridParII is a middleware for parallel symbolic computing on massively parallel High Performance Computing platforms. A key element of SymGridParII is a domain specific language (DSL) called Haskell Distributed Parallel Haskell (HdpH). It is explicitly designed for scalable distributed-memory parallelism, and employs work stealing to load balance dynamically generated irregular task sizes. To investigate providing scalable fault tolerant symbolic computation we design, implement and evaluate a reliable version of HdpH, HdpH-RS. Its reliable scheduler detects and handles faults, using task replication as a key recovery strategy. The scheduler supports load balancing with a fault tolerant work stealing protocol. The reliable scheduler is invoked with two fault tolerance primitives for implicit and explicit work placement, and 10 fault tolerant parallel skeletons that encapsulate common parallel programming patterns. The user is oblivious to many failures, they are instead handled by the scheduler. An operational semantics describes small-step reductions on states. A simple abstract machine for scheduling transitions and task evaluation is presented. It defines the semantics of supervised futures, and the transition rules for recovering tasks in the presence of failure. The transition rules are demonstrated with a fault-free execution, and three executions that recover from faults. The fault tolerant work stealing has been abstracted in to a Promela model. The SPIN model checker is used to exhaustively search the intersection of states in this automaton to validate a key resiliency property of the protocol. It asserts that an initially empty supervised future on the supervisor node will eventually be full in the presence of all possible combinations of failures. The performance of HdpH-RS is measured using five benchmarks. Supervised scheduling achieves a speedup of 757 with explicit task placement and 340 with lazy work stealing when executing Summatory Liouville up to 1400 cores of a HPC architecture. Moreover, supervision overheads are consistently low scaling up to 1400 cores. Low recovery overheads are observed in the presence of frequent failure when lazy on-demand work stealing is used. A Chaos Monkey mechanism has been developed for stress testing resiliency with random failure combinations. All unit tests pass in the presence of random failure, terminating with the expected results

    How ‘ya gonna keep ‘em down on the farm -After they’ve seen Paree

    Get PDF
    Change is abroad across the land, as often destructive as constructive. No one is immune. The financial crisis is perhaps the most obvious wave of change, but as the title of this paper (and also the title of a song popular in America between World I and World War II1) suggests, the most pervasive, seductive, and subversive changes are fueled by the view of the wider world provided by the internet with its blogs and social networks. How ‘ya gonna keep‘em satisfied with a second-class life (or worse) after they have seen the luxuries and freedoms of the wider world? Knowledge is power, and frightening amounts of people-power can be marshaled via the internet. Tyrants fall and royal families quake in the face of so much focused intentionality. But even as freedoms are recovered, what are all the unemployed to do with that freedom, especially in those countries in which the average age is between late teens and early twenties – kids, really, with no prospects of the good life? Add to this the coming shortage of food, drinking water, and fuel and the resulting upward spiral of costs for life’s necessities, further imposing hardship on new members of ‘the internet generation.’ Social and political catastrophes are to be expected. What can the countries in ‘Europe’s southern neighborhood’ do to respond, to be proactive in the face of massive and predictable changes?predictable problems, proactive response, cross-border collaboration, food, fuel riots

    Transparent fault tolerance for scalable functional computation

    Get PDF
    Reliability is set to become a major concern on emergent large-scale architectures. While there are many parallel languages, and indeed many parallel functional languages, very few address reliability. The notable exception is the widely emulated Erlang distributed actor model that provides explicit supervision and recovery of actors with isolated state. We investigate scalable transparent fault tolerant functional computation with automatic supervision and recovery of tasks. We do so by developing HdpH-RS, a variant of the Haskell distributed parallel Haskell (HdpH) DSL with Reliable Scheduling. Extending the distributed work stealing protocol of HdpH for task supervision and recovery is challenging. To eliminate elusive concurrency bugs, we validate the HdpH-RS work stealing protocol using the SPIN model checker. HdpH-RS differs from the actor model in that its principal entities are tasks, i.e. independent stateless computations, rather than isolated stateful actors. Thanks to statelessness, fault recovery can be performed automatically and entirely hidden in the HdpH-RS runtime system. Statelessness is also key for proving a crucial property of the semantics of HdpH-RS: fault recovery does not change the result of the program, akin to deterministic parallelism. HdpH-RS provides a simple distributed fork/join-style programming model, with minimal exposure of fault tolerance at the language level, and a library of higher level abstractions such as algorithmic skeletons. In fact, the HdpH-RS DSL is exactly the same as the HdpH DSL, hence users can opt in or out of fault tolerant execution without any refactoring. Computations in HdpH-RS are always as reliable as the root node, no matter how many nodes and cores are actually used. We benchmark HdpH-RS on conventional clusters and an HPC platform: all benchmarks survive Chaos Monkey random fault injection; the system scales well e.g. up to 1,400 cores on the HPC; reliability and recovery overheads are consistently low even at scale

    Provably and Practically Efficient Race Detection for Task-Parallel Code

    Get PDF
    Parallel systems are pervasive nowadays. Specifically, modern computers have embraced multicore architectures due to the difficulties of exploiting higher clock speeds on single-core CPUs. However, parallel programming is challenging. Determinacy race, in particular, is a common pitfall when writing task-parallel code. It can easily lead to non-deterministic behavior of the parallel program and therefore a determinacy race is often considered as a bug. Unfortunately, such bugs are hard to debug because they do not necessarily produce obvious failures in every single execution. To ease the debugging process of determinacy races in task-parallel code, this dissertation proposes several provably and practically efficient parallel race detection algorithms. Unlike prior works mostly target fork-join parallelism, we focus on less structured but important programming paradigms – pipeline parallelism and futures. In addition, we build an efficient runtime system for scheduling futures, which is not only a facility to study the race detection problem for futures but also useful in practice. Finally, this dissertation investigates mechanisms that optimize the access history of race detectors, which provides significant additional boost to the performance

    Improving provision for disaffected students: Toward a new educational model

    Get PDF
    The purpose of this study is to develop and review strategies and policies to drive retentive teaching-learning environments for disaffected students, modifying their modus operandi sufficiently for them to qualify and retain a tertiary place or position in the workforce, or sustain a return to mainstream schooling. I employed action research methods to examine Strike Four. an educational model servicing students with severe social and/ or emotional difficulties and behavioural disorders. I tested the Strike Four model during an intensive study period on two programs. Part 1 of the thesis comprises three Chapters. An introduction to the issue of the marginalisation and exclusion of troublesome students in mainstream education is presented in Chapter 1. The review of associated literature, which follows in Chapter 2, examines: early attitudes to crime and deviant behaviour; some modem sociological and psychological attempts to diagnose, categorise, or cure deviance; school-based behaviour modification •strategies; and various Australian states\u27 attempts to service disaffected students with education. The theoretical framework presented in Chapter 3 includes the rationale for my choice of qualitative methods, discussion and selection of an action research model, and the position taken on the issues of anonymity and authenticity. Part 2 of the thesis, The Study , comprises four chapters, and a concluding chapter. A grounded autobiography that clarifies my personal position, whilst demonstrating how my modus operandi was transformed through personal critical moments, is offered in Chapter 4. This provides a base from which to consider the potential for personal critical moments, texts, and mentors to transform an individual\u27s ideology and modus operandi. The educational theory and ideological underpinnings held to underlie the Strike Four model are presented in Chapter 5. Chapter 6 comprises a critical examination of the evolution of Strike Four policy, in particular:, how and if the educational theory and ideological underpinnings claimed to underlie the model are apparent in model policy. Chapter 7 deals with three program strategies: harnessing golden teaching moments; using curriculum as a tool to shape behaviour; and the use of positive contracting to encourage behaviour self-management skills in troublesome students. In this chapter I critically examine how and if policy and ideology is reflected in practice on the programs, and if the various policies, and the three key strategies, are proving successful in modifying the modus operandi of the young people sufficiently to facilitate their functioning in mainstream society. An end piece to the fieldwork is included to fill in gaps resulting from the reporting of selected case studies. Chapter 8 includes the findings and recommendations for future research. The model\u27s success in modifying students\u27 modus operandi is demonstrated through the individual case studies and tables. Almost 100% of the students (on entry classified severely alienated) maintained their placement in work, technical college, or mainstream schooling for the three month post support period

    Easier Parallel Programming with Provably-Efficient Runtime Schedulers

    Get PDF
    Over the past decade processor manufacturers have pivoted from increasing uniprocessor performance to multicore architectures. However, utilizing this computational power has proved challenging for software developers. Many concurrency platforms and languages have emerged to address parallel programming challenges, yet writing correct and performant parallel code retains a reputation of being one of the hardest tasks a programmer can undertake. This dissertation will study how runtime scheduling systems can be used to make parallel programming easier. We address the difficulty in writing parallel data structures, automatically finding shared memory bugs, and reproducing non-deterministic synchronization bugs. Each of the systems presented depends on a novel runtime system which provides strong theoretical performance guarantees and performs well in practice

    Factors Influencing Farm Crime in Kenya: Opinions and Experiences of Farmers

    Get PDF
    Although agriculture is the backbone of Kenya’s economy, the industry is faced with rapid social, cultural, economic, and technological changes that have significantly increased crime levels in rural areas. In particular, communal, social, and individual controls are diminishing, and the result is an increase of criminal activities against agricultural operations. The aim of the study was to assess factors associated with levels of agricultural theft and vandalism in Kenya, based on the perceptions of farmers themselves. The research was carried out in the Soy division of Uasin Gishu County. A multistage sampling approach, which incorporates purposive, random, and systematic techniques, was used to select respondents within the case study locations. A semi-structured questionnaire was administered to a representative sample of 200 farmers. Key informant interviews and informal discussions were conducted with local administration officers, namely, village elders, sub chiefs and chiefs, to supplement information derived from the survey. The study used routine activity theory to explain how perceived changes in communities where the farmers lived have created opportunities for the commission of crime. Based on the findings, the study recommends programs which create employment opportunities for both youth and disadvantaged persons in rural Kenya
    corecore