SISA CSL Omni-OS Project

compliantprotectiveΛογισμικό & κατασκευή λογ/κού

1 Δεκ 2013 (πριν από 3 χρόνια και 8 μήνες)

87 εμφανίσεις

SISA CSL Omni
-
OS Project

ER1

Report

June 2011

1

Flexible Computing

2

Paradigm Shift

Computing resource
utilization

’10

’20

Server

Server
-
centric

Web
-
centric Infra

Device

Thi
n

Data
Center

Innovation on internal/external
resource management

Extension of available resources

’01

Device
Sensor
Cloud
Device Cloud
Datacenter
Medical Cloud
Healthcare
Vehicles
Building
Diverse HW

form factors

Various
service
requirements

Trillion devices connectivity



rapid faults propagation

Flexible management of
OS resources

manycore

Phone

Server

Healthcare

Entertainment

Flexible Computing

Self
-
adaptive OS

Proactive Cloud

Computing

Future OS that forms itself
dynamically according to
the future HW, service
characteristics, and
security requirements to
provide optimum
computing environments

Future cloud computing
that is running active
utilization and
autonomous management
of 3
-
tier (sensors
-
cloudlet
-
clouds) distributed

resources on smart object

Flexible computing is future system SW technology that enables devices
to utilize internal and external resources very flexibly

SAIT Future
-
OS

Parallel Core Scaling

Hyper
-
connectivity
and Pervasive
Computing

Time Criticality

Scalability

Exponential Open
Source Usage

Multicore &
Manycore

Heterogeneous
Devices

Differentiated
QoS

Adaptation

Adaptive
Resource
Management

Active

Security

Fault

Isolation

F
L
E
X
I
B
I
L
I
T
Y

Self
-
Adaptive OS

Driving Technology Trends

We are basing our need for a new Operating Systems on a number of statistically
evident technology trends; however, we are also trying to “leap
-
frog” the competition
with innovative

today

TREND X

SUCCESS OF EXISTING OS TECHNOLOGY

NEW OS

TECHNOLOGY REQUIRED

Driving Technology Trends: Cause

Parallel Core Scaling

Continuing shift to multicore and manycore

5


Multicore trends
continue as the main
performance growth
opportunity


Challenges in s/w
and programmability
remain dominant


Heterogeneous
(compute + energy)
cores beginning to
appear in the market

(e.g., Marvel Armada
268)

Limitations of Existing Monolithic OS Designs


Monolithic kernels do not scale well
because of the “centralized” design of
system services


Linux 2.6.30 improved
SMP

locking on the
memory system, but other big locks still
exist


Manycore access to these centralized
services is controlled through kernel “big
locks”


H/W architectures have evolved to a
distributed de
-
centralized approach (e.g.,
multi
-
cores, h/w multi
-
threading, multiple
memory controllers, switched
interconnects)

* Data collected at SISA showing the proportion of time spent in
the Linux kernel by various off
-
the
-
shelf multi
-
core
benchmarking applications (
ParSec
/Princeton University)


lock
contention is the main culprit for this

6

Driving Technology Trends: Effect

Exponential Hardware Growth

H/W performance and capacity characteristics continue to grow at an
exponential rate

Manycore Scalability

Scalable performance through
effective resource management


Monolithic kernels do not
scale well because of the
“centralized” design of
system services such as
memory allocation and
paging


Multi
-
core access to these
centralized services is
controlled through kernel
“big locks”


H/W architectures have
evolved to a distributed
de
-
centralized approach
(e.g., multi
-
cores, h/w
multi
-
threading, multiple
memory controllers,
switched interconnects)

Data collected at SISA showing the proportion of time spent in the Linux kernel
by various off
-
the
-
shelf multi
-
core benchmarking applications
(
ParSec
/Princeton University)


lock contention is the main culprit for this

7

Driving Technology Trends: Cause

Exponential Open Source Usage

Massive open source efforts are leading to code bases with hundreds of millions
of lines of code


Availability and use of open source software is growing at a fast pace


Worldwide revenue from open source software (OSS) will grow at a
22.4% compound annual growth rate (
CAGR
) to reach $8.1 billion by
2013


IDC report 2009


The Linux kernel alone has now reached 13 million lines of code and
receives


Linux Foundation 2010


The
Debian

Linux distribution has increased by 269 Million
SLOCs

in
less than a decade


OS Distribution

Million

SLOCs

Debian

2.2

55
-
59
[3]
[4]

Debian 3.0

104
[4]

Debian 3.1

215
[4]

Debian 4.0

283
[4]

Debian 5.0

324
[4]

OpenSolaris

9.7

FreeBSD

8.8

Mac OS X

10.4

86
[5]

Linux kernel

2.6.0

5.2

Linux kernel

2.6.29

11.0

Linux kernel

2.6.32

12.6
[6]

Linux kernel

2.6.35

13.5
[7

8

Driving Technology Trends: Effect

Exponential Open Source Usage

Massive open source efforts are leading to code bases with hundreds of millions
of lines of code


ensuring reliability is increasingly difficult

Fault Isolation

Robustness of integrated

third
-
party software


As a software code base
increases in size and the
community of developers
increases software fault turnover
becomes constant at best


The Linux kernel is patched 5
times per hour


report from
Linux Foundation 2011


At a conservative estimate of 0.1
bugs/
KLOC

the
Debian

Linux
distribution has 26,000 bugs!


Although maturity and improved
development processes has
reduced fault density in the Linux
kernel, the total number of faults
has not decreased


Elimination of all software faults
is not viable


fault isolation must
be built
-
in throughout the stack


9

Driving Technology Trends: Cause

Hyper
-
connectivity and Pervasive Computing

Explosion of Internet enabled devices and global device connectivity



The number of devices connected to IP
networks will be twice as high as the
global population in 2015. There will be
two networked devices per capita in
2015, up from one networked device
per capita in 2010.



A growing amount of Internet traffic is
originating with non
-
PC devices. In
2010, only 3 percent of consumer
Internet traffic originated with non
-
PC
devices, but by 2015 the non
-
PC share
of consumer Internet traffic will grow

to
13 percent.



By 2015 the annual run rate of global
IP traffic will reach the zettabyte
threshold.


*source Cisco
VNI

Report, June 2011

Global IP Traffic Growth

-

Cisco
VNI

Report

Traffic Type Growth

-

Cisco
VNI

Report

10

Driving Technology Trends: Effect

Active Security

Addressing an increasing

number cyber
-
threats


Software security is a significant
requirement of any future OS design


Active security must be built
-
in
throughout the software stack
-

application
-
specific Trusted Code
Bases

Hyper
-
connectivity and Pervasive Computing

The need for Internet
-
enabled devices communications across a wide range of
wireless and wired technologies

11

Driving Technology Trends: Cause

Computing



Smart

Phone

Mainframe

Desktop
Computer

Netbook

Robot

E
-
Vehicle

Sensors

Future

Handheld



Transportation



Healthcare



Smart Building



Agriculture



Defense


De
-
centralization

Actuators

Mainframe
Computing

OS

Mainframe OS

Desktop OS

Mobile Web OS

Future OS

Cyber
-
Physical Computing



A
large computer and
multi
-
user
to execute big
data processing
applications



One computer at


every desk



Personalization



Proliferation of
mobile


devices



Web connectivity



Anywhere access

through


Web and Cloud infra



Proliferation of
networked embedded


devices

(compute + sensors + actuators)



Systemic

convergence

of cyber elements


and physical elements


Cyber Physical


Systems (CPS)



A
new Moore’s law
: scaling is not in the number of
transistors per chip, but in the number of
interconnected devices


Desktop Computing

Ubiquitous Computing

Hyper
-
connectivity and Pervasive Computing

Explosion of Internet enabled devices and global device connectivity

12

Driving Technology Trends: Cause

Time Criticality

Low
-
latency and QoS sensitivity in user
-
experience and cyber
-
physical
applications.


As consumer device feature sets
increase the need to support
low
-
latency and QoS sensitivity
becomes paramount


Future business areas within the
domain of cyber
-
physical systems
will require time critical
applications to be co
-
located with
throughput oriented applications


13

Driving Technology Trends: Effect

* Re
-
runs of experiments from book “High Performance Web Sites”
http://
www.webperformancetoday.com
/category/research/

0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Front end
Back end
Distribution of Time Spent in HTML Client

Back end

Front end

Desktop

15%

85%

Mobile

3%

97%

IP Network

Region

Avg. Response
Network Time

Asia

462

Australia

151

Europe

230

North
America

208

South
America

139



Low
-
latency is becoming
increasingly critical to user
experience; throughput is
becoming less useful



Experimental data indicates
that the end
-
system is
increasingly the main
contributor to end
-
to
-
end
latency


made worse by
“instant feedback” paradigm
such as Google Instant


As devices move to perform
roles in a cyber
-
physical role
the need to manage QoS
becomes critical for real
-
time
sensor/actuator processing
and data aggregation

Time Division for Web Applications

Differentiated QoS

Support for multi
-
role criticalities

Time Criticality

Low
-
latency and QoS sensitivity in user
-
experience and cyber
-
physical
applications.

14

Driving Trends

Omni
-
OS will build new Operating System technology to
meet the
scalability

needs of future on
-
chip and off
-
chip
manycore processors

Parallel Core Scaling

Continuing shift to multicore architectures with 100+ cores now viable
in certain contexts

Hyper
-
connectivity and Pervasive
Computing

Explosion of Internet enabled devices and global device connectivity

Multicore &
Manycore

Time Criticality

Low
-
latency and QoS sensitivity in user
-
experience and cyber
-
physical
applications

Heterogeneous
Devices

Differentiated
QoS

15

Integrated
Programming
Model

Transparent
Distributed

Processing

Intrinsic
Resource
Management

Segregating

Multi
-
core

Micro
-
Kernel

Key Components of Omni
-
OS Project

Multicore &
Manycore

Heterogeneous
Devices

Differentiated
QoS

16

Integrated
Programming
Model

Transparent
Distributed

Processing

Intrinsic
Resource
Management

Segregating

Multi
-
core

Micro
-
Kernel

Distribution of OS services and isolation across core(s)
partitions. Extend existing
L4

micro
-
kernel technology
(Fiasco.OC) to support isolation of kernel services
(scheduling, IPC, memory management) across separate
cores. Key enhancements to support distributed physical
memory management and per
-
core/partition based
scheduling policies.


Admission control throughout the software stack. Work with
Genode Labs GmbH to develop the
Bastei

architecture to
provide intrinsic resource management and admission for on
-
chip and off
-
chip distributed resources including processing
cores (spatial and temporal), timer interrupts, memory
controllers and OS services.


Integration of distributed shared virtual memory with
migration of threads across loosely coupled nodes. Extend
microkernel IPC architecture to support transparent OS and
application service invocation across teams
-
of
-
kernels.
Develop a transparent distributed shared memory model and
‘virtual process’ concept to allow elastic execution (i.e., thread
migration) across available resources.


Projection of OS services and resource management model
into parallel programming models. Extend SNAPPLE and
MultiMLton

(Purdue University) technology to allow rapid
development of concurrent applications that can be
transparently deployed across multiple on
-
chip and off
-
chip
core and will actively adapt to changing resource and
contextual conditions.


Key Innovations

17

Integrated
Programming
Model

Transparent
Distributed

Processing

Intrinsic
Resource
Management

Segregating

Multi
-
core

Micro
-
Kernel


Partitioned Scheduling


Core
-
separated 3
-
level Memory Management


Dynamic Scheduling Interrupt Reconfiguration


Application
-
specific Trusted Computing Base


Trading and Tracking of Physical Resources


Co
-
existing Eager and Lazy Allocation Models


Para
-
virtualized Linux Integration


Off
-
chip Team
-
of
-
Kernels


Distributed Virtual Processes and Coherent Shared Memory


Adaptive Off
-
chip Thread Migration


Single System Image


Dynamic Lock Coalescing


Page
-
Protection of Complex Data Types


Language Abstractions for Non
-
functional Specification

Innovations

18

Segregating

Multi
-
core

Micro
-
Kernel

Core
-
separated Memory
Management

Memory management is a critical
function of the operating system.
Traditionally memory is managed
in shared data structures in the
kernel. Omni
-
OS will allow full
distribution of paging, virtual page
allocation, and physical page
allocation whilst minimizing
dependencies across cores

(e.g.,
IPI
)


Physical

Paging

Virtual

App

App

Core 0

Core 1

Physical

Paging

Virtual

H/W

H/W

OMNI
-
0S

Physical

Paging

Virtual

App

App

Core 0

Core 1

H/W

H/W

Existing OS

Partitioned Scheduling

Current Fiasco.OC microkernel only
supports a single scheduling policy for
all cores. Omni
-
OS improves this by
allowing different cores (and core
partitions) to be scheduled with
different policies. The system (e.g., IO
APIC
) are configured depending on
admitted applications.



Periodic

WFQ

RR

Core 0

Core 1

Core 2

Core 3

Innovations

19

Intrinsic
Resource
Management

Application
-
specific Trusted

Computing Bases

Genode (and OmniOS) tailors the trusted

computing base for each application individually.

Applications and services are hierarchically

arranged and service requests routed

accordingly


Trading and Tracking of Physical Resources

The majority of current operating systems try to hide the fact that physical resources such as
memory, network bandwidth, or graphics bandwidth are limited. This approach sacrifices
deterministic behavior. Omni
-
OS requires (secure) admission control of system resource such as
CPU, memory, network and services. Each parent in the Genode tree trades resources with its
children. Clients pass resource to servers to perform work on their behalf


this avoids potential for
Denial
-
of
-
Service. Physical resources get correctly accounted at all times.

Virtualization
-
Enabled Application Capability

Omni
-
OS provides a technology transition path through Linux
para
-
virtualization support and support for native wrapping of
device drivers from Linux and
PGXE

environments. Security and
resource models can be applied to virtualized OS environments.

Innovations

20

Transparent
Distributed

Processing

Distributed Virtual
Processes

Omni
-
OS allows “vanilla”
multi
-
threaded applications
(including those based on
SNAPPLE) to be
transparently run on
multiple non
-
coherent
memory nodes


e.g.,
networked nodes as well as
non
-
coherent manycore
such as Intel Single
-
chip
Cloud Computing (
SCC
).
Our solution will support
distributed coherency
across flex
-
pages (pages
sized
2
N
),
NUMA
-
awareness
and other optimization
techniques to increase
performance.


Team of Kernels and

Distributed OS Services

Omni
-
OS extends the conventional micro
-
kernel IPC
-
based
invocation of OS services (server) to support transparent
off
-
kernel rerouting to services that are running on other
nodes. Dynamic routing to services according to QoS
requirements and resource availability will also be
supported. In the longer
-
term we expect to allow dynamic
migration of OS components across the network.


Innovations

21

Integrated
Programming
Model

Parallel Language Integration

We are continuing to develop Samsung’s SNAPPLE programming
language, compiler and run
-
time to support Omni
-
OS. We are
extending the language to support non
-
functional requirements such as
energy quota. We are also integrating Purdue’s
multiMLton

a
concurrent ML implementation.


shared
int

x;

finish {


async

{


lock(x_);


x++;


int

_coalesce = pressure(x_);


if(!_coalesce) {


unlock(x_);


lock(x_);


}


x++;


unlock(x_);


}


async

{


lock(x_);


lock(y_);


x++;


lock(y_);


lock(x_);


}

}



shared
int

x,y
;

finish {


async

{


x++;



x++;


}


async

{


atomic {


x++;


y++;


}


}

}



Dynamic Lock Coalescing

Spin
-
locks are used to synchronize access to
shared basic type variables. The SNAPPLE
compiler transparently instruments locking.
Locks are coalesced or divided dynamically
in response to contention pressure (via a
modified spin
-
lock implementation). Loop
iterations can also be used for coalescing


e.g., lock held for N
-
iterations before
release.


Flex
-
Page Sharing of Complex Data Types

Pointer
-
based data structures are inherently difficult to share
safely. We propose to exploit Omni
-
OS’s

flexible paging scheme to
assure serialized access to shared data via h/w page fault
interception. In
x86

this involves exploiting the P
-
bit (present) to
trigger page faults when other threads (on different cores)
attempt to access a flex
-
page holding a shared data type.


Technical Highlight


Core
-
separated 3 Level MM

22

Technical Highlight


3 Level Memory Management

23

Technical Highlight


Complex Data Sharing (Preliminary)

24

Progress

Integrated
Programming
Model

Transparent
Distributed

Processing

Intrinsic
Resource
Management

Segregating

Multi
-
core

Micro
-
Kernel

UNPLANNED

25

Roadmap of OmniOS Performance Scaling (Paging)

26

2012

2013

2011

OS Technology Roadmap

NUMA

Aware

& Platform Modeling

Language
-
level

QoS Specification

Team of Kernels

Data Locality
-
Aware

Parallel Compiler

L4

Fiasco.OC
/Genode

SNAPPLE Compiler

SCALING AND QOS

TRANSPARENT DISTRIBUTED COMPUTING

Dynamic Multiprocessor
Topology Management

Automated Architecture &

Platform Behavior Analysis

Distributed Virtual
Memory

IPC
-
RPC

Extensions

VM
-
based PL Support

I/O
Migration

Virtual Processes &

Thread Migration

Single System Image

Segregating Kernel

2014

2015

Integrated HW/SW Runtime Co
-
design

GPU
/
SIMD

Integration

Two
-
stage

Compilation

INTELLIGENT RUN
-
TIME

Machine
-
learning

Optimizations

Context
-
aware

Dynamic Configuration

Heuristic
-
based Optimizations

Energy
-
aware
Resource Mgt

Auto
-
tuning

Active

Memory

Reconfigurable
Processor Support

On
-
chip Heterogeneity

Off
-
chip Hetero.

HETEROGENEOUS PROCESSOR SUPPORT

27

Technology Roadmap Milestones

SAIT










SISA










2011

2012

2013

2014

2015

Modular OS
architecture,

Crash
-
safe system
architecture

Self
-
Adaptive
OS

Adaptive scheduling
framework,

OS security module,

OS live migration

(between homogeneous
devices)

HVM support,

Spec
-
based module
composition

OS live migration
(between hetero
-
devices)

NVRAM support,

context
-
aware module
composition,

self securing


Formally verification of
OS core modules,
formal device driver
synthesis

Realtime
/
QoS
, Security
Distributed Support

Flexibility, Scalability
Support

Adaptability, Reliability
Support

Manycore Scalable
Kernel Architecture &

Transparent Distributed
Computing

Off
-
chip Heterogeneous
Processor Support &
Language Level QoS
Specification

On
-
chip Heterogeneous
Processor Support &
Architecture
-
aware
Optimizations

Reconfigurable
processor support.
Intelligent run
-
times for
energy & performance.
Compositional
verification.

Integrated HW/SW

co
-
design and


OS factories.


28

Omni
-
OS Project Mission Statement

“Develop new language and Operating System technologies to
support differentiated Quality
-
of
-
Service for future on
-
chip and
off
-
chip many
-
core platforms”


29

Power

Micro
-
kernel

Fault
-
isolation

Resource

Management

Admission Control

QoS

Adaptive Scheduling

Parallel

Programming

Many
-
core

Heterogeneous

Processors

Adaptive Locking

Distributed

Shared Memory

SSI

Multi
-
core

Performance

Architecture
-
aware

Optimizations

Related Research

30

Active Major Operating System Research Efforts

Microsoft Research Cambridge

Collaborations with ETH Zurich on Barrelfish OS


focus on future manycore systems; 7 key
contributors .

Microsoft Research
Redmond

Work

on Helios OS based on satellite kernel paradigm. Based on Singularity work.
NUMA

focus.

MIT
CSAIL


Factored OS (
fos
) project (started 2009). Focus on 1000+ manycore. Extending to cloud.

8 key contributors. Relates to
manycor
e h/w efforts.

UC

Berkeley

Tessellation OS as part of
ParLab

effort
. Collaboration with
LBNL
. Active contributors ~5.
Project started in 2008. OS expertise of contributors questionable. Focus on manycore scaling.

OKLabs

Spin
-
off from University of New South Wales /
NICTA

Australia.
L4

based microkernel for mobile
platforms. Significant funding from Nokia and Qualcomm. High level of expertise

recognized in the field (Prof. Heiser). Locked in to customer base for too radical shifts.

ScaleMP

Silicon Valley startup focusing on distributed
SMP

(
vSMP
) and transparent distributed processing
on
x86

platforms. Solution demands h/w constraints. Linux based.

Google

ChromeOS

project focusing on enhancing and extending Linux for Web
-
based applications and
cloud
-
oriented platforms. Current focus on performance rather than scalability.

Convergence Trends

-

31

/ 14
-


FIT

Vision2020

IDC 2008

Mobile

Device

Convergence 1.0

Convergence on mobile
device level

Convergence 2.0

Convergence on the network
level

Next Convergence (CPS)

Convergence of cyber
elements and physical
elements

CE
devices+Network

Smart TV

Smart Oven

Refrigerator

Smart Phone

Healthcare

Vehicles

Building

Electricity

TV, DMB

MP3 Player

Camera

Computer

Computation+Network

+
Sensors+Actuators

Computing meets the real world

Broadening our Business

-

32

/ 15
-




Smart Car



Connected Healthcare



Robotic Surgery



Smart Grid

Vehicle

Health

Power



Near
-
zero Traffic Congestion



Smart Highway



Smart Building



Human Augmentation



Home Robot

Transportation

Robotics

Building

Defense

Agriculture



Smart Gardening



Defense System