Reinventing Operating Systems for the Manycore Ubiquitous Swarm

33
Slide 1 April 16 th , 2012 Swarm Lab Seminar Reinventing Operating Systems for the Manycore Ubiquitous Swarm John Kubiatowicz [email protected]

description

Reinventing Operating Systems for the Manycore Ubiquitous Swarm. John Kubiatowicz [email protected]. The Swarm of Resources. Cloud Services. The Local Swarm: Person, House, Office, Café . Enterprise Services. Requirements for Swarm OS?. - PowerPoint PPT Presentation

Transcript of Reinventing Operating Systems for the Manycore Ubiquitous Swarm

Page 1: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 1April 16th, 2012 Swarm Lab Seminar

Reinventing Operating Systems for the Manycore Ubiquitous

Swarm

John [email protected]

Page 2: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 2April 16th, 2012 Swarm Lab Seminar

The Swarm of ResourcesCloud Services

The Local Swarm:Person, House, Office, Café Enterprise Services

Page 3: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 3April 16th, 2012 Swarm Lab Seminar

Requirements for Swarm OS?• What system structure required to support

Swarm?– Integrate sensors, portable devices, cloud

components– Guarantee responsiveness, real-time behavior,

throughput– Services with guaranteed behavior, self-adapting to

adjust for failure and performance predictability– Uniformly secure, durable, available data

Swarm-OS

Distributed Sense-Control-Actuate Platforms

Innovative Devices and Materials

Middleware and services

Swarm App Store

Inte

grati

on

Page 4: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 4April 16th, 2012 Swarm Lab Seminar

Today’s Software Reality• Resources not well managed: QoS hard to achieve

– 20th-century notions of utilization and resource virtualization– Despite a cornucopia of resources – we still cannot get the ones we

need when we need them!• Services not easily interconnected

– Every service has a unique API– Highly-specialized “stovepipes” often do not provide exactly what

users are looking for they end up integrating “by hand”– Tradeoffs between client and cloud not easy to achieve

• Too many things explicitly depend on location:– Where: is my data stored? (oops – it was there!)– Where: can I execute this piece of functionality?– Where: can I display this information?– Where: did I start this job (because I have to finish it there)

• And others don’t properly depend on location: – Here I am: do something about it!

Page 5: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 5April 16th, 2012 Swarm Lab Seminar

Support for Applications• What support do we need for new Swarm

applications?– Should we just port Linux, Android, or Windows 7?– A lot of functionality, hard to experiment with, possibly

fragile, …• Clearly, these applications will contain:

– Direct interaction with Swarm and Cloud services• Potentially extensive use of remote services• Serious security/data vulnerability concerns

– Real Time requirements• Sophisticated multimedia interactions• Control of/interaction with health-related devices

– Responsiveness Requirements• Provide a good interactive experience to users

– Explicitly parallel components• However, parallelism may be “hard won” (not embarrassingly

parallel)• Must not interfere with this parallelism

• No existing OS handles all of these well….

Page 6: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 6April 16th, 2012 Swarm Lab Seminar

The Swarm OS in a Nutshell• Treat the world as a single system…

– Set of all applications forms a connected graph of services• New Buzzword: Service Oriented Architecture?

– Important aspects:• How to discover and assign resources to components• How to provide guaranteed access (QoS) to components• How to startup (boot?) applications

– Data as a First-Class Citizen• Primary software component: Cell

– Software component with QoS-guaranteed access to resources– Exports service(s) with QoS guarantees to other Cells

• Service provided by a Cell becomes resource for other Cells• Hierarchical Resource Discovery and Awareness

– Resources owned by broker agents capable of discovering, configuring, and assigning them

• Guaranteed Access to Assigned Resources– Cell and Networking implementation designed to guarantee access

to resources and services

Page 7: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 7April 16th, 2012 Swarm Lab Seminar

Changing the Structureof Operating Systems

(and the Application that run on them)

Page 8: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 8April 16th, 2012 Swarm Lab Seminar

Guaranteed Resources• What might we want to guarantee?

– Examples:• Guarantees of BW (say data committed to Cloud Storage)• Guarantees of Requests/Unit time (DB service)• Guarantees of Latency to Response (Deadline scheduling)• Guarantees of maximum time to Durability in cloud• Guarantees of total energy/battery power available to Cell

• What level of guarantee?– Firm Guarantee (Better than existing systems)

• With high confidence (specified), Maximum deviation, etc.• What does it mean to have guaranteed resources?

– A Service Level Agreement (SLA)?– Something else?

• “Impedance-mismatch” problem– The SLA guarantees properties that programmer/user wants– The resources required to satisfy SLA are not things that

programmer/user really understands

Page 9: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 9April 16th, 2012 Swarm Lab Seminar

Space-Time Partitioning

• Spatial Partition: Performance isolation– Each partition receives

a vector of basic resources• A number HW threads• A portion of physical

memory• A portion of shared cache• A fraction of memory

bandwidth

• Partitioning varies over time– Fine-grained multiplexing

and guarantee of resources• Resources are gang-scheduled

• Controlled multiplexing, not uncontrolled virtualization

• Partitioning adapted to the system’s needs

TimeSpace

Space

Page 10: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 10April 16th, 2012 Swarm Lab Seminar

New OS Primitive: the Cell• Cell Properties:

– A user-level software component, with guaranteed resources

– Explicit security context which allows access to protected data

– Knowledge of how to adapt itself to new environments (SEJITS)

– Checkpoint/restart to provide fault tolerance, mobility and adaptation

• Execution Environment:– Explicitly parallel computation– Resource Guarantees– Trusted computing base – Secure channels (intra/interchip)

with ability to suspend and restart during migration

Locati

on-Adap

tive

Channels

Location-AdaptiveChannels

Processing ResourcesQoS GuaranteesTrusted HW/SW

User-level Mem Mgmt

Address Space A

Address Space BTask

User-level Scheduling

AdaptationCheckpoint / Restart

Page 11: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 11April 16th, 2012 Swarm Lab Seminar

Applications Composed of

Interconnected Cells

• Component-based model of computation– Applications consist of interacting components– Components may be local or remote

• Communication defines Security Model– Channels are points at which data may be compromised– Channels define points for QoS constraints– Question: Can we provide proofs of correctness on inter-cell protocols?

• Naming process for initiating endpoints– Need to find consistent version of library code (within cell)– Need to find compatible remote services– Solution of version constraint problem for running application

SecureChannel

DeviceDrivers

FileService

SecureChannel

SecureChannelSecure

Channel

SecureChannel

Real-TimeCells

(Audio,Video)

Core ApplicationParallelLibrary

Page 12: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 12April 16th, 2012 Swarm Lab Seminar

Impact on the Programmer• Connected graph of Cells Object-Oriented Programming

– Lowest-Impact: Wrap a functional interface around channel• Cells hold “Objects”, Secure channels carry RPCs for “method calls”• Example: POSIX shim library calling shared service Cells

– Greater Parallelism: Event triggered programming• Shared services complicate resource isolation:

– How to guarantee that each client gets guaranteed fraction of service?– Distributed resource attribution (application as distributed graph)

• Communication defines Security Model– SecureCell: Keys as resource – Outside entity handles privacy concerns– Mandatory Access Control Tagging (levels of information confidentiality)

SecureChannel

Secure

ChannelApplication B

Application A

Shared File Service

Page 13: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 13April 16th, 2012 Swarm Lab SeminarMicrosoft/UPCRC Tessellation: 13April 29th, 2010

Tessellation: The Exploded OS• Normal Components

split into pieces– Device drivers

(Security/Reliability)– Network Services

(Performance)• TCP/IP stack• Firewall• Virus Checking• Intrusion Detection

– Persistent Storage (Performance, Security, Reliability)

– Monitoring services• Performance

counters• Introspection

– Identity/Environment services (Security)• Biometric, GPS,

Possession Tracking• Applications Given

Larger Partitions– Freedom to use

resources arbitrarily

DeviceDrivers

Video &WindowDrivers

FirewallVirus

Intrusion

MonitorAnd

Adapt

PersistentStorage &

File System

HCI/VoiceRec

Large Compute-BoundApplication

Real-TimeApplication

Identity

Page 14: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 14April 16th, 2012 Swarm Lab Seminar

Tessellation on Cloud Servers

DiskI/O

Drivers

OtherDevices

NetworkQoS

MonitorAnd

Adapt

Persistent Storage &Parallel File System

Large Compute-BoundApplication

Large I/O-BoundApplication

DiskI/O

Drivers

OtherDevices

NetworkQoS

MonitorAnd

Adapt

Persistent Storage &Parallel File System

Large Compute-BoundApplication

Large I/O-BoundApplication

DiskI/O

Drivers

OtherDevices

NetworkQoS

MonitorAnd

Adapt

Persistent Storage &Parallel File System

Large Compute-BoundApplication

Large I/O-BoundApplication

DiskI/O

Drivers

OtherDevices

NetworkQoS

MonitorAnd

Adapt

Persistent Storage &Parallel File System

Compute-BoundApplication

I/O-BoundApplication

QoS

Guarantees

Cloud StorageBW QoS

QoS

Guarantees

QoSGuarantees

QoS

Guarantees

Page 15: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 15April 16th, 2012 Swarm Lab Seminar

Example of Wrapping ResourceIn Service-providing Cell

Page 16: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 16April 16th, 2012 Swarm Lab Seminar

The Tesselation GUI Service

• Operate on user-meaningful “actions”– E.g. “draw frame”, “move window”

• Service time guarantees (soft real-time)– Differentiated service per application– E.g. text editor vs video

• Performance isolation from other applications

Draw Frame

Page 17: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 17April 16th, 2012 Swarm Lab Seminar

GUI Service Architecture

Page 18: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 18April 16th, 2012 Swarm Lab Seminar

Experiment Setup• Capture end-to-end service times (less is better)• 8 video clients, each sending 4000 video frame

requests– 4 are 30-fps videos (352 x 288)– 4 are 60-fps videos (352 x 288)

• 5 different GUI system setups– Traditional window system running on Linux

(Nano-X/Linux)– Traditional window system running on Tessellation (Nano-

X/Tess)– GUI Service running on Tessellation

• With 1 core (GuiServ(1)/Tess)• With 2 cores (GuiServ(2)/Tess)• With 4 cores (GuiServ(4)/Tess)

• Running on machine with 8 hyperthreads• Window system and video clients running on

separate cores

Page 19: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 19April 16th, 2012 Swarm Lab Seminar

Experimental Data

Nano-X/Linux

Nano-X/Tess

GuiServ(1)/Tess

GuiServ(2)/Tess

GuiServ(4)/Tess

Out of 4000 frames

Page 20: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 20April 16th, 2012 Swarm Lab Seminar

Establishing theService Level Agreement

• Conventional Wisdom on achieving QoS– Painful and takes a lot of effort– Reason why people don’t like doing real-time

• Instead: Automatic profiling of User Meaningful Actions– Submit complete frames for profiling (Exploration)– Followed by offer of SLA

GUI ServiceVisual App(Best Effort)

User ActionUser ActionProbe Request

User ActionProbe Request

CPU Time inGUI Service

SLAAcceptVisual App(Real-Time)

Page 21: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 21April 16th, 2012 Swarm Lab Seminar

Allocation of ResourcesDiscovery, Distribution, and

Adaptation

Page 22: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 22April 16th, 2012 Swarm Lab Seminar

Two Level Scheduling:Control vs Data Plane

• Split monolithic scheduling into two pieces:– Course-Grained Resource Allocation and Distribution to Cells

• Chunks of resources (CPUs, Memory Bandwidth, QoS to Services)• Ultimately a hierarchical process negotiated with service providers

– Fine-Grained (User-Level) Application-Specific Scheduling• Applications allowed to utilize their resources in any way they see fit• Performance Isolation: Other components of the system cannot

interfere with Cells use of resources

MonolithicCPU and Resource

SchedulingApplication Specific

Scheduling

Resource AllocationAnd

DistributionTwo-Level Scheduling

Page 23: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 23April 16th, 2012 Swarm Lab Seminar

Brokering Service:The Hierarchy of Ownership

• Discover Resources in “Domain”– Devices, Services, Other Brokers

• Allocate and Distribute Resources to Cells that need them– Solve Impedance-mismatch

problem– Dynamically optimize execution– Hand out Service-Level Agreements

(SLAs) to Cells– Deny admission to Cells when

violates existing agreements• Complete hierarchy

– Throughout world graph of applications

LocalBroker

SiblingBroker

ParentBroker

ChildBroker

Page 24: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 24April 16th, 2012 Swarm Lab Seminar

Tessellation

Kernel(Trusted)

Architecture of Tessellation OS Po

licy

Serv

ice

STRG ValidatorResource Planner

Partition Mapping

andMultiplexin

gLayer

PartitionMultiplexing

Partition Mechanis

m Layer

QoSEnforcement

PartitionImplementation

ChannelAuthenticator

Partitionable (and Trusted) HardwareCoresPhysical

MemoryNetwork

BandwidthCache/

Local Store NICs

MajorChangeRequest

ACK/NACK

Cell Creationand Resizing

RequestsFrom Users

Admission

ControlMinor

ChangesACK/NACK

Cell

Cell

Cell

All system

resources

Cell group with

fraction of resources

Cell

Space-Time Resource

Graph (STRG)

(Current Resources)

Global Policies /User Policies andPreferences

Resource Allocation

And AdaptationMechanism

Offline Modelsand Behavioral

Parameters

OnlinePerformanceMonitoring,

Model Building,

and Prediction

PerformanceCounters Pa

rtitio

n #1

Parti

tion

#2Pa

rtitio

n #3

Cell

#1Ce

ll #2

Cell

#3

User/SystemPer

forman

ce

Repor

ts

TPM/Crypto

Page 25: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 25April 16th, 2012 Swarm Lab Seminar

Modeling and Adaptation• Modeling of Applications

– Static Profiling: may be useful with Cell guarantees– Multi-variable model building: Get performance as function of resources

• Adaptation according to User and System Policies– Convex optimization

• Relative importance of different Cells expressed via scaling functions– Walk through Configuration space

• Meet minimum QoS properties first, enhancement with excess resources

Stop point: At this point we stop and go to improve video

Sample size

Samplingfrequency

8 16

8 KHz

11 KHz

22 KHz

44 KHz

64 Kbps

88 Kbps

128 Kbps

176 Kbps 353 Kbps

706 Kbps

Number of channels = 1

Frame size

10 fps

160x120 320x240

15 fps

20 fps

25 fps

30 fps

640x320

154 Kbps

230 Kbps

308 Kbps

385 Kbps

462 Kbps

614 Kbps

922 Kbps

1.84 Mbps 7.37 Mbps

3.69 Mbps

2.46 Mbps

1.23 Mbps

4.92 Mbps

1.54 Mbps 6.16 Mbps

Frame rate

Stop pointAt this point we stop improving video and go back to improve audio

Color depth = 24; Compression ratio = 30

Configuration space for audio Configuration space for video

Example of Zigzag Trajectories for a Conversation-level

Videoconference Application

Favor audio-quality enhancement over video-quality enhancement when enhancing the quality of both media is not feasible, until we reach the stop point

Page 26: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 26April 16th, 2012 Swarm Lab Seminar

On Toward the Swarm

Page 27: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 27April 16th, 2012 Swarm Lab Seminar

Swarm Data• Information (Data) as a First Class Citizen:– Current Viewpoint: Data is byproduct of computation– Much Better: Data independent of computation, outlasts

computation, transformed by computation– Computation should be the ephemeral thing!

• Fallacy: Data Resides in a Particular Location– A breach of the system results in loss of privacy– Incorrect security configuration results in loss of integrity– A crash results in loss of updates or new information– Transient routing failure results in inaccessbility

Integrated, Secure, Deep Archival Storage– Data available from anywhere, anytime– Data encrypted all the time (except in authorized cells)– Data durable by default (coding, widespread replication)

Page 28: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 28April 16th, 2012 Swarm Lab Seminar

Signature, PolicyVersion, GUID

Secure Cell: Portable Secure Data

• Data divided into globally-addressable capsules– Addressable by unique GUID and/or metadata search– Conceptually stored in THE Storage Cloud (cyberspace?) If you can name it, you can use it!

• Secure Cell: Security Context as a resource– Data is signed, has attached policy, Optionally encrypted– Unwrappable only in correct trusted environment

• Key Distribution resource management

Trusted HW/SW

Compute

FabricData Jail (free useaccording to policy)

Signature, PolicyVersion, GUID

Decrypt Encrypt

Distributed Public Key Infrastructure

Challenge/Response

Page 29: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 29April 16th, 2012 Swarm Lab Seminar

• Level of indirection in network– “Decentralized Object Location and Routing” (DOLR)– All data and services explicitly named by secure hash (Sha256?)

• Deep Archival Storage in Cloud– Integrated use of coding for maximum durability

GUID1

DOLR

GUID1

GUID2

Location IndependentData and Services

Service

Service

Service

Page 30: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 30April 16th, 2012 Swarm Lab Seminar

Service B(Cloud)

Cloud Storage

Mobile OS

The Terrestrial Petri Dish

Service A(Cloud)

Locality-AwareRoutingNetwork

Page 31: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 31April 16th, 2012 Swarm Lab Seminar

Cell as a Ubiquitous Primitivefor the Swarm

• Cell with network interconnect is an ideal way to handle heterogeneity– From the outside: export services to other Cells– From the inside: naturally partition components along

heterogeneous boundaries• Hierarchical Resource Broker Architecture

– Separate allocation of resources from use of resources• Every component in system should host Cells?

– Even sensors!?– What is minimal support?

• Security Primitives• Communication support

• Alternative: Bare sensors do not host Cells– Requires minimal computational capability

• Legacy components????

Page 32: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 32April 16th, 2012 Swarm Lab Seminar

• Hierarchical Resource Management– Multi-level resource reservation and adaptation– Resource guarantees and QoS at all levels

• Synthesis of Tasks from Preexisting Services– Transparent and adaptive choice of service providers

• Permanent Secure Archival Storage

Applications in 2020

Page 33: Reinventing  Operating Systems  for  the  Manycore  Ubiquitous Swarm

Slide 33April 16th, 2012 Swarm Lab Seminar

Conclusion• Essential ideas:– Resource guarantees negotiated hierarchically– Continual adaptation and optimization– Deep Archival Storage available from anywhere, anytime– Mobility of secure data, computation (is there a

difference?)• Important components of future OS environment– Cells as Basic Unit of Resource and Security

• User-Level Software Component with Guaranteed Resources• Secure Channels to other Cells

– Observation, Monitoring, and Adaptation layers• Machine learning, Convex Optimization

– Portable Secure Data infrastructure• If you can name it, you can use it

• Tessellation OS: http://tessellation.cs.berkeley.edu