multi-ima partition scheduling for global i/o synchronization

22
MULTI-IMA PARTITION SCHEDULING FOR GLOBAL I/O SYNCHRONIZATION Jung Eun Kim, Man Ki Yoon, and Lui Sha University of Illinois at Urbana-Champaign

Upload: rtsljekim

Post on 12-Dec-2014

173 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Multi-IMA Partition Scheduling for Global I/O Synchronization

MULTI-IMA PARTITION SCHEDULING FOR GLOBAL I/O SYNCHRONIZATION

Jung Eun Kim, Man Ki Yoon, and Lui ShaUniversity of Illinois at Urbana-Champaign

Page 2: Multi-IMA Partition Scheduling for Global I/O Synchronization

Background

• Zero-partition has been used as a special-purpose ‘I/O partition’.• In IMA, all I/O is consolidated in one zero-partition. Easy to manage.

• Synchronizing challenge among zero-partitions arise, when migrating multiple single-core IMAs to a multi-core system.• Ex. Shared device and shared I/O channel

• Supporting multiple rate groups is required.• Partitions may not be harmonic in general.

Page 3: Multi-IMA Partition Scheduling for Global I/O Synchronization

Background

• Zero-partition has been used as a special-purpose ‘I/O partition’.• In IMA, all I/O is consolidated in one zero-partition. Easy to manage.

• Synchronizing challenge among zero-partitions arise, when migrating multiple single-core IMAs to a multi-core system.• Ex. Shared device and shared I/O channel

• Supporting multiple rate groups is required.• Partitions may not be harmonic in general.

Page 4: Multi-IMA Partition Scheduling for Global I/O Synchronization

Background

• Zero-partition has been used as a special-purpose ‘I/O partition’.• In IMA, all I/O is consolidated in one zero-partition. Easy to manage.

• Synchronizing challenge among zero-partitions arise, when migrating multiple single-core IMAs to a multi-core system.• Ex. Shared device and shared I/O channel

• Supporting multiple rate groups is required.• Partitions may not be harmonic in general.

Page 5: Multi-IMA Partition Scheduling for Global I/O Synchronization

A Solution – Serialized I/O Partitions

•Generate a Multi-IMA Schedule in which only one I/O partitions runs at a time.

•Dedicated core (I/O core) for serializing I/O partitions• As I/O partition running, other normal partitions can run concurrently.

•No application logic modification• No additional certification cost

Page 6: Multi-IMA Partition Scheduling for Global I/O Synchronization

Physical I/O vs. Device I/O

• Physical I/O (P_I/O): – Physical I/O for raw data between physical environment and I/O

device.– Periodically operated at each I/O device.

• Device I/O (D_I/O): – Device I/O. Buffered I/O. Between I/O device and DRAM. – Scheduled as IMA partitions.

(e.g., device: camera, radar, sensor….; raw data: temperature, pressure, radar signal…)

• We are using zero-partition for device I/O.

Page 7: Multi-IMA Partition Scheduling for Global I/O Synchronization

Physical/Device I/O Flows

Page 8: Multi-IMA Partition Scheduling for Global I/O Synchronization

Requirements on Partition Scheduling

• Precedence requirements: P_I -> D_I -> processing partition -> D_O -> P_O

• Only one device I/O partition can (exclusively) run at a time.* • Processing partitions on the same core must not be overlapped.

Page 9: Multi-IMA Partition Scheduling for Global I/O Synchronization

Assumptions

• A partition has its own device I/O partitions.– Device I/O partitions are not shared.

• Processing partition and physical I/O: strictly periodic.• Device I/O partitions: semi-periodic.

– Each invocation’s offset can vary at each minor frame• Periods don’t need to be harmonic.

Page 10: Multi-IMA Partition Scheduling for Global I/O Synchronization

Partitions Schedule Generation by Constraint Programming

Page 11: Multi-IMA Partition Scheduling for Global I/O Synchronization

Problem Description

• Input– Lengths of physical I/O, device I/O, and processing

partitions.– Periods of those partitions.

• Assume physical I/O periods are same with processing.

– Relative Deadline of device output. • from the start of physical input

• Output– Offsets of physical I/O, device I/O and processing

partitions.• The whole multi-IMA schedule. (like a time table)

Page 12: Multi-IMA Partition Scheduling for Global I/O Synchronization

Example of Scheduled Partitions Overview

Page 13: Multi-IMA Partition Scheduling for Global I/O Synchronization

Example of Scheduled Partitions Overview

Page 14: Multi-IMA Partition Scheduling for Global I/O Synchronization

Example of Scheduled Partitions Overview

Page 15: Multi-IMA Partition Scheduling for Global I/O Synchronization

Example of Scheduled Partitions Overview

Page 16: Multi-IMA Partition Scheduling for Global I/O Synchronization

Example of Scheduled Partitions Overview

Page 17: Multi-IMA Partition Scheduling for Global I/O Synchronization

Practical Example

• IMA workload example– Selectively made up from Generic Avionics Software Specification (SEI, 1990)

Page 18: Multi-IMA Partition Scheduling for Global I/O Synchronization

Practical Example

• IMA workload example– Selectively made up from Generic Avionics Software Specification (SEI, 1990)

Page 19: Multi-IMA Partition Scheduling for Global I/O Synchronization

Result of Practical Example

• 1 I/O Core + 2 Processing cores; Periods (core_1: 40,200,100,100,100,40; core_2: 60, 40, 100); LCM=600

(magnified)

I/O core(core 0)

core 1

core 2

Page 20: Multi-IMA Partition Scheduling for Global I/O Synchronization

Result of Practical Example

(magnified)

I/O core(core 0)

core 1

core 2

• 1 I/O Core + 2 Processing cores; Periods (core_1: 40,200,100,100,100,40; core_2: 60, 40, 100); LCM=600

Page 21: Multi-IMA Partition Scheduling for Global I/O Synchronization

Extension• Can be extended to add any “non-overlapping” constraints

– Ex: No simultaneous execution of • specific or all Level-A partitions, specific or all high-bandwidth partitions

I/O core(core 0)

core 1

core 2

Enforcement of non-overlappingbetweenPartition 5 and Partition 8 I/O core

(core 0)

core 1

core 2

Page 22: Multi-IMA Partition Scheduling for Global I/O Synchronization

Summary

• IMA partition scheduling for synchronized I/O partitions– Serializing on a dedicated core

• Can support multiple rate groups• No application logic modification -> no additional certification cost

• More issues– Multiple I/O devices

• Multiple I/O partitions can be on different cores if allowed to run simultaneously.

• Can achieve a higher degree of parallelism.

– Inter-Partition communication• Producer-Consumer. Some partitions may not need I/O partitions.

– Reassigning and relocating partitions• The minimum number of required cores.

– Approximation algorithm• CP can be slow with big inputs. Needs to develop a fast heuristic algorithm.