Download presentation
Presentation is loading. Please wait.
1
High Performance Computing and TupleSpaces
Student: Jeremy Kemp Advisor: Hong Lin
2
High Performance Computing
Our cluster : Grid Rocks bit What TSpaces uses
3
What is Grid?
4
Images courtesy of Intel.com
What is Grid? Cabinet 0 Cabinet 1 17 Nodes 3.06 GHz 1GB RAM 17 Nodes 1.8 GHz 2GB RAM Images courtesy of Intel.com
5
Images courtesy of Intel.com
What is Grid? Head Node – Grid itself Dual Socket Quad Core Xeon Workstation 8 cores total Jobs are Started Here Hosts all the data (for now) 12GB of RAM Images courtesy of Intel.com
6
What is Grid?
7
What is Rocks? Developed at UCSD using an NSF grant
It allows a cluster to be installed and running in under a day Comes with Cluster infrastructure tools Contains all of the things a cluster needs
8
What does TSpaces use? Network File System
Pre-configured public key authentication Automatic user account creation DNS allows easy access to the same TSpaces Server
9
Tspaces TSpaces is a Java package that contains:
Tspaces server Java module containing methods and data structures used in programming a tspaces program Used primarily as a cross-platform communications platform
10
TupleSpaces This is what TSpaces is named after Runs on one host
All data is stored here Programmer uses TSpace methods to access Full of Tuples
11
The Tuple All data stored in a TSpace must be inside a Tuple
Can hold primitives and classes, including user defined classes Tuples can be nested Tuples are a subclass of superTuple
12
Tspaces Methods read() take() waitToread() waitToTake() write()
countN() delete() deleteAll()
13
Configuring TSpaces Unpack the tarball to the NFS
Using GNU Screen, open a persistent instance of the TSpaces server Add the location of the TSpaces files to the user's classpath Run the program on the number of nodes desired
14
GammaSort An Example program modeled after the Chemical Reaction Model
Is parallelizable to n/2 nodes 4 Other programs written to debug/run gammaSort: dataGenerator.java dataViewer.java dataCleaner.java dataReset.java
15
GammaSort Data elements consist of a tuple:
tuple dataTemplate = new Tuple(new Field(Integer.class), new Field(Double.class)); The integer is the index of the search The above is the template, used to 'search' for the desired tuple using read() and take()
16
GammaSort Data elements are pulled from the TupleSpace by the compute node and compared If they are “out of order” they are switched The Data elements are then written back to a tuplespace
17
GamaSort and Synchronization
In order to synchronize the data, 4 counters are used 4 tupleSpaces are used Two TupleSpaces for the data elements being read (one even and one odd) Two TupleSpaces for the data elements being written (one even and one odd) All data must be handled in pairs to determine when to Terminate the program.
18
Future Improvements Consolidate all of the support applications in to one, customizable GUI application to help build future programs in TSpaces Use more of the Features and Customizations to provided by TSpaces Automated Startup tool/script
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.