commercial applications of multi-core at ericsson

27
Commercial Applications of Multi-core at Ericsson Hans Nilsson, [email protected]

Upload: kaemon

Post on 04-Jan-2016

36 views

Category:

Documents


4 download

DESCRIPTION

Commercial Applications of Multi-core at Ericsson. Hans Nilsson, [email protected]. Ericsson. 1876 Customers: mobile and fixed network operators Over 1,000 networks in 140 countries 40 percent of all mobile calls are made through our systems 65507 emplyees 50% of. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Commercial Applications of Multi-core at  Ericsson

Slide titleIn CAPITALS

50 pt

Slide subtitle 32 pt

Commercial Applications of Multi-core at

EricssonHans Nilsson,

[email protected]

Page 2: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 20072

Ericsson

1876 Customers: mobile and fixed network operators Over 1,000 networks in 140 countries 40 percent of all mobile calls are made through our

systems 65507 emplyees 50% of

Page 3: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 20073

Mobile Phones are no fun anymore

The original mobile phone, 1956

Page 4: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 20074

A new communications architecture

Tra

nsp

ort

net

wo

rk

Multi Access EdgeMulti Access Edge

IMS and communication enablersIMS and communication enablers

Service networkMultimedia

Network

Users

Fixed accessFixed access Mobile accessMobile access

Softswitch and IMS, first steps towards an all-IP network

Page 5: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 20075

Modern Telecom

Lots of old phones

IP-phones

Communication clients on PCs

3G Phones

Telecom network

?

SIP, RTPIS

UP

, PC

M

GSM

UMTS

SIP

, RT

P

SIP

, R

TP

SIP, RTP

H.3

23, R

TP

Page 6: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 20077

Modern Telecom (cont’d)

Session handling

Services

Media processing RTP

RTP

SIP

SIP

SIP

H.2

48

Diameter

Many; Variationse.g. Java-based

frameworks

Complex FSMsHigh degree of concurrency

Wire-speedNetwork processors,

DSPs, ...

Billing

ISUP

Huge data volumes

Page 7: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 20078

Different Execution Platforms

... Highly scalable processingclusters (C++/Erlang/3PP)

Compact ”system on a blade”Tight space and power budget

http://www.ericsson.com/ericsson/corpinfo/publications/review/2005_01/files/2005014.pdf

Subracks of dedicated blades(e.g. ”Integrated Site”, or IS)

CPU

DP

NPDSPs

Page 8: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 20079

CPU

DP

NPDSPs

Different Execution Platforms

... Highly scalable processingclusters (C++/Erlang/3PP)

Compact ”system on a blade”Tight space and power budget

http://www.ericsson.com/ericsson/corpinfo/publications/review/2005_01/files/2005014.pdf

Subracks of dedicated blades(e.g. ”Integrated Site”, or IS)

Multicore can help reduce footprint• E.g. through virtualization• Software already written for

distributed processing

Page 9: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200710

Different Execution Platforms

... Highly scalable processingclusters (C++/Erlang/3PP)

Compact ”system on a blade”Tight space and power budget

http://www.ericsson.com/ericsson/corpinfo/publications/review/2005_01/files/2005014.pdf

Subracks of dedicated blades(e.g. ”Integrated Site”, or IS)

Multicore can help through• Packing more umph in one slot• Replacing different special-purpose

processors, reducing cost and footprint

CPU

DP

NPDSPs

Page 10: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200711

CPU

DP

NPDSPs

Different Execution Platforms

... Highly scalable processingclusters (C++/Erlang/3PP)

Compact ”system on a blade”Tight space and power budget

http://www.ericsson.com/ericsson/corpinfo/publications/review/2005_01/files/2005014.pdf

Subracks of dedicated blades(e.g. ”Integrated Site”, or IS)

Multicore can help through• Making each ”blade system” more

compact• Better performance/slot

=> better price/performance• (Chaining subracks is always tricky

– inter-subrack links a bottleneck)

Page 11: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200712

Difficult(?)Difficult(?)

Different levels of parallelism

OS OS OSVirtualContainer:

App App AppOperatingSystem:

Thread Thread ThreadApplication:

Code/DataSegm

Code/DataSegm

Code/DataSegmThread:

Page 12: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200713

Many (≥105) independent threads Few supervisors, many workers (instances of the same

code)

No matrix operations No long loops with inherenet parallellism

Our parallellism

Page 13: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200714

Erlang program features

Erlang already modelled ”with annotations” in form of processes

Processes models real world activities– C(++) is not like that

Page 14: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200715

Easy!Easy!

Difficult(?)Difficult(?)

Different levels of parallelism

OS OS OSVirtualContainer:

App App AppOperatingSystem:

Thread Thread ThreadApplication:

Code/DataSegm

Code/DataSegm

Code/DataSegmThread:

Page 15: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200716

What is left to do then?

Analysis of dataflow //– pattern matching….

Bandwidth? Memory bandwidth?

Page 16: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200717

Case study: The Ericsson TGC

Page 17: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200718

The TGC

Telephony Gateway Controller Formerly known as

– the Hybrid reported (by customer!) to have ISP of 0.999999999

– the Mediation Logic

Runs on AXD 301 and IS Developed in Erlang Multicore version shipped to customer

AXETGC

GWGW GW

Page 18: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200719

The TGC (internal)

Process model– Servers– Workers

~100 servers ~10 workers per call 10,000 workers is

perfectly normal

AXE

GW GW

dispatcher

c-link half-call

p-link

half-callhalf-callhalf-call

half-call

half-call

decoderdecoderdecoderp-link

Page 19: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200720

Erlang on multicore

Erlang programs are meant for distributed processing

– Erlang processes do not share data

– Message passing is distribution transparent

SMP prototype -97, serious implementation in -05.

Mid -06 we ran a benchmark mimicking call handling (axdmark) with a prototype SMP emulator. Observed speedup/core: 0.95

TGC released on multicore in Q207

Tim

e (s

)

Simultaneous processes16 schedulers

http://www.franklinmint.fm/blog/archives/000792.html

”Big bang” benchmark on Sunfire T2000

1 scheduler

Page 20: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200721

TGC Results (top)

Tasks: 50 total, 2 running, 48 sleeping, 0 stopped, 0 zombie

Cpu0 : 62.5% us, 3.7% sy, 0.0% ni, 32.4% id, 0.0% wa, 0.0% hi, 1.3% siCpu1 : 36.1% us, 2.7% sy, 0.0% ni, 60.9% id, 0.0% wa, 0.0% hi, 0.3% siMem: 4092764k total, 459352k used, 3633412k free, 8196k buffersSwap: 0k total, 0k used, 0k free, 215796k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1975 homer 25 0 2295m 192m 2144 S 99.9 4.8 179:40.46 beam.smp 1 root 16 0 664 244 208 S 0.0 0.0 0:01.50 init 2 root RT 0 0 0 0 S 0.0 0.0 0:00.02 migration/0 3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 4 root RT 0 0 0 0 S 0.0 0.0 0:00.01 migration/1 5 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/1

Page 21: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200722

TGC Results (dtop)

ppb1_bs13-R3A@blade_ size 2345(131M, cpu% 107, procs 10371, runq 0 15:15:53

memory[kB]: proc 58223, atom 1768, bin 170, code 29772, ets 39215

pid name current msgq mem cpu<0.5872.491 prfTarg (prfPrc:pinf/2) 0 2036 22<0.18323.47 (erlang:apply/2) (gcpServ:recv1/3) 0 17 10<0.18436.47 (erlang:apply/2) (gcpServ:recv1/3) 0 24 5<0.1813.0> sysProc (gen_server:loop/6) 0 981 2<0.27384.47 (pthTcpNetHandler:init/1) (gen_server:loop/6) 0 587 1<0.18350.47 (erlang:apply/2) (gcpTransportProxy: 0 8 1<0.1935.0> ccpcServer_n (gen_server:loop/6) 0 587 0<0.18526.47 (erlang:apply/2) (gcpTransportProxy: 0 6 0<0.1923.0> sbm (gen_server:loop/6) 0 1719 0<0.3603.0> (erlang:apply/2) (gcpServ:recv1/3) 0 5 0

Page 22: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200723

TGC results (performance)

3.17X call/sec

1.55X call/sec

0.4X call/sec

AXDCPB5

14X call/sec

7.6X call/sec

2.1X call/sec

AXDCPB6

ISUP-ISUP /Intra MGW

ISUP-ISUP /Inter MGW

POTS-POTS /AGW

Trafficscenario

5.5X call/sec

3.6X call/sec

X call/sec

IS/GCP1slot/board

7.7X call/sec

One core used

2.3X call/sec

One core used

IS/GEPDual coreOne core running

2slots/board

26X call/sec

13X call/secOTP R11_3

beta+patches

4.3X call/secOTP R11_3

beta+patches

IS/GEPDual coreTwo cores

running2slots/board

Page 23: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200724

TGC Experience

Porting effort: negligible (for the application) Porting effort: modest (for the platform) Architecture dependency: low (for the application) Results: excellent Future: bright

“Funky languages” (Hagersten) can sometimes save the day

Page 24: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200725

Page 25: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200726

Conclusion

Still need much more research on low-level parallellism like pattern matching

Commercial multi-core applications is not the future.– It is NOW (iff you are an Erlang adict)

Page 26: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200727

Questions?

Page 27: Commercial Applications of Multi-core at  Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

Sixth ACM SIGPLAN Erlang Workshop (c) Ericsson 2007 Commercial Applications of Multi-core at Ericsson October 5, 200728