68 research outputs found

    A flexible simulaton framework for the study of deadlock resolution algorithms in multicore systems

    Get PDF
    Deadlock is a common phenomenon in software applications, yet it is ignored by most operating systems. Although the occurrence of a deadlocks in systems is not frequent, in some cases, the effects are drastic when deadlock occurs. The ongoing trend in processor technology indicates that future systems will have hundreds and thousands of cores. Due to this imminent trend in hardware development, the problem of deadlock has gained renewed attention in research. Deadlock handling techniques that are developed for earlier processors and distributed systems might not work well with multicore systems, due to their architectural differences. Hence, to maximize the utility of multicore systems, new programs have to be carefully designed and tested before they can be adopted for practical use. Many approaches have been developed to handle deadlock in multicore systems, but very little attention has been paid to comparing the performance of those approaches with respect to different performance parameters. To fulfil the above mentioned shortfalls, we need a flexible simulation testbed to study deadlock handling algorithms and to observe their performance differences in multicore systems. The development of such a framework is the main goal of this thesis. In the framework, we implemented a general a scenario, scenario for the Dining Philosopher's problem and scenario for the Banker's algorithm. In addition to these scenarios, we demonstrate the flexibility, soundness, and use of the proposed framework by simulating two different deadlock handling strategies "" deadlock avoidance (the Banker's algorithm) and deadlock detection (Dreadlocks). The deadlock detection is followed by deadlock recovery to resolve the detected deadlock. We also present result analysis for the different set of experiments performed on the implemented strategies. The proposed simulation testbed to study deadlocks in multicore systems is developed using Java. --Leaf i.The original print copy of this thesis may be available here: http://wizard.unbc.ca/record=b214097

    The exploitation of parallelism on shared memory multiprocessors

    Get PDF
    PhD ThesisWith the arrival of many general purpose shared memory multiple processor (multiprocessor) computers into the commercial arena during the mid-1980's, a rift has opened between the raw processing power offered by the emerging hardware and the relative inability of its operating software to effectively deliver this power to potential users. This rift stems from the fact that, currently, no computational model with the capability to elegantly express parallel activity is mature enough to be universally accepted, and used as the basis for programming languages to exploit the parallelism that multiprocessors offer. To add to this, there is a lack of software tools to assist programmers in the processes of designing and debugging parallel programs. Although much research has been done in the field of programming languages, no undisputed candidate for the most appropriate language for programming shared memory multiprocessors has yet been found. This thesis examines why this state of affairs has arisen and proposes programming language constructs, together with a programming methodology and environment, to close the ever widening hardware to software gap. The novel programming constructs described in this thesis are intended for use in imperative languages even though they make use of the synchronisation inherent in the dataflow model by using the semantics of single assignment when operating on shared data, so giving rise to the term shared values. As there are several distinct parallel programming paradigms, matching flavours of shared value are developed to permit the concise expression of these paradigms.The Science and Engineering Research Council

    Data routing in multicore processors using dimension increment method

    Full text link
    A Deadlock-free routing algorithm can be generated for arbitrary interconnection network using the concept of virtual channels but the virtual channels will lead to more complex algorithms and more demands of NOC resource. In this thesis, we study a Torus topology for NOC application, design its structure and propose a routing algorithm exploiting the characteristics of NOC. We have chosen a typical 16 (4 by 4) routers Torus and propose the corresponding route algorithm. In our algorithm, all the channels are assigned 4 different dimensions (n0,n1,n2 & n3). By following the dimension increment method, we break the dependent route circles, and avoid dead lock and live-lock and avoid the overhead of virtual channels. Xilinx offers two soft core processors, namely Picoblaze and Microblaze. The Picoblaze processor is 8-bit configurable processor core. These soft processor cores offer designers tremendous flexibility during the design process, allowing the designers to configure the processor to meet the needs of their systems (e.g., adding custom instructions or including/excluding particular data path coprocessors) and to quickly integrate the processor within any FPGA. Unlike single chip Microprocessor/FPGA systems using hard-core processors, soft processor cores allow designers to incorporate varying numbers of processors within a single FPGA design depending on an application’s needs.Soft processor cores implemented using FPGAs typically have higher power consumption and decreased performance compared with hard-core processors. Key features of the Picoblaze processor, as well as other soft processor cores, include the user configurable options that allow a designer to tailor the processor’s functionality to their specific design. The proposed design implements sixteen instances of a soft processor, Picoblaze, connected in a torus topology. Data is passed from one processor to another employing a routing algorithm which is based on dimension increment method. Thus we design an NOC with multiple microcontrollers and related logic, synthesize the process and test its performance in a simulation environment

    Developing collaborative planning support tools for optimised farming in Western Australia

    Get PDF
    Land-use (farm) planning is a highly complex and dynamic process. A land-use plan can be optimal at one point in time, but its currency can change quickly due to the dynamic nature of the variables driving the land-use decision-making process. These include external drivers such as weather and produce markets, that also interact with the biophysical interactions and management activities of crop production.The active environment of an annual farm planning process can be envisioned as being cone-like. At the beginning of the sowing year, the number of options open to the manager is huge, although uncertainty is high due to the inability to foresee future weather and market conditions. As the production year reveals itself, the uncertainties around weather and markets become more certain, as does the impact of weather and management activities on future production levels. This restricts the number of alternative management options available to the farm manager. Moreover, every decision made, such as crop type sown in a paddock, will constrains the range of management activities possible in that paddock for the rest of the growing season.This research has developed a prototype Land-use Decision Support System (LUDSS) to aid farm managers in their tactical farm management decision making. The prototype applies an innovative approach that mimics the way in which a farm manager and/or consultant would search for optimal solutions at a whole-farm level. This model captured the range of possible management activities available to the manager and the impact that both external (to the farm) and internal drivers have on crop production and the environment. It also captured the risk and uncertainty found in the decision space.The developed prototype is based on a Multiple Objective Decision-making (MODM) - á Posteriori approach incorporating an Exhaustive Search method. The objective set used for the model is: maximising profit and minimising environmental impact. Pareto optimisation theory was chosen as the method to select the optimal solution and a Monte Carlo simulator is integrated into the prototype to incorporate the dynamic nature of the farm decision making process. The prototype has a user-friendly front and back end to allow farmers to input data, drive the application and extract information easily

    Flow of funds modeling for localized financial markets: an application of spatial price and allocation activity analysis models

    Get PDF
    A comprehensive examination of recent and proposed institutional and regulatory changes impacting local financial markets and a summary of the most important applications of mathematical programming to individual financial intermediaries and financial markets are presented. While U.S. financial markets face myriad regulatory and structural changes, there has been no systematic examination of the effects of these changes on local financial markets. Mathematical programming models have been widely used to reflect the operational activity of individual financial intermediaries. However, a methodological and applications void exists in modeling local financial markets;Building on the concepts of self-dual quadratic programming models and mathematical models of individual intermediaries, a generalized perfect competition spatial price and allocation activity analysis model for localized financial markets is developed. The model provides an improved capability to reflect the topology of localized financial markets. There are two key structural aspects of the model: (1) activity analysis formulation of individual intermediary operations, and (2) simultaneous endogenous determination of pricing and flow of funds patterns in spatially separate source and use of funds markets. These aspects allow significant detail in modeling the financial intermediation process and considerable flexibility for policy analyses;The perfect competition model is modified to account for the unique competitive characteristics of financial markets. The modifications allow alternatives to perfect competition in both asset and liability markets. The structure accommodates modeling perfect competition in some asset and liability markets and collusion in others. Parameterization of model coefficients can be used to imitate other conditions of imperfect competition;A series of prototypes for commercial banking markets is used to extend the competitive concepts to include differentiated products; advertising; and modeling specific noncompetitive environments--monopolistic competition and the collusion, leading firm and market-share solution to the oligopoly problem;Since response functions for the supply of deposits and demand for credit at intermediaries represent the most important data input to the models, an econometric analysis of the demand for credit and deposit supply at commercial banks in Iowa is completed. The focus is on estimating the demand and supply of nonreal estate agricultural loans. Two stage least squares is used to estimate the structural equations. An hypothesis of markets in disequilibrium is tested. Finally, the structural equations are reestimated after correcting for heteroskedasticity

    Process Synchronization in Computer Networks

    Get PDF
    Synchronization is used in real life so as to organize the work to grantee its continuation and preventing what we call blocking, which means no one go on working. Synchronization has a technical meaning in computer field that is related to this meaning but somewhat different. However, synchronization is increasingly used and being an important issue with the development of operating systems which improve the possibility for processes to cooperate with each other even in distributed systems. Processes can operate within one machine using shared memory or through multiple machines using message passing. This thesis searches how to achieve process synchronization either on a single machine or multicomputer systems. In the former one, synchronization can be achieved using multiple methods such as semaphore and monitor, where as in the later one we can use centralized, distributed or token ring algorithms. Then we focus on one of synchronization problems, deadlock. Deadlock is a situation where two or more processes are all blocked and none of them can become unblocked until one of others become unblocked. Three methods for handling deadlock situation: prevention avoidance, and detection. A C++ program has been designed using Message-Passing Interface (MPI) under LINUX operating system to execute a producer – consumer synchronization problem

    Ninth Workshop and Tutorial on Practical Use of Coloured Petri Nets and the CPN Tools, Aarhus, Denmark, October 20-22, 2008

    Get PDF
    This booklet contains the proceedings of the Ninth Workshop on Practical Use of Coloured Petri Nets and the CPN Tools, October 20-22, 2008. The workshop is organised by the CPN group at the Department of Computer Science, University of Aarhus, Denmark. The papers are also available in electronic form via the web pages: http://www.daimi.au.dk/CPnets/workshop0

    Computer structures for distributed systems

    Get PDF
    • …
    corecore