Java Genes and Condor CycleScavenging Genetic Algorithms Al








![Java Universe Application implements Checkpointable and Serializable: • start(String[] arguments); • restart(); 4 Application Java Universe Application implements Checkpointable and Serializable: • start(String[] arguments); • restart(); 4 Application](https://slidetodoc.com/presentation_image/094a1fd37731e0209012b5e28e69747e/image-9.jpg)



- Slides: 12

Java. Genes and Condor: Cycle-Scavenging Genetic Algorithms Al Globus, CSC at NASA Ames Research Center Eric Langhirt, AMTI at NASA Ames Research Center Miron Livny, University of Wisconsin Ravishankar Ramamurthy, University of Wisconsin Marvin Solomon, University of Wisconsin Steve Traugott http: //www. nasa. gov/~globus/papers/Java. Grande 2000/Java. Grande. Paper. html

Abstract 4 Java. Genes implements a genetic algorithm using a graph representation • Stochastic • Embarrassingly parallel 4 Executed hundreds of multi-day jobs on Condor cycle-scavenging batch system using otherwise idle workstations 4 Pharmaceutical drug molecules and digital circuits have been evolved with reasonable success 4 Java good, but serialization may be too slow http: //www. nasa. gov/~globus/papers/Java. Grande 2000/Java. Grande. Paper. html

Genetic algorithm 4 Randomly generate a set of molecules 4 Rate them with a fitness function 4 Many times: • Select parent molecules at random with bias towards better fitness • Randomly rip copies of each parent in two • Mate opposite halves and rate new molecules • Replace random molecules with bias towards worse fitness 4 Repeat until satisfied http: //www. nasa. gov/~globus/papers/Java. Grande 2000/Java. Grande. Paper. html

Crossover http: //www. nasa. gov/~globus/papers/Java. Grande 2000/Java. Grande. Paper. html

Java. Genes in Action Finding with all-pairs-shortest-path and Tanimoto index fitness function (0 is perfect) http: //www. nasa. gov/~globus/papers/Java. Grande 2000/Java. Grande. Paper. html

Condor 4 Cycle-scavenging batch system for single workstation jobs • University of Wisconsin (http: //www. cs. wisc. edu/condor) • In production since 1986 • Unix workstations (limited Windows NT) 4 200 SGI and 50 Sun workstations at NASA Ames 4 Good for • parameter studies • stochastic algorithms (e. g. , genetic algorithms) http: //www. nasa. gov/~globus/papers/Java. Grande 2000/Java. Grande. Paper. html

Condor and Java 4 Standard universe • link with Condor library – automatic io redirection – automatic checkpointing – no kernel level threads (e. g. , no fork()) • impractical for Java jobs 4 Vanilla universe jobs worked • Disk access via NFS • Periodic application-specific checkpointing • At startup, check for checkpoint file http: //www. nasa. gov/~globus/papers/Java. Grande 2000/Java. Grande. Paper. html

Byte Code Checkpointing Problematic 4 Condor jobs may be stopped at any arbitrary time 4 Stack format not defined 4 Heap format undefined and serialization slow 4 JIT and optimization causes problems 4 Must modify or write Java Virtual Machine • Kaffe couldn’t run Java. Genes 4 There are rumors regarding checkpointable JVMs • Pointers welcome http: //www. nasa. gov/~globus/papers/Java. Grande 2000/Java. Grande. Paper. html
![Java Universe Application implements Checkpointable and Serializable startString arguments restart 4 Application Java Universe Application implements Checkpointable and Serializable: • start(String[] arguments); • restart(); 4 Application](https://slidetodoc.com/presentation_image/094a1fd37731e0209012b5e28e69747e/image-9.jpg)
Java Universe Application implements Checkpointable and Serializable: • start(String[] arguments); • restart(); 4 Application calls • Checkpointer. ok() • Checkpointer. checkpoint() 4 Condor (or checkpointing thread) calls • Checkpointer. checkpoint. When. Possible() • Checkpointer. prepare. To. Die() • Checkpointer. are. You. Ready. To. Die() • Checkpointer. cancel. Death() 4 http: //www. nasa. gov/~globus/papers/Java. Grande 2000/Java. Grande. Paper. html

Java Con 4 Serialization seemed unbelievably slow and big • three hours and 25 Mbytes for 500 graphs – plus memory leak found last month! • two day application-specific checkpoint implementation: < 1 Mbyte / 10 seconds - 5 minutes 4 Restart from checkpoint leads to optimistic performance data 4 class Double problem: • double foo = Infinity; // or Na. N; • Double(foo + “”) throws bad format exception http: //www. nasa. gov/~globus/papers/Java. Grande 2000/Java. Grande. Paper. html

Java Pro 4 Porting trivial • Unix: SGI and Sun JDK 1. 1. x • Windows 95: Visual Cafe, Superseed, JBuilder, Code Warrior, JDK 1. 1. x 4 Bugs • significantly less frequent than in C or C++ • mostly logic bugs, easy to find and fix 4 Memory Management very easy • one clone() bug • one memory leak quickly found by Optimize. It http: //www. nasa. gov/~globus/papers/Java. Grande 2000/Java. Grande. Paper. html

Summary 4 Except for serialization, performance is adequate though not spectacular 4 Wrote once ran everywhere we wanted • No GUI 4 Accomplished non-Java, non-Condor computational science • "Automatic molecular design using evolutionary techniques, " Al Globus, John Lawton, and Todd Wipke, Nanotechnology, Volume 10, Number 3, September 1999, pp. 290 -299. http: //www. nasa. gov/~globus/papers/Java. Grande 2000/Java. Grande. Paper. html