A closer look at coscheduling approaches for a network of workstations (original) (raw)
Related papers
Efficient scheduling of MPI applications on networks of workstations
Future Generation Computer Systems, 1998
The availability of a large number of workstations connected through a network can represent an attractive option for highperformance computing for many applications. The message-passing interface (MPI) software environment is an effort from many organisations to define a de facto message-passing standard. In other words, the original specification was not designed as a comprehensive parallel programming environment and some researchers agree that the standard should be preserved as simple and clean as possible. Nevertheless, a software environment such as MPI should have somehow a scheduling mechanism for the effective submission of parallel applications on network of workstations. This paper presents an alternative lightweight approach called Selective-MPI (S-MPI), which was designed to enhance the efficiency of the scheduling of applications on an MPI implementation environment. 0 1998 Elsevier Science B.V.
Scheduling communication in multithreaded programs: experimental results
Concurrency and Computation: Practice and Experience, 2006
When the critical path of a communication session between end points includes the actions of operating system kernels, there are attendant overheads. Along with other factors, such as functionality and flexibility, such overheads motivate and favor the implementation of communication protocols in user space. When implemented with threads, such protocols may hold the key to optimal communication performance and functionality. Based on implementations of reliable user-space protocols supported by a threads framework, we focus on our experiences with internal threads' scheduling techniques and their potential impact on performance. We present scheduling strategies that enable threads to do both application-level and communication-related processing. With experiments performed on a Sun SPARC-5 LAN environment, we show how different scheduling strategies yield different levels of application-processing efficiency, communication latency and packet-loss. This work forms part of a larger study on the implementation of multiple thread-based protocols in a single address space, and the benefits of coupling protocols with applications.
Buffered coscheduling: a new methodology for multitasking parallel jobs on distributed systems
Proceedings 14th International Parallel and Distributed Processing Symposium. IPDPS 2000, 2000
Buffered coscheduling is a scheduling methodology for time-sharing communicating processes in parallel and distributed systems. The methodology has two primary features: communication buffering and strobing. With communication buffering, communication generated by each processor is buffered and performed at the end of regular intervals to amortize communication and scheduling overhead. This infrastructure is then leveraged by a strobing mechanism to perform a total exchange of information at the end of each interval, thus providing global information to more efficiently schedule communicating processes. This paper describes how buffered coscheduling can optimize resource utilization by analyzing workloads with varying computational granularities, load imbalances, and communication patterns. The experimental results, performed using a detailed simulation model, show that buffered coscheduling is very effective on fast SANs such as Myrinet as well as slower switch-based LANs.
Coscheduling techniques and monitoring tools for non-dedicated cluster computing
Our efforts are directed towards the understanding of the coscheduling mechanism in a NOW system when a parallel job is executed jointly with local workloads, balancing parallel performance against the local interactive response. Explicit and implicit coscheduling techniques in a PVM-Linux NOW (or cluster) have been implemented.
Improved Resource Utilization with Buffered Coscheduling
Parallel Algorithms and Applications, 2001
We present buffered coscheduling, a new methodology to multitask parallel jobs in a message-passing environment and to develop parallel programs that can pave the way to the efficient implementation of a distributed operating system. Buffered coscheduling is based on three innovative techniques: communication buffering, strobing, and non-blocking communication. By leveraging these techniques, we can perform effective optimizations based on the global status of the parallel machine rather than on the limited knowledge available locally to each processor. The advantages of buffered coscheduling include higher resource utilization, reduced communication overhead, efficient implementation of flow-control strategies and fault-tolerant protocols, accurate performance modeling, and a simplified yet still expressive parallel programming model which offloads many resource-management tasks to the operating system. Preliminary experimental results show that buffered coscheduling is very effective in increasing the overall performance in the presence of load imbalance and communication-intensive workloads and is relatively insensitive to the local process scheduling strategy.
Performance of distributed systems can be improved from scheduling of tasks aspect. A good scheduling algorithm can enhance the performance of the distributed system significantly. In this paper we have compared the performance of batch mode and immediate mode schedulers in heterogeneous distributed computing environment. An immediate mode scheduler only considers a single task for scheduling on a FCFS (first come, first served) basis while a batch mode scheduler considers a number of tasks at once for scheduling. In particular we have used two immediate mode scheduler: (i) the earliest first (EF) algorithm and (ii) the lightest loaded (LL), and two batch mode heuristic scheduler (i) the max-min (MX) scheduler and (ii) min-min (MM) scheduler. The main aim of max-min (MX) scheduler is to have the largest tasks scheduled as early as possible, with smaller tasks at the end filling in the gaps. The min-min (MM) scheduler is similar to the MX scheduler, except
Global Scheduling of MultiMode Real-Time Applications upon Multiprocessor Platforms
2011
Multi-mode real-time systems are those which support applications with different modes of operation, where each mode is characterized by a specific set of tasks. At run-time, such systems can, at any time, be requested to switch from its current operating mode to another mode (called "new mode") by replacing the current set of tasks with that of the new-mode. Thereby, ensuring that all the timing requirements are met not only requires that a schedulability test is performed on the tasks of each mode but also that (i) a protocol for transitioning from one mode to another is specified and (ii) a schedulability test for each transition is performed. We propose two distinct protocols that manage the mode transitions upon uniform and identical multiprocessor platforms at run-time, each specific to distinct task requirements. For each protocol, we formally establish schedulability analyses that indicate beforehand whether all the timing requirements will be met during any mode transition of the system. This is performed assuming both Fixed-Task-Priority and Fixed-Job-Priority schedulers.
Impact of the Scheduling Strategy in Heterogeneous Systems That Provide Co-Scheduling
2016
In recent years, the number of processing units per compute node has been increasing. In order to utilize all or most of the available resources of a high-performance computing cluster, at least some of its nodes will have to be shared by several applications at the same time. Yet, even if jobs are co-scheduled on a node, it can happen that high performance resources remain idle, although there are jobs that could make use of them (e. g. if the resource was temporarily blocked when the job was started). Heterogeneous schedulers, which schedule tasks for dierent devices, can bind jobs to resources in a way that can signicantly reduce the idle time. Typically, those schedulers make their decisions based on a static strategy. In this paper, we investigate the impact if a heterogeneous scheduler allows modications of the strategies at runtime.
On the design of communication-aware task scheduling strategies for heterogeneous systems
Proceedings 2000 International Conference on Parallel Processing, 2000
Many research activities have focused on the problem of task scheduling in heterogeneous systems from the computational point of view. However, an ideal scheduling strategy would also take into account the communication requirements of the applications and the communication bandwidth that the network can offer. In this paper, we first propose a criterion to measure the suitability of each allocation of network resources to each parallel application, according to the communication requirements. Second, we propose a scheduling technique based exclusively on this criterion that provides a near-optimal mapping of processes to processors according to the communication requirements. Evaluation results show that the use of this scheduling technique fully exploits the available network bandwidth, greatly improving network performance. Therefore, the proposed scheduling technique may be used in the design of communication-aware scheduling strategies for those situations where the communication requirements are the system performance bottleneck.