Running a Single Program On Multiple Computers Thesis Single Program Single Computer Serial Processing Antithesis Multiple Programs Multiple Computers Cooperate on Single Problem via Messages ID: 546389
Download Presentation The PPT/PDF document "Remote Function Invocation" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Remote Function Invocation
Running a Single Program
On Multiple ComputersSlide2
Thesis
Single Program
Single Computer
Serial ProcessingSlide3
Antithesis
Multiple Programs
Multiple Computers
Cooperate on Single Problem via MessagesSlide4
Synthesis
Single Program
Multiple ComputersSlide5
Raises Questions
Existing mechanisms?
Message-passing necessary?
Comparison of Metrics?
Anything we can exploit? Use?Slide6
Objectives
Develop the mechanism
Benchmark RFI
Demonstrate:
Running existing program on cluster
Exploitation of new opportunities presented by RFISlide7
Programs
Native Code
Virtual Platform RFI existsSlide8
Developing Rexel
Remote Execution Environment for LinuxSlide9
Node Setup
Simple
Comms
Store
libfile.so
Register function
Call functionSlide10
Function Calling
Few major problems
Trade-offs acceptable
Uses
dlopen
()
and
dlsym
()
Uses
Libffi
for calling conventionSlide11
Usage
Usage (mostly) automatic
Needs runtime linkage
librexelmaster.so
Configured exclusively from
config
filesSlide12
Test Setup
Benchmarked against
MPI
Setup carefully controlled
System representative of cloud providers
Problem-space exhaustionSlide13
Speed (1/2)Slide14
Speed (2/2)Slide15
Speed Overall
PredictabilitySlide16
Consistency (1/2)Slide17
Consistency (2/2)Slide18
Summary
Rexel
Quicker at lots of smaller problems
Slower when number of repeated calls increase
Predictable and consistent throughout
MPI
Slower when problem is divided into tiny chunks
Faster as problem-size of each chunk grows
Unpredictable with tested criteriaSlide19
Future?
Rexel
Performance improved towards the end
MPI
Consistency improved towards the endSlide20
Running SQLite
(1/2)
SQLite
:
Small standalone database
Has c/line interface
Stores all data in a single fileSlide21
SQLite (2/2)
Run in LD_PRELOAD environment
Unaware of
Rexel
Mixed results
Successfully wrote files
Nodes could not return errorsSlide22
Partial Shared-Memory
Expressions represented as
trees
Leaf nodes are operands
Branch nodes are operatorsSlide23
Solving Expressions
Solved recursively
IndependentlySlide24
Concurrent SolvingSlide25
Research Answers
Mechanisms
exist
Replacement possible for both shared-
mem
and MPI
Large effects on software design
Multiple
opportunities
to exploitSlide26
Future Opportunities
Can have an impact on program design
Quorum Solving
Fine-grained
Unit-testing
More???