Academia.eduAcademia.edu

Gang Scheduling

description223 papers
group2 followers
lightbulbAbout this topic
Gang scheduling is a scheduling algorithm used in operating systems and parallel computing, where a group of related processes or threads are scheduled to run simultaneously on a set of processors. This approach aims to improve performance by minimizing context switching and enhancing data locality among processes that share resources.
lightbulbAbout this topic
Gang scheduling is a scheduling algorithm used in operating systems and parallel computing, where a group of related processes or threads are scheduled to run simultaneously on a set of processors. This approach aims to improve performance by minimizing context switching and enhancing data locality among processes that share resources.

Key research themes

1. How can fairness and equity be integrated into scheduling algorithms to improve multi-day and multi-client resource allocation?

This research theme focuses on extending traditional scheduling frameworks by embedding equity and fairness considerations, particularly when resources need to be allocated over multiple time periods or among multiple clients. This issue is critical in real-world contexts where consistent service or job completion guarantees across different users or days improve satisfaction and fairness indicators, presenting algorithmic and complexity challenges for offline scheduling with fairness constraints.

Key finding: Introduces the Equitable Scheduling (ES) problem, which generalizes minimizing tardy jobs on a single machine by ensuring that each client’s job meets its deadline at least k times over m days, thereby guaranteeing fairness.... Read more

2. What are the algorithmic and theoretical frameworks for scheduling multiprocessor tasks involving simultaneous execution and precedence constraints?

This theme addresses scheduling problems where tasks require multiple processors simultaneously (gang scheduling) and are subject to precedence or incompatibility constraints. Such problems are modeled through graph-theoretic frameworks, notably mixed graph coloring, which unifies scheduling constraints with vertex colorings under precedence and conflict edges. These models facilitate leveraging complexity results and approximation strategies from graph coloring to design efficient scheduling algorithms for parallel tasks with synchronization requirements.

Key finding: Demonstrates that scheduling multiprocessor tasks with unit processing times and constraints such as precedence and simultaneous execution requirements is equivalent to finding an optimal coloring of a mixed graph (combining... Read more

3. How can gang scheduling be optimized and adapted in contemporary multiprocessor and parallel computing environments, including clusters and real-time systems?

This theme explores the application, improvements, and adaptations of gang scheduling strategies to efficiently manage parallel jobs across multicore processors, clusters, and real-time systems. Emphasis is on algorithmic innovations that reduce scheduling overhead, incorporate cache and multicore architectures, manage energy and fairness tradeoffs, and handle periodic and rigid parallel tasks. The studies contribute practical scheduling frameworks enhancing parallel workload throughput, response times, and resource utilization in large-scale and time-constrained computational environments.

Key finding: Develops optimal linear programming and approximation algorithms for gang scheduling parallel implicit-deadline periodic task systems on identical multiprocessors, explicitly accounting for multi-core processors and cache... Read more
Key finding: Presents the STORM resource management system enabling fast, scalable gang scheduling on large parallel clusters, achieving job launch speeds an order of magnitude faster than prior systems. STORM reduces scheduling overhead... Read more
Key finding: Provides exact schedulability tests and structural characterizations for Fixed Task Priority (FTP) gang schedulers managing parallel rigid real-time tasks. The work identifies subclasses of gang scheduling that are... Read more
Key finding: Through experimental evaluation on a 16-node myrinet Linux cluster, the study compares batch scheduling, gang scheduling, and multiple coscheduling algorithms, including a newly proposed HYBRID scheme combining advantages of... Read more
Key finding: Addresses an underexplored parameter in gang scheduling—the length of scheduling time slots—and proposes a strategy balancing overhead reduction against job waiting times. The paper shows that overly long time slots reduce... Read more

All papers in Gang Scheduling

The job workloads of general-purpose multiprocessors usually include both compute-bound parallel jobs, which often require gang scheduling, as well as I/O-bound jobs, which require high CPU priority for the individual gang members of the... more
This paper is proposing a general periodicity result concerning any deterministic and memoryless scheduling algorithm (including non-work-conserving algorithms), for any context, on identical multiprocessor platforms. By context we mean... more
This paper gives and proves correct a simulation interval for any schedule generated by a deterministic and memoryless scheduler (i.e., one where the scheduling decision is the same and unique for any two identical system states) for... more
This paper is proposing a general periodicity result concerning any deterministic and memoryless scheduling algorithm (including non-work-conserving algorithms), for any context, on identical multiprocessor platforms. By context we mean... more
Checkpointing Rollback Recovery protocol is often used to provide fault tolerance for real-time applications. However, existing checkpointing implementations support only non-real-time applications as the checkpointing overhead is usually... more
In using a shared network of workstations for parallel processing, it is not only important to consider heterogeneity and differences in processing power between the workstations but also the dynamics of the system as a whole. In such a... more
RodosVisor is an object-oriented and bare-metal virtual machine monitor (VMM) or hypervisor designed for the aerospace industry, mainly to provide time and spatial separation to the NetworkCentric core avionics machine, Montenegro and... more
In this paper we propose a new class of scheduling policies, dubbed Concurrent Gang, that combines the advantages of gang scheduling for communication and synchronization intensive parallel jobs with the flexibility of a Unix scheduler... more
Gang scheduling has been widely used as a practical solution to the dynamic parallel job scheduling problem. To overcome some of the limitations of traditional Gang scheduling algorithms, Concurrent Gang is proposed as a class of... more
The recently developed FMLP + provides significant advantages for partitioned fixed priority scheduling, since it ensures asymptotically optimal O(n) maximum priority-inversion blocking. The constraints under the FMLP + can be exploited... more
The paper focuses on an under-studied yet fundamental issue on Simultaneous Multi-Threading (SMT) processors — how to schedule I/O workloads, so as to improve I/O performance and efficiency. The paper shows that existing techniques used... more
We study the problem of parallel stream computations on a multiprocessor architecture. Modelling the problem, we exhibit that any parallelisation introduces an arithmetic overhead related to intermediate copy operations. We provide lower... more
This paper presents an algorithm for scheduling parallel applications in large-scale, multiuser, heterogeneous distributed systems. The approach is primarily targeted at systems that harvest idle cycles in general-purpose workstation... more
Configurations of contemporary DRAM memory systems become increasingly complex. A recent study [5] shows that application performance is highly sensitive to choices of configurations, and suggests that tuning burst sizes and channel... more
Now a days Jobs are Scheduled in a single processor or more than one processor, a real time job is scheduled or executed based on requirements, An Successful task in embedded system ought to have constrained asset necessities: Memory,... more
Performance isolation is enforced in the cloud by setting to each virtual machine (VM) a given fraction of each resource type (physical memory, processor, and IO bandwidth). However, microarchitectural-level resources such as processor's... more
We address the software costs of switching threads between cores in a multicore processor. Fast core switching enables a variety of potential improvements, such as thread migration for thermal management, fine-grained load balancing, and... more
The MinUsageTime Dynamic Bin Packing (DBP) problem aims to minimize the accumulated bin usage time for packing a sequence of items into bins. It is often used to model job dispatching for optimizing the busy time of servers, where the... more
As the number of processors for multi-teraflop systems grows to tens of thousands, with proposed petaflops systems likely to contain hundreds of thousands of processors, the assumption of fully reliable hardware has been abandoned.... more
We describe the software architecture, technical features, and performance of TICK (Transparent Incremental Checkpointer at Kernel level), a system-level checkpointer implemented as a kernel thread, specifically designed to provide fault... more
RodosVisor is an object-oriented and bare-metal virtual machine monitor (VMM) or hypervisor designed for the aerospace industry, mainly to provide time and spatial separation to the NetworkCentric core avionics machine, Montenegro and... more
In shared use clusters, scheduling systems must schedule both serial and parallel jobs in a fair manner, while at the same time optimizing overall cluster efficiency. Since serial and parallel jobs conflict considerably, scheduling both... more
Advances in server virtualization offer new mechanisms to provide resource management for shared server infrastructures. Resource sharing requires coordination across self-interested system participants (e.g., providers from different... more
Gang scheduling has been widely used as a practical solution to the dynamic parallel job scheduling problem. Parallel tasks of a job are scheduled for simultaneous execution on a partition of a parallel computer. Gang Scheduling has many... more
In this paper we propose a new class of scheduling policies, dubbed Concurrent Gang, that combines the advantages of gang scheduling for communication and synchronization intensive parallel jobs with the flexibility of a Unix scheduler... more
Despite great advancements in hardware-assisted virtualization of the x86 architecture, certain workloads still suffer significant overhead. This work dissects said overhead in the context of multi-threading. We describe the state of the... more
In this article we present Mutable Locks, a synchronization construct with the same semantic of traditional locks (such as spin locks or sleep locks), but with a self-tuned optimized trade off between responsiveness and CPU-time usage... more
IN THE PAPER, THE PROBLEM IS CONSIDERED OF SHEDULING VERY LARGE APPLICATIONS ON PARALLEL COMPUTER SYSTEMS. THESE APPLICATIONS CAN BE MODELED AS MALLEABLE TASK, IE, TASKS WHICH PROCESSING SPEED DEPENDS ON A NUMBER OF PROCESSORS GRANTED.... more
Feasibility analysis determines (prior to system execution-time) whether a specified collection of hard-realtime jobs executed on a processing platform can meet all deadlines. In this paper, we derive near-optimal sufficient tests for... more
Simulation results of new scheduling method show quicker cluster system response time than FCFS and Backfilling scheduling methods.
Condor is a distributed system that harnesses the power of users' unused workstations to deliver large amounts of computing to CPU intensive projects. Because users can and do claim their machines at unforeseeable times, Condor... more
Performance isolation is enforced in the cloud by setting to each virtual machine (VM) a given fraction of each resource type (physical memory, processor, and IO bandwidth). However, microarchitectural-level resources such as processor's... more
Cloud infrastructures make extensive use of hypervisors (e.g. Xen, ESX), containers (e.g. LXC) and high level virtual machines (e.g. CLR, Java), broadly known as virtual machine (VM) technologies, to achieve workload isolation and... more
A virtual machine monitor allows several different operating systems to run concurrently on the same machine. This paper presents the description of a virtual machine monitor and its support structure which can be implemented on a... more
We describe the software architecture, technical features, and performance of TICK (Transparent Incremental Checkpointer at Kernel level), a system-level checkpointer implemented as a kernel thread, specifically designed to provide fault... more
Cloud computing is one of the most recent technology. It is an innovative and exciting style of programming and using computers. It creates tremendous opportunities for software developers: cloud computing can provide an amazing new... more
PERFORMANCE, FAIRNESS AND EFFECTIVENESS IN SPACE-SLICING MULTI-CLUSTER SCHEDULERS John Ngubiri Department of Computer Science Makerere University POBox 7062 Kampala, Uganda email: ngubiri@cit.mak.ac.ug Mario van Vliet Informatics and ...
Abstract. Most schedulers in parallel job scheduling do not put (job) schedulability into consideration when prioritizing jobs. Performance eval-uation is mostly done using average values of the measurement metric. Using the average... more
To improve system performance, operating systems (OSes) often undertake activities that require modification of virtual-to-physical address translations. For example, the OS may migrate data between physical pages to manage heterogeneous... more
The resource utilization level in open laboratories of several universities has been shown to be very low. Our aim is to take advantage of those idle resources for parallel computation without disturbing the local load. In order to... more
Our main interest is oriented towards keeping both local and parallel jobs together in a non-dedicated cluster. In order to obtain some profits from the parallel applications, it is important to consider time and space sharing as a mean... more
One of the key factors in selecting a good scheduling algorithm is using an appropriate metric for comparing schedulers. But which metric should be used when evaluating schedulers for warehouse-scale (cloud) clusters, which have machines... more
Abstract: this paper assume a 4Kbyte first-level cache with 32-byte cache lines, and a2Mbyte second-level cache with 64-byte cache lines, both direct-mapped
Our main interest is oriented towards keeping both local and parallel jobs together in a non-dedicated cluster. In order to obtain some profits from the parallel applications, it is important to consider time and space sharing as a mean... more
In this paper we present a simulation environment for the study of hierarchical job scheduling on distributed systems. The environment provides a multi-level mechanism to simulate various types of jobs. An execution model of jobs is... more
Gang scheduling has been widely used as a practical solution to the dynamic parallel job scheduling problem. Parallel threads of a single job are scheduled for simultaneous execution on a parallel computer even if the job does not fully... more
Download research papers for free!