Upload
kaemon
View
36
Download
4
Embed Size (px)
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
Citation preview
Slide titleIn CAPITALS
50 pt
Slide subtitle 32 pt
Commercial Applications of Multi-core at
EricssonHans Nilsson,
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
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
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
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
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
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
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
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
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)
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:
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
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
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:
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?
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
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
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
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
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
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
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
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
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
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)
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?
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