Make your simulation run faster, Computer Engineering

Assignment Help:

Ameliorating the mechanical delays of seeks and rottion are usually regardeed as major aspects of device drivers for disks. The simplest way for a disk device driver to service disk IO requests is First Come First Served. However, most disk driver software instead uses the "elevator algorithm". If there is no IO request pending, the first request is serviced. If, however, there is at least one request pending, then the disk arm has a direction of movement: inward or outward from the ddisk spindle. Two ordered listsof pending IO requests are maintained: those that can sstill be serviced while the disk arm continues its current direction, and those that must be seerviced after the disk arm changes direction and sweeps back across the disk. IL requests are serviced in order of cylindr number, when there are no further pending IO requestts in the direction the disk arm has been moving, the disk arm reverses direction and starts servicing IO requests that had been behind it. IO requests may arrive while the arm is sweeping, and such requests are sorted into one of the two lists as appropriate.
A) To quantify the benefit of using the elevator algorithm, simulate the disk driver handling IO requests and compute the average and median service time if the requests were handled FCFS and the average and median time if the requests were handled by the elevator algorithm. Comment on the ratio between the FCFS and elevator algorithm results. 

Assume a typical modern disk has about 16000 cylkinders, that the time for the arm to seek the full width of the disk is 5 milliseconds, and that the disk rotates at 7200 rpm. but because of rotational position sensing, after seeking to the appropriate cylinder an IO request only needs to wait for otational delay from the end of where the previous IO request was serviced to the start of where the next IO request is to be serviced. Assume tht the seek time is proportional to the number of
cylinders that must be crossed from the cylinder where the previous IO request was serviced to the cylindeer where the next IO request is to be serviced. (Measurement on any real disk shows this model is incorrect, but close enough for our purpose.)
Assume that the load of IO requests arrive at exponentially distributed distributed time intervals with mean 1 millisecond, that the cylinder distribution is 25% from the swap space (and, for Unix File System, the inode space) that occupies a few cylinders in the middle of the disk but that otherwise the cylinder distribution of IO requests is uniform, and that the length of the dta transfer of an IO request is lognormal, with median 1k bytes and scale parameter 1. Simulate enough IO requests that your averages have less than 1% error.

B) One way to make your simulation run faster, expecially now that almost all personal computers have at least dual cores, would be to wrrite your program as multi-threadd. Regardless of whether you actually have access to a multi-thread environment, indicate where in your program you would have to insert concurrency control (say semaphores) in order to avoid critical races.


Related Discussions:- Make your simulation run faster

Binary equivalent of the decimal number 368 , What is the binary equivalent...

What is the binary equivalent of the decimal number 368 ? Ans. 101110000 is the Binary equivalent of the Decimal number 368. From Decimal number to Binary number conversioni

Explain that datagram cannot be larger than mtu of a network, "A datagram c...

"A datagram cannot be larger than the MTU of a network over which it is sent." Is the statement true or false? Explain with the help of a suitable example. All hardware technol

What do you mean by instruction pipelining, After considering instruction e...

After considering instruction execution let's now describe a concept which is very popular in any CPU implementation. This conception is instruction pipeline.  To extract better

Explain deadlock, What is a deadlock? A deadlock is a situation that ca...

What is a deadlock? A deadlock is a situation that can increase when two units, A and B use a shared resource. Assume that unit B cannot complete its task unless unit A complet

Write a subroutine in c for toggling the cursor, Write a subroutine in C fo...

Write a subroutine in C for toggling the cursor using old directives. ; ; use small memory model for C - near code segment _DATA SEGMENT WORD   'DATA'   CURVAL EQU   [B

Illustration of a demon program, Q. Illustration of a demon program? Wh...

Q. Illustration of a demon program? When the PVM initialize it inspects the virtual machine in that it's to operate and creates a process known as PVM demon or simply pvmd on e

Volatility of memory - computer architecture, Volatility of memory: ...

Volatility of memory: Non-volatile memory will received the stored information even if it is not continually supplied with electric power. It is appropriate for long-term

Why is fragmentation needed on internet not on a typical wan, Why is fragme...

Why is fragmentation needed on Internet not on a typical WAN? TCP/IP protocol utilizes the name IP datagram to demote to an Internet packet. The amount of data carried into a d

Local minima - sigmoid units, Local minima - sigmoid units: Alternativ...

Local minima - sigmoid units: Alternatively in addition to getting over some local minima where the gradient is constant in one direction or adding momentum will increase the

Simplify using k-map, Q. Simplify Using K-Map 1. M2 + M3 + M5 + M7 + M1...

Q. Simplify Using K-Map 1. M2 + M3 + M5 + M7 + M12 + M13 + M8 + M9 2. M0 + M2 + M4 + M5 + M8 + M10 + M12 3. F(W,X,Y,Z) = ∑ (0,1,2,4,5,6,8,9,12,13,14)

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd