The nonkernel: A Kernel Designed for the Cloud

smilinggnawboneInternet and Web Development

Dec 4, 2013 (3 years and 10 months ago)

80 views

The nonkernel:A Kernel Designed for the Cloud
Muli Ben-Yehuda
1;2
,Omer Peleg
1
,Orna Agmon Ben-Yehuda
1
,
Igor Smolyar
1
,Dan Tsafrir
1
1
Technion &
2
Hypervisor Consulting Ltd.
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 1/22
Where is the money?
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 2/22
Where is the money?
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 2/22
In the clouds
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 3/22
In the clouds
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 3/22
The Resource-as-a-service (RaaS) Cloud [HotCloud’12],[CACM]
Renting fine-grained individual resources,not bundles
(“server-equivalents”)
For increasingly shorter time durations
Market-driven resource pricing
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 4/22
The Resource-as-a-service (RaaS) Cloud [HotCloud’12],[CACM]
Renting fine-grained individual resources,not bundles
(“server-equivalents”)
For increasingly shorter time durations
Market-driven resource pricing
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 4/22
The Resource-as-a-service (RaaS) Cloud [HotCloud’12],[CACM]
Renting fine-grained individual resources,not bundles
(“server-equivalents”)
For increasingly shorter time durations
Market-driven resource pricing
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 4/22
The Resource-as-a-service (RaaS) Cloud [HotCloud’12],[CACM]
Renting fine-grained individual resources,not bundles
(“server-equivalents”)
For increasingly shorter time durations
Market-driven resource pricing
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 4/22
The Resource-as-a-service (RaaS) Cloud [HotCloud’12],[CACM]
Renting fine-grained individual resources,not bundles
(“server-equivalents”)
For increasingly shorter time durations
Market-driven resource pricing
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 4/22
Trend:Granularity of Duration of Rent
3 years on average:buying hardware
Months:web hosting
Hours:EC2 on-demand (pay-as-you-go)
5 minutes:CloudSigma,EC2 Spot Instances (pay-as-you-go)
3 minutes:GridSpot (as of July 2012)
1 minute:Profitbricks (as of July 2012),Google Compute Engine
(as of May 2013)
...
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 5/22
Trend:Resource Granularity
Amazon allows clients to dynamically change I/O resources.
Since August 2012,Amazon also allows clients to set a desired
rate on a per-block-instance basis.
CloudSigma,GridSpot,and ProfitBricks offer clients to compose a
flexible bundle—with prices depending on current cost of
resources
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 6/22
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 7/22
Unfortunately...
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 8/22
The cloud is different
Resource ownership and control:the OS is no longer sole owner
Economic model:provider vs.multiple clients
Resource granularity:competition for resources )fine-grained
resource allocation
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 9/22
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 10/22
The missing piece:architectural support for machine virtualization
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 11/22
Designing a cloud kernel:requirements
Enable applications to
bi-objectively optimize for cost
and performance,not just
performance
Expose physical resources
Get out of the way and let
applications acquire,release and
manage their own resources
Isolates applications
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 12/22
Designing a cloud kernel:requirements
Enable applications to
bi-objectively optimize for cost
and performance,not just
performance
Expose physical resources
Get out of the way and let
applications acquire,release and
manage their own resources
Isolates applications
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 12/22
Designing a cloud kernel:requirements
Enable applications to
bi-objectively optimize for cost
and performance,not just
performance
Expose physical resources
Get out of the way and let
applications acquire,release and
manage their own resources
Isolates applications
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 12/22
Designing a cloud kernel:requirements
Enable applications to
bi-objectively optimize for cost
and performance,not just
performance
Expose physical resources
Get out of the way and let
applications acquire,release and
manage their own resources
Isolates applications
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 12/22
Designing a cloud kernel:requirements
Enable applications to
bi-objectively optimize for cost
and performance,not just
performance
Expose physical resources
Get out of the way and let
applications acquire,release and
manage their own resources
Isolates applications
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 12/22
Welcome to the nonkernel!
App1
App2 App3
Traditional Operating System Kernel
N
o
n
k
e
r
n
e
l
App1
App2
App3
The nonkernel is a hybrid kernel/hypervisor designed for the cloud
Allows bi-objective optimization of both useful work and cost
Exposes resources and their costs directly to applications
Isolates applications from one another
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 13/22
The cloud software stack
hardware
The nonkernel
running
on bare-metal
hardware
legacy cloud hypervisor
The nonkernel on top of a legacy
hypervisor, alongside a legacy OS
nonkernel
app
VM
app
VM
nonkernel
app
VM
app
VM
VM
legacy kernel
app
VM
app
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 14/22
Digging deeper into the nonkernel
Hardware-assisted virtualization
Minimal kernel:no device drivers
or I/O stacks
Applications know best how to
manage their resources
)All resource-related code is at
application level
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 15/22
Digging deeper Cont’
What the nonkernel does:
Boots the machine
Provides a clearinghouse for
resources and arbitrates
contended resources
Isolates applications
Efficient IPC without kernel
involvement
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 16/22
Building a nonkernel
An existing operating system/hypervisor?(e.g.,with [Dune]?)
From scratch?
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 17/22
Discussion:pros
Performance
Zero-overhead virtualization
Reduced driver complexity
A more secure system
A more efficient system due to
the economic model
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 18/22
Discussion:cons
A clean break from the past
No legacy hardware
No legacy software
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 19/22
Related work
Userspace I/O and virtual machine device assignment
The Exokernel [SOSP’95,SOSP’97,TOCS’02]
Library operating systems [VEE’07,ASPLOS’11]
Dune [OSDI’12]
Mirage [HotCloud’10,ASPLOS’13]
NoHype [ISCA’10]
Arrakis [HotOS’13]
RaaS [HotCloud’12,CACM]
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 20/22
Conclusions
The cloud is a new kind of
run-time environment
An opportunity to rethink how we
build system software
We propose the nonkernel:a
new kind of kernel
applications access their
resources directly and securely
applications respond to
changing resource costs
The first nonkernel:nom
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 21/22
Thank you!Questions?
Ben-Yehdua et al.(Technion & Hypervisor)
The nonkernel
APSYS,July,2013 22/22