Download presentation
Presentation is loading. Please wait.
Published byAdele Reeves Modified over 6 years ago
1
Questions To Ask When Considering Designing Asymmetric Multiprocessing Systems
George Cox
2
Agenda Context of Asymmetric Multiprocessing Systems design
Including Asymmetric Multicore Systems Closeness Sharing – tight to loose, up the semantics stack Communication overheads – tight to loose physical connection Closer => less latency => less overheads => Better performance? Lower power? Integrating New Functionality Continuing new types Natural tendency to want to integrate support to improve Performance Power Cost Competitiveness
3
Context Asymmetric Multiprocessing Systems
Including Asymmetric Multicore Systems You have a multi-dimensional space in which to work We will describe a two (2) space example You must pick the optimal(?) point(s) within your design constraints You rarely get a “clean sheet of paper” Historical I/O models – driver-based, “through” data flow Historical coprocessor models – driver-based, “in and back out” data flow
4
Sharing Equivalent shared semantics Between processing elements
Up the semantics stack Physical addressing – size, shared or separated, movement between Logical addressing – address translation (e.g., paging) Virtual addressing – uniform (or not) swapping model Caching – same number of levels, line length, sizes, replacement algorithms, consistency model, inter-core/processor handshakes Processing element functionality Same ISA (or not) Virtual machines – uniform semantics, representation, migration across ISA/performance differences
5
Communication Overheads
Tight to loose physical connection – less to more latency Intra-die Inter-die Inter-package Shared memory Via bus Via network
6
Design Space Sharing Virtual Addressing Physical Addressing
Logical Addressing Caching Processing Element Functionality Virtual Machines Better? Worse? Intra-Die Inter-Die Inter Package Shared Memory Via Bus Via Network Communication Overheads
7
Integrating New Functionality
New types Cryptography, graphics, radios, sensors Granularity Which kind of interface to use Instruction Accelerator(s) - ISA (synchronous or asynchronous) interface I/O – driver (asynchronous) interface Coprocessor – driver (asynchronous) interface Sequencing Synchronous Long running functions can pose response latency for OS; Divide function into sequence of smaller functions (e.g., AESNI) Asynchronous – fork, join In the end We have tried lots of kinds of interfaces over time Instructions (almost always eventually) win
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.