149 research outputs found

    Order Acceptance and Scheduling: A Taxonomy and Review

    Get PDF
    Over the past 20 years, the topic of order acceptance has attracted considerable attention from those who study scheduling and those who practice it. In a firm that strives to align its functions so that profit is maximized, the coordination of capacity with demand may require that business sometimes be turned away. In particular, there is a trade-off between the revenue brought in by a particular order, and all of its associated costs of processing. The present study focuses on the body of research that approaches this trade-off by considering two decisions: which orders to accept for processing, and how to schedule them. This paper presents a taxonomy and a review of this literature, catalogs its contributions and suggests opportunities for future research in this area

    Ensuring Service Level Agreements for Composite Services by Means of Request Scheduling

    Get PDF
    Building distributed systems according to the Service-Oriented Architecture (SOA) allows simplifying the integration process, reducing development costs and increasing scalability, interoperability and openness. SOA endorses the reusability of existing services and aggregating them into new service layers for future recycling. At the same time, the complexity of large service-oriented systems negatively reflects on their behavior in terms of the exhibited Quality of Service. To address this problem this thesis focuses on using request scheduling for meeting Service Level Agreements (SLAs). The special focus is given to composite services specified by means of workflow languages. The proposed solution suggests using two level scheduling: global and local. The global policies assign the response time requirements for component service invocations. The local scheduling policies are responsible for performing request scheduling in order to meet these requirements. The proposed scheduling approach can be deployed without altering the code of the scheduled services, does not require a central point of control and is platform independent. The experiments, conducted using a simulation, were used to study the effectiveness and the feasibility of the proposed scheduling schemes in respect to various deployment requirements. The validity of the simulation was confirmed by comparing its results to the results obtained in experiments with a real-world service. The proposed approach was shown to work well under different traffic conditions and with different types of SLAs

    Statistic Rate Monotonic Scheduling

    Full text link
    In this paper we present Statistical Rate Monotonic Scheduling (SRMS), a generalization of the classical RMS results of Liu and Layland that allows scheduling periodic tasks with highly variable execution times and statistical QoS requirements. Similar to RMS, SRMS has two components: a feasibility test and a scheduling algorithm. The feasibility test for SRMS ensures that using SRMS' scheduling algorithms, it is possible for a given periodic task set to share a given resource (e.g. a processor, communication medium, switching device, etc.) in such a way that such sharing does not result in the violation of any of the periodic tasks QoS constraints. The SRMS scheduling algorithm incorporates a number of unique features. First, it allows for fixed priority scheduling that keeps the tasks' value (or importance) independent of their periods. Second, it allows for job admission control, which allows the rejection of jobs that are not guaranteed to finish by their deadlines as soon as they are released, thus enabling the system to take necessary compensating actions. Also, admission control allows the preservation of resources since no time is spent on jobs that will miss their deadlines anyway. Third, SRMS integrates reservation-based and best-effort resource scheduling seamlessly. Reservation-based scheduling ensures the delivery of the minimal requested QoS; best-effort scheduling ensures that unused, reserved bandwidth is not wasted, but rather used to improve QoS further. Fourth, SRMS allows a system to deal gracefully with overload conditions by ensuring a fair deterioration in QoS across all tasks---as opposed to penalizing tasks with longer periods, for example. Finally, SRMS has the added advantage that its schedulability test is simple and its scheduling algorithm has a constant overhead in the sense that the complexity of the scheduler is not dependent on the number of the tasks in the system. We have evaluated SRMS against a number of alternative scheduling algorithms suggested in the literature (e.g. RMS and slack stealing), as well as refinements thereof, which we describe in this paper. Consistently throughout our experiments, SRMS provided the best performance. In addition, to evaluate the optimality of SRMS, we have compared it to an inefficient, yet optimal scheduler for task sets with harmonic periods.National Science Foundation (CCR-970668

    A distributed scheduling algorithm for heterogeneous real-time systems

    Get PDF
    Much of the previous work on load balancing and scheduling in distributed environments was concerned with homogeneous systems and homogeneous loads. Several of the results indicated that random policies are as effective as other more complex load allocation policies. The effects of heterogeneity on scheduling algorithms for hard real time systems is examined. A distributed scheduler specifically to handle heterogeneities in both nodes and node traffic is proposed. The performance of the algorithm is measured in terms of the percentage of jobs discarded. While a random task allocation is very sensitive to heterogeneities, the algorithm is shown to be robust to such non-uniformities in system components and load

    Towards achieving execution time predictability in web services middleware

    Get PDF
    Web services middleware are typically designed optimised for throughput. Requests are accepted unconditionally and no differentiation is made in processing. Many use the thread-pool pattern to execute requests in parallel using processor sharing. Clusters hosting web services dispatch requests only to balance out the load among the executors. Such optimisations for throughput work out negatively on the predictability of execution. Processor sharing results in the increase of execution time with the number of concurrent requests, making it impossible to predict or control the execution of a request. Existing works fail to address the need for predictability in web service execution. Some achieve a level of differentiated processing, but fail to consider predictability as their main quality attribute. Some give a probabilistic guarantee on service levels. However, from a predictability perspective they are inconsistent. A few achieve predictable execution times, though only in closed systems where request properties are known at system design time. Web services operate on the Internet, where request properties are relatively unknown. This thesis investigates the problem of achieving predictable times in web service executions. We introduce the notion of a processing deadline for service execution, which the web services engine must adhere to in completing the request in a repeatable and a consistent manner. Reaching such execution deadlines by the services engine is made possible by three main features. Firstly a deadline based scheduling algorithm introduced, ensures the processing deadlines are followed. A laxity based analytical model and an admission control algorithm it is based on, selects requests for execution, resulting in a wider range of laxities to enable more requests with overlapping executions to be scheduled together. Finally, a real-time scheduler component introduced in to the server uses a priority model to schedule the execution of requests by controlling the execution of individual worker threads in custom-made thread pools. Predictability of execution in cluster based deployments is further facilitated by four dispatching algorithms that consider the request deadlines and laxity property in the dispatching process. A performance model derived for a similar system approximates the waiting time where requests with smaller deadlines (having higher priority) experience smaller waiting times than requests with longer deadlines. These techniques are implemented in web services middleware in standalone and cluster-based configurations. They are evaluated against their unmodified versions and techniques such as round-robin and class based dispatching, to measure their predictability gain. Empirical evidence indicate the enhancements enable the middleware to achieve more than 90% of the deadlines, while accepting at least 20% of the requests in high traffic conditions. The enhancements additionally prevent the middleware from reaching overloaded conditions in heavy traffic, while maintaining comparable throughput rates to the unmodified versions of the middleware. Analytical and simulation results for the performance model confirms that deadline based preemptive scheduling results in a better balance of waiting times where high priority requests experience lower waiting times while lower priority requests are not over-starved compared to other techniques such as static priority ordering, First-Come-First-Served, Round-Robin and non-preemptive deadline based scheduling

    Adding Robustness in Dynamic Preemptive Scheduling

    Full text link
    In this paper we introduce a robust earliest deadline scheduling algorithm for deal ing with hard aperiodic tasks under overloads in a dynamic realtime environment The algorithm synergistically combines many features including dynamic guarantees graceful degradation in overloads deadline tolerance resource reclaiming and dy namic reguarantees A necessary and sucient schedulability test is presented and an ecient On guarantee algorithm is proposed The new algorithm is evaluated via simulation and compared to several baseline algorithms The experimental results show excellent performance of the new algorithm in normal and overload conditions Static realtime systems are designed for worst case situations Assuming that all the assumptions made in the design and analysis are correct we can say that the level of guarantee for these systems is absolute and all tasks will make their deadlines Unfortunately static systems are not always possible becaus
    corecore