July 31 - August 4, 1999 SCI'99 / ISAS'99 Performance Prediction for Data Intensive Applications on Large Scale Parallel Systems Yuhong Wen and Geoffrey.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Performance Testing - Kanwalpreet Singh.
Database System Concepts and Architecture
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
By Philippe Kruchten Rational Software
3: OS Structures 1 OPERATING SYSTEM STRUCTURES PROCESS MANAGEMENT A process is a program in execution: (A program is passive, a process active.) A process.
Reference: Message Passing Fundamentals.
16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 11: Monitoring Server Performance.
1: Operating Systems Overview
OPERATING SYSTEM OVERVIEW
Programming Languages Structure
Copyright © 1998 Wanda Kunkle Computer Organization 1 Chapter 2.1 Introduction.
WSN Simulation Template for OMNeT++
The new The new MONARC Simulation Framework Iosif Legrand  California Institute of Technology.
Course Instructor: Aisha Azeem
Database System Architectures  Client-server Database System  Parallel Database System  Distributed Database System Wei Jiang.
COM181 Computer Hardware Ian McCrumRoom 5B18,
Using Standard Industry Benchmarks Chapter 7 CSE807.
Advances in Language Design
INTRODUCTION TO WEB DATABASE PROGRAMMING
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
Test Of Distributed Data Quality Monitoring Of CMS Tracker Dataset H->ZZ->2e2mu with PileUp - 10,000 events ( ~ 50,000 hits for events) The monitoring.
Codeigniter is an open source web application. It occupies a very small amount of space in the memory and is most useful for developers who aim to develop.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
Advanced Computer Architecture 0 Lecture # 1 Introduction by Husnain Sherazi.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Operating Systems. Definition An operating system is a collection of programs that manage the resources of the system, and provides a interface between.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved. Computer Software Chapter 4.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
INFORMATION SYSTEM-SOFTWARE Topic: OPERATING SYSTEM CONCEPTS.
Computer Organization & Assembly Language © by DR. M. Amer.
1: Operating Systems Overview 1 Jerry Breecher Fall, 2004 CLARK UNIVERSITY CS215 OPERATING SYSTEMS OVERVIEW.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
6/29/1999PDPTA'991 Performance Prediction for Large Scale Parallel Systems Yuhong Wen and Geoffrey C. Fox Northeast Parallel Architecture Center (NPAC)
Performance Performance
1  1998 Morgan Kaufmann Publishers Where we are headed Performance issues (Chapter 2) vocabulary and motivation A specific instruction set architecture.
1 Lecture 2: Performance, MIPS ISA Today’s topics:  Performance equations  MIPS instructions Reminder: canvas and class webpage:
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Performance Testing Test Complete. Performance testing and its sub categories Performance testing is performed, to determine how fast some aspect of a.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
1 Process Description and Control Chapter 3. 2 Process A program in execution An instance of a program running on a computer The entity that can be assigned.
Em Spatiotemporal Database Laboratory Pusan National University File Processing : Database Management System Architecture 2004, Spring Pusan National University.
Background Computer System Architectures Computer System Software.
Meeting with University of Malta| CERN, May 18, 2015 | Predrag Buncic ALICE Computing in Run 2+ P. Buncic 1.
Operating Systems A Biswas, Dept. of Information Technology.
Computer Architecture Organization and Architecture
Applied Operating System Concepts
Software Architecture in Practice
Microprocessor Systems Design I
Microprocessor Systems Design I
CS490 Windows Internals Quiz 2 09/27/2013.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Chapter 2: Operating-System Structures
Introduction to Operating Systems
Introduction to Microprocessor Programming
Presented By: Darlene Banta
Chapter 5 Architectural Design.
Chap 1. Getting Started Objectives
Chapter 2: Operating-System Structures
Presentation transcript:

July 31 - August 4, 1999 SCI'99 / ISAS'99 Performance Prediction for Data Intensive Applications on Large Scale Parallel Systems Yuhong Wen and Geoffrey C. Fox Northeast Parallel Architecture Center (NPAC) Syracuse University

July 31 - August 4, 1999 SCI'99 / ISAS'99 Why Performance Prediction? Application complexities A lot of processors required Large amount of data involved Time-consuming processing Performance prediction to fasten –new parallel computer architecture design –application model design

July 31 - August 4, 1999 SCI'99 / ISAS'99 Performance Prediction Approaches Concept design level performance prediction –aim to provide a quick and roughly correct performance prediction at the early stage of model design –PetaSIM based on this level Detailed performance prediction –to provide detailed information of a given application running on specific computer system -- Simulation

July 31 - August 4, 1999 SCI'99 / ISAS'99 PetaSIM Motivation PetaSIM was designed to allow “qualitative” performance estimates” where in particular the design of machine is particularly easy to change The project will build up a suite of applications which can be used in future activities such as “Petaflop” architectures studies Applications are to be derived “by hand” or by automatic generation from Maryland Application Emulators Special attention to support of hierarchical memory machines and data intensive applications Support parallelism and representation at different grain sizes Support simulation of “pure data-parallel” and composition of linked modules

July 31 - August 4, 1999 SCI'99 / ISAS'99 Performance Prediction Process Estimated Performance PetaSIM Estimator Execution Script Architecture Description PSL Specification Existing Real Applications Application Emulators Detailed Simulators Cost Model

July 31 - August 4, 1999 SCI'99 / ISAS'99 Full Heterogeneous MetaProblem Module Aggregate Loosely Synchronize Computation Module Components Task Parallelism Data Parallelism Splitting into Lower Level Memory Hierarchy PetaSIM Peta-Computing Hierarchy Simulate Real Computing

July 31 - August 4, 1999 SCI'99 / ISAS'99 Performance Prediction Model Hardware Domain Application Domain Software / Operating System Domain Multi Domain model

July 31 - August 4, 1999 SCI'99 / ISAS'99 Three Domain Performance Prediction Application Domain –to extract the data aggregates –to give abstract data movement and computation behavior Software / Operating System Domain –to provide the methods for task process and memory management, communication and parallel file access Hardware Domain –to provide the model of processor and memory components, includes cache as well

July 31 - August 4, 1999 SCI'99 / ISAS'99 Emulators Extract the application’s computational and data access patterns A simplified version of the real application, contains all the necessary communication, computation and I/O characteristics less accurate than full application, but more robust fast performance prediction for rapid prototyping

July 31 - August 4, 1999 SCI'99 / ISAS'99 PetaSIM Design We define an object structure for computer (including network) and data Architecture Description –nodeset & linkset –(describe the architecture memory hierarchy) Data Description –dataset & distribution Application Description –execution script System / Software Description

July 31 - August 4, 1999 SCI'99 / ISAS'99 Architecture Description A nodeset is a collection of entities with types liked –memory with cache & disks –CPU where results can be calculated –pathway such as bus, switch or network A linkset connects nodesets together in various ways

July 31 - August 4, 1999 SCI'99 / ISAS'99 Application Description An application consists of dataset objects dataset implementation is controled by the distribution objects application behavior is represented by execution script –a set of command statements –data movements –data computation –synchronization

July 31 - August 4, 1999 SCI'99 / ISAS'99 Nodeset Object Structure Name: one per nodeset object type: choose from memory, cache, disk, CPU, pathway number: number of members of this nodeset in the architecture grainsize: size in bytes of each member of this nodeset (for memory, cache, disk) bandwidth: maximum bandwidth allowed in any one member of this nodeset floatspeed: CPU’s float calculating speed calculate(): method used by CPU nodeset to perform computation cacherule: controls persistence of data in a memory or cache portcount: number of ports on each member of nodeset portname[]: ports connected to linkset portlink[]: name of linkset connecting to this port nodeset_member_list: list of nodeset members in this nodeset (for nodeset member identification)

July 31 - August 4, 1999 SCI'99 / ISAS'99 Linkset Object Structure Name: one per linkset object type: choose from updown, across nodesetbegin: name of initial nodeset joined by this linkset nodesetend: name of final nodeset joined buy this linkset topology: used for across networks to specify linkage between members of a single nodeset duplex: choose from full or half number: number of members of this linkset in the architecture latency: time to send zero length message across any member of linkset bandwidth: maximum bandwidth allowed in any link of this linkset send(): method that calculates cost of sending a message across the linkset distribution: name of geometric distribution controlling this linkset linkset_member_list: list of linkset members in this linkset ( for linkset member identification )

July 31 - August 4, 1999 SCI'99 / ISAS'99 Dataset Object Structure Name: one per dataset object choose from grid1dim, grid2dim, grid3dim, specifies type of dataset bytesperunit: number of bytes in each unit floatsperunit: update cost as a floating point arithmetic count operationsperunit: operations in each unit update(): method that updates given dataset which is contained in a CPU nodeset and a grainsize controlled by last memory nodeset visited transmit(): method that calculates cost of transmission of dataset between memory levels either communication or movement up and down hierarchy –Methods can use other parameters or be custom

July 31 - August 4, 1999 SCI'99 / ISAS'99 Execution Script Currently a few primitives which stress (unlike most languages) movement of data through memory hierarchies send DATAFAMILY from MEM-LEVEL-L to MEM-LEVEL-K –These reference object names for data and memory nodesets move DATAFAMILY from MEM-LEVEL-L to MEM-LEVEL-K Use distribution DISTRIBUTION from MEM-LEVEL-L to MEM-LEVEL-K compute DATAFAMILY-A, DATAFAMILY-B,… on MEM- LEVEL-L synchronize (synchronizes all processors --- loosely synchronous barrier) loop operation

July 31 - August 4, 1999 SCI'99 / ISAS'99 PetaSIM Estimation Schedule Each nodeset member has its usage control to record when dataset arrives and when to send out to next nodeset member Each linkset member has its usage control to record at what time the linkset member is free or occupied Data Driven model: Ready ---> Go (First come, First Service) Support Both data parallel mode and individual operation on each nodeset, linkset member mode

July 31 - August 4, 1999 SCI'99 / ISAS'99 Architecture of PetaSIM C++ Simulator Multi-User Java Server Standard Java Applet Client

July 31 - August 4, 1999 SCI'99 / ISAS'99 PetaSIM Experiments IBM-SP2 nodeseet and linkset components -- Architecture I

July 31 - August 4, 1999 SCI'99 / ISAS'99 Titan Estimation Results

July 31 - August 4, 1999 SCI'99 / ISAS'99 Pathfinder Estimation Results

July 31 - August 4, 1999 SCI'99 / ISAS'99 PetaSIM Experiments IBM-SP2 nodeseet and linkset components -- Architecture II

July 31 - August 4, 1999 SCI'99 / ISAS'99 Pathfinder Performance Estimation Results

July 31 - August 4, 1999 SCI'99 / ISAS'99 Pathfinder Estimation Results II

July 31 - August 4, 1999 SCI'99 / ISAS'99 Titan Estimation Results (Fixed)

July 31 - August 4, 1999 SCI'99 / ISAS'99 VMScope Estimation Results

July 31 - August 4, 1999 SCI'99 / ISAS'99 PetaSIM Features Accurate estimation Friendly user interface –Easy to modify the architecture design –Easy to monitor the effect of the design change Fast Estimation Detail performance estimation –Provide detail usage of each individual nodeset and linkset member in the memory hierarchy

July 31 - August 4, 1999 SCI'99 / ISAS'99 Compare with some other Simulators Different Simulation Approach –PetaSIM not real run the application, estimate the execution script (operation abstraction) PetaSIM running on single processor Similar performance estimation results PetaSIM can easily deal with different kinds of computer architecture PetaSIM can get detailed information of any part of the architecture

July 31 - August 4, 1999 SCI'99 / ISAS'99 PetaSIM Current Progress Summary Architecture Description (nodeset & linkset) Application Description (dataset & execution script) Link to Application Emulators Jacobi hand-written example Pathfinder, Titan, VMScope real applications (Generated by UMD’s Emulator) Easy modified Architecture and Application description Fast and relatively Accurate performance estimation (PetaSIM running on single processor) Java applet based user Interface Data Parallel Model & Individual Control

July 31 - August 4, 1999 SCI'99 / ISAS'99 Possible Future Work Richer set of applications using standard benchmarks and DoD MSTAR Relate object model to those used in “seamless interfaces” / metacomputing i.e. to efforts to establish (distributed) object model for computation Review very simple execution script -- should we add more complex primitives or regard “application emulators” as this complex script Binary format (“compiled PetaSIM”) of architecture and application description ( ASCII format will make execution script very large) –Translation tool from ASCII format to binary format (to retain the friendly user interface) Upgrade performance evaluation model Run performance simulation in parallel (i.e. PetaSIM running on multi-processors)

July 31 - August 4, 1999 SCI'99 / ISAS'99 PetaSIM Web-Site URL -- PetaSIM Java Applet front user interface and demo -- Related PetaSIM documents

July 31 - August 4, 1999 SCI'99 / ISAS'99 Interface of PetaSIM Client