SlideShare une entreprise Scribd logo
1  sur  11
1. Priority-based task scheduler without preemption
FIFO(Prioiry : high)
FIFO(Prioiry : middle)
FIFO(Prioiry : low)
2-1. 3 types of time synchronization over ethernet
Boundary clock E2E Transparent clock P2P Transparent clock
Boundary clock은 GM과 시간을 동기화 시킨 후 스스로
가 나머지 Slave들에 대한 새로운 Master로 동작한다.
Slave들이 GM을 향해 DELAY_REQ message를 송신
한 후 DELAY_RES message를 수신한다. 이 때 각
Slave는 스스로와 GM사이의 Path delay를 계산한다.
장점 : non-ptp aware network switch만 있는 환경에서
도 동작한다.
단점
- 시간 동기화의 정확도가 낮아질 가능성이 있다.
- GM이 Slave의 모든 request를 처리함으로 network
load가 많이 걸린다.
시간 동기화에 참여하고 있는 모든 노드들은 자신들의
Peer들간의 delay를 측정해 둔다. 이 때 slave 입장의
노드에서 PDELAY_REQ message를 송신한다. P2P
TS는 GM에 대해 slave입장이다.
장점과 단점은 E2E TS와 반대로 생각하면 된다.
Grand
master
Boundary
clock
Slave
Slave
Slave
Grand
master
E2E TS
Slave
Slave
Slave
Grand
master
P2P TS
Slave
Slave
Slave
slave master
SYNC
message
DELAY_REQ
message
PDELAY_REQ
PDELAY_RES
message
ECU2
ECU1
2-2. Boundary clock과 E2E TS를 조합한 Time-sync network의 구성 - DELAY_REQ
Grand
master
E2E TS
Slave
Slave
E2E TS
Boundary
clock
Slave
Slave
master
slave
DELAY_REQ
DELAY_REQ
DELAY_REQ
DELAY_REQ
DELAY_REQ
ECU2
ECU1
2-3. Boundary clock과 E2E TS를 조합한 Time-sync network의 구성 - SYNC
Grand
master
E2E TS
Slave
Slave
E2E TS
Boundary
clock
Slave
Slave
master
slave
SYN
C
SYN
C
SYN
C
SYN
C
SYN
C
2.4 Task synchronization through time synchronization in AUTOSAR OS
Master Slave
StbM StbM
schedule table
Master has
Synchronized time
(nanosec)
Synchronized time from Master
(nanosec)
schedule table
Synchronization counter(us) = Sync time / 1000
Synchronization counter(us) = Sync time / 1000
Drive counter(us)
49999
0
0 999999
Modulus by 50000
Drive counter(us)
49999
0
0 999999
Modulus by 50000
SYNC Message
ECU1
ECU2
ECU3
GATEWAY ECU4
ECU5
ECU6
swtich
CAN Network Ethernet Network
MSG 6
MSG 5
MSG 4
MSG 3
MSG 2
MSG 1
CAN message is assembled and routed to ethernet network
MSG 1 MSG 4
MSG 3 MSG 5 MSG 6
packetization
MSG 2
MSG 1 MSG 4
MSG 3 MSG 5 MSG 6
MSG 1
MSG 3
MSG 4
MSG 5
MSG 6
Ethernet frame is divided into several CAN message and routed to CAN network
Slice
3.1 Message routing between heterogeneous network
4. Critical section 관리 실패로 인한 Single-ended Linked List 오류 상황
3개의 TCP 소켓이 생성되고 이를 linked list로 관리하는 상황
새로운 TCP 소켓이 생성되면 front에 추가함
linked list내에 어떤 socket도 제거할 수 있음.
문제 상황에서는 front에 있는 socket을 제거하는 상황을 가정
Critical section 관리 실패로 인한 Single-ended Linked List 오류 상황
새로운 소켓이 생성되는 과정과 기존 소켓(front)이 제거되는 과정을 좀 더 자세히 살펴보자
A
우선 새로운 소켓이 추가되는 과정을 생각해 보면,
1. 새로운 소켓을 생성, 이를 A라고 부르자
2. A는 기존 list의 front를 가리키고 스스로가 새로운 front가 됨
3. list의 head는 A를 가리킨다.
B
기존 소켓(front)이 제거되는 과정을 생각해 보면,
1. list의 head가 B를 가리킨다.
②
③
①
Critical section 관리 실패로 인한 Single-ended Linked List 오류 상황
만약 이전 슬라이드의 소켓 생성 2번, 3번 과정 사이에서 인터럽트 발생하면서 기존 소켓(front)가 제거되는 시나리오를 생각해 보면,
A
1. 새로운 소켓을 생성, 이를 A라고 부르자
2. A는 기존 list의 front를 가리키고 스스로가 새로운 front가 됨
3. 인터럽트 발생하여 기존 소켓(front)을 제거, 즉 head가 기존
소켓(front)의 next를 가리킴.
4. 인터럽트에서 복귀 후 head는 A를 가리킴으로써 소켓 생성과
정을 마무리함.
②
③
④
이후 새로운 소켓(B)이 이 유효하지 않은 영역을 할당 받아 생성된다고 가정하면,
B
위 과정을 마무리한 후의 linked list를 정리하면 아래와 같음. 제거되었어야 할 소켓이 여전히 linked list내에 포함되어 있음
1. 새로운 소켓을 생성, 이를 B라고 부르자
2. B는 기존 list의 front를 가리키고 스스로가 새로운 front가 됨
3. list의 head는 B를 가리킨다.
②
③
위 그림을 정리하면 아래와 같음. List에 loop가 생기고 list의 세번째 노드부터는 접근할 수 없는 상태가 됨.
B
Task 1
x=2
Task 2
x=3
5. Multiple writer to a shared data
X
Load R1, 2
Store X, R1
Load R1, 2
Store X, R1
Task 1
x=2
Task 2
x=3
X
Load R1, 2
Store X, R1
Load R1, 2
Store X, R1
①
②
③
④
① ②
③
④
Interrupt by Task 2
Normal
operation
X = 3
Data
sharing
hazard
X = 2

Contenu connexe

En vedette

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
Simplilearn
 

En vedette (20)

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
 

Eddy_description.pptx

  • 1. 1. Priority-based task scheduler without preemption FIFO(Prioiry : high) FIFO(Prioiry : middle) FIFO(Prioiry : low)
  • 2. 2-1. 3 types of time synchronization over ethernet Boundary clock E2E Transparent clock P2P Transparent clock Boundary clock은 GM과 시간을 동기화 시킨 후 스스로 가 나머지 Slave들에 대한 새로운 Master로 동작한다. Slave들이 GM을 향해 DELAY_REQ message를 송신 한 후 DELAY_RES message를 수신한다. 이 때 각 Slave는 스스로와 GM사이의 Path delay를 계산한다. 장점 : non-ptp aware network switch만 있는 환경에서 도 동작한다. 단점 - 시간 동기화의 정확도가 낮아질 가능성이 있다. - GM이 Slave의 모든 request를 처리함으로 network load가 많이 걸린다. 시간 동기화에 참여하고 있는 모든 노드들은 자신들의 Peer들간의 delay를 측정해 둔다. 이 때 slave 입장의 노드에서 PDELAY_REQ message를 송신한다. P2P TS는 GM에 대해 slave입장이다. 장점과 단점은 E2E TS와 반대로 생각하면 된다. Grand master Boundary clock Slave Slave Slave Grand master E2E TS Slave Slave Slave Grand master P2P TS Slave Slave Slave slave master SYNC message DELAY_REQ message PDELAY_REQ PDELAY_RES message
  • 3. ECU2 ECU1 2-2. Boundary clock과 E2E TS를 조합한 Time-sync network의 구성 - DELAY_REQ Grand master E2E TS Slave Slave E2E TS Boundary clock Slave Slave master slave DELAY_REQ DELAY_REQ DELAY_REQ DELAY_REQ DELAY_REQ
  • 4. ECU2 ECU1 2-3. Boundary clock과 E2E TS를 조합한 Time-sync network의 구성 - SYNC Grand master E2E TS Slave Slave E2E TS Boundary clock Slave Slave master slave SYN C SYN C SYN C SYN C SYN C
  • 5. 2.4 Task synchronization through time synchronization in AUTOSAR OS Master Slave StbM StbM schedule table Master has Synchronized time (nanosec) Synchronized time from Master (nanosec) schedule table Synchronization counter(us) = Sync time / 1000 Synchronization counter(us) = Sync time / 1000 Drive counter(us) 49999 0 0 999999 Modulus by 50000 Drive counter(us) 49999 0 0 999999 Modulus by 50000 SYNC Message
  • 6. ECU1 ECU2 ECU3 GATEWAY ECU4 ECU5 ECU6 swtich CAN Network Ethernet Network MSG 6 MSG 5 MSG 4 MSG 3 MSG 2 MSG 1 CAN message is assembled and routed to ethernet network MSG 1 MSG 4 MSG 3 MSG 5 MSG 6 packetization MSG 2 MSG 1 MSG 4 MSG 3 MSG 5 MSG 6 MSG 1 MSG 3 MSG 4 MSG 5 MSG 6 Ethernet frame is divided into several CAN message and routed to CAN network Slice 3.1 Message routing between heterogeneous network
  • 7. 4. Critical section 관리 실패로 인한 Single-ended Linked List 오류 상황 3개의 TCP 소켓이 생성되고 이를 linked list로 관리하는 상황 새로운 TCP 소켓이 생성되면 front에 추가함 linked list내에 어떤 socket도 제거할 수 있음. 문제 상황에서는 front에 있는 socket을 제거하는 상황을 가정
  • 8. Critical section 관리 실패로 인한 Single-ended Linked List 오류 상황 새로운 소켓이 생성되는 과정과 기존 소켓(front)이 제거되는 과정을 좀 더 자세히 살펴보자 A 우선 새로운 소켓이 추가되는 과정을 생각해 보면, 1. 새로운 소켓을 생성, 이를 A라고 부르자 2. A는 기존 list의 front를 가리키고 스스로가 새로운 front가 됨 3. list의 head는 A를 가리킨다. B 기존 소켓(front)이 제거되는 과정을 생각해 보면, 1. list의 head가 B를 가리킨다. ② ③ ①
  • 9. Critical section 관리 실패로 인한 Single-ended Linked List 오류 상황 만약 이전 슬라이드의 소켓 생성 2번, 3번 과정 사이에서 인터럽트 발생하면서 기존 소켓(front)가 제거되는 시나리오를 생각해 보면, A 1. 새로운 소켓을 생성, 이를 A라고 부르자 2. A는 기존 list의 front를 가리키고 스스로가 새로운 front가 됨 3. 인터럽트 발생하여 기존 소켓(front)을 제거, 즉 head가 기존 소켓(front)의 next를 가리킴. 4. 인터럽트에서 복귀 후 head는 A를 가리킴으로써 소켓 생성과 정을 마무리함. ② ③ ④
  • 10. 이후 새로운 소켓(B)이 이 유효하지 않은 영역을 할당 받아 생성된다고 가정하면, B 위 과정을 마무리한 후의 linked list를 정리하면 아래와 같음. 제거되었어야 할 소켓이 여전히 linked list내에 포함되어 있음 1. 새로운 소켓을 생성, 이를 B라고 부르자 2. B는 기존 list의 front를 가리키고 스스로가 새로운 front가 됨 3. list의 head는 B를 가리킨다. ② ③ 위 그림을 정리하면 아래와 같음. List에 loop가 생기고 list의 세번째 노드부터는 접근할 수 없는 상태가 됨. B
  • 11. Task 1 x=2 Task 2 x=3 5. Multiple writer to a shared data X Load R1, 2 Store X, R1 Load R1, 2 Store X, R1 Task 1 x=2 Task 2 x=3 X Load R1, 2 Store X, R1 Load R1, 2 Store X, R1 ① ② ③ ④ ① ② ③ ④ Interrupt by Task 2 Normal operation X = 3 Data sharing hazard X = 2