SlideShare a Scribd company logo
1 of 20
HIGH PERFORMANCE
COMPUTING
LECT_06&7
Fundamental Design Issues
BATCH: 11BS(IT)
PREPARED BY: MUKHTIAR AHMED
Asst. Prof. I.T Department
2
Understanding Parallel Architecture
Traditional taxonomies not very useful
Programming models not enough, nor hardware structures
• Same one can be supported by radically different architectures
Architectural distinctions that affect software
• Compilers, libraries, programs
Design of user/system and hardware/software interface
• Constrained from above by progr. models and below by technology
Guiding principles provided by layers
• What primitives are provided at communication abstraction
• How programming models map to these
• How they are mapped to hardware
3
Fundamental Design Issues
At any layer, interface (contract) aspect and performance aspects
• Naming: How are logically shared data and/or processes referenced?
• Operations: What operations are provided on these data
• Ordering: How are accesses to data ordered and coordinated?
• Replication: How are data replicated to reduce communication?
• Communication Cost: Latency, bandwidth, overhead, occupancy
Understand at programming model first, since that sets requirements
Other issues
• Node Granularity: How to split between processors and memory?
• ...
4
Sequential Programming Model
Contract
• Naming: Can name any variable in virtual address space
– Hardware (and perhaps compilers) does translation to physical addresses
• Operations: Loads and Stores
• Ordering: Sequential program order
Performance
• Rely on dependences on single location (mostly): dependence order
• Compilers and hardware violate other orders without getting caught
• Compiler: reordering and register allocation
• Hardware: out of order, pipeline bypassing, write buffers
• Transparent replication in caches
5
SAS Programming Model
Naming: Any process can name any variable in shared space
Operations: loads and stores, plus those needed for ordering
Simplest Ordering Model:
• Within a process/thread: sequential program order
• Across threads: some interleaving (as in time-sharing)
• Additional orders through synchronization
• Again, compilers/hardware can violate orders without getting caught
– Different, more subtle ordering models also possible (discussed later)
6
Synchronization
Mutual exclusion (locks)
• Ensure certain operations on certain data can be performed by
only one process at a time
• Room that only one person can enter at a time
• No ordering guarantees
Event synchronization
• Ordering of events to preserve dependences
– e.g. producer —> consumer of data
• 3 main types:
– point-to-point
– global
– group
7
Message Passing Programming Model
Naming: Processes can name private data directly.
• No shared address space
Operations: Explicit communication through send and receive
• Send transfers data from private address space to another process
• Receive copies data from process to private address space
• Must be able to name processes
Ordering:
• Program order within a process
• Send and receive can provide pt to pt synch between processes
• Mutual exclusion inherent
Can construct global address space:
• Process number + address within process address space
• But no direct operations on these names
8
Design Issues Apply at All Layers
Prog. model’s position provides constraints/goals for system
In fact, each interface between layers supports or takes a position on:
• Naming model
• Set of operations on names
• Ordering model
• Replication
• Communication performance
Any set of positions can be mapped to any other by software
Let’s see issues across layers
• How lower layers can support contracts of programming models
• Performance issues
9
Naming and Operations
Naming and operations in programming model can be directly
supported by lower levels, or translated by compiler, libraries or OS
Example: Shared virtual address space in programming model
Hardware interface supportsshared physical address space
• Direct support by hardware through v-to-p mappings, no software layers
Hardware supports independent physical address spaces
• Can provide SAS through OS, so in system/user interface
– v-to-p mappings only for data that are local
– remote data accesses incur page faults; brought in via page fault handlers
– same programming model, different hardware requirements and cost model
• Or through compilers or runtime, so above sys/user interface
– shared objects, instrumentation of shared accesses, compiler support
10
Naming and Operations (contd)
Example: Implementing Message Passing
Direct support at hardware interface
• But match and buffering benefit from more flexibility
Support at sys/user interface or above in software (almost always)
• Hardware interface provides basic data transport (well suited)
• Send/receive built in sw for flexibility (protection, buffering)
• Choices at user/system interface:
– OS each time: expensive
– OS sets up once/infrequently, then little sw involvement each time
• Or lower interfaces provide SAS, and send/receive built on top
with buffers and loads/stores
Need to examine the issues and tradeoffs at every layer
• Frequencies and types of operations, costs
11
Ordering
Message passing: no assumptions on orders across processes except
those imposed by send/receive pairs
SAS: How processes see the order of other processes’ references
defines semantics of SAS
• Ordering very important and subtle
• Uniprocessors play tricks with orders to gain parallelism or locality
• These are more important in multiprocessors
• Need to understand which old tricks are valid, and learn new ones
• How programs behave, what they rely on, and hardware implications
12
Replication
Very important for reducing data transfer/communication
Again, depends on naming model
Uniprocessor: caches do it automatically
• Reduce communication with memory
Message Passing naming model at an interface
• A receive replicates, giving a new name; subsequently use new name
• Replication is explicit in software above that interface
SAS naming model at an interface
• A load brings in data transparently, so can replicate transparently
• Hardware caches do this, e.g. in shared physical address space
• OS can do it at page level in shared virtual address space, or objects
• No explicit renaming, many copies for same name: coherence problem
– in uniprocessors, “coherence” of copies is natural in memory hierarchy
13
Communication Performance
Performance characteristics determine usage of operations at a layer
• Programmer, compilers etc make choices based on this
Fundamentally, three characteristics:
• Latency: time taken for an operation
• Bandwidth: rate of performing operations
• Cost: impact on execution time of program
If processor does one thing at a time: bandwidth  1/latency
• But actually more complex in modern systems
Characteristics apply to overall operations, as well as individual
components of a system, however small
We’ll focus on communication or data transfer across nodes
14
Simple Example
Component performs an operation in 100ns
Simple bandwidth: 10 Mops
Internally pipeline depth 10 => bandwidth 100 Mops
• Rate determined by slowest stage of pipeline, not overall latency
Delivered bandwidth on application depends on initiation frequency
Suppose application performs 100 M operations. What is cost?
• op count * op latency gives 10 sec (upper bound)
• op count / peak op rate gives 1 sec (lower bound)
– assumes full overlap of latency with useful work, so just issue cost
• if application can do 50 ns of useful work before depending on result of
op, cost to application is the other 50ns of latency
15
Linear Model of Data Transfer Latency
Transfer time (n) = T0 + n/B
• useful for message passing, memory access, vector ops etc
As n increases, bandwidth approaches asymptotic rate B
How quickly it approaches depends on T0
Size needed for half bandwidth (half-power point):
n1/2 = T0 / B
But linear model not enough
• When can next transfer be initiated? Can cost be overlapped?
• Need to know how transfer is performed
16
Communication Cost Model
Comm Time per message= Overhead + Assist Occupancy +
Network Delay + Size/Bandwidth + Contention
= ov + oc + l + n/B + Tc
Overhead and assist occupancy may be f(n) or not
Each component along the way has occupancy and delay
• Overall delay is sum of delays
• Overall occupancy (1/bandwidth) is biggest of occupancies
Comm Cost = frequency * (Comm time - overlap)
General model for data transfer: applies to cache misses too
17
Summary of Design Issues
Functional and performance issues apply at all layers
Functional: Naming, operations and ordering
Performance: Organization, latency, bandwidth, overhead, occupancy
Replication and communication are deeply related
• Management depends on naming model
Goal of architects: design against frequency and type of operations
that occur at communication abstraction, constrained by tradeoffs
from above or below
• Hardware/software tradeoffs
18
Recap
Parallel architecture is important thread in evolution of architecture
• At all levels
• Multiple processor level now in mainstream of computing
Exotic designs have contributed much, but given way to convergence
• Push of technology, cost and application performance
• Basic processor-memory architecture is the same
• Key architectural issue is in communication architecture
– How communication is integrated into memory and I/O system on node
Fundamental design issues
• Functional: naming, operations, ordering
• Performance: organization, replication, performance characteristics
Design decisions driven by workload-driven evaluation
• Integral part of the engineering focus
19
Outline for Rest of Class
Understanding parallel programs as workloads
– Much more variation, less consensus and greater impact than in sequential
• What they look like in major programming models (Ch. 2)
• Programming for performance: interactions with architecture (Ch. 3)
• Methodologies for workload-driven architectural evaluation (Ch. 4)
Cache-coherent multiprocessors with centralized shared memory
• Basic logical design, tradeoffs, implications for software (Ch 5)
• Physical design, deeper logical design issues, case studies (Ch 6)
Scalable systems
• Design for scalability and realizing programming models (Ch 7)
• Hardware cache coherence with distributed memory (Ch 8)
• Hardware-software tradeoffs for scalable coherent SAS (Ch 9)
20
Outline (contd.)
Interconnection networks (Ch 10)
Latency tolerance (Ch 11)
Future directions (Ch 12)
Overall: conceptual foundations and engineering issues across broad
range of scales of design, all of which are important

More Related Content

What's hot

Distributed Processing
Distributed ProcessingDistributed Processing
Distributed ProcessingImtiaz Hussain
 
Cs556 section2
Cs556 section2Cs556 section2
Cs556 section2farshad33
 
Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Atv Reddy
 
message passing vs shared memory
message passing vs shared memorymessage passing vs shared memory
message passing vs shared memoryHamza Zahid
 
Distributed computing environment
Distributed computing environmentDistributed computing environment
Distributed computing environmentRavi Bhushan
 
PGAS Programming Model
PGAS Programming ModelPGAS Programming Model
PGAS Programming Modelch adnan
 
Lecture 1 introduction to parallel and distributed computing
Lecture 1   introduction to parallel and distributed computingLecture 1   introduction to parallel and distributed computing
Lecture 1 introduction to parallel and distributed computingVajira Thambawita
 
Paralle programming 2
Paralle programming 2Paralle programming 2
Paralle programming 2Anshul Sharma
 
System models 2 in distributed system
System models 2 in distributed systemSystem models 2 in distributed system
System models 2 in distributed systemishapadhy
 
Parallel Computing 2007: Overview
Parallel Computing 2007: OverviewParallel Computing 2007: Overview
Parallel Computing 2007: OverviewGeoffrey Fox
 
Middleware and Middleware in distributed application
Middleware and Middleware in distributed applicationMiddleware and Middleware in distributed application
Middleware and Middleware in distributed applicationRishikese MR
 
Client Server Model and Distributed Computing
Client Server Model and Distributed ComputingClient Server Model and Distributed Computing
Client Server Model and Distributed ComputingAbhishek Jaisingh
 
Parallel architecture
Parallel architectureParallel architecture
Parallel architectureMr SMAK
 
File compression sunzip (huffman algorithm)
File compression sunzip (huffman algorithm)File compression sunzip (huffman algorithm)
File compression sunzip (huffman algorithm)mini_61
 

What's hot (20)

Chapter16 new
Chapter16 newChapter16 new
Chapter16 new
 
Distributed Processing
Distributed ProcessingDistributed Processing
Distributed Processing
 
Technical Architectures
Technical ArchitecturesTechnical Architectures
Technical Architectures
 
Cs556 section2
Cs556 section2Cs556 section2
Cs556 section2
 
Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02
 
message passing vs shared memory
message passing vs shared memorymessage passing vs shared memory
message passing vs shared memory
 
Distributed computing environment
Distributed computing environmentDistributed computing environment
Distributed computing environment
 
Csc concepts
Csc conceptsCsc concepts
Csc concepts
 
PGAS Programming Model
PGAS Programming ModelPGAS Programming Model
PGAS Programming Model
 
Lecture 1 introduction to parallel and distributed computing
Lecture 1   introduction to parallel and distributed computingLecture 1   introduction to parallel and distributed computing
Lecture 1 introduction to parallel and distributed computing
 
Paralle programming 2
Paralle programming 2Paralle programming 2
Paralle programming 2
 
Chapter13
Chapter13Chapter13
Chapter13
 
Unit5
Unit5Unit5
Unit5
 
System models 2 in distributed system
System models 2 in distributed systemSystem models 2 in distributed system
System models 2 in distributed system
 
Parallel Computing 2007: Overview
Parallel Computing 2007: OverviewParallel Computing 2007: Overview
Parallel Computing 2007: Overview
 
Middleware and Middleware in distributed application
Middleware and Middleware in distributed applicationMiddleware and Middleware in distributed application
Middleware and Middleware in distributed application
 
Distributed computing
Distributed computingDistributed computing
Distributed computing
 
Client Server Model and Distributed Computing
Client Server Model and Distributed ComputingClient Server Model and Distributed Computing
Client Server Model and Distributed Computing
 
Parallel architecture
Parallel architectureParallel architecture
Parallel architecture
 
File compression sunzip (huffman algorithm)
File compression sunzip (huffman algorithm)File compression sunzip (huffman algorithm)
File compression sunzip (huffman algorithm)
 

Similar to HIGH PERFORMANCE COMPUTING FUNDAMENTALS

01-MessagePassingFundamentals.ppt
01-MessagePassingFundamentals.ppt01-MessagePassingFundamentals.ppt
01-MessagePassingFundamentals.pptHarshitPal37
 
Lect 1 Distributed System.pptx
Lect 1 Distributed System.pptxLect 1 Distributed System.pptx
Lect 1 Distributed System.pptxPardonSamson
 
Lec+3-Introduction-to-Distributed-Systems.pdf
Lec+3-Introduction-to-Distributed-Systems.pdfLec+3-Introduction-to-Distributed-Systems.pdf
Lec+3-Introduction-to-Distributed-Systems.pdfsamaghorab
 
Chap 2 classification of parralel architecture and introduction to parllel p...
Chap 2  classification of parralel architecture and introduction to parllel p...Chap 2  classification of parralel architecture and introduction to parllel p...
Chap 2 classification of parralel architecture and introduction to parllel p...Malobe Lottin Cyrille Marcel
 
Lecture 2 more about parallel computing
Lecture 2   more about parallel computingLecture 2   more about parallel computing
Lecture 2 more about parallel computingVajira Thambawita
 
System models for distributed and cloud computing
System models for distributed and cloud computingSystem models for distributed and cloud computing
System models for distributed and cloud computingpurplesea
 
UNIT II DIS.pptx
UNIT II DIS.pptxUNIT II DIS.pptx
UNIT II DIS.pptxSamPrem3
 
Multicore_Architecture Book.pdf
Multicore_Architecture Book.pdfMulticore_Architecture Book.pdf
Multicore_Architecture Book.pdfSwatantraPrakash5
 
PMIx Updated Overview
PMIx Updated OverviewPMIx Updated Overview
PMIx Updated OverviewRalph Castain
 
Chapter 1 -_characterization_of_distributed_systems
Chapter 1 -_characterization_of_distributed_systemsChapter 1 -_characterization_of_distributed_systems
Chapter 1 -_characterization_of_distributed_systemsFrancelyno Murela
 
Operating system 20 threads
Operating system 20 threadsOperating system 20 threads
Operating system 20 threadsVaibhav Khanna
 
Week # 1.pdf
Week # 1.pdfWeek # 1.pdf
Week # 1.pdfgiddy5
 
Enterprise Software Development Patterns
Enterprise Software Development PatternsEnterprise Software Development Patterns
Enterprise Software Development PatternsJosh Lane
 
Parallel Algorithms Advantages and Disadvantages
Parallel Algorithms Advantages and DisadvantagesParallel Algorithms Advantages and Disadvantages
Parallel Algorithms Advantages and DisadvantagesMurtadha Alsabbagh
 

Similar to HIGH PERFORMANCE COMPUTING FUNDAMENTALS (20)

01-MessagePassingFundamentals.ppt
01-MessagePassingFundamentals.ppt01-MessagePassingFundamentals.ppt
01-MessagePassingFundamentals.ppt
 
Introduction
IntroductionIntroduction
Introduction
 
Lect 1 Distributed System.pptx
Lect 1 Distributed System.pptxLect 1 Distributed System.pptx
Lect 1 Distributed System.pptx
 
Lec+3-Introduction-to-Distributed-Systems.pdf
Lec+3-Introduction-to-Distributed-Systems.pdfLec+3-Introduction-to-Distributed-Systems.pdf
Lec+3-Introduction-to-Distributed-Systems.pdf
 
Chap 2 classification of parralel architecture and introduction to parllel p...
Chap 2  classification of parralel architecture and introduction to parllel p...Chap 2  classification of parralel architecture and introduction to parllel p...
Chap 2 classification of parralel architecture and introduction to parllel p...
 
Lecture 2 more about parallel computing
Lecture 2   more about parallel computingLecture 2   more about parallel computing
Lecture 2 more about parallel computing
 
System models for distributed and cloud computing
System models for distributed and cloud computingSystem models for distributed and cloud computing
System models for distributed and cloud computing
 
UNIT II DIS.pptx
UNIT II DIS.pptxUNIT II DIS.pptx
UNIT II DIS.pptx
 
Distributed Systems.pptx
Distributed Systems.pptxDistributed Systems.pptx
Distributed Systems.pptx
 
Multicore_Architecture Book.pdf
Multicore_Architecture Book.pdfMulticore_Architecture Book.pdf
Multicore_Architecture Book.pdf
 
PMIx Updated Overview
PMIx Updated OverviewPMIx Updated Overview
PMIx Updated Overview
 
distributed system original.pdf
distributed system original.pdfdistributed system original.pdf
distributed system original.pdf
 
Chapter 1 -_characterization_of_distributed_systems
Chapter 1 -_characterization_of_distributed_systemsChapter 1 -_characterization_of_distributed_systems
Chapter 1 -_characterization_of_distributed_systems
 
Operating system 20 threads
Operating system 20 threadsOperating system 20 threads
Operating system 20 threads
 
Database System Architectures
Database System ArchitecturesDatabase System Architectures
Database System Architectures
 
Week # 1.pdf
Week # 1.pdfWeek # 1.pdf
Week # 1.pdf
 
Enterprise Software Development Patterns
Enterprise Software Development PatternsEnterprise Software Development Patterns
Enterprise Software Development Patterns
 
Client server
Client serverClient server
Client server
 
Pthread
PthreadPthread
Pthread
 
Parallel Algorithms Advantages and Disadvantages
Parallel Algorithms Advantages and DisadvantagesParallel Algorithms Advantages and Disadvantages
Parallel Algorithms Advantages and Disadvantages
 

More from Yasir Khan (20)

Lecture 6
Lecture 6Lecture 6
Lecture 6
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Lec#1
Lec#1Lec#1
Lec#1
 
Ch10 (1)
Ch10 (1)Ch10 (1)
Ch10 (1)
 
Ch09
Ch09Ch09
Ch09
 
Ch05
Ch05Ch05
Ch05
 
Snooping protocols 3
Snooping protocols 3Snooping protocols 3
Snooping protocols 3
 
Snooping 2
Snooping 2Snooping 2
Snooping 2
 
Introduction 1
Introduction 1Introduction 1
Introduction 1
 
Hpc sys
Hpc sysHpc sys
Hpc sys
 
Hpc 4 5
Hpc 4 5Hpc 4 5
Hpc 4 5
 
Hpc 3
Hpc 3Hpc 3
Hpc 3
 
Hpc 2
Hpc 2Hpc 2
Hpc 2
 
Hpc 1
Hpc 1Hpc 1
Hpc 1
 
Flynns classification
Flynns classificationFlynns classification
Flynns classification
 
Dir based imp_5
Dir based imp_5Dir based imp_5
Dir based imp_5
 
Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processing
 
Uncertainity
Uncertainity Uncertainity
Uncertainity
 

Recently uploaded

microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 

Recently uploaded (20)

microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 

HIGH PERFORMANCE COMPUTING FUNDAMENTALS

  • 1. HIGH PERFORMANCE COMPUTING LECT_06&7 Fundamental Design Issues BATCH: 11BS(IT) PREPARED BY: MUKHTIAR AHMED Asst. Prof. I.T Department
  • 2. 2 Understanding Parallel Architecture Traditional taxonomies not very useful Programming models not enough, nor hardware structures • Same one can be supported by radically different architectures Architectural distinctions that affect software • Compilers, libraries, programs Design of user/system and hardware/software interface • Constrained from above by progr. models and below by technology Guiding principles provided by layers • What primitives are provided at communication abstraction • How programming models map to these • How they are mapped to hardware
  • 3. 3 Fundamental Design Issues At any layer, interface (contract) aspect and performance aspects • Naming: How are logically shared data and/or processes referenced? • Operations: What operations are provided on these data • Ordering: How are accesses to data ordered and coordinated? • Replication: How are data replicated to reduce communication? • Communication Cost: Latency, bandwidth, overhead, occupancy Understand at programming model first, since that sets requirements Other issues • Node Granularity: How to split between processors and memory? • ...
  • 4. 4 Sequential Programming Model Contract • Naming: Can name any variable in virtual address space – Hardware (and perhaps compilers) does translation to physical addresses • Operations: Loads and Stores • Ordering: Sequential program order Performance • Rely on dependences on single location (mostly): dependence order • Compilers and hardware violate other orders without getting caught • Compiler: reordering and register allocation • Hardware: out of order, pipeline bypassing, write buffers • Transparent replication in caches
  • 5. 5 SAS Programming Model Naming: Any process can name any variable in shared space Operations: loads and stores, plus those needed for ordering Simplest Ordering Model: • Within a process/thread: sequential program order • Across threads: some interleaving (as in time-sharing) • Additional orders through synchronization • Again, compilers/hardware can violate orders without getting caught – Different, more subtle ordering models also possible (discussed later)
  • 6. 6 Synchronization Mutual exclusion (locks) • Ensure certain operations on certain data can be performed by only one process at a time • Room that only one person can enter at a time • No ordering guarantees Event synchronization • Ordering of events to preserve dependences – e.g. producer —> consumer of data • 3 main types: – point-to-point – global – group
  • 7. 7 Message Passing Programming Model Naming: Processes can name private data directly. • No shared address space Operations: Explicit communication through send and receive • Send transfers data from private address space to another process • Receive copies data from process to private address space • Must be able to name processes Ordering: • Program order within a process • Send and receive can provide pt to pt synch between processes • Mutual exclusion inherent Can construct global address space: • Process number + address within process address space • But no direct operations on these names
  • 8. 8 Design Issues Apply at All Layers Prog. model’s position provides constraints/goals for system In fact, each interface between layers supports or takes a position on: • Naming model • Set of operations on names • Ordering model • Replication • Communication performance Any set of positions can be mapped to any other by software Let’s see issues across layers • How lower layers can support contracts of programming models • Performance issues
  • 9. 9 Naming and Operations Naming and operations in programming model can be directly supported by lower levels, or translated by compiler, libraries or OS Example: Shared virtual address space in programming model Hardware interface supportsshared physical address space • Direct support by hardware through v-to-p mappings, no software layers Hardware supports independent physical address spaces • Can provide SAS through OS, so in system/user interface – v-to-p mappings only for data that are local – remote data accesses incur page faults; brought in via page fault handlers – same programming model, different hardware requirements and cost model • Or through compilers or runtime, so above sys/user interface – shared objects, instrumentation of shared accesses, compiler support
  • 10. 10 Naming and Operations (contd) Example: Implementing Message Passing Direct support at hardware interface • But match and buffering benefit from more flexibility Support at sys/user interface or above in software (almost always) • Hardware interface provides basic data transport (well suited) • Send/receive built in sw for flexibility (protection, buffering) • Choices at user/system interface: – OS each time: expensive – OS sets up once/infrequently, then little sw involvement each time • Or lower interfaces provide SAS, and send/receive built on top with buffers and loads/stores Need to examine the issues and tradeoffs at every layer • Frequencies and types of operations, costs
  • 11. 11 Ordering Message passing: no assumptions on orders across processes except those imposed by send/receive pairs SAS: How processes see the order of other processes’ references defines semantics of SAS • Ordering very important and subtle • Uniprocessors play tricks with orders to gain parallelism or locality • These are more important in multiprocessors • Need to understand which old tricks are valid, and learn new ones • How programs behave, what they rely on, and hardware implications
  • 12. 12 Replication Very important for reducing data transfer/communication Again, depends on naming model Uniprocessor: caches do it automatically • Reduce communication with memory Message Passing naming model at an interface • A receive replicates, giving a new name; subsequently use new name • Replication is explicit in software above that interface SAS naming model at an interface • A load brings in data transparently, so can replicate transparently • Hardware caches do this, e.g. in shared physical address space • OS can do it at page level in shared virtual address space, or objects • No explicit renaming, many copies for same name: coherence problem – in uniprocessors, “coherence” of copies is natural in memory hierarchy
  • 13. 13 Communication Performance Performance characteristics determine usage of operations at a layer • Programmer, compilers etc make choices based on this Fundamentally, three characteristics: • Latency: time taken for an operation • Bandwidth: rate of performing operations • Cost: impact on execution time of program If processor does one thing at a time: bandwidth  1/latency • But actually more complex in modern systems Characteristics apply to overall operations, as well as individual components of a system, however small We’ll focus on communication or data transfer across nodes
  • 14. 14 Simple Example Component performs an operation in 100ns Simple bandwidth: 10 Mops Internally pipeline depth 10 => bandwidth 100 Mops • Rate determined by slowest stage of pipeline, not overall latency Delivered bandwidth on application depends on initiation frequency Suppose application performs 100 M operations. What is cost? • op count * op latency gives 10 sec (upper bound) • op count / peak op rate gives 1 sec (lower bound) – assumes full overlap of latency with useful work, so just issue cost • if application can do 50 ns of useful work before depending on result of op, cost to application is the other 50ns of latency
  • 15. 15 Linear Model of Data Transfer Latency Transfer time (n) = T0 + n/B • useful for message passing, memory access, vector ops etc As n increases, bandwidth approaches asymptotic rate B How quickly it approaches depends on T0 Size needed for half bandwidth (half-power point): n1/2 = T0 / B But linear model not enough • When can next transfer be initiated? Can cost be overlapped? • Need to know how transfer is performed
  • 16. 16 Communication Cost Model Comm Time per message= Overhead + Assist Occupancy + Network Delay + Size/Bandwidth + Contention = ov + oc + l + n/B + Tc Overhead and assist occupancy may be f(n) or not Each component along the way has occupancy and delay • Overall delay is sum of delays • Overall occupancy (1/bandwidth) is biggest of occupancies Comm Cost = frequency * (Comm time - overlap) General model for data transfer: applies to cache misses too
  • 17. 17 Summary of Design Issues Functional and performance issues apply at all layers Functional: Naming, operations and ordering Performance: Organization, latency, bandwidth, overhead, occupancy Replication and communication are deeply related • Management depends on naming model Goal of architects: design against frequency and type of operations that occur at communication abstraction, constrained by tradeoffs from above or below • Hardware/software tradeoffs
  • 18. 18 Recap Parallel architecture is important thread in evolution of architecture • At all levels • Multiple processor level now in mainstream of computing Exotic designs have contributed much, but given way to convergence • Push of technology, cost and application performance • Basic processor-memory architecture is the same • Key architectural issue is in communication architecture – How communication is integrated into memory and I/O system on node Fundamental design issues • Functional: naming, operations, ordering • Performance: organization, replication, performance characteristics Design decisions driven by workload-driven evaluation • Integral part of the engineering focus
  • 19. 19 Outline for Rest of Class Understanding parallel programs as workloads – Much more variation, less consensus and greater impact than in sequential • What they look like in major programming models (Ch. 2) • Programming for performance: interactions with architecture (Ch. 3) • Methodologies for workload-driven architectural evaluation (Ch. 4) Cache-coherent multiprocessors with centralized shared memory • Basic logical design, tradeoffs, implications for software (Ch 5) • Physical design, deeper logical design issues, case studies (Ch 6) Scalable systems • Design for scalability and realizing programming models (Ch 7) • Hardware cache coherence with distributed memory (Ch 8) • Hardware-software tradeoffs for scalable coherent SAS (Ch 9)
  • 20. 20 Outline (contd.) Interconnection networks (Ch 10) Latency tolerance (Ch 11) Future directions (Ch 12) Overall: conceptual foundations and engineering issues across broad range of scales of design, all of which are important