agent-based scientific applications and collaboration using java xiaorong xiang advisor: dr. kevin...
TRANSCRIPT
![Page 1: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/1.jpg)
Agent-based Scientific Applications and Collaboration
Using Java
Xiaorong Xiang
Advisor: Dr. Kevin Bowyer
Department of Computer Science and Engineering
University of Notre DameSponsored by NSF/ITR-DEB
![Page 2: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/2.jpg)
Objectives
New approach for NOM modeling Agent-based modeling
E-Science on the Web Intelligent interface components Build the NOM Collaboratory Performance analysis for scientific
applications
![Page 3: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/3.jpg)
Outline
Introduction Modeling Core simulation engine Intelligent Web-based interface The NOM collaboratory Java performance analysis Conclusion Future work
![Page 4: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/4.jpg)
Introduction
What is Natural Organic Matter (NOM)? Role of NOM in various science disciplines
Mobility and transport of pollutants Availability of nutrients for microorganisms
and plant communities Affects quality of drinking water
Need to understand the evolution and heterogeneous structure of NOM
![Page 5: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/5.jpg)
Twomile Creek [DOC] 17 MW 1500
Forest Service Bog [DOC] 7 MW 2200
Nelson Creek [DOC] 79 MW 900
![Page 6: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/6.jpg)
Previous models
Two examples: Daisy (S. Hansen, H. E. Jensen, and N. E. Nielsen
1990-present) : a soil plant atmosphere system model
StochSim (C. J. Morton-Firth 1998-present): Stochastic simulation of cell signaling pathways
![Page 7: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/7.jpg)
low high
small
large
(Atoms numberPercentage)
(Forces between atomsElectron density)
Detail (structure)
Scale(size, temporal)
(One molecule)(nanoseconds)
(Large ecosystem)(Years)
Copyright 1998, Thomas M. Terry,TheUniversity of Conn
Elemental Cycling
Connectivity Maps
NOM1.0Daisy
StochSim
![Page 8: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/8.jpg)
Our model Agent-based modeling (Individual-based
modeling) Agent-based model
Reynolds (1987): Flocks, herds, and schools: A distributed behavioral model. Computer Graphics
Each molecule as an individual object with spatial properties
Bottom-up approach Stochastic model Trace changes of the system Database and data
mining technologies
![Page 9: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/9.jpg)
Our model (cont.) Web-based scientific application
Serve as an example for E-Science G. Fox (2002): E-science meets computational science and
information technology. Computing & Engineering R. M. Jakobovits, J. F. Brinkley, C. Rosse, and E.Weinberger
(1998): Enabling clinicians, researchers, and eductors to build custom Web-based biomedical information system
Support the collaborations, data and information sharing between scientists
No installation, expensive computation resources needed by scientists
![Page 10: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/10.jpg)
Outline
Introduction Modeling Core simulation engine Intelligent Web-based interface The NOM collaboratory Java performance analysis Conclusion Future work
![Page 11: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/11.jpg)
Modeling A complex system
Consists of a large number of objects Molecules, Microbes
Heterogeneous properties Individual behaviors Interaction between objects Objects behavior and interaction are stochastically
determined by: Attributes Reactions rates Environment condition
No central control Emergent properties
![Page 12: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/12.jpg)
Modeling (cont) Agent Attributes
Elemental composition (C, H, O, N, S, P) Functional groups (double bonds, ring
structure, alcohols …) The origin of objects (spatial position in the
system, parents of the objects) Probability table of physical and chemical
reactions Molecule weight
![Page 13: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/13.jpg)
Modeling (cont.)
Agent Behaviors: Transport through soil pores by water (spatial
mobility) Adsorb onto or desorbed from mineral surfaces Chemical reactions
Total 10 types in current model First order Second order
Stochastically determined Space:
2-D grid
![Page 14: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/14.jpg)
Outline
Introduction Modeling Core simulation engine Intelligent Web-based interface The NOM collaboratory Java performance analysis Conclusion Future work
![Page 15: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/15.jpg)
Core simulation engine
Implementation Swarm toolkit Java programming language (JDK 1.4.1_01)
GUI version View the animation of molecules Easy for debugging and modeling
Web-based version, the NOM simulation model
![Page 16: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/16.jpg)
Core simulation engine (cont.) Read simulation parameter from the database
(JDBC) Environmental parameters (pH, temperature, light
intensity, and so on) Molecule types and distributions
User defined time has been separated to a large number of equal size time steps
Write relevant data into the database every time step (JDBC) Trace the dynamic properties of individuals and the
system over time
![Page 17: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/17.jpg)
Outline
Introduction Modeling Core simulation engine Intelligent Web-based interface The NOM collaboratory Java performance analysis Conclusion Future work
![Page 18: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/18.jpg)
Web-based model Distributed, Web-based scientific application
model Based on Java 2 Enterprise Edition (J2EE)
Standard HTML Forms / JSP Java Servlets, Java Beans JDBC - Oracle Oracle Forms and Reports
Three parts: Intelligent Web-based interface Core simulation engine Data analysis, Data mining
![Page 19: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/19.jpg)
Access NOM simulation from Web
![Page 20: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/20.jpg)
Web-based interface
Login
Sign up
New user
Submitted simulations Start a new one
Real time reports Terminate
Dynamic running time prediction
Parameter input
Invoke simulationFind similar simulations
Static running time predictionrestart
DatabaseSimulation
engines
Email notification
![Page 21: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/21.jpg)
Intelligent components Components:
Email notification Running time prediction
Static: number of molecules, number of time steps Dynamic: current time step, current wall clock
time
![Page 22: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/22.jpg)
Intelligent components (cont.)
Find similar simulations Environment parameters Molecule types and distributions Retrieve the data sets from database Points on a high dimension space Euclidean distance Ordered list Review the simulation results or restart
![Page 23: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/23.jpg)
Intelligent components (cont.) Automatic restarter
Save the state of each objects in the system to database every check point
Load the state to the core simulation engine
![Page 24: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/24.jpg)
Intelligent interface design Model-View-Controller (MVC) design pattern
Model Application logic View Presentation logic Controller Session management
Separate the design task, centralized control Code reuse Make the application more easily maintainable Well-suited for round-trips of requesting and
displaying data
![Page 25: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/25.jpg)
Web interface implementation
![Page 26: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/26.jpg)
Outline
Introduction Modeling Core simulation engine Intelligent Web-based interface The NOM collaboratory Java performance analysis Conclusion Future work
![Page 27: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/27.jpg)
Previous work
Combination of words “collaboration” and “laboratory” first coined by William Wulf (1996): Richard T. Kouzes, James D. Myers, and William A. Wulf. Collaboratories: Doing science on the internet. IEEE Computer, 1996
Diesel Collaboratory: C. M. Pancerella, L. A. Rahn, and C. L. Yang: The diesel combustion collaboratory: combustion researchers collaborating over the internet. In Proceedings of the 1999 ACM/IEEE conference on Supercomputing
BioCoRE: http://ks.uiuc.edu/Research/biocore
EMSL Collaboratory: http://www.emsl.pnl.gov:2080/docs/collab
![Page 28: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/28.jpg)
The NOM Collaboratory Interdisciplinary project
Chemist Biologist Ecologist Computer Scientist
Build and integrate software using J2EE NOM modeling & simulation software Standard data format definitions Data querying and manipulation tools Electronic communication tools
![Page 29: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/29.jpg)
![Page 30: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/30.jpg)
NOML: Standard data format
Environment.dtd, Molecules.dtd, Setup.dtd
Facilitate communication User ==== User Application ==== Application
Extension
XML-based NOM Markup Language (NOML)
![Page 31: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/31.jpg)
NOML uploader
![Page 32: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/32.jpg)
Data input options
![Page 33: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/33.jpg)
Other tools
Molecule editor Define new molecule type
Molecule validator Authorized persons (Chemists) to validate data Share the molecule type
Search engine Ad-hoc query View results of the completed simulations Restart some simulations
![Page 34: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/34.jpg)
Outline
Introduction Modeling Core simulation engine Intelligent Web-based interface The NOM collaboratory Java performance analysis Conclusion Future work
![Page 35: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/35.jpg)
Java for Scientific Applications
Advantages Portability, automatic memory management Java built-in threads, Java RMI
Disadvantage Performance
M. Ashworth: The potential of Java for high performance applications. In the International Conference on the Practical Application of Java, 1999
Java Grande benchmark suite http://www.epcc.ed.ac.uk/javagrande
![Page 36: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/36.jpg)
Previous work
Runtime environment optimizations Just-In-Time compilers Bytecode Optimizer Adaptive compilers Native code compilers
J. M. Bull et al.: Benchmarking Java against C and FORTRAN for scientific applications. In proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande
V. Getov et al.: Multiparadigm communications in Java for gird computing. Communication of the ACM, 2001
![Page 37: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/37.jpg)
Profiling the program Identify the bottlenecks Determine the factors that affect performance
Proper design Eliminate bottlenecks Improve scalability
Software engineering perspective
![Page 38: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/38.jpg)
Motivation
The NOM simulation model is a typical large scale scientific application model Long running time Large amount of data output Computation and I/O intensive
Expect that our experiences can help other scientific applications developers using Java
![Page 39: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/39.jpg)
Choice of data structure
0
5
10
15
20
25
Get() & shuffle() Add() & remove() Overall
Execution time (seconds)
ArrayList LinkedList LinkList (with iterator)
![Page 40: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/40.jpg)
Object reuse
Object allocation 50% longer than in C++. (Sosnoski, 1999)
Excessive object creation: Increases the memory footprint Forces more CPU cycles to be used for garbage
collection Increases the possibility of a memory leak
Object reuse Isolate the object Reinitialize the object Object pool management
![Page 41: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/41.jpg)
JDBC
Benchmark: Case 1: Statement Case 2:
PreparedStatement Case 3: Statement with
transaction management Case 4:
PreparedStatement with transaction management
Case 5: Batch updates
![Page 42: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/42.jpg)
Parallel data output with Java threads
![Page 43: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/43.jpg)
Choice of JVM
0
10
20
30
40
50
60
70
80
90
100
100 200 400 600 800
Grid size
Execution time (sec)
0
10
20
30
40
50
60
70
80
90
100
Sun Client VM 1500 time step Sun Client VM 500 time step
Sun Server VM 500 time step Sun Server VM 1500 time step
![Page 44: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/44.jpg)
Choice of JVM (cont.)
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
100 200 400 600 800
Grid size
Speedup
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Time step 500 Time step 1500
![Page 45: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/45.jpg)
Scalability
Two approaches: Java built-in threads
Single JVM, shared memory
Java MPI (MPJ) Multiple JVMs, distributed memory
Equally separate the grid to 2 or 4 subset grids Synchronize all the threads or processes at each
time step
![Page 46: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/46.jpg)
Java thread model
![Page 47: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/47.jpg)
Java thread model (cont.)
0
20
40
60
80
100
120
140
100 400 800 1200 1600
Grid Size
Execution time (sec)
0
20
40
60
80
100
120
140
Sequential model Java threads model
![Page 48: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/48.jpg)
Java thread model (cont.)
![Page 49: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/49.jpg)
Message passing in Java (MPJ) MPJ specification
B. Carpenter et al: MPJ: MPI-like message passing for Java. Concurrency: Practice and Experience. 2000
MPJ implementation MPI wrapper
mpiJava (M. Baker et al: mpiJava: An object-oriented Java Interface to MPI. 1999)
Pure Java implementation JMPI (S. Morin et al: JMPI: implementing the message passing
standard in Java. 2002) Jmpi (K. Dincer: Ubiquitous message passing interface
implementation in Java: jmpi. 1999) MPIJ (G. Judd: Dogma: Distributed object group management
architecture. 1998)
![Page 50: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/50.jpg)
Distributed memory model (MPJ)
![Page 51: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/51.jpg)
Distributed memory model
LAM MPI, mpiJava. 4 machine in a cluster
0
20
40
60
80
100
120
140
200 400 800 1200 1600
Grid size
Execution time (sec)
0
20
40
60
80
100
120
140
Time step 1500 MPJ 4 nodes (1500)
MPJ 4 nodes (500) Time step 500
![Page 52: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/52.jpg)
Distributed memory model (cont.)
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
200 400 800 1200 1600Grid size
Speedup
0
0.20.4
0.60.8
1
1.21.4
1.6
Time step 1500 Time step 500
![Page 53: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/53.jpg)
Distributed memory model (cont.)
No communication between processes
05
10152025
303540
4550
200 400 800 1200 1600
Grid size
Execution time (sec)
05
10152025
303540
4550
Time step 500 MPJ 4 nodes
![Page 54: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/54.jpg)
Distributed memory model (cont.)
![Page 55: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/55.jpg)
Other issue
High performance compiler GCJ
Depends on the applications
IBM High-Performance compiler for RS6000 architecture
Code clean up
![Page 56: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/56.jpg)
Summary - potential 25x
Approaches Speedup Comments
Choice of data structure 2.8 Evaluate overall performance
Object reuse - Performance gain is small
JDBC 3 Use different JDBC technologies
Parallel data output 1.3 Overlap the computation and I/O
Choice of JVM 1.4 IBM JVM is valuable to evaluate
Java threads model 1.1 Evaluate different OS
MPJ model with communication
1.5 Reduce the communication overhead
![Page 57: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/57.jpg)
Outline
Introduction Modeling Core simulation engine Intelligent Web-based interface The NOM collaboratory Java performance analysis Conclusion Future work
![Page 58: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/58.jpg)
Conclusion
Agent-based stochastic model for simulating the NOM evolution with discrete temporal and spatial properties
A Web-based interface The NOM collaboratory Java performance analysis for large scale
scientific applications
![Page 59: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/59.jpg)
Outline
Introduction Modeling Core simulation engine Intelligent Web-based interface The NOM collaboratory Java performance analysis Conclusion Future work
![Page 60: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/60.jpg)
Future work Model testing
Testing on the sorption More features need to add into the core simulation
engine Discrete event vs. Time step
Advanced algorithm for search similar simulations Delicate way to save the JVM state and restart the
simulation Collaboratory:
More communication tools More simulation models for NOM study NOML extension
![Page 61: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/61.jpg)
Contributions New approach for NOM modeling
Agent-based modeling E-Science on the Web Intelligent interface components Built the NOM Collaboratory Performance analysis for scientific
applications
![Page 62: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/62.jpg)
Publications to date Proceedings
Xiang, X., and Madey, G., "Exploring Performance Improvement for Java-based Scientific Simulations that use the Swarm Toolkit", 7th Swarm Researchers Conference (Swarm2003), Notre Dame, IN April 2003.
Huang, Y., Madey, G., Xiang, X., and Chanowich, E., "Web-based Molecular Modeling Using Java/Swarm, J2EE and RDBMS Technologies", 7th Swarm Researchers Conference (Swarm2003), Notre Dame, IN, April 2003.
Abstracts Madey, G., Huang, Y., Xiang, X., "Complex System Simulation: Interactions of NOM
Molecules, Mineral Surfaces, and Microorganisms in Soils", USGS Workshop on Modeling Complex Systems, Reno, NV, November 2002.
Madey, G., Huang, Y., Xiang, X., and Chanowich, E., "Agent-Based Simulation of Biocomplexity: NOM, Mineral Surfaces, and Micro-Organisms", ASLO 2003 Aquatic Sciences Meeting, Salt Lake City, UT, February 2003
Cabaniss, S., Madey, G., Maurice, P., Leff, L., Huang, Y., and Xiang,X., "Stochastic synthesis model for the evolution of natural organic matter", 225th American Chemical Society National Meeting, New Orleans, LA, March 2003.
Posters Huang, Y., Xiang, X, Chanowich, E., Madey, G., "A Web-Based Stochastic Simulation of
Natural Organic Matter", Annual Environmental Education and Research (NDEER) Symposium, Notre Dame, IN, November 2003.
Xiang, X., and Madey, G., "Exploring Performance Improvement for Java-based Scientific Simulations that use the Swarm Toolkit", Indiana Biocomplexity Symposium, Notre Dame, IN, April 2003.
![Page 63: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/63.jpg)
Publication planning NOM simulation
World Conference on Natural Resource modeling Simulation Practice and Theory, International Journal of the Federation
of European Simulation Societies – EUROSIM SIAM Journal on Scientific Computing
Performance analysis of Java for Scientific Applications Winter Simulation Conference Joint ACM Java Grande – ISCOPE Conference High performance computing and networking (HPCN) IBM Systems Journal – Java performance
Scientific Collaboratory ACM Conference on Computer Supported Cooperative work (CSCW) Information Resources Management Association, IRMA international
conference ACM Collaborative Virtual Environments International Conference on Human Computer Interaction Communications of the ACM
![Page 64: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/64.jpg)
Acknowledgement
Thank you
Questions?
![Page 65: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/65.jpg)
A Java-based Direct Monte Carlo Simulation of a NanoScale Pulse Detonation Engine (2002)
ESG ( Environment Scenario Generator ) http://msea.afccc.af.mil/html/projects.html
![Page 66: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/66.jpg)
AlgorithmInit
Add molecule
Randomly pick one
move
Leaveyes
noAll checked
Sorption
no
yesRandomly pick one
Get reaction probabilities
Random number
First order
Find nearest one
noyes
Without split With split disappear
Find nearest empty cell
Update the probability table &Molecule structure
All checkedno
yes
Completedno
Terminateyes
![Page 67: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/67.jpg)
Web-based interface
Input the simulation parameters
Invoke the simulation
Stop the simulation
View the real-time simulation results
![Page 68: Agent-based Scientific Applications and Collaboration Using Java Xiaorong Xiang Advisor: Dr. Kevin Bowyer Department of Computer Science and Engineering](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649d1a5503460f949ef1ee/html5/thumbnails/68.jpg)
Scalability
Two aspects related to the scalability: Large grid size (large number of objects) Large number of time steps