distributed earlab with daffie
DESCRIPTION
Distributed Earlab With DAFFIE. Glenn Bresnahan Boston University Scientific Computing and Visualization (http://scv.bu.edu/DAFFIE/Earlab-Dec03). DAFFIE World. Client. Client. Client. Client. event server. Client. Client. Client. Client. Client. DAFFIE World Components. - PowerPoint PPT PresentationTRANSCRIPT
Distributed Earlab With DAFFIEDistributed Earlab With DAFFIE
Glenn Bresnahan
Boston University
Scientific Computing and Visualization
(http://scv.bu.edu/DAFFIE/Earlab-Dec03)
Scientific Computing and Visualization 2
DAFFIE WorldDAFFIE World
ClientClient
Client
Client
Client
event event serverserver
Client
Client
Client
Client
Scientific Computing and Visualization 3
DAFFIE World ComponentsDAFFIE World Components
Application (upper layer) protocol– EFI Messages
Client (application)– EFI Modules
Client services– Job initiation, control, monitoring
DAFFIE Underlying Communications Kernel (DUCK)
Message router (“event server”)
Scientific Computing and Visualization 4
DAFFIE World OrganizationDAFFIE World Organization
World 5World 5
Meta Meta WorldWorld
World 3World 3World 2World 2World 1World 1
World 4World 4
Scientific Computing and Visualization 5
Earlab World OrganizationEarlab World Organization
Meta Meta WorldWorld
Earlab Earlab MasterMaster
Experiment 1Experiment 1 Experiment nExperiment n. . .. . .
Scientific Computing and Visualization 6
Earlab ClientsEarlab Clients
Earlab Module
Module Wrapper
Message Transport
DAFFIE Comm. Kernel
EFI API
DAFFIE API
Scientific Computing and Visualization 7
Daffie Module WrapperDaffie Module Wrapper(Makefile Example)(Makefile Example)
AuditoryNerveIFR: AuditoryNerveIFR.o ${OBJ} ${MODLIB} ${RES}$(LD) $(LDFLAGS) -g AuditoryNerveIFR.o ${OBJ} ${RES} ${LIBS} -o $@
AuditoryNerveIFR.o: efievent.h efieventdef.h module.c$(CC) -c $(CFLAGS) -DMODULE=AuditoryNerveIFR -DNIN=1 -DNOUT=1 module.c -o $@
BM_Gamma_Tone: BM_Gamma_Tone.o ${OBJ} ${MODLIB} ${RES}$(LD) $(LDFLAGS) -g BM_Gamma_Tone.o ${OBJ} ${RES} ${LIBS} -o $@
BM_Gamma_Tone.o: efievent.h efieventdef.h module.c$(CC) -c $(CFLAGS) -DMODULE=BM_Gamma_Tone -DNIN=1 -DNOUT=1 module.c -o $@
InnerHaircell: InnerHaircell.o ${OBJ} ${MODLIB} ${RES}$(LD) $(LDFLAGS) -g InnerHaircell.o ${OBJ} ${RES} ${LIBS} -o $@
InnerHaircell.o: efievent.h efieventdef.h module.c$(CC) -c $(CFLAGS) -DMODULE=InnerHaircell -DNIN=1 -DNOUT=1 module.c -o $@
Scientific Computing and Visualization 8
Earlab Upper Layer ProtocolEarlab Upper Layer Protocol
Configuration– Static (meta) data
• Number and types of inputs, outputs, etc.– Runtime
• Input/output sizes and wiring EFI function calls
– Load, Start, ReadParameters, Advance, Stop, Unload Data Status Control
– Probes, etc
Scientific Computing and Visualization 9
ServicesServices
Job initiationResource and status monitoringLogging (remote console)ControlFile sharingData monitoring (probes)
Scientific Computing and Visualization 10
Earlab ExperimentEarlab Experiment
Earlab Module 1
event event serverserver
Earlab Module 2
Console
Control
Earlab Module n
File Server
Probe
Monitor
.
.
.
Logger
Scientific Computing and Visualization 11
Agent/Client Initiation Daemon Agent/Client Initiation Daemon (agentd)(agentd) Run on each host that is willing to run modules
or host an experiment (i.e. run an event sever)– Given list (directory) of modules
Provides remote logging capabilities– stdio is encapsulated into DAFFIE events
Hooks for authentication and authorization (access controls)
Deals with OS specifics of process creation Control, logging and agent execution may all be
in separate DAFFIE worlds
Scientific Computing and Visualization 12
Earlab ArchitectureEarlab Architecture Meta Meta WorldWorld
Earlab Earlab MasterMaster
Experiment 1Experiment 1 Experiment nExperiment n
Host 1
agentd
module
module
Experiment 2Experiment 2
Host 2
agentd
module
module
Scientific Computing and Visualization 13
Issues/future workIssues/future work Exception catching and handling File sharing Authentication and authorization Data transport
– Streaming – Tunnels
Distributed control EFI V3 (Spike data) GUI (?)
– Configuration layout Probes
– Remote and Display Wall graphics– 3D– Direct X/OpenGL
Better hosting (eventd)– DNS aware