The nonkernel: A Kernel Designed for the Cloud Muli Ben-Yehuda1,2 , Omer Peleg1 , Orna Agmon Ben-Yehuda1 , Igor Smolyar1 , Dan Tsafrir1 1 Technion
Ben-Yehdua et al. (Technion & Hypervisor)
& 2 Hypervisor Consulting Ltd.
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
App1
App2
App3 N o n k e r n e l
Traditional Operating System Kernel
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
The nonkernel running on bare-metal
The nonkernel on top of a legacy hypervisor, alongside a legacy OS
app
app
app
VM
VM
nonkernel hardware
Ben-Yehdua et al. (Technion & Hypervisor)
app
VM VM nonkernel VM
app
app
legacy kernel VM
legacy cloud hypervisor hardware
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