Implemen'ng a Ring-based Real-'me Capable Network Using a - - PowerPoint PPT Presentation

implemen ng a ring based real me capable network using a
SMART_READER_LITE
LIVE PREVIEW

Implemen'ng a Ring-based Real-'me Capable Network Using a - - PowerPoint PPT Presentation

Robotics Research Institute technische universitt Jun.-Prof. Dr. rer. nat. Sascha Uhrig dortmund Implemen'ng a Ring-based Real-'me Capable Network Using a Mul'threaded Java Processor


slide-1
SLIDE 1

technische universität dortmund Robotics Research Institute Jun.-Prof. Dr. rer. nat. Sascha Uhrig

Implemen'ng ¡a ¡Ring-­‑based ¡Real-­‑'me ¡ Capable ¡Network ¡Using ¡a ¡Mul'threaded ¡ Java ¡Processor ¡

Sascha ¡Uhrig ¡ TU ¡Dortmund ¡

10/30/12 ¡ 1 ¡

slide-2
SLIDE 2

technische universität dortmund

Outline ¡

  • Mo'va'on ¡
  • Communica'on ¡Ring ¡
  • Mul'threaded ¡Guaranteed ¡Percentage ¡Scheduling ¡
  • Implementa'on ¡
  • Evalua'on, ¡Real-­‑'me ¡Capability ¡
  • Conclusion ¡& ¡Future ¡Work ¡

10/30/12 ¡ 2 ¡

slide-3
SLIDE 3

technische universität dortmund

Mo'va'on ¡

  • Cars ¡show ¡a ¡highly ¡heterogeneous ¡embedded ¡distributed ¡system ¡

– Requirements ¡ – SoQware ¡development ¡ – Hardware ¡ – Communica'on ¡

  • Can ¡this ¡be ¡improved? ¡

– Unifying ¡the ¡hardware ¡ – Unifying ¡the ¡soQware ¡development ¡

  • We ¡target ¡at ¡replacing ¡all ¡ECUs ¡in ¡a ¡car ¡by ¡a ¡Java ¡ECU, ¡so ¡we ¡need ¡suitable ¡

– Hardware ¡system ¡ – JRE ¡ – Communica'on ¡system ¡

10/30/12 ¡ 3 ¡

slide-4
SLIDE 4

technische universität dortmund

The ¡Communica'on ¡Ring ¡

  • Based ¡on ¡

– 1-­‑to-­‑1 ¡connec'ons ¡of ¡all ¡ par'cipants ¡ – Fixed ¡number ¡and ¡size ¡of ¡packets ¡ – 2-­‑fold ¡bidirec'onal ¡data ¡transfer ¡ (clock-­‑ ¡and ¡counterclockwise) ¡ – Publishing ¡informa'on ¡within ¡slots ¡ inside ¡the ¡packets ¡ – Uniform ¡movements ¡of ¡the ¡packets ¡

  • Communica'on ¡is ¡predefined ¡

– It ¡is ¡predefined ¡which ¡informa'on ¡is ¡ transported ¡in ¡which ¡slot ¡

  • Ac've ¡forwarding ¡of ¡packets ¡to ¡next ¡

par'cipant ¡in ¡both ¡direc'ons ¡

10/30/12 ¡ 4 ¡

Clockwise ¡packet ¡movement ¡

slide-5
SLIDE 5

technische universität dortmund

Features ¡of ¡the ¡used ¡jamuth ¡Processor ¡

  • Mul'threading: ¡

– Mul'ple ¡threads ¡can ¡be ¡executed ¡in ¡an ¡overlapped ¡parallel ¡fashion ¡ – Fine-­‑grained ¡parallel ¡execu'on ¡of ¡Java ¡threads ¡ – Latencies ¡of ¡one ¡thread ¡cause ¡execu'on ¡of ¡another ¡one ¡

  • Guaranteed ¡Percentage ¡(GP) ¡scheduling: ¡

– Based ¡on ¡intervals ¡of ¡100 ¡clock ¡cycles ¡ – Number ¡of ¡clock ¡cycles ¡a ¡thread ¡is ¡executed ¡can ¡be ¡defined ¡

(number ¡of ¡cycles ¡is ¡equals ¡to ¡the ¡percentage ¡of ¡overall ¡processor ¡performance) ¡

– Overall ¡processor ¡performance ¡can ¡be ¡assigned ¡(nearly) ¡arbitrarily ¡to ¡up ¡to ¡ four ¡hardware ¡thread ¡slots ¡ – Restric'ons ¡come ¡from ¡slow ¡memory ¡accesses ¡

  • One ¡slot ¡is ¡reserved ¡for ¡the ¡garbage ¡collec'on ¡

– One ¡slot ¡is ¡required ¡for ¡the ¡applica'on ¡(soQware ¡scheduling) ¡ – Remaining ¡two ¡slots ¡will ¡be ¡used ¡for ¡the ¡communica'on ¡ring ¡

10/30/12 ¡ 5 ¡

slide-6
SLIDE 6

technische universität dortmund

Implementa'on ¡ Details ¡

10/30/12 ¡ 6 ¡

  • One ¡thread ¡per ¡direc'on ¡
  • Executed ¡in ¡a ¡hardware ¡slot ¡

using ¡GP ¡scheduling ¡

  • Three ¡separated ¡packet ¡

handling ¡steps ¡

– Incoming ¡data ¡ – Invalida'on ¡of ¡own ¡data ¡ – Sending ¡new ¡data ¡

  • Communica'on ¡with ¡

applica'on ¡threads ¡

– Receive ¡FIFO ¡ – Single ¡send ¡buffer ¡per ¡slot ¡

slide-7
SLIDE 7

technische universität dortmund

Evalua'on, ¡Real-­‑'me ¡Capability ¡

  • Overall ¡performance ¡depends ¡on ¡the ¡

performance ¡of ¡the ¡slowest ¡partner ¡

  • GP ¡parameter ¡should ¡be ¡adjusted ¡for ¡

each ¡partner ¡individually ¡

– Lower ¡value ¡reduces ¡communica'on ¡ performance ¡ – Higher ¡value ¡does ¡not ¡bring ¡any ¡ advantage ¡but ¡reduces ¡performance ¡

  • f ¡the ¡remaining ¡system ¡
  • Impact ¡on ¡the ¡WCE ¡cycles? ¡

– Read ¡slots ¡ – Write ¡slots ¡(major ¡issue) ¡ – Synchroniza'on ¡overhead ¡

10/30/12 ¡ 7 ¡

slide-8
SLIDE 8

technische universität dortmund

Performance ¡Evalua'on ¡(Average ¡Perf.) ¡

  • FPGA ¡Prototype ¡
  • Direct ¡Ethernet ¡connec'ons ¡

(each ¡board ¡offers ¡2 ¡Ethernet ¡ connectors) ¡

  • 5 ¡par'cipants ¡
  • One ¡par'cipant ¡generates ¡network ¡

load ¡

– 3…24 ¡write ¡slots ¡

  • Assigned ¡percentage ¡of ¡all ¡

par'cipants ¡has ¡been ¡modified ¡

– 2…16 ¡percent ¡per ¡thread ¡

10/30/12 ¡ 8 ¡

slide-9
SLIDE 9

technische universität dortmund

Performance ¡Evalua'on ¡(Average ¡Perf.) ¡

  • Several ¡configura'ons ¡with ¡n ¡write ¡slots ¡and ¡p ¡as ¡GP ¡parameter ¡
  • Measured ¡'me ¡between ¡arrivals ¡of ¡consecu've ¡packets ¡

– Recorded ¡the ¡minimum ¡and ¡maximum ¡period ¡

10/30/12 ¡ 9 ¡

Minimum ¡and ¡maximum ¡period ¡between ¡consecu've ¡packet ¡arrivals ¡ 3 ¡write ¡slots ¡ 9 ¡write ¡slots ¡

slide-10
SLIDE 10

technische universität dortmund

Parameter ¡Es'ma'on ¡

  • If ¡no ¡hard ¡real-­‑'me ¡requirements ¡need ¡to ¡be ¡met ¡GP ¡parameters ¡can ¡be ¡

es'mated, ¡depending ¡on ¡

– Number ¡of ¡write ¡slots ¡of ¡each ¡par'cular ¡par'cipant ¡ – The ¡required ¡P2P ¡latency ¡

  • Es'ma'on ¡table ¡is ¡derived ¡from ¡the ¡average ¡performance ¡measurements ¡

10/30/12 ¡ 10 ¡

GP ¡parameter ¡es'ma'on ¡table ¡

Latency ¡[ms] ¡ 10 ¡ 12 ¡ 15 ¡ 20 ¡ 40 ¡ Slots ¡ 3 ¡ 12% ¡ 10% ¡ 8% ¡ 6% ¡ 2% ¡ 6 ¡ 14% ¡ 12% ¡ 8% ¡ 6% ¡ 2% ¡ 9 ¡ 14% ¡ 12% ¡ 8% ¡ 6% ¡ 2% ¡ 12 ¡ 16% ¡ 12% ¡ 8% ¡ 6% ¡ 4% ¡ 15 ¡

  • ­‑ ¡

16% ¡ 12% ¡ 8% ¡ 4% ¡ 18 ¡

  • ­‑ ¡

16% ¡ 12% ¡ 8% ¡ 4% ¡ 21 ¡

  • ­‑ ¡
  • ­‑ ¡

14% ¡ 8% ¡ 4% ¡ 24 ¡

  • ­‑ ¡
  • ­‑ ¡

14% ¡ 10% ¡ 4% ¡

slide-11
SLIDE 11

technische universität dortmund

The ¡Prototype ¡

  • Ring ¡is ¡implemented ¡in ¡a ¡BMW ¡X5 ¡
  • Integrated ¡Java ¡ECUs ¡

– Front ¡system ¡

  • Lights, ¡distance ¡sensors, ¡rota'on ¡

sensors ¡

– Rear ¡system ¡

  • Similar ¡to ¡front ¡system ¡

– Dashboard ¡

  • Info ¡panel ¡

– Steering ¡

  • Steering ¡wheel, ¡pedals ¡
  • Interconnect ¡by ¡proposed ¡

communica'on ¡ring ¡

  • No ¡connec'on ¡to ¡original ¡system ¡

10/30/12 ¡ 11 ¡

slide-12
SLIDE 12

technische universität dortmund

Conclusion ¡& ¡Future ¡Work ¡

  • Case ¡study ¡of ¡using ¡a ¡mul'threaded ¡processor ¡with ¡integrated ¡GP ¡

scheduling ¡

– How ¡to ¡handle ¡mul'ple ¡(two) ¡real-­‑'me ¡events ¡in ¡parallel ¡ – How ¡to ¡adjust ¡the ¡GP ¡parameters ¡for ¡hard ¡real-­‑'me ¡systems ¡ – Relaxed ¡way ¡to ¡adjust ¡the ¡parameters ¡for ¡soQ ¡real-­‑'me ¡requirements ¡

  • Real ¡sta'c ¡WCET ¡analysis ¡of ¡the ¡communica'on ¡thread(s) ¡
  • Integra'on ¡of ¡addi'onal ¡Java ¡ECUs ¡to ¡get ¡the ¡BMW ¡running… ¡

10/30/12 ¡ 12 ¡

slide-13
SLIDE 13

technische universität dortmund

Thanks ¡for ¡your ¡alen'on ¡

  • Ques'ons? ¡

10/30/12 ¡ 13 ¡