Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a21e8bd52a7ccf4e

Jump to content

Talk:Coscheduling

Page contents not supported in other languages.
Add topic
From Wikipedia, the free encyclopedia

What is the difference between coscheduling and gang scheduling?

[edit]

I cannot make out the difference between Gang scheduling and Coscheduling. Any hints?

Jayelston (talk) 00:18, 18 August 2011 (UTC): One of them is a special case of the other, depending on who is doing the defining.Reply

The term coscheduling was introduced in 1982 in the paper by J. K. Ousterhout in the paper Scheduling Techniques for Concurrent Systems. The original definition is that the process working set must be coscheduled (scheduled for execution simultaneously) for the parallel program to make progress.

The term gang scheduling was introduced a few years later in a series of papers (starting in 1989) by Dror G. Feitelson and Larry Rudolph. The first mention of gang scheduling that I could find is in a paper titled Architecture for a Multi-User General-Purpose Parallel System. There, they define the term: all the processes in any given job should be scheduled to run at the same time on their respective processors (this is called gang scheduling). In the 1992 paper Gang Scheduling Performance Benefits for Fine-Grain Synchronization, the define it as: A promising new idea is gang scheduling, where a set of threads are scheduled to execute simultaneously on a set of processors.

I did find a footnote where they compare gang scheduling with coscheduling in a footnote:Actually it supported a variant of gang scheduling called co-scheduling. Co-scheduling attempts to schedule groups of related threads together, but makes do with scheduling only subgroups in not enough processors are available. This footnote is in regards to the Medusa operating system, and appears near the end of the paper Distributed hierarchical control for parallel processing by Feitelson and Rudolph.