Upload
elijah-norris
View
212
Download
0
Embed Size (px)
Citation preview
LEGO – Rennes, 3 Juillet 2007
Deploying Gfarm and JXTA-based applicationsDeploying Gfarm and JXTA-based applicationsusing the ADAGE deployment toolusing the ADAGE deployment tool
Landry Breuil, Loïc Cudennec and Christian Perez
IRISA / INRIA, PARIS project-team
LEGO - Rennes, 3 Juillet 2007 2
Data sharing for grid-based applications Numerical simulations, collaborative design, distributed databases, code-
coupled applications Desirable features: transparency, consistency, uniform access, persistency
Grid data sharing service (JuxMem, INRIA/IRISA) Transparent access to replicated data Fault tolerance and consistency mechanisms Data stored in physical memory
Global distributed file system (Gfarm, AIST/Univ.Tsukuba) File fragmentation and replication Smart replica selection Data stored on disk: secondary persistent storage
Motivations (1/2)Offering persistent storage to a grid data sharing service
LEGO - Rennes, 3 Juillet 2007 3
Motivations (2/2)Proposition of common architecture (#1 out of 3 propositions)
Cluster #1 Cluster #2
JuxMemGlobalDataGroup(GDG)
JuxMemProvider
GDG Leader
JuxMemProvider
JuxMemProvider
GFarmGFSDGFSD GFSDGFSD
One particular JuxMem provider (GDG leader) flushes data to Gfarm Then, other Gfarm copies can be created using Gfarm’s gfrep command
LEGO - Rennes, 3 Juillet 2007 4
Deploying the Gfarm file system 4 roles: metadata server, metadata cache server, file system node and client
node Dependencies between roles:
Tree-based a role should start after its father
Deploying the JuxMem service (JXTA-based application) 2 types of peers: rendezvous and edges Dependencies between peers:
Tree-based a peer should start after its rendezvous peer
Deployment constraints Gfarm should be launched before JuxMem The Gfarm client should share the same node than the JuxMem provider
Generic deployment tool ADAGE (INRIA/IRISA)
Towards a mixed deploymentUsing the ADAGE deployment tool
LEGO - Rennes, 3 Juillet 2007 5
Gfarm file system (1/2)Tree-based dependencies
serverserver
cachecache cachecache
clientclient storagestorageclientclient clientclientstoragestorage storagestorage
Server IP, tcp port
Server IP, tcp portCache IP, tcp port
Server IP, tcp portCache IP, tcpport
Configuration file
LEGO - Rennes, 3 Juillet 2007 6
Gfarm file system (2/2)Describing the application
<server name="metadata_server" port_master="10602" port_gfmd="10601" port_gfsd="10600"/><procs> <proc name="metadata_cache_server" role="agent" cardinality="1" /><proc name="fs_node" role="gfsd" cardinality="1" agent="metadata_cache_server" /> <proc name="gf_client" role="client" binary="true" cardinality="1" agent="metadata_cache_server" /></procs>
Defining tcp ports for Gfarm roles
Naming this metadata cache server
Defining which cache server to connect with
Binary to execute on the client node
LEGO - Rennes, 3 Juillet 2007 7
JuxMem (1/3)is a JXTA-based application
edgeedgeedgeedge
rdvrdv
edgeedge
edgeedge
rdvrdv
rdvrdv
edgeedge
PlatformConfig file:tcp port,IP and tcp port of seed
LEGO - Rennes, 3 Juillet 2007 8
JuxMem (2/3)Describing the JXTA application
<profiles> <profile name="p_manager"> <services rdv="true" relay="false" /> <networks tcp="true" port="9701" /> <behavior binding="c" filename="simple_manager" args="120"/> </profile> </profiles>
<overlay> <rdvs> <rdv id="manager" profile_name="p_manager" cardinality="1"> </rdv> </rdvs>
<edges> <edge id="provider" profile_name="p_provider »
cardinality="1" rdv="manager" /> <edge id="writer" profile_name="p_writer »
cardinality="1" rdv="manager" /> <edge id="reader" profile_name="p_reader »
cardinality="1" rdv="manager" /> </edges> </overlay>
Defining a profile for the manager
Rendezvous instanciation
Edge instanciation
Seed name
Langage: JDL (Mathieu Jan)
LEGO - Rennes, 3 Juillet 2007 9
JuxMem (3/3)Deploying step-by-step
edge1edge1edge2edge2
node1node1
node2node2
rdvrdv
ADAGEADAGE
Topology
edge3edge3
Rdv: 9701
rdv
Writing PlatformConfigWaiting peer up
Callback=9701
LEGO - Rennes, 3 Juillet 2007 10
JuxMem (3/3)Deploying step-by-step, dynamic tcp ports assignation
edge1edge1edge2edge2
node1node1
node2node2
rdvrdv
ADAGEADAGE
Topology
edge3edge3
Rdv: 9701Edge2: 9703
Edge2(seed=node1:9701)
Callback=9703
Edge1(seed=node1:9701)Edge3(seed=node1:9701)
Callback=9701Callback=9705
Edge1: 9701Edge3: 9705
LEGO - Rennes, 3 Juillet 2007 11
Meta plugin (1/2)Mixed Architecture
cluster group
GFarm client
GFarm file system node
JuxMem Client
JuxMem manager
JuxMem Provider
GFarm server
GFarm agent
LEGO - Rennes, 3 Juillet 2007 12
Meta plugin (2/2)Describing the mixed architecture
<specific id="gfarm-desc »path="./tests/gfarm-appl.xml"/>
<specific id="juxmem-desc »path="./tests/jxta-appl.xml"/>
<dependency deptype="acked" what="provider"> <onwhat>gf_client_0</onwhat> </dependency>
Pointing to the Gfarm description
Pointing to the JuxMem description
Expressing ack dependency
Expressing colocation
<submission_method name="ssh"/> <planner mode="random"/> <transfer_files method="scp"/> <plugin name="JXTA » file="tests/meta-gfarm-jxta-ctrl-params-spec.xml"/> <placement_constraints> <collocate id="gf_client_0" with="provider"/> </placement_constraints>
LEGO - Rennes, 3 Juillet 2007 13
Some ADAGE features used by these plugins File transfer Wait for file creation Callback mechanism
Some experimentations Deploying up to 40 Gfarm roles Adapting the JuxMem basic tutorial to ADAGE
Future work Using large scale configurations
Towards a mixed deploymentUsing the ADAGE deployment tool
http://adage.gforge.inria.fr/wiki