multi-ima partition scheduling for global i/o synchronization

Post on 12-Dec-2014

173 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

MULTI-IMA PARTITION SCHEDULING FOR GLOBAL I/O SYNCHRONIZATION

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

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.

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.

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.

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

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.

Physical/Device I/O Flows

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.

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.

Partitions Schedule Generation by Constraint Programming

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)

Example of Scheduled Partitions Overview

Example of Scheduled Partitions Overview

Example of Scheduled Partitions Overview

Example of Scheduled Partitions Overview

Example of Scheduled Partitions Overview

Practical Example

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

Practical Example

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

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

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

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

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.

top related