Question
A program computes the row sums C = a of an array A that is 100 words by 100 words. Assume that the computer uses
A program computes the row sums
C = a
of an array A that is 100 words by 100 words. Assume that the computer uses demand paging with a page size of 1000 words, and that the amount of main memory allotted for data is five page frames. Is there any difference in the page fault rate if A were stored in virtual memory by rows or columns? Lets explore.
Whether you store by rows or columns, its the same total amount of memory (in this case). The software environment you use can actually change things, meaning locality is affected by both the reference order and data layout. The same computation can be written in MATLAB or C, for example. MATLAB will store the same column contiguously in memory, but C will store the same row. So for this problem, i is the row number and j is the column number.
a. Does the MATLAB expression cycle through the elements of a row, or of a column?
__________
b. c: _______
Assume you are writing in C, which will store the elements of an array row in contiguous memory. c. Across how many pages is a single row i spread? _______
d. Across how many pages is a column j spread? ______
e. Based on that, how many page loads are required for a row i._______
f. How many total page loads are required by the algorithm? ______
Now assume you write the algorithm in MATLAB, which will allocate memory by columns, storing the elements of an array column in contiguous memory.
g. Across how many pages is a row i spread? _______
h. Across how many pages is a column j spread? ______
i. Based on that, how many page loads are required for a row i._______
j. How many total page loads are required by the algorithm? ______
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started