January 13, 2000 CSE 291: WebOS & Legion 1 Preliminaries Preliminaries Mailing list Send me your email address if you haven’t already Even if you are just going to sit in List of students Finding partners Office hour? Questions about papers, doing the presentations? Evals Great! Put them online? Anonymized? Slides Online also?
Preliminaries. Mailing list Send me your email address if you haven’t already Even if you are just going to sit in List of students Finding partners Office hour? Questions about papers, doing the presentations? Evals Great! Put them online? Anonymized? Slides Online also?. - PowerPoint PPT Presentation
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
January 13, 2000 CSE 291: WebOS & Legion 1
PreliminariesPreliminaries Mailing list
Send me your email address if you haven’t already Even if you are just going to sit in
List of students Finding partners
Office hour? Questions about papers, doing the presentations?
Evals Great! Put them online? Anonymized?
Slides Online also?
WebOSWebOS
Operating System Services for Wide Operating System Services for Wide Area ApplicationsArea Applications
Amin Vahdat, Eshwar Belani, Paul Amin Vahdat, Eshwar Belani, Paul Eastham, Chad Yoshikawa, Thomas Eastham, Chad Yoshikawa, Thomas
Anderson, David Culler, and Michael DahlinAnderson, David Culler, and Michael Dahlin
January 13, 2000 CSE 291: WebOS & Legion 3
VisionVision Framework for supporting wide-area, distributed,
highly available, incrementally scalable, reconfigurable services and applications
Components Resource discovery – which server do I use? Persistent storage – wide-area file system Remote process execution – fork on a remote machine Authentication and security – provide trust
January 13, 2000 CSE 291: WebOS & Legion 4
Example App: Rent-A-ServerExample App: Rent-A-Server Set of generic servers distributed across Internet
Transparent, automatic replication of HTTP service (CNN) Spawn new servers when demand is high Do not have to statically allocate resources to match peak
demand Advantages of using WebOS to build Rent-A-Server
Better availability – transparently mask server failures Better cost-performance – do not have to provide peak
capacity for peak Better burst behavior (handle peak demand)
» Efficient use of a collection of resources
January 13, 2000 CSE 291: WebOS & Legion 5
Resource DiscoveryResource Discovery How to choose the best server to send request?
HTTP redirect requires two round-trips DNS is round-robin (performance insensitive)
WebOS uses Smart Clients Applet chooses server based upon distance and server load Servers periodically piggy-back load info back to applet at
client to update load info Load info grows stale, defaults to random
January 13, 2000 CSE 291: WebOS & Legion 6
Smart ClientsSmart Clients Algorithm
User requests a service (e.g., “service://chat”) Meta-applet in browser handles “service:” URLs, contacts a
“service:” server (e.g., by using AltaVista) “Service” server returns a list of available hosts supporting the
service (e.g., chat servers) + info (location, load) Meta-applet chooses a host, downloads Smart Client applet Smart Client applet runs in client browser Smart Client chooses chat server based upon location, load Smart Client updates its info as user continues to make
requests to server
January 13, 2000 CSE 291: WebOS & Legion 7
Smart ProxiesSmart Proxies Similar to Smart Clients, but run inside of Proxies Aggregate client requests to servers, much better
picture of server load Get around Java applet restrictions (making network
connections to arbitrary sites)
January 13, 2000 CSE 291: WebOS & Legion 8
Wide Area File SystemWide Area File System WebFS
Persistent files named using URLs» Location dependent
Can use standard Web servers (backwards compatible) Authenticated access when talking to other WebFS’s Consistent
» Application controlled; e.g., invalidation as in AFS Caches data
» Services using WebFS get caching for free Implemented to the Vnode interface
» Looks like another file system to applications
January 13, 2000 CSE 291: WebOS & Legion 9
Process ControlProcess Control Fork processes on remote servers
As easily as forking on own machine Resource Manager controls WebOS jobs
Does admission control Authenticates the source of the job
Jobs run in restricted virtual machine (Janus) Privileged system calls are intercepted Configuration files determine whether calls are allowed to
Security and AuthenticationSecurity and Authentication Based on CRISIS [Belani98]
Not going to go into details, we’re going to read it later on Entities
Principles – sources of trust Objects – resources Reference monitors – grant requests
Statements of trust represented by certifications Authenticate principles Validate privileges (access controls to resources) Transfer privileges (very useful)
January 13, 2000 CSE 291: WebOS & Legion 11
ApplicationsApplications Internet Chat
Each room is implemented as a consistent, shared file Writes are appended to the file, updates multicast to clients
Remote Compute Engine WebOS server on supercomputers Applications are spawned inside WebOS VMs
Cooperative Web Caching Smart Clients to choose best cache, WebFS to distribute data
Internet Weather Central server maintains Internet performance database Access server using an applet; use also contributes data
Smart Clients choose best server to use Process control allows dynamic spawning of servers WebFS allows replication of data among servers CRISIS allows trust among servers Load balancer spawns/reaps servers depending upon load
How did you like this service? Billing…
January 13, 2000 CSE 291: WebOS & Legion 13
DiscussionDiscussion Questions about the paper, system?
Would you want to use WebOS to build wide-area services?
January 13, 2000 CSE 291: WebOS & Legion 14
What did I like?What did I like? Services motivated by application needs
Application requirements well understood Design to meet those requirements
Leverage existing services URLs for names, Java to implement client functionality, SSL
for secure connections Don’t try to reinvent the world
Marshal CPU resources of many machines Workstations, supercomputers (toasters?)
Highly parallel Coarse grained
Has to be if wide-area Applications?
Funny, not specified… Large scale scientific apps – supercomputing++ Highly parallel apps w/ minimal communiction
» Cracking crypto keys
January 13, 2000 CSE 291: WebOS & Legion 18
Objectives (The Kitchen Sink)Objectives (The Kitchen Sink)1. Site autonomy2. Extensible core (*)3. Scalable architecture4. Seamless computing environment5. Highly parallel6. Global name space (*)7. Security for users and resources8. Heterogeneous – many platforms9. Multiple languages, interoperability10. Fault tolerant
January 13, 2000 CSE 291: WebOS & Legion 19
Legion ObjectsLegion Objects Interface specified using an IDL (CORBA, Mentat) Implementation can be done using any language
Legion compiler wraps it up into a Legion Object Coarse grained
Not fine-grained like C++, Java, Smalltalk Execute in disjoint address spaces Think of an object as being a process For an app, probably one object per host
January 13, 2000 CSE 291: WebOS & Legion 20
Object CommunicationObject Communication Objects communicate via method calls
Non-blocking (not sure how to synchronize?) Example methods mostly deal with control
Locating, creating, deleting, etc., objects Not sure if methods are intended for data transport
Use Legion comm to locate and establish links with other Legion Objects
Once all objects are connected, use, e.g., MPI to shuttle data around?
January 13, 2000 CSE 291: WebOS & Legion 21
Core ObjectsCore Objects Core classes in Legion implement essential services
Universal, unique name of an object Does not specify location
Format – defines the fields in the LOID Class ID – class of object (from LegionObject) Instance # – instance identifier (from LegionClass) Public Key – used for security and authentication Additional Fields – depends on format; extensible
Format Class ID Instance # Public Key (Additional Fields)
January 13, 2000 CSE 291: WebOS & Legion 28
Object AddressesObject Addresses Programs name objects using LOIDs, but you can’t
find an object Object Addresses (OA) define the location of an object To use an object, its LOID must be mapped to an OA
Similar in spirit to binding process used in RPC No session semantics, though
OAs contain Object Address Elements List of addresses, can be used to provide multicast
Practically, an OA is an IP address and port #
January 13, 2000 CSE 291: WebOS & Legion 29
BindingBinding LegionBindingAgents (LBAs) provide the service that
binds LOIDs to OAs (get_binding ()) …with the help of LegionClass
A wants to get a binding for B (has class C) A queries an LBA with LOID(B) Recall classes know the OAs of their instances LBA contacts class C to find OA for B LBA can find C by contacting LegionClass (since C is an
instance of LegionClass) Caching (in object A, LBA, and class C) makes it
scalable
January 13, 2000 CSE 291: WebOS & Legion 30
DiscussionDiscussion Questions about the paper, system?
Move into discussion… Single virtual machine model Universal names
January 13, 2000 CSE 291: WebOS & Legion 31
Single Virtual MachineSingle Virtual Machine Is a single virtual machine the best model?
The VM model provides transparency Transparency is extremely useful…but also seductive
May not want transparency for the wide-area RPC aims to be transparent
» Is RPC successful? Butler Lampson says NO. Can’t make faults transparent Can’t make performance transparent
Well-defined service interfaces, protocols enough E.g., HTTP Difference between distributed systems, parallel systems?
January 13, 2000 CSE 291: WebOS & Legion 32
Universal NamesUniversal Names In favor of a universal naming mechanism
DNS is very successful Orthogonal to single virtual machine model
Can be its own service, not tied to a particular system architecture (again, DNS)
One problem universal names should solve is object mobility
Legion LOIDs do not seem suited for this What do you think?
Universal names a good idea? LOIDs and OAs a good scheme?
January 13, 2000 CSE 291: WebOS & Legion 33
What did I like?What did I like? Like the goal of unique universal names
A service we should have
Funny way to justify system architecture, though “Our system is more ambitious than other systems, so it must
be better”
Btw, what are the apps again?
January 13, 2000 CSE 291: WebOS & Legion 34
WebOS/LegionWebOS/Legion What do you think about WebOS vs. Legion?