- •Laboratory work №1
- •Computer performance: speed, efficiency, energy costs
- •Amdahl's Law
- •Cpu time
- •Full answer
- •Cpu Time Definition - What does cpu Time mean?
- •Techopedia explains cpu Time
- •Amdahl's Law
- •Speedup:
- •Amdahl's Law Defined
- •A Calculation Example
- •Amdahl's Law Illustrated
- •Optimizing Algorithms
- •Optimizing the Sequential Part
- •Execution Time vs. Speedup
- •Measure, Don't Just Calculate
- •2.1 Architecture of computer
- •2.2 Types of memory
- •2.3 Number system
- •Memory unit.
- •Input - Output
- •Adding Binary Numbers
- •Subtracting Binary Numbers
- •Multiplying Binary Numbers
- •Dividing Binary Numbers
- •4.1 Main functions, structure and types of operating system
- •4.2 Windows os
- •4.3 Working with files and directories
- •Windows system key combinations
- •Windows program key combinations
- •1. Beginning work in word processor
- •2. Creating and editing simple text documents
- •3. Work with formula editor Equation 3.0
- •Exercise 8 - Selecting and Formatting Multiple Lines
- •Exercise 9 - Formatting Last Two Lines
- •Exercise 10 - Formatting Words using the Font Dialog box
- •Symbols
- •Structures
- •10.1. The definition and structure of database
- •10.2. Creation of a new database
- •10.3. Methods of creation new table
- •Control questions
- •6.1 The main tools for work in Power Point
- •6.2 Presentations in ms Office Power Point
- •7.1. Electronic spreadsheet ms Excel
- •7.2. Entering Excel Formulas and Formatting Data
- •7.3 Cell Addressing
- •Worksheets
- •The Formula Bar
- •Entering Excel Formulas and Formatting Data
- •Copy, Cut, Paste, and Cell Addressing
- •Exercise 2
- •Absolute Cell Addressing
- •Mixed Cell Addressing
- •What is Absolute Cell Addressing ?
- •What is Mixed Cell Addressing?
- •Using Reference Operators
- •Understanding Functions
- •Alternate Method: Enter a Function with the Ribbon
- •Fill Cells Automatically
- •Exercise 2
- •Exercise 3
- •Exercise 4
- •Chart example :
- •Exercise 10 Create a Column Chart
- •Apply a Chart Layout
- •Global and local networks. Internet
- •Bases of html
- •The internet
- •Examples of a web page
- •Html Tags
- •The start tag is often called the opening tag. The end tag is often called the closing tag. Web Browsers.
- •Example Explained
- •10.1 Software and hardware for generating key information. 10.2 Protecting programs from unauthorized use via usb-key and the software manufacturer.
- •2. Brief theoretical information
- •Information for the developer.
- •3. The order of execution of work
- •4. Contents of the report
- •5. Test Questions
- •Installation Certification Center.
- •III) Request a certificate. Processing request.
- •3. The order of execution of work
- •4. Contents of the report
- •Test Questions
- •1. Objective
- •3.The order of execution of work
- •Image 1
- •Creating a strong password→
- •Verify your account via sms or Voice Call→
- •Control what others see about you across Google services→
- •Choose the information you share with others
- •More details about your name & photo
- •Preview how your information shows up
- •Preview how your information shows up
- •About Google Accounts→
- •Common issues
- •Product-specific age requirements
- •Disabled account due to incorrect birth date
- •History
- •Technical details
- •Network structure
- •Base station subsystem[edit]
- •Gsm carrier frequencies
- •Voice codecs
- •Subscriber Identity Module (sim)[edit]
- •Phone locking[edit]
- •Gsm security[edit]
- •Standards information[edit]
- •Gsm open-source software[edit]
- •Issues with patents and open source[edit]
- •13.1 Obtaining the electronic services on the portal of e-government of kazakhstan
- •Laboratory work №14
- •Information culture.Internet culture.
Amdahl's Law Defined
A program (or algorithm) which can be parallelized can be split up into two parts:
A part which cannot be parallelized
A part which can be parallelized
Imagine a program that processes files from disk. A small part of that program may scan the directory and create a list of files internally in memory. After that, each file is passed to a separate thread for processing. The part that scans the directory and creates the file list cannot be parallelized, but processing the files can.
The total time taken to execute the program in serial (not in parallel) is called T. The time T includes the time of both the non-parallelizable and parallelizable parts. The non-parallelizable part is called B. The parallizable part is referred to as T - B. The following list sums up these definitions:
T = Total time of serial execution
B = Total time of non-parallizable part
T - B = Total time of parallizable part (when executed serially, not in parallel)
From this follows that:
T = B + (T-B)
It may look a bit strange at first that the parallelizable part of the program does not have its own symbol in the equation. However, since the parallelizable part of the equation can be expressed using the total time T and B (the non-parallelizable part), the equation has actually been reduced conceptually, meaning that it contains less different variables in this form.
It is the parallelizable part, T - B, that can be sped up by executing it in parallel. How much it can be sped up depends on how many threads or CPUs you apply to execute it. The number of threads or CPUs is called N. The fastest the the parallelizable part can be executed is thus:
(T - B) / N
Another way to write this is:
(1/N) * (T - B)
Wikipedia uses this version in case you read about Amdahl's law there.
According to Amdahl's law, the total execution time of the program when the parallelizable part is executed using N threads or CPUs is thus:
T(N) = B + (T - B) / N
T(N) means total execution with with a parallelization factor of N. Thus, T could be written T(1) , meaning the total execution time with a parallelization factor of 1. Using T(1) instead of T, Amdahl's law looks like this:
T(N) = B + ( T(1) - B ) / N
It still means the same though.
A Calculation Example
To better understand Amdahl's law, let's go through a calculation example. The total time to execute a program is set to 1. The non-parallelizable part of the programs is 40% which out of a total time of 1 is equal to 0.4 . The parallelizable part is thus equal to 1 - 0.4 = 0.6 .
The execution time of the program with a parallelization factor of 2 (2 threads or CPUs executing the parallelizable part, so N is 2) would be:
T(2) = 0.4 + ( 1 - 0.4 ) / 2
= 0.4 + 0.6 / 2
= 0.4 + 0.3
= 0.7
Making the same calculation with a parallelization factor of 5 instead of 2 would look like this:
T(5) = 0.4 + ( 1 - 0.4 ) / 5
= 0.4 + 0.6 / 5
= 0.4 + 0.12
= 0.52
Amdahl's Law Illustrated
To better understand Amdahl's law I will try to illustrate how the law is derived.
First of all, a program can be broken up into a non-parallelizable part B, and a parallelizable part 1-B, as illustrated by this diagram:
The line with the delimiters on at the top is the total time T(1).
Here you see the execution time with a parallelization factor of 2:
Here you see the execution time with a parallelization factor of 3:
