The nonkernel: A Kernel Designed for the Cloud - Semantic Scholar

Report 5 Downloads 31 Views
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