Java as a cycle-stealing computational environment Acknowledgments Ames: Po Chung, Creon Levit,

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

JavaGenes Evolving Molecules and Molecular Force Fields Al Globus Deepak Srivastava Sandy Johan A Work In Progress.
Extending the Information Power Grid Throughout the Solar System Al Globus, CSC.
Automatic nanodesign using evolutionary techniques Al Globus, MRJ Technology Solutions, Inc. at NASA Ames Research Center John Lawton, U.C. at Santa Cruz.
JavaGenes: Evolving Graphs Al Globus, Veridian MRJ Technology Solutions, Inc. John Lawton,
/ 1 N. Williams Grid Middleware Experiences Nadya Williams OCI Grid Computing, University of Zurich
Höchstleistungsrechenzentrum Stuttgart SEGL Parameter Study Slide 1 Science Experimental Grid Laboratory (SEGL) Dynamical Parameter Study in Distributed.
Condor Project Computer Sciences Department University of Wisconsin-Madison Eager, Lazy, and Just-in-Time.
UK Condor Week NeSC – Scotland – Oct 2004 Condor Team Computer Sciences Department University of Wisconsin-Madison The Bologna.
Current methods for negotiating firewalls for the Condor ® system Bruce Beckles (University of Cambridge Computing Service) Se-Chang Son (University of.
Software & Services Group PinPlay: A Framework for Deterministic Replay and Reproducible Analysis of Parallel Programs Harish Patil, Cristiano Pereira,
Abstraction and Modular Reasoning for the Verification of Software Corina Pasareanu NASA Ames Research Center.
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
Lab#1 (14/3/1431h) Introduction To java programming cs425
Minimum intrusion GRID. Build one to throw away … So, in a given time frame, plan to achieve something worthwhile in half the time, throw it away, then.
Study of a Paper about Genetic Algorithm For CS8995 Parallel Programming Yanhua Li.
6-1 I/O Methods I/O – Transfer of data between memory of the system and the I/O device Most devices operate asynchronously from the CPU Most methods involve.
Minimum intrusion GRID. Build one to throw away … So, in a given time frame, plan to achieve something worthwhile in half the time, throw it away, then.
CS 104 Introduction to Computer Science and Graphics Problems
V0.01 © 2009 Research In Motion Limited Introduction to Java Application Development for the BlackBerry Smartphone Trainer name Date.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2004.
Condor Overview Bill Hoagland. Condor Workload management system for compute-intensive jobs Harnesses collection of dedicated or non-dedicated hardware.
Genetic Programming.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
P51UST: Unix and Software Tools Unix and Software Tools (P51UST) Compilers, Interpreters and Debuggers Ruibin Bai (Room AB326) Division of Computer Science.
Chapter 17 Programming Tools The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander.
Groovy WHAT IS IT? HOW DOES IT WORK? IS IT USEFUL?
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
System Calls 1.
Yavor Todorov. Introduction How it works OS level checkpointing Application level checkpointing CPR for parallel programing CPR functionality References.
C++ Programming. Table of Contents History What is C++? Development of C++ Standardized C++ What are the features of C++? What is Object Orientation?
I. Pribela, M. Ivanović Neum, Content Automated assessment Testovid system Test generator Module generators Conclusion.
Track 1: Cluster and Grid Computing NBCR Summer Institute Session 2.2: Cluster and Grid Computing: Case studies Condor introduction August 9, 2006 Nadya.
Testovid - an environment for testing almost any aspect of student assignments I. Pribela, S. Tošić, M. Ivanović, Z. Budimac Risan, September 2007.
1. Memory Manager 2 Memory Management In an environment that supports dynamic memory allocation, the memory manager must keep a record of the usage of.
Department of Computer Science A Static Program Analyzer to increase software reuse Ramakrishnan Venkitaraman and Gopal Gupta.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Computer Programming 12 Mr. Jean March 19 th, 2013.
© Negnevitsky, Pearson Education, Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Evolution strategies Evolution.
Grid Computing I CONDOR.
Compiled Matlab on Condor: a recipe 30 th October 2007 Clare Giacomantonio.
CIS250 OPERATING SYSTEMS Memory Management Since we share memory, we need to manage it Memory manager only sees the address A program counter value indicates.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Computer Programming 2 Why do we study Java….. Java is Simple It has none of the following: operator overloading, header files, pre- processor, pointer.
1 Class Project 510 Team Members John A. Watne Jordan D. Howe Ian R. Erlanson Geoffrey A. Reglos Sengdara Phetsomphou.
Challenges and Solutions for Embedded Java Michael Wortley Computer Integrated Surgery March 1, 2001.
Jacqueline Keane NASA Astrobiology Pavel Senin University of Hawaii at
February 22-23, Washington D.C. SURA ENDyne Software for Dynamics of Electrons and Nuclei in Molecules. Developed by Dr. Yngve Öhrn and Dr. Erik Deumens,
Capacity and Capability Computing using Legion Anand Natrajan ( ) The Legion Project, University of Virginia (
CS 8625 High Performance Computing Dr. Hoganson Copyright © 2003, Dr. Ken Hoganson CS8625 Class Will Start Momentarily… CS8625 High Performance.
Source Level Debugging of Parallel Programs Roland Wismüller LRR-TUM, TU München Germany.
Miron Livny Computer Sciences Department University of Wisconsin-Madison Condor and (the) Grid (one of.
What is a Process ? A program in execution.
® July 21, 2004GC Summer School1 Cycles to Recycle: Copy GC Without Stopping the World The Sapphire Collector Richard L. Hudson J. Eliot B. Moss Originally.
Todd Tannenbaum Computer Sciences Department University of Wisconsin-Madison Condor NT Condor ported.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Next Generation of Apache Hadoop MapReduce Owen
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
14 Compilers, Interpreters and Debuggers
Chapter 3: Process Concept
Condor – A Hunter of Idle Workstation
Text by: Lambert and Osborne
Introduction Enosis Learning.
Introduction Enosis Learning.
Lecture 21: Introduction to Process Scheduling
Lecture 21: Introduction to Process Scheduling
Atlas: An Infrastructure for Global Computing
MapReduce: Simplified Data Processing on Large Clusters
Presentation transcript:

Java as a cycle-stealing computational environment Acknowledgments Ames: Po Chung, Creon Levit, Subash Saini UCSC: John Lawton, Rich McClellan, Todd Wipke Al Globus, MRJ Technology Solutions, Inc. at NASA Ames Research Center

What got done Java implementation of genetic molecular design application No input (Parameters.java) No graphics or GUI Computationally intensive -- O(n 3 ) Many output files Used cycle scavenging batch system (Condor) on NAS workstations Approximately 150 runs so far

Genetic molecular design Randomly generate a set of molecules Many times: Select parent molecules at random with bias towards better performance Randomly rip copies of each parent in two Mate opposite halves Replace random molecules with bias towards worse performance Repeat until satisfied

Algorithm properties Stochastic, embarrassingly parallel Robust to failure No guaranteed outcome Fitness function is crucial and non-trivial Performs well as cycle-scavenger using Condor, University of Wisconsin,

Crossover

Time to find small molecules

Finding larger molecules

Resources NAS workstations are idle nights and weekends Provides an ideal resource if owner access is not degraded University of Wisconsin experience suggests each workstation is idle an average of 17 hours/day. Thus NAS should have approximately 6,800 workstation hours/day or 2,448,000 workstation hours/year available. This extra processing costs $0 for hardware

Condor Cycle-scavenging batch system Developed by University of Wisconsin In production since 1986 Unix workstations (NT port in progress) Free from

Some Classes Graph, vertex, edge Molecule, atom, bond Breeder, Population FitnessFunction Parameters, Reporter Sample, DataTable Predicate, Procedure, ExtendedVector IntegerInterval, DoubleInterval

Java advantages Cleaner code than C++ Dynamic loading eliminated input file parsing. CLASSPATH Parameters.class directory classes.jar Standard library Garbage collection priceless massive data structure manipulation cyclic data structures make reference counting ineffective

Java advantages continued Serialization eases checkpointing Virtual machine eases cross-platform development Development on WinTel Execution on SGI workstations Standard library (especially Vectors) Automatic html documentation integrated with code Reflection enables automation of Parameters.java toString() Automatic bounds checking

Java disadvantages JAVA with jit 50% slower than c on simple numerical code Symantec Visual Café unacceptably buggy debugger and crashed system very hard Supersede ok with a few bugs Lack of multiple inheritance sometimes irritating Condor cannot perform automatic checkpointing Condor requires relink to automate checkpointing

Checkpointing Condor jobs may be stopped at any arbitrary time Virtual machine checkpointing would allow automatic heterogeneous mobility stack format not defined heap format undefined and universal serialization potentially problematic jit and optimization causes problems Must hack Java Virtual Machine Java threads cannot be truly interrupted suspend(), resume(), stop() depreciated

Checkpointer.java class application implements Checkpointable start(String[] arguments); restart(); Application calls Checkpointer.ok() Checkpointer.checkpoint() Condor calls Checkpointer.prepareToDie() Checkpointer.areYouReadyToDie() Checkpointer.cancelDeath() Checkpointer.checkpointWhenPossible()

Summary It was fun It was productive 75 classes, 6389 lines of code one unique algorithm two University collaborations two conference presentations one conference poster one journal submission CPU hours per day added to NAS batch capability (so far) Java is my favorite programming language