Agenda - High Performance Computing - Lecture Slides, Slides of Computer Science

Some concept of High Performance Computing are Addressing Modes, Program Execution, Basic Computer Organization, Control Hazard Solutions, Least Recently Used, Memory Hierarchy Progression. Main points of this lecture are: Agenda, Program Execution, Computer Organization, Operating System, Virtual Memory, Pipelined Processors, Cache Memory, Program Profiling, File Systems, Memory

Typology: Slides

2012/2013

Uploaded on 04/28/2013

dewaan
dewaan 🇮🇳

3.8

(4)

43 documents

1 / 23

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
High Performance Computing
Lecture 11
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17

Partial preview of the text

Download Agenda - High Performance Computing - Lecture Slides and more Slides Computer Science in PDF only on Docsity!

High Performance Computing

Lecture 11

2

Agenda

  1. Program execution: Compilation, Object files, Function call and return, Address space, Data & its representation (4)
  2. Computer organization: Memory, Registers, Instruction set architecture, Instruction processing (6)
  3. Virtual memory: Address translation, Paging (4)
  4. Operating system: Processes, System calls, Process management (6)
  5. Pipelined processors: Structural, data and control hazards, impact on programming (4)
  6. Cache memory: Organization, impact on programming (5)
  7. Program profiling (2)
  8. File systems: Disk management, Name management, Protection (4)
  9. Parallel programming: Inter-process communication, Synchronization, Mutual exclusion, Parallel architecture, Programming with message passing using MPI (5)

4

Computer Organization: Software

 Hardware resources of computer system are

shared by programs in execution

 Operating System: Special software that

manages this sharing

5

Operating Systems (OS)

Examples

 Unix

 Linux

 Apple Mac OS

 Microsoft Windows

 Google Chrome OS

AIX, HP-UX, Solaris

Fedora, openSUSE, Ubuntu, Debian

Mac OS X Snow Leopard

Windows 7, Vista, XP

7

Computer Organization: Software

 Hardware resources of computer system are

shared by programs in execution

 Operating System: Special software that

manages this sharing

 Process: A program in execution

 Shell: A command interpreter, through which

you interact with the computer system

 Examples of Unix shells: csh, bash

 A program; just another program

8

% ps

PID TTY TIME CMD

15459 pts/10 00:00:00 bash

15491 pts/10 00:00:00 ps

10 Cache Memory I/O Bus I/O I/O MMU ALU Registers

CPU

Control

Operating System, Processes, Hardware

11

Operating System, Processes, Hardware

13

Operating System, Processes, Hardware

Hardware Processes System Calls OS Kernel

14

System Calls

 How a process gets the operating system to

do something for it

 Interface or API (Application Programming

Interface) for interaction with the operating system

16

System Calls

 How a process gets the operating system to

do something for it

 Interface or API (Application Programming

Interface) for interaction with the operating system

 Examples: Operations on processes

 fork(): to create a new process

 Terminology: parent process calls fork() which causes a child process to be created  Both parent and child processes continue to execute from that point in the program

17

System Calls

 How a process gets the operating system to

do something for it

 Interface or API (Application Programming

Interface) for interaction with the operating system

 Examples: Operations on processes

 fork(): to create a new process

 exec(): to change the memory image of a process

 e,g, to change the program that a process is executing

19 text data heap stack text data text Parent Process Child Process stack

fork( ) and exec( )

20

System Calls

 How a process gets the operating system to

do something for it

 Interface or API (Application Programming

Interface) for interaction with the operating system

 Examples: Operations on processes

 fork(): to create a new process

 exec(): to change the memory image of a process

 exit(): to terminate

 wait(): to make parent sleep until child terminates