Multi-IMA Partition Scheduling for Global I/O Synchronization
1. MULTI-IMA PARTITION SCHEDULING
FOR GLOBAL I/O SYNCHRONIZATION
Jung Eun Kim, Man Ki Yoon, and Lui Sha
University of Illinois at Urbana-Champaign
2. 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.
3. 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.
4. 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.
5. 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
6. 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.
8. 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.
9. 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.
11. 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)
17. Practical Example
• IMA workload example
– Selectively made up from Generic Avionics Software Specification (SEI, 1990)
18. Practical Example
• IMA workload example
– Selectively made up from Generic Avionics Software Specification (SEI, 1990)
19. 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
20. 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
21. 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-overlapping
between
Partition 5 and
Partition 8 I/O core
(core 0)
core 1
core 2
22. 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.