DOC PREVIEW
RIT EECC 756 - Conventional Computer Architecture Abstraction

This preview shows page 1-2-14-15-30-31 out of 31 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 31 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 31 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 31 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 31 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 31 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 31 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 31 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

EECC756 - Shaaban#1 lec # 2 Spring 2008 3-13-2008Conventional Computer Architecture Abstraction• Conventional computer architecture has two aspects:1 The definition of critical abstraction layers:• The user/system boundary:– What is done in user space and what support is provided by the operating system to user programs.• The hardware/software boundary:– Instruction Set Architecture (ISA).2 Realization of abstraction layers:• The organizational structures that realize (implement) the abstraction layers to deliver high performance in a cost-effective manner.– Implementation of abstraction layers in system software (OS)/hardware. PCA Chapter 1.2, 1.3 Single ProcessorConventional = Sequential or Single ProcessorConventional = Sequential or Single ProcessorEECC756 - Shaaban#2 lec # 2 Spring 2008 3-13-2008Conventional Computer Architecture Abstraction:Critical Abstraction LayersSequential User ApplicationsConventional = Sequential or Single ProcessorCompliers/Libraries/AssemblersUser/System BoundaryHardware/Software Boundary (ISA)SoftwareHardwareUser SpaceSystem SpaceOperating Systems SupportCPU/System Design & ImplementationSequential Programming ModelEECC756 - Shaaban#3 lec # 2 Spring 2008 3-13-2008Parallel Programming ModelsParallel Programming Models• A parallel computer system is a collection of communicating processing elements that communicate and cooperate to solve large problems fast.• A parallel programconsists of two or more threads of control (parallel tasks) that operate on data.• A parallel programming modelis the conceptualization of the parallel machine and programming methodology used in coding parallel applications that specifies communication and synchronization.– Parallel programming models specify how parallel tasks of a parallel program communicateand what synchronization operations are available to coordinatetheir activities and order. This includes specifying:• What data can be named by a task or thread.• What operations can be performed on the named data.• What order exists among these operations.• Typically the parallel programming model is supported at the user level by parallel languages or parallel programming environments in the form of user-level communication and synchronization primitives.• Historically, parallel architectures were tiedto parallel programming models.• As parallel programming environments have matured, it led to the separation between parallel programming models and parallel machine organization (system implementation) forming “the communication abstraction”.NamingOperationsOrderEach task only executes on one processor to which it has been mapped or allocated123EECC756 - Shaaban#4 lec # 2 Spring 2008 3-13-2008Common Parallel Programming Models• Shared memory Address Space (SAS): Parallel program threads or tasks communicate using a shared memory address space (shared data in memory).• Message passing:Explicit point to point communication is used between parallel program tasks using messages.• Data parallel: More regimented, global actions on data (i.e the same operations over all elements on an array or vector)– Can be (and usually) implemented with shared address space (SAS) or message passingParallel Programming Model (definition):Parallel programming methodology used in coding parallel applications that specifies communication and synchronization. Or ..A parallel programming model is the conceptualization of the parallel machine and programming methodology used in coding parallel applications and specifies how parallel tasks of a parallel program communicate and what synchronization operations are available.Most CommonEECC756 - Shaaban#5 lec # 2 Spring 2008 3-13-2008Parallel Architectures HistoryParallel Architectures HistoryApplication SoftwareSystemSoftwareSIMDMessage PassingShared MemoryDataflowSystolicArraysArchitectureHistorically, parallel architectures and implementations were tied to programming models:• Divergent architectures, with no predictable pattern of growth.(PCA Chapter 1.2, 1.3) As parallel programming environments have matured, it led to the separation between parallel programming models and parallel machine organization (system implementation) extending conventional computer architecture abstraction and forming “the communication abstraction”.EECC756 - Shaaban#6 lec # 2 Spring 2008 3-13-2008Current Trends In Current Trends In Parallel Architectures AbstractionParallel Architectures Abstraction• As defined earlier, a parallel computer is a collection of processing elements thatcommunicate and cooperate to solve large problems fast.• This requires the extension of conventional computer architecture abstraction (user/system, ISA) to account for communication and cooperation among processors. • The extension of “computer architecture” to support communication and cooperation:– OLD: Instruction Set Architecture.– NEW: Communication Architecture.• The Communication Architecture Defines:– Critical abstractions, boundaries:• Communication Abstraction– Basic user-level communication and synchronization operations (Primitives) that are used to realize a parallel programming model. • User/System Boundary. • Software/Hardware Boundary. – Organizational structures that implement interfaces (hardware or software).• Compilers, libraries and OS are important bridges today between programming model requirements and parallel hardware implementation.Also in conventional computer architecture abstraction}12EECC756 - Shaaban#7 lec # 2 Spring 2008 3-13-2008Modern Parallel Architecture AbstractionModern Parallel Architecture AbstractionLayered FrameworkLayered FrameworkCADMultiprogramming SharedaddressMessagepassingDataparallelDatabase Scientific modelingParallel applicationsProgramming modelsCommunication abstractionUser/system boundaryCompilationor libraryOperating systems supportCommunication hardwarePhysical communication mediumHardware/software boundary(ISA)SoftwareHardwareUser SpaceSystem SpaceHardware: Processing Nodes & InterconnectsEECC756 - Shaaban#8 lec # 2 Spring 2008 3-13-2008Communication AbstractionCommunication Abstraction• The communication abstraction forms the key interface between the programming modeland system implementation.• Plays a role in parallel architecture similar to instruction set (ISA) in sequential computer architecture.• User-level


View Full Document

RIT EECC 756 - Conventional Computer Architecture Abstraction

Documents in this Course
Load more
Download Conventional Computer Architecture Abstraction
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Conventional Computer Architecture Abstraction and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Conventional Computer Architecture Abstraction 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?