Presentation is loading. Please wait.

Presentation is loading. Please wait.

High Performance Computing and TupleSpaces

Similar presentations


Presentation on theme: "High Performance Computing and TupleSpaces"— Presentation transcript:

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


Download ppt "High Performance Computing and TupleSpaces"

Similar presentations


Ads by Google