Anúncio
Anúncio

Mais conteúdo relacionado

Último(20)

Destaque(20)

Anúncio

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
Anúncio