人人干人人插_在线观看一二三区_都市激情亚洲_久久精品无码一区二区三区毛片_国产精品女同一区二区三区_亚洲精品乱码久久久久久久久久久久_欧美理伦片在线播放_超碰97在线资源

代寫GA.2250、Python/Java程序語言代做

時(shí)間:2024-08-14  來源:  作者: 我要糾錯(cuò)



Programming Assignment #4 (Lab 4): IO Scheduling Professor Hubertus Franke 
Class CSCI-GA.2250-001 Summer 2024 
 
In this lab you will implement and simulate the scheduling and optimization of I/O operations for a hard disk. Applications 
submit their block IO requests (bio) to the IO subsystem [ Block Layer ] (potentially via the filesystem), where they are 
maintained in an IO-queue until the disk device is ready for servicing another request. The IO-scheduler then selects a request 
from the IO-queue and submits it to the disk device. This selection is commonly known as the strategy() routine in 
operating systems and shown in the figure below. On completion, another request can be taken from the IO-queue and 
submitted to the disk. The scheduling policies will allow for some optimization as to reduce disk head movement or overall 
wait time in the system. 
 
The schedulers that need to be implemented are FIFO (N), SSTF (S), LOOK (L), CLOOK (C), and FLOOK (F) 
(the letters in bracket define which parameter must be given in the –s program flag shown below). 
 
You are to implement these different IO-schedulers in C or C++ and submit the source code and Makefile as a *.zip, *.tar or 
*.tar.Z, which we will compile and run. Please test on linserv*.cims.nyu.edu before submission. 
 
 
Invocation is as follows: 
 ./iosched [ –s<schedalgo> | -v | -q | -f ] <inputfile> 
 
Only the “-s” option is required. The default scheduler is fifo is “-s” is not supplied. Options as usual can be in any order. 
The input file is structured as follows: Lines starting with ‘#’ are comment lines and should be ignored. 
Any other line describes an IO operation where the 1
st
 integer is the time step at which the IO operation is issued and the 2
nd
 
integer is the track that is accesses. Since IO operation latencies are largely dictated by seek delay (i.e. moving the head to the 
correct track), we ignore rotational and transfer delays for simplicity. The inputs are well formed. 
 
#io generator 
#numio=32 maxtracks=512 lambda=10.000000 
1 339 
131 401 
 
We assume that moving the head by one track will cost one time unit. As a result, your simulation can/should be done using 
integers. The disk can only consume/process one IO request at a time. Once a request is active on the disk it cannot be 
interrupted by any other incoming request. Hence these requests must be maintained in an IO queue and managed according 
to the scheduling policy. The initial direction of the LOOK algorithms is from 0-tracks to higher tracks. The head is initially 
positioned at track=0 at time=0. Note that you do not have to know the maxtrack (think SCAN vs. LOOK). Programming Assignment #4 (Lab 4): IO Scheduling Professor Hubertus Franke 
Class CSCI-GA.2250-001 Summer 2024 
 
Each simulation should print information on individual IO requests followed by a SUM line that has computed some statistics 
of the overall run. (see reference outputs). 
 
For each IO request create an info line (5 requests shown) in the order of appearance in the input file. 
 0: 1 1 431 
 1: 87 467 533 
 2: 280 431 467 
 3: 321 533 762 
 4: 505 762 791 
 
Created by 
 printf("%5d: %5d %5d %5dn", iop, req->arr_time, r->start_time, r->end_time); 
 
args: IO-op#, its arrival to the system (same as from inputfile), its disk service start time, its disk service end time 
 
Please remember “ %5d” is not “%6d” !!! For C++ formatting refer back to lab2 and lab3 where similar outputs were created. 
 
and for the statistics of the simulation provide a SUM line ( note variables printed as “%lf” are double floats ). 
 
Created by: printf("SUM: %d %d %.4lf %.2lf %.2lf %dn", 
 total_time, tot_movement, io_utilization, 
 avg_turnaround, avg_waittime, max_waittime); 
total_time: total simulated time, i.e. until the last I/O request has completed. 
tot_movement: total number of tracks the head had to be moved 
io_utilization: ratio of time_io_was_busy / total_time 
avg_turnaround: average turnaround time per operation from time of submission to time of completion 
avg_waittime: average wait time per operation (time from submission to issue of IO request to start disk operation) 
max_waittime: maximum wait time for any IO operation. 
 
10 sample inputs and outputs and runit/gradeit scripts are provided with the assignment on NYU brightspace. 
Please look at the sum results and identify what different characteristics the schedulers exhibit. 
 
You can make the following assumptions (enforced and caught by the reference program). 
- at most 10000 IO operations will be tested, so its OK (recommended) to first read all requests from file before processing. 
- all io-requests are provided in increasing time order (no sort needed) 
- you never have two IO requests arrive at the same time (so input is monotonically increasing) 
 
I strongly suggest, you do not use discrete event simulation this time. You can write a simple loop that increments simulation 
time by one and checks whether any action is to be taken. In that case you have to check in the following order. 
The code structure should look something like this (there are some edge conditions you have to consider, such as the next I/O 
is for the track the head currently is at, etc. ): 
 
 while (true) 
if a new I/O arrived at the system at this current time 
 → add request to IO-queue 
if an IO is active and completed at this time 
 → Compute relevant info and store in the IO request for final summary 
if no IO request active now 
 if requests are pending 
 → Fetch the next request from IO-queue and start the new IO. 
 else if all IO from input file processed 
 → exit simulation 
if an IO is active 
 → Move the head by one unit in the direction its going (to simulate seek) 
Increment time by 1 
 
When switching queues in FLOOK you always continue in the direction you were going from the current position, until the 
queue is empty. Then you switch direction until empty and then switch the queues continuing into that direction and so forth. 
While other variants are possible, I simply chose this one this time though other variants make also perfect sense. Programming Assignment #4 (Lab 4): IO Scheduling Professor Hubertus Franke 
Class CSCI-GA.2250-001 Summer 2024 
 
Additional Information: 
 
As usual, I provide some more detailed tracing information to help you overcome problems. Note your code only needs to 
provide the result line per IO request and the ‘SUM line’. 
 
The reference program under ~frankeh/Public/lab4/iosched on the cims machine implements three additional options: –v, -q, 
-f to debug deeper into IO tracing and IO queues. 
 
The –v execution trace contains 3 different operations (add a request to the IO-queue, issue an operation to the disk and 
finish a disk operation). Following is an example of tracking IO-op 18 through the times 1151..1307 from submission to 
completion. 
 
1151: 18 add 221 // 18 is the IO-op # (starting with 0) and 221 is the track# requested 
1239: 18 issue 221 289 // 18 is the IO-op #, 221 is the track# requested, 289 is the current track# 
1307: 18 finish 68 // 18 is the IO-op #, 68 is total length/time of the io from request to completion 
 
-q shows the details of the IO queue and direction of movement ( 1==up , -1==down) and 
–f shows additional queue information during the FLOOK. 
 
Here Queue entries are tuples during add [ ior# : #io-track ] or triplets during get [ ior# : io-track# : distance ], 
where distance is negative if it goes into the opposite direction (where applicable ). 
 
Please use these debug flags and the reference program to get more insights on debugging the ins and outs (no punt intended) 
of this assignment and answering certain “why” questions. 
 
Generating your own input for further testing: 
 
A generator program is available under ~frankeh/Public/lab4/iomake and can be used to create additional inputs if you like to 
expand your testing. You will have to run this against the reference program ~frankeh/Public/lab4/iosched yourself. 
 
Usage: iomake [-v] [-t maxtracks] [-i num_ios] [-L lambda] [-f interarrival_factor] 
 
maxtracks is the tracks the disks will have, default is 512 
num_ios is the number of ios to generate, default is 32 
lambda is parameter to create a poisson distribution, default is 1.0 ( consider ranges from 0.01 .. 10.0 ) 
interarrival_factor is time factor how rapidly IOs will arrive, default is 1.0 ( consider values 0.5 .. 1.5 ), too small and the 
system will be overloaded and too large it will be underloaded and scheduling is mute as often only one i/o is outstanding. 
 
Below are the parameters for the 10 inputs files provided in the assignment so you don’t pick the same. 
 
1. iomake -v -t 128 -i 10 -L0.11 -f 0.4 
2. iomake -v -t 512 -i 20 -L0.51 
3. iomake -v -t 128 -i 50 -L0.51 
4. iomake -v -t 512 -i 100 -L0.01 
5. iomake -v -t 256 -i 50 -L1.1 
6. iomake -v -t 256 -i 20 -L0.3 
7. iomake -v -t 512 -i 100 -L0.9 
8. iomake -v -t 300 -i 80 -L3.4 -f 0.6 
9. iomake -v -t 1000 -i 80 -L3.4 -f 0.6 
10. iomake -v -t 512 -i 500 -L2.4 -f 0.6 

請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp





 

標(biāo)簽:

掃一掃在手機(jī)打開當(dāng)前頁
  • 上一篇:代寫MTH5510、代做Matlab程序語言
  • 下一篇:CSCI 2600代做、代寫Java設(shè)計(jì)程序
  • 無相關(guān)信息
    昆明生活資訊

    昆明圖文信息
    蝴蝶泉(4A)-大理旅游
    蝴蝶泉(4A)-大理旅游
    油炸竹蟲
    油炸竹蟲
    酸筍煮魚(雞)
    酸筍煮魚(雞)
    竹筒飯
    竹筒飯
    香茅草烤魚
    香茅草烤魚
    檸檬烤魚
    檸檬烤魚
    昆明西山國家級風(fēng)景名勝區(qū)
    昆明西山國家級風(fēng)景名勝區(qū)
    昆明旅游索道攻略
    昆明旅游索道攻略
  • 短信驗(yàn)證碼平臺(tái) 理財(cái) WPS下載

    關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網(wǎng) 版權(quán)所有
    ICP備06013414號-3 公安備 42010502001045

    久cao在线| 青青草自拍偷拍| 高清欧美性猛交xxxx| 91社区国产高清| 99热在线网站| 欧美日韩国产乱码电影| 亚洲精品一二三四五区| 天天草天天干| 老司机凹凸av亚洲导航| 午夜免费欧美电影| 亚洲人成绝费网站色www| av资源在线免费观看| 久久国产福利国产秒拍| 日韩在线视频网址| 日本va欧美va精品发布| 五月婷婷丁香色| aa视频在线观看| 久久久蜜桃精品| av黄色在线网站| 全色精品综合影院| 色婷婷av一区二区三区软件| 精品乱子伦一区二区三区| 国产三级视频在线播放| 亚洲国产高清在线观看视频| 能免费看av的网站| 中文国产字幕在线观看| 欧美老年两性高潮| 国产亚洲精品熟女国产成人| 欧美无遮挡国产欧美另类| 在线播放日韩av| 精品1区2区3区| 免费涩涩18网站入口| 巨大荫蒂视频欧美另类大| 久久91亚洲精品中文字幕| 成人免费一级片| 亚洲欧美日产图| 97影院理论午夜| 久久乐国产精品| 久久天堂久久| 色与欲影视天天看综合网| 国产在线超碰| 国产视频在线观看一区二区| 日韩欧美精品一区二区| 337p日本欧洲亚洲大胆鲁鲁| 在线播放日韩专区| 特黄毛片在线观看| 欧美日韩一区二区三| 国产一级大片| 国产精品久久99| 欧美人妻一区二区三区| 午夜精品久久久久99热蜜桃导演| 一区二区免费在线视频| 福利在线观看| 亚洲一区在线观看网站| 日本少妇一级片| 色噜噜狠狠狠综合欧洲色8| 欧美性生交片4| 国产成人a人亚洲精品无码| 国产精品五月天| 国产永久免费| 56国语精品自产拍在线观看| 怡春院在线视频| 99久久777色| 草视频在线观看| a亚洲天堂av| 中文字幕av不卡在线| 不卡一二三区首页| 久久久久久久黄色| 日本不卡中文字幕| 综合久久一本| 六月丁香婷婷久久| 狠狠精品干练久久久无码中文字幕| 欧美中文在线| 成人av播放| 午夜在线小视频| 成人国内精品久久久久一区| 欧美日韩视频免费观看| 中文字幕久久亚洲| 97精品高清一区二区三区| 欧美xxxxx牲另类人与| 日韩不卡高清| 国产亚洲精品久久久| 在线观看国产一级片| wwww国产精品欧美| 亚洲天堂2021av| 亚洲在线国产日韩欧美| 成人免费在线观看视频网站| 国产成人免费视| 国产精品酒店视频| 色偷偷88欧美精品久久久| 久久九九精品视频| 精品人妻无码一区二区三区蜜桃一| 中文字幕在线免费不卡| 丰满少妇又爽又紧又丰满69| 一区二区三区视频免费| 99精品美女视频在线观看热舞| 国产精品久久久久久久久久ktv| juliaann成人作品在线看| 亚洲天堂av高清| 一区二区电影| 免费看一级大片| 欧美日韩精品高清| 在线看片国产福利你懂的| 国产免费高清一区| 国产欧美88| 亚洲国产精品三区| 福利一区福利二区微拍刺激| 中文日本在线观看| 综合 欧美 亚洲日本| 国产亚洲精品久久久久久| 另类激情亚洲| 色一情一乱一伦| 911国产网站尤物在线观看| 最新亚洲激情| 在线看黄网站| 李丽珍裸体午夜理伦片| 亚洲www啪成人一区二区麻豆| 黄色大片免费看| 欧美专区福利在线| 天天色综合色| 天天爽夜夜爽夜夜爽精品| 日韩一级片在线观看| 国内老司机av在线| 五月天久久狠狠| 免费欧美一区| 免费a级黄色片| 亚洲色欲色欲www在线观看| 欧美四级剧情无删版影片| 手机在线视频你懂的| 国产精品嫩草久久久久| 麻豆视频入口| 亚洲欧美日本一区| 亚洲午夜精品网| 亚洲午夜91| 九色精品高清在线播放| 成人亚洲免费视频| 69久久夜色精品国产69乱青草| 宅男在线国产精品| 日韩免费电影一区| 亚洲免费影视| 日韩成人在线看| 性xxxx丰满孕妇xxxx另类| 国产精品入口免费软件| 在线播放国产一区中文字幕剧情欧美| 国产一区不卡在线| 韩国三级电影在线观看婷婷| 超碰caoprom| 中文字幕一区二区三区四区五区六区 | 日韩欧美亚洲日产国| 色嗨嗨av一区二区三区| 九九久久精品这里久久网| 国产在线不卡av| 精品久久精品久久| 欧美一卡在线观看| 久久综合99| 97国产视频| 一区二区三国产精华液| 国产精品成人99一区无码 | 久久久综合免费视频| 婷婷综合五月天| 中文字幕高清在线观看| 特种兵之深入敌后| 欧美日韩亚洲激情| 天堂午夜影视日韩欧美一区二区| 人人在草线视频在线观看| www.国产视频.com| 国产男人精品视频| 日本一二三四高清不卡| 试看120秒一区二区三区| 日本人妖在线| 免费三级毛片| 熟妇高潮一区二区三区| 国产精品直播网红| 欧美日韩日本国产| 91麻豆精品秘密| 欧美精品播放| 四虎久久影院| 国产一区二区视频免费观看 | 国产91欧美| 自拍视频在线观看一区二区| 成人网在线免费看| 男人天堂av网| 久久久久毛片免费观看| 日韩精品中文字幕在线| 四虎永久免费地址| 久草视频在线看| 国产精品国产三级国产三级人妇| 日本人体一区二区| 午夜av免费观看| 日本亚洲不卡| 在线综合+亚洲+欧美中文字幕| 波多野结衣有码| 中文字幕高清在线| 亚洲综合色婷婷| 日韩偷拍一区二区| 激情视频国产| 亚洲精品美腿丝袜| 热这里只有精品| 国产免费福利| 亚洲一区二区三区四区五区中文|