DOC PREVIEW
CORNELL CS 514 - Masking the Overhead of Protocol Layering

This preview shows page 1-2-16-17-18-33-34 out of 34 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 34 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 34 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 34 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 34 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 34 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 34 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 34 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 34 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Masking the Overhead of Protocol LayeringLayeringHorus research focal pointsLego Building Blocks for RobustnessSlide 5Slide 6Potential Wrapper FunctionsSlide 8Slide 9Slide 10Horus Common Protocol InterfaceHow a layer worksExtended virtual synchronyHorus as an “environment”Examples of existing layersPossible future layers?Electra over Horus, HOTProblems With ModularityHorus Protocol Accelerator Cuts Overhead From ModularityObjectiveLayering is goodProblems with LayeringLosing Performance is EasyHow to Reduce Headers?Reducing ProcessingCanonical Protocol ProcessingShortening the Critical PathNew Uses for Packet FiltersOther techniquesArchitectureOverview of PerformanceDetailed Round-Trip TimesUse of a High-Level LanguageConclusionsMasking the Overhead of Protocol LayeringCS514: Intermediate Course in Operating SystemsRobbert van RenesseCornell University Lecture 14 Oct. 12Layering•Lecture given by Robbert van Renesse•First, some background slides from CS514 in Fall 1999•Then Robbert’s slide set from Thursday October 12Horus research focal points•Extremely high performance despite modularity of architecture•Consistency in asynchronous systems that tolerate failures•Predictable real-time throughput and failure reaction times•Integration with security solutions•Use formal methods to verify protocolsLego Building Blocks for Robustnessidentify a component or subsystemidentify a component or subsystemLego Building Blocks for Robustnesswrapped componentwrapped componentWrap the component at an appropriate interface. Wrap the component at an appropriate interface. Ideally, the underlying code remains unchanged.Ideally, the underlying code remains unchanged.Wrapper may transform component to confer propertyWrapper may transform component to confer property add new interfacesadd new interfaces monitor or control component in some waymonitor or control component in some wayLego Building Blocks for Robustnesswrapped componentwrapped componentHorus wrapper options:Horus wrapper options:• Library interposition layer (bsd sockets, Tk/Tcl, PandaLibrary interposition layer (bsd sockets, Tk/Tcl, PandaPcode (for MPI), Unix system call layer (for virtual fault-Pcode (for MPI), Unix system call layer (for virtual fault-tolerance), explicit Horus library interfaces (HCPI))tolerance), explicit Horus library interfaces (HCPI))• Packet filter in O/S or firewallPacket filter in O/S or firewall• Potential wrapper: Object code editorPotential wrapper: Object code editorPotential Wrapper Functions•Virtual fault tolerance•Authentication, data integrity, encryption•Analytic redundancy (behavior checking)•Packet filtering•Service and resource negotiation•Resource use monitoring & management•Type enforcement for access controlLego Building Blocks for Robustnesswrapped componentwrapped component In some cases, more than one wrapper might be neededIn some cases, more than one wrapper might be neededfor the same component, or even the same interface.for the same component, or even the same interface.For example, a data encryption security wrapper mightFor example, a data encryption security wrapper mightbe ``composed’’ with one that does replication forbe ``composed’’ with one that does replication forfault-tolerance.fault-tolerance.““Secure fault-tolerance”Secure fault-tolerance”Lego Building Blocks for Robustnesswrapped componentwrapped componentgroup of replicas (e.g., for fault tolerance) group of replicas (e.g., for fault tolerance) encryptencryptvsyncvsyncftolftolPlug in modules implementPlug in modules implementcommunication or protocol.communication or protocol.The wrapper hides this The wrapper hides this structure behind the structure behind the wrapped interfacewrapped interfaceREPLICATE FORREPLICATE FORFAULT-TOLERANCEFAULT-TOLERANCELego Building Blocks for RobustnessComponent wrapped for secure fault-toleranceComponent wrapped for secure fault-toleranceEnvironment sees group as one entityEnvironment sees group as one entitygroup semantics (membership, actions,group semantics (membership, actions,events) defined by stack of modulesevents) defined by stack of modulesencryptencryptvsyncvsyncfilterfiltersignsignftolftolHorus stacksHorus stacksplug-and-playplug-and-playmodules to givemodules to givedesign flexibilitydesign flexibilityto developerto developerHorus Common Protocol Interface•Standard used in stackable protocol layers (concealed from application by upper “wrapper” layer). •Generalizes group concepts:–Membership–Events that happen to members–Communication actions•“Layers bind semantics to interfaces”How a layer works•Layer’s “state” is private, per connection•Layer can add headers to messages•Idea is to run a protocol with respect to peer layers at other group members•Typically 1500-2500 lines of code in C, shorter in ML•Example: signature layer signs outgoing msgs, strips incoming signatures, uses Kerberos to obtain session keysExtended virtual synchrony•Consistency model used in Horus, reflects Totem/Transis extentions to Isis model•Delivery atomicity w.r.t. group views, partition merge through state transfer•Optimal availability for conflicting operations (c.f. recent theoretical work)•Selectable ordering, user defined stabilization properties, stabilization-based flow controlHorus as an “environment”•Builds stacks at runtime, binds to groups•Offers threaded or event queue interfaces•Standard message handling, header push/pop, synchronization•Memory “streams” for memory management•Fast paths for commonly used stacks•Code in C, C++, ML, Python•Electra presents Horus as Corba “ORB”Examples of existing layers•Virtually synchronous process group membership and delivery atomicity•Ordering (fifo, causal, total)•Flow control and stability•Error correction•Signatures and encyrption•Real-time vsync layers and protocolsPossible future layers?•Fault-tolerance through replication, Byzantine agreement, behavior checking•Security through intelligent filtering, signatures, encryption, access control•Transactional infrastructure•Group communication protocols•Layers for enforcing performance needs•Layers for monitoring behavior and intervening to enforce restrictions, do software fault-isolation•Load-sharing within replicated servers•Real-time, periodic or synchronized actionElectra over Horus, HOT•Developed by Maffeis, presents


View Full Document

CORNELL CS 514 - Masking the Overhead of Protocol Layering

Documents in this Course
LECTURE

LECTURE

29 pages

LECTURE

LECTURE

28 pages

Load more
Download Masking the Overhead of Protocol Layering
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Masking the Overhead of Protocol Layering and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Masking the Overhead of Protocol Layering 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?