Communications of the ACM
Congestion avoidance and control
SIGCOMM '88 Symposium proceedings on Communications architectures and protocols
PVM: a framework for parallel distributed computing
Concurrency: Practice and Experience
The performance of multiprogrammed multiprocessor scheduling algorithms
SIGMETRICS '90 Proceedings of the 1990 ACM SIGMETRICS conference on Measurement and modeling of computer systems
Parallel database systems: the future of high performance database systems
Communications of the ACM
Active messages: a mechanism for integrated communication and computation
ISCA '92 Proceedings of the 19th annual international symposium on Computer architecture
LogP: towards a realistic model of parallel computation
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
Cooperative shared memory: software and hardware for scalable multiprocessors
ACM Transactions on Computer Systems (TOCS)
Parallel programming in Split-C
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
MPI: a message passing interface
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
A performance evaluation of several priority policies for parallel processing systems
Journal of the ACM (JACM)
The magic garden explained: the internals of UNIX System V Release 4: an open systems design
The magic garden explained: the internals of UNIX System V Release 4: an open systems design
Coscheduling based on runtime identification of activity working sets
International Journal of Parallel Programming
Proceedings of the seventh annual ACM symposium on Parallel algorithms and architectures
The interaction of parallel and sequential workloads on a network of workstations
Proceedings of the 1995 ACM SIGMETRICS joint international conference on Measurement and modeling of computer systems
U-Net: a user-level network interface for parallel and distributed computing
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Serverless network file systems
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
High performance messaging on workstations: Illinois fast messages (FM) for Myrinet
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Effective distributed scheduling of parallel workloads
Proceedings of the 1996 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Fast Parallel Sorting Under LogP: Experience with the CM-5
IEEE Transactions on Parallel and Distributed Systems
High-performance sorting on networks of workstations
SIGMOD '97 Proceedings of the 1997 ACM SIGMOD international conference on Management of data
Effects of communication latency, overhead, and bandwidth in a cluster architecture
Proceedings of the 24th annual international symposium on Computer architecture
Lottery and stride scheduling: flexibile proportional-share resource management
Lottery and stride scheduling: flexibile proportional-share resource management
The impact of I/O on program behavior and parallel scheduling
SIGMETRICS '98/PERFORMANCE '98 Proceedings of the 1998 ACM SIGMETRICS joint international conference on Measurement and modeling of computer systems
GLUnix: a global layer Unix for a network of workstations
Software—Practice & Experience - Special issue on multiprocessor operating systems
ACM Computing Surveys (CSUR)
Paging tradeoffs in distributed-shared-memory multiprocessors
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
A Case for NOW (Networks of Workstations)
IEEE Micro
Achieving Service Rate Objectives with Decay Usage Scheduling
IEEE Transactions on Software Engineering
How to Get Good Performance from the CM-5 Data Network
Proceedings of the 8th International Symposium on Parallel Processing
Demand-Based Coscheduling of Parallel Jobs on Multiprogrammed Multiprocessors
IPPS '95 Proceedings of the Workshop on Job Scheduling Strategies for Parallel Processing
Performance Evaluation of Gang Scheduling for Parallel and Distributed Multiprogramming
IPPS '97 Proceedings of the Job Scheduling Strategies for Parallel Processing
Global State Detection Using Network Preemption
IPPS '97 Proceedings of the Job Scheduling Strategies for Parallel Processing
Implications of I/O for Gang Scheduled Workloads
IPPS '97 Proceedings of the Job Scheduling Strategies for Parallel Processing
Improved Utilization and Responsiveness with Gang Scheduling
IPPS '97 Proceedings of the Job Scheduling Strategies for Parallel Processing
Dynamic Coscheduling on Workstation Clusters
IPPS/SPDP '98 Proceedings of the Workshop on Job Scheduling Strategies for Parallel Processing
SVR4UNIX Scheduler Unacceptable for Multimedia Applications
NOSSDAV '93 Proceedings of the 4th International Workshop on Network and Operating System Support for Digital Audio and Video
An object-oriented framework for modular resource management
IWOOOS '96 Proceedings of the 5th International Workshop on Object Orientation in Operating Systems (IWOOOS '96)
Multiprogramming on Multiprocessors
Multiprogramming on Multiprocessors
Implicit coscheduling: coordinated scheduling with implicit information in distributed systems
Implicit coscheduling: coordinated scheduling with implicit information in distributed systems
Coordinated thread scheduling for workstation clusters under windows NT
NT'97 Proceedings of the USENIX Windows NT Workshop on The USENIX Windows NT Workshop 1997
Information and control in gray-box systems
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
ACM Transactions on Computer Systems (TOCS)
STORM: lightning-fast resource management
Proceedings of the 2002 ACM/IEEE conference on Supercomputing
Adaptive scheduling under memory constraints on non-dedicated computational farms
Future Generation Computer Systems - Selected papers from CCGRID 2002
IEEE Transactions on Parallel and Distributed Systems
Collective communication patterns on the quadrics network
Performance analysis and grid computing
Scalable Hardware-Based Multicast Trees
Proceedings of the 2003 ACM/IEEE conference on Supercomputing
Adaptive Parallel Job Scheduling with Flexible Coscheduling
IEEE Transactions on Parallel and Distributed Systems
On-line automated performance diagnosis on thousands of processes
Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming
STORM: Scalable Resource Management for Large-Scale Parallel Computers
IEEE Transactions on Computers
A method for job scheduling in Grid based on job execution status
Multiagent and Grid Systems
Xen and co.: communication-aware CPU scheduling for consolidated xen-based hosting platforms
Proceedings of the 3rd international conference on Virtual execution environments
Cooperating coscheduling: a coscheduling proposal aimed at non-dedicated heterongeneous NOWs
Journal of Computer Science and Technology
Resource overbooking and application profiling in a shared Internet hosting platform
ACM Transactions on Internet Technology (TOIT)
Dynamic load balancing in MPI jobs
ISHPC'05/ALPS'06 Proceedings of the 6th international symposium on high-performance computing and 1st international conference on Advanced low power systems
Server-side I/O coordination for parallel file systems
Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis
A security-oriented task scheduler for heterogeneous distributed systems
HiPC'06 Proceedings of the 13th international conference on High Performance Computing
Improving scheduling decisions by using knowledge about parallel applications resource usage
HPCC'05 Proceedings of the First international conference on High Performance Computing and Communications
Pitfalls in parallel job scheduling evaluation
JSSPP'05 Proceedings of the 11th international conference on Job Scheduling Strategies for Parallel Processing
Non-intrusive coscheduling for general purpose operating systems
MSEPT'12 Proceedings of the 2012 international conference on Multicore Software Engineering, Performance, and Tools
A job scheduling approach for multi-core clusters based on virtual malleability
Euro-Par'12 Proceedings of the 18th international conference on Parallel Processing
Demand-based coordinated scheduling for SMP VMs
Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems
Proceedings of the 22nd international symposium on High-performance parallel and distributed computing
Towards fair and efficient SMP virtual machine scheduling
Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming
Hi-index | 0.00 |
In modern distributed systems, coordinated time-sharing is required for communicating processes to leverage the performance of switch-based networks and low-overhead protocols. Coordinated time-sharing has traditionally been achieved with gang scheduling or explicit coscheduling, implementations of which often suffer from many deficiencies: multiple points of failure, high context-switch overheads, and poor interaction with client-server, interactive, and I/O -intensive workloads. Implicit coscheduling dynamically coordinates communicating processes across distributed machines without these structural deficiencies. In implicit coscheduling, no communication is required across operating systems schedulers; instead, cooperating processes achieve coordination by reacting to implicit information carried by communication existing within the parallel application. The implementation of this approach is simple and allows participating nodes to act autonomously. We introduce two key mechanisms in implicit coscheduling. The first is conditional two-phase waiting, a generalization of traditional two-phase waiting in which spin-time may be increased depending upon events occuring while the process waits. The second is an extension to stride scheduling that provides preemption and is fair to processes that block. To demonstrate that implicit coscheduling performs well, we show results from an extensive set of simulation and implementation experiments. To exercise the conditional two-phase waiting algorithm, we examine three workloads: bulk-synchronous and continuous-communication synthetic applications and application kernels written in the Split-C language. To exercise the local scheduler, we examine competing jobs with different communication characteristics. We demonstrate that our implementation scales well with the number of jobs and workstations and is robust to process placement. Our experiments show that implicit coscheduling is effective and fair for a wide range of workloads; most perform within 30% of an idealized model of gang scheduling.