multi-ima partition scheduling for global i/o synchronization
Post on 12-Dec-2014
173 Views
Preview:
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