Parallel Kernels*: An Architecture for Parallel Distributed Computing N. Patel (University of Maryland)‏ M. McKerns (California Institute of Technology)‏

Slides:



Advertisements
Similar presentations
WI-SOUL. What is happening? Wireless connectivity covertures level (telephony and internet), also in low anthropization area, is constantly growing up.
Advertisements

Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Distributed Xrootd Derek Weitzel & Brian Bockelman.
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Jim Donahue | Principal Scientist Adobe Systems Technology Lab Flint: Making.
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
GWDAW 16/12/2004 Inspiral analysis of the Virgo commissioning run 4 Leone B. Bosi VIRGO coalescing binaries group on behalf of the VIRGO collaboration.
Modeling Malware Spreading Dynamics Michele Garetto (Politecnico di Torino – Italy) Weibo Gong (University of Massachusetts – Amherst – MA) Don Towsley.
Master/Slave Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
1 An Architecture for Distributing the Computation of Software Clustering Algorithms 2001 Working Conference on Software Architecture (WICSA'01). Brian.
Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Improved Crowd Control Utilizing a Distributed Genetic Algorithm John Chaloupek December 3 rd, 2003.
Definition of terms Definition of terms Explain business conditions driving distributed databases Explain business conditions driving distributed databases.
PRASHANTHI NARAYAN NETTEM.
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Vector timestamps Global state –Distributed Snapshot Election algorithms.
Asynchronous Web Services Approach Enrique de Andrés Saiz.
Numerical Grid Computations with the OPeNDAP Back End Server (BES)
E-LABORATORY PRACTICAL TEACHING FOR APPLIED ENGINEERING SCIENCES OPEN DAY University of Oradea 12 March 2012 Project HURO/0901/028 Acronym: EPRAS Pavel.
Dependency Injection and Model-View-Controller. Overview Inversion of Control Model-View-Controller.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Neural and Evolutionary Computing - Lecture 10 1 Parallel and Distributed Models in Evolutionary Computing  Motivation  Parallelization models  Distributed.
Introduction to Hadoop and HDFS
DBSQL 14-1 Copyright © Genetic Computer School 2009 Chapter 14 Microsoft SQL Server.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
 Protocols used by network systems are not effective to distributed system  Special requirements are needed here.  They are in cases of: Transparency.
ARCH-09: Transforming a Complex Application Apprise® is a registered trademark of Apprise Software, Inc. Transcendix SM is a service mark and trademark.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
“DECISION” PROJECT “DECISION” PROJECT INTEGRATION PLATFORM CORBA PROTOTYPE CAST J. BLACHON & NGUYEN G.T. INRIA Rhône-Alpes June 10th, 1999.
Frontiers in Massive Data Analysis Chapter 3.  Difficult to include data from multiple sources  Each organization develops a unique way of representing.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Chapter 12: Design Phase n 12.1 Design and Abstraction n 12.2 Action-Oriented Design n 12.3 Data Flow Analysis n Data Flow Analysis Example n
Grid Computing at Yahoo! Sameer Paranjpye Mahadev Konar Yahoo!
Server to Server Communication Redis as an enabler Orion Free
Distributed System Concepts and Architectures 2.3 Services Fall 2011 Student: Fan Bai
Architectural Design of Distributed Applications Chapter 13 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with.
Processes Introduction to Operating Systems: Module 3.
Presented by Scientific Annotation Middleware Software infrastructure to support rich scientific records and the processes that produce them Jens Schwidder.
Design and Implementation of PARK (PARallel Kernel for data fitting) Paul KIENZLE, Wenwu CHEN and Ziwen FU Reflectometry Group.
*Partially funded by the Austrian Grid Project (BMBWK GZ 4003/2-VI/4c/2004) Making the Best of Your Data - Offloading Visualization Tasks onto the Grid.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
CASTOR evolution Presentation to HEPiX 2003, Vancouver 20/10/2003 Jean-Damien Durand, CERN-IT.
A Software Framework for Distributed Services Michael M. McKerns and Michael A.G. Aivazis California Institute of Technology, Pasadena, CA Introduction.
AliEn AliEn at OSC The ALICE distributed computing environment by Bjørn S. Nilsen The Ohio State University.
A l a p a g o s : a generic distributed parallel genetic algorithm development platform Nicolas Kruchten 4 th year Engineering Science (Infrastructure.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 4 Computer Systems Review.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 31. Review Creational Design Patterns – Singleton Pattern – Builder Pattern.
Coevolutionary Automated Software Correction Josh Wilkerson PhD Candidate in Computer Science Missouri S&T.
The JANA Reconstruction Framework David Lawrence - JLab May 25, /25/101JANA - Lawrence - CLAS12 Software Workshop.
Super Computing 2000 DOE SCIENCE ON THE GRID Storage Resource Management For the Earth Science Grid Scientific Data Management Research Group NERSC, LBNL.
Primitive Concepts of Distributed Systems Chapter 1.
Distributed Systems: Distributed File Systems Ghada Ahmed, PhD. Assistant Prof., Computer Science Dept. Web:
VIEWS b.ppt-1 Managing Intelligent Decision Support Networks in Biosurveillance PHIN 2008, Session G1, August 27, 2008 Mohammad Hashemian, MS, Zaruhi.
Review of PARK Reflectometry Group 10/31/2007. Outline Goal Hardware target Software infrastructure PARK organization Use cases Park Components. GUI /
Tracking, Computing & other Stuff. Correlation of detector hits The track segments of inner and outer MDCs are matched on Cluster level The track segments.
Application of Design Patterns to Geometric Decompositions V. Balaji, Thomas L. Clune, Robert W. Numrich and Brice T. Womack.
The Distributed Application Debugger (DAD)
Processes and Threads Processes and their scheduling
Who cares about implementation and precision?
AWS Batch Overview A highly-efficient, dynamically-scaled, batch computing service May 2017.
INTER-PROCESS COMMUNICATION
Replication Middleware for Cloud Based Storage Service
Outline Midterm results summary Distributed file systems – continued
Lab Usage Data Impact Approach Problem
Multiple Processor Systems
Distributed computing deals with hardware
Overview of Workflows: Why Use Them?
DBOS DecisionBrain Optimization Server
Coevolutionary Automated Software Correction
Software Architecture Taxonomy
Multidisciplinary Optimization
Presentation transcript:

Parallel Kernels*: An Architecture for Parallel Distributed Computing N. Patel (University of Maryland)‏ M. McKerns (California Institute of Technology)‏ P. Kienzle (National Institute of Standards and Technology)‏ * Funded by NSF (grant # DMR )‏

Inverse modelling is expensive 1 hour Cost function Fit parameter

To improve performance we need to go parallel Source :

PARK: Plug-in models and create  t jobs PARK: Plug-in models and create fit jobs PARK provides a rich architecture for: creating physical models coupling models to optimizers constraining parameters between simultaneous  ts analyzing goodness of  t PARK provides a rich architect for: creating physical models coupling models to optimizers constraining parameters between simultaneous  ts analyzing goodness of  t PARK provide a rich architecture for: – Creating physical models – Coupling model to optimizer – Constraining parameters between simultaneous fits – Analyzing goodness of fit.

Distributed & Parallel Computing Services Parallel computing: – Each PARK model may require its own parallel computer cluster. Distributed computing: – Multiple copies of models working together for global optimization and in parameter sensitivity studies. – Queue configuration and launch commands must be passed between compute resources. – PARK Server must manage all distributed services. PARK Controller Client Model Server

Client Controller Services Bob Fetch URL … Fit MD Sim Compufans Client is decoupled from the services ffff Clients, Controller and Services are fully asynchronous Alice

50% complete Client Controller Services Fetch URL … Fit MD Sim Compufans...but still feels interactive Event Stream Clients, Controller and Services are fully asynchronous Bob Alice

Fit Mapper Data store Service runs uncoupled from controller Node 1 notifications Control message Map complete Map f, vector Done request Next request Node 2 Node 3

Sample Code (Differential Evolution Algorithm)‏ from park.service import mapper as pmap def evolve(self, handler, numgens=1000): '''Evolve the population for numgens generations, or until it converges. returns the best vector from the run''' if self.pop_values == None: self.__init_pop(handler)‏ start_gen = self.generations for gen in xrange(self.generations + 1, self.generations + numgens + 1): candidate_pop = [] # Generate next pop for i in range(self.pop_size): (r1, r2, r3) = self.select_participants(i)‏ #perturbation/mutation candidate = self.population[r1] + self.F*(self.population[r2] - self.population[r3])‏ #crossover candidate = self.crossover(candidate, i)‏ #enforce bound constraints if not self.is_within_bounds(candidate): candidate = self.get_random_gene()‏ candidate_pop.append(candidate)‏ # Evaluate next pop for i,v in enumerate(pmap(self.func, candidate_pop)): if v < self.pop_values[i]: self.pop_values[i] = v self.population[i] = candidate_pop[i] self.ncalls += self.pop_size

Alice Mapper Controller Exceptions are caught and returned Node 1 Fit Event Stream Node 2 Node 3

Mapper Controller Jobs can be killed Fit Event Stream kill Bob Node 1 Node 2 Node 3

Concluding Thoughts – Software is a vital part of end user scientists, and unless the software is both robust and easy to use, growth may be limited. – Parallel computing can be dynamic, interactive, flexible, and easy to use…. – Parallel Kernels will allow scientist to go parallel easily with competitive performance. – Parallel Kernels is under active development. – Please visit :

Questions