real-time operating systems laboratoryredwood.snu.ac.kr/wordpress/wp-content/uploads/2018/08/... ·...

1
Web page: http://redwood.snu.ac.kr, Tel: +82-2-880-8370 Real-Time Operating Systems Laboratory 서울대학교 전기정보공학부 교수 (1995.9~현재) 서울대학교 미래융합기술최고위과정 주임교수 (2017.3~현재) 서울대학교 자동화시스템 공동연구소 연구소장 (2016.9~현재) 한국공학한림원 정회원 (2018.1~현재) 서울대학교 융합과학기술대학원 부원장 (2012.10~2014.10) 서울대학교 융합과학기술대학원 융학과학부 학부장 (2012.10~2014.10) 가헌과학기술재단 석좌교수 (2008.4~2017.3) 한국자동차공학회 사업이사 (2010.1~2011.12, 2013.1~2015.12, 2017.1~2017.12) 전기전자시스템/ITS 부문위원회 부회장 (2012.1~현재) IEEE RTCSA Steering Committee 위원장 (2013. 8 ~2016.8) 교수님 주요 경력 주요 연구 업적 Linux Kernel Scheduling for Multicore Systems Fair-share scheduling on asymmetric multicore systems big Cluster LITTLE Cluster Linux Kernel SVR-CFS Inter-cluster Task Migrator Per-core Scheduler Per-core Scheduler Estimator Estimator Per-core Scheduler Per-core Scheduler Estimator Estimator big big LITTLE LITTLE Intra-cluster SVR Balancer (big Cluster) Intra-cluster SVR Balancer (LITTLE Cluster) Task Information Measured Data Linaro’s scheduling frameworkinter-cluster task migrator 사용 제한된 power budget에서 성능을 높이기 위해, - compute-intensive task들을 big cluster에서 수행 - I/O-intensive task들을 LITTLE cluster에서 수행 Inter-cluster Task Migrator Fairness 달성을 위해, - 현재까지의 SVR이 낮은 task에게 더 많은 CPU 자원 할당 - 현재까지의 SVR이 높은 task에게 더 적은 CPU 자원 할당 SVR(scaled virtual runtime)asymmetric multicore system에서 task의 진행률을 나타내기 위한 지표 Intra-cluster SVR Balancer Estimator를 통해 현재 각 코어의 relative performance 계산 계산된 결과를 기반으로 각 taskSVR 계산 Fairness 달성을 위해, - 각 코어에서 수행 중인 task들의 SVR 값이 동일하도록 스케줄링 Per-core Scheduler Reducing memory interference latency of safety-critical applications via memory request throttling and Linux cgroup CPU Memory Controller Other DMA Devices Memory GPU System Bus Critical Applications Normal Applications 자원 경쟁 발생 Excessive Memory Contention in Mixed-Criticality System Solution Architecture Linux Kernel Number of Outstanding Requests Excessive Memory Contention Predictor Hardware CPU Memory GPU cgroup cgroup Core cgroup Controller Memory Request Rate Controller Other Controllers CPUFreq Governor CPU Scheduler Memory Controller Driver GPU Device Driver CPUFreq Architecture Driver Currently Running Tasks Memory Request Rate Throttling Requests Occurrence of Excessive Memory Contention Task List of Critical and Normal cgroup (1) the start of a critical task chain write() System Call The Start Task of Critical Task Chain Parent and Child Task Sender and Receiver Task write() System Call The End Task of Critical Task Chain (2) the extension of a critical task chain via an IPC call (3) the extension of a critical task chain via creating a task (4) the end of a critical task chain Classification Requests IPC System Call fork() System Call Critical Task Chain Manager Programming Language and Runtime for Future Autonomous Vehicles Splash: stream processing language for real-time and embedded AI Hardware Real-Time Pub-Sub Communication Middleware (based on DDS Specification) Linux Kernel CPU Memory Storage GPU Automotive Ethernet CAN Sensor Data Control Data Real-Time Stream Processing Framework Splash Applications Scene Recognition Path Planning Vehicle Control Splash Runtime Splash Program Example: 3D Object Detection Kernel Techniques for Active Resource Management In-Depth Kernel Optimization Techniques Improving interactivity via cross-layer resource control and scheduling for Linux/Android smartphones Android Application Framework Linux Kernel Frame Buffer /dev/input/event* Dalvik VM Instance Main Task Surface Flinger Task Input Dispatcher Task Input Reader Task Dalvik VM Instance Main Task Binder Task User Touch Input Identifiers of the user-interactive tasks Binder IPC Consolidated Image Input Data Worker Task Foreground App Other Apps Promote priorities of the worker tasks in a user-interactive task chain Restore priorities of the promoted tasks User-Interactive Task Chain Event Hub Message Queue Input Channel Buffer Layer Device Memory Output Device (LCD) Input Device (Touch Screen) CPU Solution Architecture Lag #!&% Problem Android may demonstrate a perceptible lag in a GUI when an interactive task is running with multiple CPU-bound applications Kernel Hackers possessing Solid Theoretical Basis 문제 선정, 정보 수집, 구체화, 해결책 제안, 검증에 이르는 전 과정을 자기 주도적으로 수행할 수 있는 “자기완결적 문제해결능력” 보유자 탄탄한 이론적 배경 지식을 바탕으로 실용적인 시스템 소프트웨어 기술을 체득하여, 이를 실제 산업에 적용할 수 있는 능력 보유자 RTOS Lab의 졸업생들은 학계를 비롯한 삼성전자, Google, Amazon, Oracle, Pure Storage, BlackRock 등 글로벌 기업에 진출하여 활약 중임

Upload: others

Post on 20-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Real-Time Operating Systems Laboratoryredwood.snu.ac.kr/wordpress/wp-content/uploads/2018/08/... · 2018-08-09 · Real-Time Operating Systems Laboratory 서울대학교전기정보공학부교수(1995.9~현재)

Web page: http://redwood.snu.ac.kr, Tel: +82-2-880-8370

Real-Time Operating Systems Laboratory

서울대학교 전기정보공학부 교수 (1995.9~현재)

서울대학교 미래융합기술최고위과정 주임교수 (2017.3~현재)

서울대학교 자동화시스템 공동연구소 연구소장 (2016.9~현재)

한국공학한림원 정회원 (2018.1~현재)

서울대학교 융합과학기술대학원 부원장 (2012.10~2014.10)

서울대학교 융합과학기술대학원 융학과학부 학부장 (2012.10~2014.10)

가헌과학기술재단 석좌교수 (2008.4~2017.3)

한국자동차공학회 사업이사 (2010.1~2011.12, 2013.1~2015.12, 2017.1~2017.12)

전기전자시스템/ITS 부문위원회 부회장 (2012.1~현재)

IEEE RTCSA Steering Committee 위원장 (2013. 8 ~2016.8)

교수님 주요 경력 주요 연구 업적

Linux Kernel Scheduling for Multicore Systems

Fair-share scheduling on asymmetric multicore systems

big Cluster LITTLE Cluster

Linux Kernel

SVR-CFS

Inter-cluster Task Migrator

… …

Per-core

Scheduler

Per-core

Scheduler

𝑹𝝆Estimator

𝑹𝝆Estimator

Per-core

Scheduler

Per-core

Scheduler

𝑹𝝆Estimator

𝑹𝝆Estimator

big big LITTLE LITTLE

Intra-cluster SVR Balancer

(big Cluster)

Intra-cluster SVR Balancer

(LITTLE Cluster)

Task Information Measured Data

• Linaro’s scheduling framework의 inter-cluster task migrator 사용• 제한된 power budget에서성능을높이기위해,

- compute-intensive task들을 big cluster에서수행- I/O-intensive task들을 LITTLE cluster에서수행

Inter-cluster Task Migrator

• Fairness 달성을위해,

- 현재까지의 SVR이낮은 task에게더많은 CPU 자원할당- 현재까지의 SVR이높은 task에게더적은 CPU 자원할당

• SVR(scaled virtual runtime)은 asymmetric multicore system에서한 task의진행률을나타내기위한지표

Intra-cluster SVR Balancer

• 𝑅𝜌 Estimator를통해현재각코어의 relative performance 계산

• 계산된결과를기반으로각 task의 SVR 계산• Fairness 달성을위해,

- 각코어에서수행중인 task들의 SVR 값이동일하도록스케줄링

Per-core Scheduler

Reducing memory interference latency of safety-critical applications via memory request throttling and Linux cgroup

CPU

Memory Controller

OtherDMA

Devices

Memory

GPU

SystemBus

Critical ApplicationsNormal Applications

자원 경쟁 발생

Excessive Memory Contention in Mixed-Criticality System Solution Architecture

Linux

Kernel

Number ofOutstanding

Requests

Excessive Memory Contention

Predictor

HardwareCPUMemory GPU

cgroup

cgroup

Core

cgroup Controller

Memory Request RateController

OtherControllers

CPUFreq

Governor

CPUScheduler

Memory ControllerDriver

GPU DeviceDriver

CPUFreq

Architecture Driver

CurrentlyRunningTasks

Memory RequestRate Throttling

Requests

Occurrence of ExcessiveMemory Contention

Task List ofCritical and

Normal cgroup

(1) the start ofa critical task chain

write()

System Call

The Start Task ofCritical Task Chain

Parent and Child TaskSender and Receiver Task

write()

System Call

The End Task ofCritical Task Chain

…… …

(2) the extension ofa critical task chain

via an IPC call

(3) the extension of a critical task chain via

creating a task

(4) the end ofa critical task chain

Classification Requests

IPCSystem Call

fork()

System Call

Critical Task ChainManager

Programming Language and Runtime forFuture Autonomous Vehicles

Splash: stream processing language for real-time and embedded AI

Hardware

Real-Time Pub-Sub Communication Middleware(based on DDS Specification)

Linux Kernel

CPU Memory Storage GPU

Automotive Ethernet CAN

Sensor Data Control Data

Real-Time Stream Processing Framework

Splash Applications

Scene Recognition Path Planning Vehicle Control

… … …

Splash RuntimeSplash Program Example: 3D Object Detection

Kernel Techniques for Active Resource Management

In-Depth Kernel Optimization Techniques

Improving interactivity via cross-layer resource control and scheduling

for Linux/Android smartphones

Android Application Framework

Linux Kernel

Frame Buffer/dev/input/event*

Dalvik VM Instance

Main

Task Surface

Flinger

Task

Input

Dispatcher

Task

Input

Reader

TaskDalvik VM

Instance

Main

Task Binder

Task

User Touch Input Identifiers of the user-interactive tasks

Binder IPCConsolidated

Image

Input Data

Worker

Task

Foreground App

Other Apps

Promote priorities of the worker tasks in a user-interactive task chain Restore priorities of the promoted tasks

…User-Interactive Task Chain

Event Hub

Message QueueInput Channel Buffer

Layer

Device

MemoryOutput Device

(LCD)

Input Device

(Touch Screen) CPU

Solution Architecture

Lag#!&%

Problem Android may demonstrate a

perceptible lag in a GUI when an interactive task is running with multiple CPU-bound applications

Kernel Hackers possessing Solid Theoretical Basis

문제 선정, 정보 수집, 구체화, 해결책 제안, 검증에 이르는 전 과정을자기 주도적으로 수행할 수 있는 “자기완결적 문제해결능력” 보유자

탄탄한 이론적 배경 지식을 바탕으로 실용적인 시스템 소프트웨어 기술을체득하여, 이를 실제 산업에 적용할 수 있는 능력 보유자

※ RTOS Lab의졸업생들은학계를비롯한삼성전자, Google, Amazon, Oracle, Pure Storage, BlackRock 등글로벌기업에진출하여활약중임