labeled risc-v: a new perspective on software-defined … · 2020. 5. 29. · labeled risc-v: a new...

15
Labeled RISC-V: A New Perspective on Software-Defined Architecture Zihao Yu, Bowen Huang, Jiuyue Ma, Ninghui Sun, Yungang Bao Oct 14 th , 2017 @ Boston Institute of Computing Technology (ICT), Chinese Academy of Sciences (CAS) 1

Upload: others

Post on 20-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Labeled RISC-V: A New Perspective on Software-Defined … · 2020. 5. 29. · Labeled RISC-V: A New Perspective on Software-Defined Architecture Zihao Yu, Bowen Huang, Jiuyue Ma,

Labeled RISC-V: A New Perspective on

Software-Defined Architecture

Zihao Yu, Bowen Huang, Jiuyue Ma,

Ninghui Sun, Yungang Bao

Oct 14th , 2017 @ Boston

Institute of Computing Technology (ICT),

Chinese Academy of Sciences (CAS) 1

Page 2: Labeled RISC-V: A New Perspective on Software-Defined … · 2020. 5. 29. · Labeled RISC-V: A New Perspective on Software-Defined Architecture Zihao Yu, Bowen Huang, Jiuyue Ma,

Control in Computer Architecture

• Maurice Wilkes proposed microprogramming to design the control unit of a processor in 1951.

• RISC became popular in 1980s.

– More efforts to datapath

– Less attentions to control

• But as multicore emerges, weak control leads to a new problem.

2

Page 3: Labeled RISC-V: A New Perspective on Software-Defined … · 2020. 5. 29. · Labeled RISC-V: A New Perspective on Software-Defined Architecture Zihao Yu, Bowen Huang, Jiuyue Ma,

Weak Control -> Unmanaged Sharing

• Unmanaged sharing -> resource contentions -> performance interference/degradation -> bad user experience

3

L1

L2

L3

Memory

I/O (Disk, Network)

Which one is

more critical?

L1

L2

L1

L2

L1

L2

Page 4: Labeled RISC-V: A New Perspective on Software-Defined … · 2020. 5. 29. · Labeled RISC-V: A New Perspective on Software-Defined Architecture Zihao Yu, Bowen Huang, Jiuyue Ma,

Unmanaged Sharing in Datacenter

• SMT, LLC, DRAM, Network

4 Lo et al. Heracles: Improving Resource Efficiency at Scale, ISCA, 2015.

Page 5: Labeled RISC-V: A New Perspective on Software-Defined … · 2020. 5. 29. · Labeled RISC-V: A New Perspective on Software-Defined Architecture Zihao Yu, Bowen Huang, Jiuyue Ma,

Impact on real time

• Hard to satisfy with multicore

– Disable multicore

5

Single App

Multiple Apps

Read 4KB data from memory

White Paper on Issues Associated with Interference Applied to Multicore Processors, 2014

Page 6: Labeled RISC-V: A New Perspective on Software-Defined … · 2020. 5. 29. · Labeled RISC-V: A New Perspective on Software-Defined Architecture Zihao Yu, Bowen Huang, Jiuyue Ma,

Core P3

Core P1

Processor

P0

Labeled von Neumann Architecture (LvNA)

6

4. Software-defined

control logic

1. Fine-grained

object

2. Sematic association

3. Propagation

Bao and Wang, Labeled von Neumann Architecture for Software-Defined Cloud,

Journal of Computer Science and Technology, 2017 Vol. 32 (2): 219-223.

Input Output

Memory

Page 7: Labeled RISC-V: A New Perspective on Software-Defined … · 2020. 5. 29. · Labeled RISC-V: A New Perspective on Software-Defined Architecture Zihao Yu, Bowen Huang, Jiuyue Ma,

③ Attach

label to

each Req

① Add

label Reg

④ Add label-

based,

programmable

control logic

② Allocate label

to each VM

Platform

Resource

Manager

(PRM)

⑤ Abstract

label Regs and

CLs into files

parameter

ident type ldoms

cpa0 /sys/cpa

statistics trigger

ldom0

ldom1

cpa1 cpa2

ldom2

param1 param2

CL

Programmable Architecture for Resourcing-on-Demand

PARD

Datapath

Linux-based firmware

Page 8: Labeled RISC-V: A New Perspective on Software-Defined … · 2020. 5. 29. · Labeled RISC-V: A New Perspective on Software-Defined Architecture Zihao Yu, Bowen Huang, Jiuyue Ma,

Implementation

8

* http://github.com/fsg-ict/PARD-gem5

+ http://github.com/fsg-ict/labeled-RISC-V

• Full-system cycle-accurate simulator

• FPGA prototype on Xilinx VC709 evaluation board • MicroBlaze version

• RISC-V version

Open Sourced *

Deprecated

Open Sourced +

Page 9: Labeled RISC-V: A New Perspective on Software-Defined … · 2020. 5. 29. · Labeled RISC-V: A New Perspective on Software-Defined Architecture Zihao Yu, Bowen Huang, Jiuyue Ma,

LvNA + RISC-V = Labeled RISC-V

• Features to add • Labels registers after tiles

• Cache CL

• Label Converter in TLtoAXI

• Memory CL

• PRM

9 https://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-17.pdf

DS-id DS-id

TL2.dsid <-> axi.user

DS-id Base Len

1 0x0000 0x4000

2 0x8000 0x8000

CL

CL

Address mapping

Labeled token bucket

PRM

Page 10: Labeled RISC-V: A New Perspective on Software-Defined … · 2020. 5. 29. · Labeled RISC-V: A New Perspective on Software-Defined Architecture Zihao Yu, Bowen Huang, Jiuyue Ma,

Overheads

• 16 lines of chisel code to add labels into RocketChip – Add dsid member in the Bundle of

TileLink2 – Attach labels at the TileLink2

masters of core tiles

• < 5% resource overheads for CLs – Much less with complex cores, e.g.

BOOM

• No performance overheads for critical apps according to the timing report

10

Control Logics

Page 11: Labeled RISC-V: A New Perspective on Software-Defined … · 2020. 5. 29. · Labeled RISC-V: A New Perspective on Software-Defined Architecture Zihao Yu, Bowen Huang, Jiuyue Ma,

Demo 1 - NoHype

11

Traditional Server PARD Server

Label-based CL

Label-based CL

Label-based CL

Hypervisor Isolate resources

(address space,

device) by CLs

Push the software

hypervisor down to

LvNA

Page 12: Labeled RISC-V: A New Perspective on Software-Defined … · 2020. 5. 29. · Labeled RISC-V: A New Perspective on Software-Defined Architecture Zihao Yu, Bowen Huang, Jiuyue Ma,

Demo 2 - Memory Bandwidth Control

• Use labeled token buckets to protect the bandwidth

from attacker

12

Solo

interfered

isolated

Page 13: Labeled RISC-V: A New Perspective on Software-Defined … · 2020. 5. 29. · Labeled RISC-V: A New Perspective on Software-Defined Architecture Zihao Yu, Bowen Huang, Jiuyue Ma,

A lot to explore!

• Theory: How does LvNA impact on RAM, PRAM, LogP models?

• Hardware/Arch: How to implement LvNA at CPU pipeline/SMT, memory, storage, networking? How to correlate LvNA and SDN by labels?

• OS/Hypervisor: How to correlate labels with VMs, containers, processes, threads? How to abstract programming interfaces for labels?

• Programing Model and Compilers: How to express users’ requirements and propagate to the hardware via labels? How to make compilers support labels?

• Distributed systems: How to correlate labels with distributed resources? How to manage distributed systems with label mechanisms?

• Measurement/Audit: How to leverage labels to gauge and audit resource usages?

13

• Finished • On-going • Have ideas • Feature work

Page 14: Labeled RISC-V: A New Perspective on Software-Defined … · 2020. 5. 29. · Labeled RISC-V: A New Perspective on Software-Defined Architecture Zihao Yu, Bowen Huang, Jiuyue Ma,

Summary

• LvNA: a model of software-defined architecture

• PARD: a proof of concept of LvNA

• Labeled RISC-V: an implementation of LvNA

14

Page 15: Labeled RISC-V: A New Perspective on Software-Defined … · 2020. 5. 29. · Labeled RISC-V: A New Perspective on Software-Defined Architecture Zihao Yu, Bowen Huang, Jiuyue Ma,

Labeled RISC-V: A New Perspective on Software-Defined Architecture

15

Thanks

[email protected]