Download presentation
Presentation is loading. Please wait.
Published byElfrieda Boone Modified over 8 years ago
1
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-0520547)
2
Inverse modelling is expensive 1 hour Cost function Fit parameter
3
To improve performance we need to go parallel Source : www.globalnerdy.com/2007/09/07/multicore-musings/www.globalnerdy.com/2007/09/07/multicore-musings/
4
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.
5
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
6
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
7
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
8
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
9
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
10
Alice Mapper Controller Exceptions are caught and returned Node 1 Fit Event Stream Node 2 Node 3
11
Mapper Controller Jobs can be killed Fit Event Stream kill Bob Node 1 Node 2 Node 3
12
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 :http://www.reflectometry.org/danse/
13
Questions
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.