130 likes | 259 Views
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.
E N D
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 Scientific Computing and Visualization
DAFFIE 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
DAFFIE World Organization Meta World World 1 World 2 World 3 World 4 World 5 Scientific Computing and Visualization
Earlab World Organization Meta World Earlab Master . . . Experiment 1 Experiment n Scientific Computing and Visualization
Earlab Clients Module Wrapper EFI API DAFFIE API Earlab Module DAFFIE Comm. Kernel Message Transport Scientific Computing and Visualization
Daffie Module Wrapper(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
Earlab 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
Services • Job initiation • Resource and status monitoring • Logging (remote console) • Control • File sharing • Data monitoring (probes) Scientific Computing and Visualization
Earlab Experiment Earlab Module 1 Control . . . Earlab Module 2 File Server event server Monitor Console Earlab Module n Probe Logger Scientific Computing and Visualization
Agent/Client Initiation Daemon (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
Earlab Architecture Meta World Earlab Master agentd agentd module module module module Host 2 Host 1 Experiment 2 Experiment 1 Experiment n Scientific Computing and Visualization
Issues/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 Scientific Computing and Visualization