91精品国产91久久久久久_国产精品二区一区二区aⅴ污介绍_一本久久a久久精品vr综合_亚洲视频一区二区三区

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

CS 551代寫、c/c++設計編程代做
CS 551代寫、c/c++設計編程代做

時間:2024-11-28  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯



CS 551 Systems Programming, Fall 2024
Programming Project 2
In this project we are going to simulate the MapReduce framework on a single machine using
multi-process programming.
1 Introduction
In 2004, Google (the paper “MapReduce: Simplified Data Processing on Large Clusters” by J.
Dean and S. Ghemawat) introduced a general programming model for processing and generating
large data sets on a cluster of computers.
The general idea of the MapReduce model is to partition large data sets into multiple splits,
each of which is small enough to be processed on a single machine, called a worker. The data
splits will be processed in two phases: the map phase and the reduce phase. In the map phase, a
worker runs user-defined map functions to parse the input data (i.e., a split of data) into multiple
intermediate key/value pairs, which are saved into intermediate files. In the reduce phase, a
(reduce) worker runs reduce functions that are also provided by the user to merge the intermediate
files, and outputs the result to result file(s).
We now use a small data set (the first few lines of a famous poem by Robert Frost, see Figure
1) to explain to what MapReduce does.
Figure 1: A small data set to be processed by MapReduce.
To run MapReduce, we first split the dataset into small pieces. For this example, we will split
the dataset by the four lines of the poem (Figure 2).
Figure 2: Partitioning the input data set into multiple splits.
The MapReduce framework will have four workers (in our project, the four workers are four
processes that are forked by the main program. In reality, they will be four independent machines)
to work on the four splits (each worker is working on a split). These four map worker will each
run a user-defined map function to process the split. The map function will map the input into
a series of (key, value) pairs. For this example, let the map function simply count the number of
each letter (A-Z) in the data set.
Figure 3: The outputs of the map phase, which are also the inputs to the reduce phase.
The map outputs in our example are shown in Figure 3. They are also the inputs for the
reduce phase. In the reduce phase, a reduce worker runs a user-defined reduce function to merge
the intermediate results output by the map workers, and generates the final results (Figure 4).
Figure 4: The final result
2 Simulating the MapReduce with multi-process programming
2.1 The base code
Download the base code from the Brightspace. You will need to add your implementation into
this base code. The base code also contains three input data sets as examples.
2.2 The working scenario
In this project, we will use the MapReduce model to process large text files. The input will be a
file that contains many lines of text. The base code folder contains three example input data files.
We will be testing using the example input data files, or data files in similar format.
A driver program is used to accept user inputs and drive the MapReduce processing. The
main part of driver program is already implemented in main.c. You will need to complete the
mapreduce() function, which is defined in mapreduce.c and is called by the driver program.
A Makefile has already been given. Running the Makefile can give you the executable of the driver
program, which is named as “run-mapreduce”. The driver program is used in the following way:
./run-mapreduce "counter"|"finder" file_path split_num [word_to_find]
where the arguments are explained as follows.
• The first argument specifies the type of the task, it can be either the “Letter counter” or
the “Word conter” (explained later).
• The second argument “file path” is the path to the input data file.
• The third argument “split num” specifies how many splits the input data file should be
partitioned into for the map phase.
• The fourth argument is used only for the “Word finder” task. This argument specifies the
word that the user is trying to find in the input file.
The mapreduce() function will first partition the input file into N roughly equal-sized splits,
where N is determined by the split num argument of the driver program. Note that the sizes of
each splits do not need to be exactly the same, otherwise a word may be divided into two different
splits.
Then the mapreduce() forks one worker process per data split, and the worker process will
run the user-defined map function on the data split. After all the splits have been processed, the
first worker process forked will also need to run the user-defined reduce function to process all the
intermediate files output by the map phase. Figure 5 below gives an example about this process.
split 0
split 1
split 2
Driver
Program
map
worker 0
reduce
worker
map
worker 2
map
worker 3
“mr-0.itm”
“mr-1.itm”
“mr-2.itm”
“mr-3.itm”
map
worker 1
(1) partition
(2) fork
(3) userdefined
map
(5) userdefined
reduce
“mr.rst”
Input
data file
Intermediate
files
Result
file
PID=1001
PID=1002
PID=1003
PID=1004
PID=1001
split 3
Figure 5: An example of the working scenario.
2.3 The two tasks
The two tasks that can be performed by the driver program are described as follows.
The “Letter counter” task is similar to the example we showed in Section 1, which is counting
the number of occurrence of the 26 letters in the input file. The difference is the intermediate file
and the final result file should be written in the following format:
A number-of-occurrences
B number-of-occurrences
...
Y number-of-occurrences
Z number-of-occurrences
The “Word finder” task is to find the word provided by user (specified by the “word to find”
argument of the driver program) in the input file, and outputs to the result file all the lines that
contain the target word in the same order as they appear in the input file. For this task, you
should implement the word finder as a whole word match, meaning that the function should only
recognize complete words that match exactly(case-sensitive) with the specified search terms. And
if multiple specified words are found in the same line, you only need to output that line once.
2.4 Other requirements
• Besides the mapreduce() function defined in mapreduce.c, you will also need to complete the map/reduce functions of the two tasks (in usr functions.c.)
• About the interfaces listed in “user functions.h” and “mapreduce.h”:
– Do not change any function interfaces.
– Do not change or delete any fields in the structure interfaces (but you may add additional fields in the structure interface if necessary).
The above requirements allow the TA to test your implementations of worker logic and user
map/reduce functions separately. Note that violation to these requirements will result in 0
point for this project.
• Use fork() to spawn processes.
• Be careful to avoid fork bomb (check on Wikipedia if you are not familiar with it). A fork
bomb will result in 0 point for this project.
• The fd in the DATA SPLIT structure should be a file descriptor to the original input data
file.
• The intermediate file output by the first map worker process should be named as “mr-0.itm”,
the intermediate file by the second map worker process should be named as “mr-1.itm”, ...
The result file is named as “mr.rst” (already done in main.c).
• Program should not automatically delete the intermediate files once they are created. They
will be checked when grading. But your submission should not contain any intermediate
files as they should be created dynamically.
3 Submit your work
Compress the files: compress your README file, all the files in the base code folder, and
any additional files you add into a ZIP file. Name the ZIP file based on your BU email ID. For
example, if your BU email is “abc@binghamton.edu”, then the zip file should be “proj2 abc.zip”.
Submission: submit the ZIP file to Brightspace before the deadline.
3.1 Grading guidelines
(1) Prepare the ZIP file on a Linux machine. If your zip file cannot be uncompressed, 5 points
off.
(2) If the submitted ZIP file/source code files included in the ZIP file are not named as specified
above (so that it causes problems for TA’s automated grading scripts), 10 points off.
(3) If the submitted code does not compile:
1 TA will try to fix the problem (for no more than 3 minutes);
2 if (problem solved)
3 1%-10% points off (based on how complex the fix is, TA’s discretion);
4 else
5 TA may contact the student by email or schedule a demo to fix the problem;
6 if (problem solved)
7 11%-20% points off (based on how complex the fix is, TA’s discretion);
8 else
9 All points off;
So in the case that TA contacts you to fix a problem, please respond to TA’s email promptly
or show up at the demo appointment on time; otherwise the line 9 above will be effective.
(4) If the code is not working as required in this spec, the TA should take points based on the
assigned full points of the task and the actual problem.
(5) Lastly but not the least, stick to the collaboration policy stated in the syllabus: you may
discuss with your fellow students, but code should absolutely be kept private.

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




 

掃一掃在手機打開當前頁
  • 上一篇:COMP4134代做、Java程序語言代寫
  • 下一篇:代做CSC3050、代寫C/C++程序語言
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    2025年10月份更新拼多多改銷助手小象助手多多出評軟件
    2025年10月份更新拼多多改銷助手小象助手多
    有限元分析 CAE仿真分析服務-企業/產品研發/客戶要求/設計優化
    有限元分析 CAE仿真分析服務-企業/產品研發
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
  • 短信驗證碼 目錄網 排行網

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    91精品国产91久久久久久_国产精品二区一区二区aⅴ污介绍_一本久久a久久精品vr综合_亚洲视频一区二区三区
    色天使色偷偷av一区二区| 捆绑紧缚一区二区三区视频| 欧美日韩国产成人在线免费| 麻豆成人91精品二区三区| 国产偷国产偷精品高清尤物 | 久久狠狠亚洲综合| 国产精品久久国产精麻豆99网站| 午夜精品亚洲| 国产精品69久久久久水密桃| 亚洲成在人线免费| 亚洲精品国产一区二区三区四区在线 | 精品国产污网站| 欧美性xxxxxxxx| 国产久一道中文一区| 黄色精品网站| 欧美一区二区三区在线播放| 久久精品99久久久| 免费观看在线综合色| 日韩一区二区精品在线观看| 欧美综合一区二区三区| 亚洲综合社区| 亚洲专区欧美专区| 激情久久五月| 亚洲经典三级| 今天的高清视频免费播放成人| 成人精品免费视频| 国产91在线|亚洲| 国产美女娇喘av呻吟久久 | 奇米四色…亚洲| 国产福利一区二区三区| 欧美国产三区| 欧美日韩精品免费观看视一区二区 | 久久久7777| 色婷婷综合久久| 欧美在线free| 欧美日韩一区视频| 欧美日韩mp4| 日韩一级网站| 99re视频这里只有精品| 午夜激情一区| 亚洲精品资源| 鲁大师影院一区二区三区| 国产日韩一区二区三区在线播放 | 亚洲激情自拍视频| 91精品国产综合久久久蜜臀粉嫩| 久久人人97超碰人人澡爱香蕉| 久久蜜桃资源一区二区老牛| 在线观看成人免费视频| 欧美男男青年gay1069videost| 欧美日韩久久久一区| 欧美一区二区三区四区视频| 精品久久人人做人人爽| 久久综合九色综合97婷婷女人| 老司机午夜精品视频| 国产视频不卡| 久久久久久亚洲精品杨幂换脸 | 久久99久久99小草精品免视看| 韩国女主播成人在线观看| 国产丶欧美丶日本不卡视频| 国产成人精品免费网站| 色综合久久综合网97色综合| 国产一区二区三区的电影 | 2023国产精品自拍| 欧美国产一区视频在线观看| 亚洲福利一区二区三区| 国产在线精品视频| 成人高清伦理免费影院在线观看| 狠狠久久婷婷| 欧美色男人天堂| 久久精品亚洲乱码伦伦中文| 一区二区视频免费在线观看| 极品少妇一区二区三区精品视频| www.亚洲激情.com| 国产精品女主播一区二区三区| 欧美日韩在线观看一区二区| 久久一留热品黄| 午夜a成v人精品| 成人av动漫在线| 亚洲精品久久久久久一区二区| 7777精品伊人久久久大香线蕉超级流畅 | 麻豆极品一区二区三区| 99久久国产综合精品女不卡| 亚洲在线国产日韩欧美| 亚洲少妇屁股交4| 91精品麻豆日日躁夜夜躁| 国产美女精品人人做人人爽 | 国产福利一区在线| 亚洲国产视频a| 国产精品毛片a∨一区二区三区| 欧美精品一区二区精品网| 欧美人牲a欧美精品| 久久精品一二三区| 国产欧美91| 91久久精品一区二区别| 激情综合激情| 精品电影一区| 亚洲精品美女久久7777777| 欧美系列一区| 国内自拍视频一区二区三区| 欧美日韩一区二区三区在线观看免| zzijzzij亚洲日本少妇熟睡| 粉嫩av一区二区三区在线播放| 国产大陆亚洲精品国产| 国产一区二区三区蝌蚪| 国产精品综合视频| 国产福利精品导航| 东方aⅴ免费观看久久av| 成人av电影在线播放| 成人免费黄色大片| 99精品热视频| 国产精品国产三级欧美二区| 国产精品多人| 99re热精品| 免费在线亚洲| 91福利精品视频| 777a∨成人精品桃花网| 日韩免费高清av| 国产日本欧美一区二区| 一区在线观看免费| 亚洲一区二区影院| 日本视频一区二区| 国产综合成人久久大片91| 成人午夜伦理影院| 欧美99在线视频观看| 激情另类综合| 久久久久天天天天| 欧美福利视频一区| 精品国产露脸精彩对白| 国产精品久线在线观看| 亚洲午夜视频在线| 久久精品国产成人一区二区三区 | 精品亚洲国内自在自线福利| 国产xxx精品视频大全| 欧美1区免费| 国产毛片久久| 欧美日本一区二区三区四区| 久久先锋影音av鲁色资源| 国产精品久久99| 视频一区欧美精品| 成人免费视频app| 国模大胆一区二区三区| 麻豆av一区二区三区久久| 这里只有精品电影| 国产精品久久久久一区二区三区 | 国产91精品露脸国语对白| 午夜久久美女| 久久成人国产| 欧美一级二级三级乱码| 禁久久精品乱码| 久久亚洲欧洲| 久久综合色综合88| 亚洲一区二三区| 国产剧情一区在线| 精品电影一区| 欧美日韩一区二区三区在线| 国产午夜久久久久| 日日欢夜夜爽一区| 成人黄色电影在线| 国产日韩高清一区二区三区在线| 欧美老肥妇做.爰bbww视频| 国产精品色哟哟| 毛片不卡一区二区| 欧美视频不卡| 欧美日韩一区二区三区在线| 国产精品久久久久影院老司| 麻豆精品新av中文字幕| 女人天堂亚洲aⅴ在线观看| 一本色道久久综合狠狠躁的推荐 | 国产综合色精品一区二区三区| 国产精品99一区二区| 亚洲一区二区影院| 不卡在线观看av| 色综合久久九月婷婷色综合| 国产调教视频一区| 另类人妖一区二区av| 亚洲网址在线| 日韩欧美国产综合| 亚洲大型综合色站| 午夜日本精品| 欧美日韩精品久久久| 亚洲久本草在线中文字幕| 成人激情开心网| 91久久国产综合久久| 亚洲免费观看视频| av一区二区三区四区| 欧美中文字幕一区| 亚洲精品国产无天堂网2021 | 欧美精品 日韩| 亚洲线精品一区二区三区| 欧美 日韩 国产在线| 91麻豆精品国产无毒不卡在线观看| 亚洲午夜免费福利视频| 国产综合色产| 久久综合色一综合色88| 狠狠色丁香婷婷综合| 免费看亚洲片| 亚洲色图制服诱惑| 欧美国产高清| 精品国产一区a| 久久精品国产免费看久久精品|