task startup(StartupObject s{initialstate}) {
// read in configuration parameters
// System.printString("Top of task startup\n");
- String path = new String("/home/jzhou/mapreduce/conf.txt");
+ String path = new String("/scratch/mapreduce_opt/conf.txt");
FileInputStream iStream = new FileInputStream(path);
byte[] b = new byte[1024];
int length = iStream.read(b);
//Split the input file into M pieces
task split(Master master{split}) {
- System.printString("Top of task split\n");
+ //System.printString("Top of task split\n");
master.split();
taskexit(master{!split, assignMap});
//Select a map worker to handle one of the pieces of input file
task assignMap(Master master{assignMap}) {
- System.printString("Top of task assignMap\n");
+ //System.printString("Top of task assignMap\n");
master.assignMap();
taskexit(master{!assignMap, mapoutput});
//MapWorker do 'map' function on a input file piece
task map(MapWorker mworker{map}) {
- System.printString("Top of task map\n");
+ //System.printString("Top of task map\n");
mworker.map();
taskexit(mworker{!map, partition});
//Partition the intermediate key/value pair generated
//into R intermediate local files
task partition(MapWorker mworker{partition}) {
- System.printString("Top of task partition\n");
+ //System.printString("Top of task partition\n");
mworker.partition();
taskexit(mworker{!partition, mapoutput});
//Register the intermediate ouput from map worker to master
task mapOutput(Master master{mapoutput}, optional MapWorker mworker{mapoutput}) {
- System.printString("Top of task mapOutput\n");
+ //System.printString("Top of task mapOutput\n");
if(isavailable(mworker)) {
int total = master.getR();
for(int i = 0; i < total; ++i) {
//Assign the list of intermediate output associated to one key to
//a reduce worker
task assignReduce(Master master{assignReduce}) {
- System.printString("Top of task assignReduce\n");
+ //System.printString("Top of task assignReduce\n");
master.assignReduce();
taskexit(master{!assignReduce, reduceoutput});
//First do sort and group on the intermediate key/value pairs assigned
//to reduce worker
task sortgroup(ReduceWorker rworker{sortgroup}) {
- System.printString("Top of task sortgroup\n");
+ //System.printString("Top of task sortgroup\n");
rworker.sortgroup();
taskexit(rworker{!sortgroup, reduce});
//Do 'reduce' function
task reduce(ReduceWorker rworker{reduce}) {
- System.printString("Top of task reduce\n");
+ //System.printString("Top of task reduce\n");
rworker.reduce();
taskexit(rworker{!reduce, reduceoutput});
//Collect the output into master
task reduceOutput(Master master{reduceoutput}, optional ReduceWorker rworker{reduceoutput}) {
- System.printString("Top of task reduceOutput\n");
+ //System.printString("Top of task reduceOutput\n");
if(isavailable(rworker)) {
master.collectROutput(rworker.getOutputFile());
master.setReduceFinish(rworker.getID());
}
task output(Master master{output}) {
- System.printString("Top of task output\n");
+ //System.printString("Top of task output\n");
if(master.isPartial()) {
System.printString("Partial! The result may not be right due to some failure!\n");
}