A Decoupled Scheduling Approach for the GrADS Program Development Environment. DCSL Ahmed Amin

Similar documents
Experiments with Scheduling Using Simulated Annealing in a Grid Environment

Decreasing End-to Job Execution Times by Increasing Resource Utilization using Predictive Scheduling in the Grid

Skeleton Based Performance Prediction on Shared Networks

A Brief Survey on Resource Allocation in Service Oriented Grids

Grid Application Development Software

QoS-constrained List Scheduling Heuristics for Parallel Applications on Grids

A Data-Aware Resource Broker for Data Grids

APPLICATION LEVEL SCHEDULING (APPLES) IN GRID WITH QUALITY OF SERVICE (QOS)

The AppLeS Parameter Sweep Template: User-level middleware for the Grid 1

GRB. Grid-JQA : Grid Java based Quality of service management by Active database. L. Mohammad Khanli M. Analoui. Abstract.

Application-Aware Scheduling of a Magnetohydrodynamics Application in the Legion Metasystem

Compilers and Run-Time Systems for High-Performance Computing

Adaptive Cluster Computing using JavaSpaces

An Active Resource Management System for Computational Grid*

PARALLEL PROGRAM EXECUTION SUPPORT IN THE JGRID SYSTEM

Performance Analysis of Applying Replica Selection Technology for Data Grid Environments*

Introduction to MPI. EAS 520 High Performance Scientific Computing. University of Massachusetts Dartmouth. Spring 2014

Functional Requirements for Grid Oriented Optical Networks

The Grid: Feng Shui for the Terminally Rectilinear

Reporting Interface. network link sensor machine machine machine. memory sensor. CPU sensor. 2.1 Sensory Subsystem. Sensor Data. Forecasting Subsystem

Profile-Based Load Balancing for Heterogeneous Clusters *

HETEROGENEOUS COMPUTING

Adaptive Runtime Partitioning of AMR Applications on Heterogeneous Clusters

VIProf: A Vertically Integrated Full-System Profiler

Condor and BOINC. Distributed and Volunteer Computing. Presented by Adam Bazinet

HPC learning using Cloud infrastructure

Day 9: Introduction to CHTC

IOS: A Middleware for Decentralized Distributed Computing

Dynamic inter-core scheduling in Barrelfish

Huge market -- essentially all high performance databases work this way

A RESOURCE MANAGEMENT FRAMEWORK FOR INTERACTIVE GRIDS

Performance Estimation for Scheduling on Shared Networks

Performance Prediction and its use in Parallel and Distributed Computing Systems

Logistical Computing and Internetworking: Middleware for the Use of Storage in Communication

Adaptive Timeout Discovery using the Network Weather Service

DiPerF: automated DIstributed PERformance testing Framework

Toward An Integrated Cluster File System

Introduction to Grid Computing

OVERHEADS ENHANCEMENT IN MUTIPLE PROCESSING SYSTEMS BY ANURAG REDDY GANKAT KARTHIK REDDY AKKATI

Exploration of Cache Coherent CPU- FPGA Heterogeneous System

Accelerating Parameter Sweep Applications Using CUDA

Introduction to GT3. Introduction to GT3. What is a Grid? A Story of Evolution. The Globus Project

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio)

Predicting Slowdown for Networked Workstations

UNIVERSITY of CALIFORNIA, SAN DIEGO

A Cool Scheduler for Multi-Core Systems Exploiting Program Phases

DiPerF: automated DIstributed PERformance testing Framework

Chapter 4:- Introduction to Grid and its Evolution. Prepared By:- NITIN PANDYA Assistant Professor SVBIT.

A2E: Adaptively Aggressive Energy Efficient DVFS Scheduling for Data Intensive Applications

Replica Selection in the Globus Data Grid

Incorporating Data Movement into Grid Task Scheduling

Biological Sequence Alignment On The Computational Grid Using The Grads Framework

Cross-Layer Memory Management to Reduce DRAM Power Consumption

Policies for Swapping MPI Processes

MOHA: Many-Task Computing Framework on Hadoop

High Performance Computing Course Notes HPC Fundamentals

High Performance Computing Course Notes Course Administration

From the latency to the throughput age. Prof. Jesús Labarta Director Computer Science Dept (BSC) UPC

An Experience in Accessing Grid Computing from Mobile Device with GridLab Mobile Services

Non-Uniform Memory Access (NUMA) Architecture and Multicomputers

Improving Hadoop MapReduce Performance on Supercomputers with JVM Reuse

A Time-To-Live Based Reservation Algorithm on Fully Decentralized Resource Discovery in Grid Computing

A Survey on Grid Scheduling Systems

Statement of Research for Taliver Heath

A Sampling-based Method for Dynamic Scheduling in Distributed Data Mining Environment

Runtime Application Self-Protection (RASP) Performance Metrics

Design Framework For Job Scheduling Of Efficient Mechanism In Resource Allocation Using Optimization Technique.

Dynamic Balancing Complex Workload in Workstation Networks - Challenge, Concepts and Experience

COMP 322: Fundamentals of Parallel Programming. Flynn s Taxonomy for Parallel Computers

Grid harvest service: A performance system of grid computing

A Platform for Fine-Grained Resource Sharing in the Data Center

A First Step to the Evaluation of SimGrid in the Context of a Real Application. Abdou Guermouche

Biological Sequence Alignment On The Computational Grid Using The GrADS Framework

Application Layer Switching: A Deployable Technique for Providing Quality of Service

Introduction to Parallel Programming. Tuesday, April 17, 12

Design Space Exploration and Application Autotuning for Runtime Adaptivity in Multicore Architectures

Evaluating the Performance of Skeleton-Based High Level Parallel Programs

Distributed Systems. Thoai Nam Faculty of Computer Science and Engineering HCMC University of Technology

Cycle Sharing Systems

A Framework for Effective Scheduling of Data-Parallel Applications in Grid Systems

Key aspects of cloud computing. Towards fuller utilization. Two main sources of resource demand. Cluster Scheduling

Middleware for the Use of Storage in Communication

Distributed Systems. Lecture 4 Othon Michail COMP 212 1/27

Computational Mini-Grid Research at Clemson University

Heterogeneous-Race-Free Memory Models

Parallel Algorithm Design. CS595, Fall 2010

Buffered Co-scheduling: A New Methodology for Multitasking Parallel Jobs on Distributed Systems

Compiler Technology for Problem Solving on Computational Grids

Availability and Utility of Idle Memory in Workstation Clusters. Anurag Acharya, UC-Santa Barbara Sanjeev Setia, George Mason Univ

Using Network Traffic to Remotely Identify the Type of Applications Executing on Mobile Devices. Lanier Watkins, PhD

Grid Computing Fall 2005 Lecture 5: Grid Architecture and Globus. Gabrielle Allen

Optimising MPI Applications for Heterogeneous Coupled Clusters with MetaMPICH

Performance Modeling of a Cluster of Workstations

The NE010 iwarp Adapter

Kenneth A. Hawick P. D. Coddington H. A. James

Effective Load Sharing on Heterogeneous Networks of Workstations

High Throughput WAN Data Transfer with Hadoop-based Storage

SIMULATION OF ADAPTIVE APPLICATIONS IN HETEROGENEOUS COMPUTING ENVIRONMENTS

High-Performance ACID via Modular Concurrency Control

Issues in Runtime Algorithm Selection for Grid Environments

Transcription:

A Decoupled Scheduling Approach for the GrADS Program Development Environment DCSL Ahmed Amin

Outline Introduction Related Work Scheduling Architecture Scheduling Algorithm Testbench Results Conclusions Future work

Problem Definition Distributed parallel computation Grid Environment Grid Application Development Software (GrADS) [3] Grids are heterogeneous systems that allow sharing of resources (cpu, mem, storage, n/w, ) Grids are autonomous

Goal We require scheduling of application tasks onto available resources Minimize execution time of application Decouple scheduling from the application Two main components: Performance model: Analytical metric for predicting application execution times on a given set of resources Mapper: Provides directives for mapping logical application data / tasks to physical resources

Related Work AppLeS Project [4]: Embeds scheduling logic into application Or embed application specific information into the scheduler Not easily retargeted Condor Matchmaker [5] Single processor Prophet [6] Dynamic run-time scheduling on heterogeneous systems Must be written in Mentat programming language

Related Work Meta-scheduler designs: Application specific schedulers are used to determine schedules for each application Meta-scheduler evaluates performance of multiple application in the system Meta-scheduler modifies the application specific schedules to improve performance

Scheduling Architecture MDS: Metacomputing Directory Service (OS) (CPU speed) (# CPUs) NWS: Network Weather System (% available CPU cycles) (Free mem) (BW) An exhaustive search of p machines in the machine list 2 p

Scheduling Algorithm Schedule: ordered list of machines and a mapping of data / tasks to those machines Desirable individual machine characteristics Desirable aggregate characteristics E.g. fast machines with low network latency between them

Scheduling Algorithm 3p2 s CMGs [2]

Scheduling Information Obtained from MDS, NWS Static Dynamic User

Testbench Game of Life Jacobi Problem size N C & MPI / MPICH-G SPMD Performance Model: simple computation to predict iteration times Mapper: Time-balance machine utilization (minimize idle times of selected machines) Constraint optimization lp_solve

Testbed One-site testbed N = {600, 1200, 2400, 4800, 7200, 9600} Three-site testbed N = {600, 4800, 9600, 14400, 16800, 19200} NWS up vs NWS down NWS capture

Experimental Scenarios Dynamic, Static, User 104 iterations per application 2 app * 2 testbeds * 6 input * 3 strategies ittime ittimebest deg FromBest = 100 ittime best

Results

Results

Case Study - Jacobi

Scheduling Overhead Configuration Info retr. (s) Total (s) Local MDS, NWS server 2.0 4.5 Remote NWS server 59.6 62.4 Remote MDS server 1087.5 1088.4

Conclusion Application has been decoupled from scheduling Reduced execution time compared to user defined schedules Exploits dynamic information at run time for improved scheduling

Future Work Extend performance evaluation on parameters other than execution time Compiler generated performance models Mapping strategies

References [1] H. Dail, H. Casanova and F. Berman A Decoupled Scheduling Approach for the GrADS Program Development Environment 2002 [2] H. Dail A modular framework for adaptive scheduling in grid application development environments 2002 [3] LIU, C., YANG, L., FOSTER, I., AND ANGULO, D. Design and evaluation of a resource selection framework for Grid applications 2002 [4] BERMAN, F., WOLSKI, R., FIGUEIRA, S., SCHOPF, J., AND SHAO, G. Application level scheduling on distributed heterogeneous networks 1996 [5] RAMAN, R., LIVNY, M., AND SOLOMON, M. Matchmaking: Distributed resource management for high throughput computing 1998 [6] WEISSMAN, J. Prophet: Automated scheduling of SPMD programs in workstation networks 1999

<> What is Grid? In June'02, I attended the Grid Computing Planet conference in San Jose, California and I was surprised to learn that people even call clusters as grids. I believe that it is a marketing hype. Here is my definition of the Grid, which is based on my presentation as part of the "Understanding the Grid" panel: Grid is a type of parallel and distributed system that enables the sharing, selection, and aggregation of geographically distributed "autonomous" resources dynamically at runtime depending on their availability, capability, performance, cost, and users' qualityof-service requirements. It should be noted that Grids aim at exploiting synergies that result from cooperation--ablity to share and agreegrate distributed computational capabilities and deliver them as service. How is Grid different from other technologies such as Clusters/P2P/ASP? What about Grid Economy and Resource Management? What about your work in this area? and so on... I have been asked such questions very frequently, which has trigged me to start creating this FAQ page. The key distinction between clusters and grids is mainly lie in the way resources are managed. In case of clusters, the resource allocation is performed by a centralised resource manager and all nodes cooperatively work together as a single unified resource. In case of Grids, each node has its own resource manager and don't aim for providing a single system view. Some of these points are being highlighted in my panel presentation at P2P 2002 conference. It should be noted that autonomous resources in the Grid can span across a single or multiple organisations.