Multi-IMA Partition Scheduling for Global I/O Synchronization

R
MULTI-IMA PARTITION SCHEDULING
FOR GLOBAL I/O SYNCHRONIZATION
Jung Eun Kim, Man Ki Yoon, and Lui Sha
University 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-overlapping
between
Partition 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.
1 of 22

More Related Content

What's hot(20)

Memory management in vx worksMemory management in vx works
Memory management in vx works
Dhan V Sagar4.7K views
Priority Inversion on MarsPriority Inversion on Mars
Priority Inversion on Mars
National Cheng Kung University39.5K views
Unified Hardware Abstraction Layer with Device MasqueradeUnified Hardware Abstraction Layer with Device Masquerade
Unified Hardware Abstraction Layer with Device Masquerade
Shinagawa Laboratory, The University of Tokyo34.6K views
Block I/O Layer Tracing: blktraceBlock I/O Layer Tracing: blktrace
Block I/O Layer Tracing: blktrace
Babak Farrokhi1.7K views
AOS Lab 11: VirtualizationAOS Lab 11: Virtualization
AOS Lab 11: Virtualization
Zubair Nabi972 views
Linux BPF SuperpowersLinux BPF Superpowers
Linux BPF Superpowers
Brendan Gregg422.5K views
Velocity 2015 linux perf toolsVelocity 2015 linux perf tools
Velocity 2015 linux perf tools
Brendan Gregg1.1M views
Broken Linux Performance Tools 2016Broken Linux Performance Tools 2016
Broken Linux Performance Tools 2016
Brendan Gregg822.3K views
From DTrace to LinuxFrom DTrace to Linux
From DTrace to Linux
Brendan Gregg23.3K views
AOS Lab 6: SchedulingAOS Lab 6: Scheduling
AOS Lab 6: Scheduling
Zubair Nabi914 views
Chapter 2 pcChapter 2 pc
Chapter 2 pc
Hanif Durad7.9K views
Warehouse scale computerWarehouse scale computer
Warehouse scale computer
Hassan A-j9.8K views
YOW2021 Computing PerformanceYOW2021 Computing Performance
YOW2021 Computing Performance
Brendan Gregg2K views

Viewers also liked(12)

Similar to Multi-IMA Partition Scheduling for Global I/O Synchronization

I/O OrganizationI/O Organization
I/O OrganizationDhaval Bagal
651 views28 slides
Lect17Lect17
Lect17Vin Voro
522 views36 slides

Similar to Multi-IMA Partition Scheduling for Global I/O Synchronization(20)

I/O OrganizationI/O Organization
I/O Organization
Dhaval Bagal651 views
Io techniques & its typesIo techniques & its types
Io techniques & its types
Nehal Naik26.2K views
Lect17Lect17
Lect17
Vin Voro522 views
Ch12   io systemsCh12   io systems
Ch12 io systems
Welly Dian Astika296 views
Chapter-05-IO (2).pptChapter-05-IO (2).ppt
Chapter-05-IO (2).ppt
MyName1sJeff6 views
MODULE IV embedded (1).pptxMODULE IV embedded (1).pptx
MODULE IV embedded (1).pptx
Sajinvs412 views
Eclipse UOMoEclipse UOMo
Eclipse UOMo
Werner Keil2K views
isa architectureisa architecture
isa architecture
AJAL A J2.4K views
Virtualization BasicsVirtualization Basics
Virtualization Basics
SrikantMishra12340 views
5120224.ppt5120224.ppt
5120224.ppt
dedanndege3 views
Ch4 memory managementCh4 memory management
Ch4 memory management
Bullz Musetsho6K views
Embedded system and its platformsEmbedded system and its platforms
Embedded system and its platforms
Mrunal Deshkar114 views
Power System Protection basicsPower System Protection basics
Power System Protection basics
Rajan Singh Tanwar6.7K views
Build Your Own Middleware MachineBuild Your Own Middleware Machine
Build Your Own Middleware Machine
Simon Haslam1.7K views
Ch2.1 computer system structures Ch2.1 computer system structures
Ch2.1 computer system structures
Syaiful Ahdan2.3K views

Recently uploaded(20)

Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
gdsczhcet49 views
CXL at OCPCXL at OCP
CXL at OCP
CXL Forum203 views
Tunable Laser (1).pptxTunable Laser (1).pptx
Tunable Laser (1).pptx
Hajira Mahmood21 views
The Research Portal of Catalonia: Growing more (information) & more (services)The Research Portal of Catalonia: Growing more (information) & more (services)
The Research Portal of Catalonia: Growing more (information) & more (services)
CSUC - Consorci de Serveis Universitaris de Catalunya59 views
METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...
METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...
Prity Khastgir IPR Strategic India Patent Attorney Amplify Innovation24 views
Java Platform Approach 1.0 - Picnic MeetupJava Platform Approach 1.0 - Picnic Meetup
Java Platform Approach 1.0 - Picnic Meetup
Rick Ossendrijver24 views

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.
  • 10. Partitions Schedule Generation by Constraint Programming
  • 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)
  • 12. Example of Scheduled Partitions Overview
  • 13. Example of Scheduled Partitions Overview
  • 14. Example of Scheduled Partitions Overview
  • 15. Example of Scheduled Partitions Overview
  • 16. Example of Scheduled Partitions Overview
  • 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.