亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? aspbroadcast.java

?? collective processing environment for mobile devices. It is an environment for mobile device to solv
?? JAVA
字號:



import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.io.Serializable;

import com.ibm.dthreads.DThread;
import com.ibm.dthreads.Logger;
import com.ibm.dthreads.MP.ObjectMP;

//Application class has to extend DThread or implement DRunnable
public class ASPBroadcast extends DThread{
	
	int[][] data;
	int low;
	int high;
	int size;
	int extra;
	int id;
	int total;
	int noofvertices;
	

      //Constructor that initializes the array

     ASPBroadcast(int noofvertices)
	{
		this.noofvertices = noofvertices;
		data = new int[noofvertices][noofvertices];
		for(int i=0;i<noofvertices;i++)
		{
		  for(int j=0;j<noofvertices;j++)
		  {
			data[i][j]=2;
			if(i==j) data[i][j]=0;
		  }
		} 
	}
	

	//Extends the run() method of the DThread class

	public void run()
	{
	  try
	  {
		long start,end;
		int totalthreads;
		int temp;	
		start=System.currentTimeMillis();
		int rank=getContext().getIdentity();
		totalthreads = getContext().getNumberOfThreads();
		ObjectMP messagepasser = getContext().getMP();
		id=rank;
		int size=noofvertices/totalthreads;
		int extra=(noofvertices%totalthreads);			
		int[] broadcastRow=new int[data.length];
		int bSourceid;
		low=id*size;
		high=low+size;
		int totalRows=data.length;
		if(id==totalthreads-1) 
		
		high=noofvertices;
		System.out.println("Full data length is " + data.length);
		System.out.println("My DThread ID is "+id+"\n My Data Size is "+size+"\n My Lower Limit is "+low+"& Higher Limit is "+high);
		
            //DThread with rank 0 is considered as the Root node for this application
		  if(rank==0)
		  {
			System.out.println("Rank 0 Started");
			for(int k=0;k<data.length;k++)
			{
			 
                   //If kth row is present in this DThread, then broadcast the row to all the other DThreads running 
                   if(k>=low && k<high)
			  {
			  	BroadcastData bData=new BroadcastData(data[k]);
			  	messagepasser.broadcast(bData,Integer.toString(k));
				broadcastRow=data[k];
			  }
                   //If kth row is not present in this DThread, then get the row from the DThread which has the kth row
			  else
			  {
				messagepasser.barrier();
				bSourceid=0;
       			temp=k;
		            while(temp>=size)
			       {
				  bSourceid++;
				  temp-=size;
			        }
			       if(bSourceid>=totalthreads) bSourceid=totalthreads-1;
			       BroadcastData bRow=(BroadcastData)messagepasser.get(bSourceid,Integer.toString(k));
	 			 broadcastRow=bRow.data;
			  }
			  //Computation part
			  for(int i=low;i<high;i++)
			  {
				 for(int j=0;j<data.length;j++)
				 {
					 data[i][j]=Math.min(data[i][j],(data[i][k]+broadcastRow[j]));
				 }
			  }
			}
                  //Create the Output file in the current path
			File output=new File("outputDthread.dat");
			PrintWriter  out=new PrintWriter(new FileWriter(output));

                  //Get the partial result from all the Other Dthreads and compute the final result matrix
			if(totalthreads!=1)
			{
			  messagepasser.barrier();
			  for (int i=1;i<totalthreads;i++)
			  {
			  
			   PartialResult2 iobj = (PartialResult2) messagepasser.get(i,"0");
			   int rowIndex=0;
			   for(int j=iobj.low;j<iobj.high;j++)
				 data[j]=iobj.data[rowIndex++];
				 
			  }
			}

                   //Write the result matrix into the output file
			for(int i=0;i<data.length;i++)
			{
			  for(int j=0;j<data.length;j++)
			  {
				out.println(new Integer(data[i][j]).toString());
			  }
			}
			out.close();
			
			System.out.println("Please see outputDthread.dat for the result");
		 }
			 
             //If the DThread is not root
 		 else
		  {
		 System.out.println("Full data length is " + data.length);

		 for(int k=0;k<data.length;k++)
		 {

               //If kth row is present in this DThread, then broadcast the row to all the other DThreads running 
		   if(k>=low && k<high)
		   {
			 BroadcastData bData=new BroadcastData(data[k]);
			 messagepasser.broadcast(bData,Integer.toString(k));
			broadcastRow=data[k];
		   }

               //If kth row is not present in this DThread, then get the row from the DThread which has the kth row
		   else
		   {
			 messagepasser.barrier();
			  bSourceid=0;
			 temp=k;
         		 while(temp>=size)
			 {
				bSourceid++;
			    temp-=size;
			 }
			 if(bSourceid>=totalthreads) bSourceid=totalthreads-1;
			 BroadcastData bRow=(BroadcastData)messagepasser.get(bSourceid,Integer.toString(k));
			 broadcastRow=bRow.data;
		   }
			  
		   for(int i=low;i<high;i++)
		   {
			  for(int j=0;j<data.length;j++)
			  {
				  data[i][j]=Math.min(data[i][j],(data[i][k]+broadcastRow[j]));
			  }
		   }
		 }

             //Build the Partial result and send to the root node ( in my case it is DThread with rank 0)
             
		  PartialResult2 presult=new PartialResult2(data,low,high);
		  messagepasser.put(presult,rank,0,"0");
		  messagepasser.barrier();
        	  }         
		  System.out.println(" I with id "+id+"Completed");
		  end=System.currentTimeMillis();
		  System.out.println("Time taken is  "+(end-start)+"milliSeconds");
}

catch(Exception e)
{
  System.out.println("Exception ::" + e.getMessage());
  e.printStackTrace();
}
	
}
}


//Class which will hold the partial result
class PartialResult2 implements Serializable
{
	int[][] data;
	int row,col;
	int low;
	int high;
	PartialResult2(int[][] data,int low,int high)
	{
		row=high-low;
		col=data.length;
		this.data=new int[row][col];
		for(int i=low,m=0;i<high;i++,m++)
		{
		  for(int j=0,n=0;j<col;j++,n++)
		  { 
			 this.data[m][n]=data[i][j];
		  }
		}
		this.low=low;
		this.high=high;
	}
}


//Class to have the Row to be broadcasted
 class BroadcastData implements Serializable
{
	 int[] data;
	 
	BroadcastData(int[] data)
	 {
		this.data = data;
	 }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲色图.com| 美女视频黄a大片欧美| 午夜视频一区在线观看| 国产精品资源在线看| 91福利国产成人精品照片| 精品久久久久久久久久久久久久久久久 | 欧美日韩成人在线| 欧美国产精品中文字幕| 免费成人在线网站| 欧美色视频在线观看| 国产精品狼人久久影院观看方式| 日韩不卡手机在线v区| 99国内精品久久| 国产亚洲精品超碰| 久久国产成人午夜av影院| 欧美天堂一区二区三区| 在线精品视频免费观看| 久久精品免视看| 看电视剧不卡顿的网站| 欧美日韩精品一区二区| 亚洲三级免费观看| 国产成人h网站| 久久久久久久久久久久久久久99| 青青草原综合久久大伊人精品| 欧美综合一区二区三区| 成人欧美一区二区三区| 国产99久久久久久免费看农村| 精品国产免费人成电影在线观看四季| 午夜久久久久久久久久一区二区| 91高清在线观看| 亚洲精品菠萝久久久久久久| 91小视频在线免费看| 国产精品白丝在线| 91在线porny国产在线看| 亚洲欧洲日韩一区二区三区| 99视频超级精品| 日韩码欧中文字| 色婷婷综合中文久久一本| 亚洲免费毛片网站| 欧美主播一区二区三区| 一二三四社区欧美黄| 欧美日韩免费一区二区三区视频| 亚洲一区二区三区四区在线观看| 欧美影院一区二区| 午夜国产精品一区| 日韩一级高清毛片| 国产精品伊人色| 中文字幕在线不卡| 欧美性猛片xxxx免费看久爱 | 精品国产乱子伦一区| 狠狠色丁香婷综合久久| 久久精品一区四区| 成人免费毛片高清视频| 中文字幕日韩精品一区 | 亚洲伦理在线精品| 欧美无砖砖区免费| 毛片不卡一区二区| 欧美激情一区二区三区不卡| 色哟哟日韩精品| 日韩制服丝袜av| 久久综合九色综合欧美就去吻| 国产一区二区三区四区五区美女 | 国产精品久久久久影院亚瑟 | 日韩高清一区在线| 日韩一级片在线观看| 国产成人午夜视频| 一区二区三区精品在线观看| 欧美一区二区视频在线观看2020| 国产主播一区二区| 一区二区三区国产精华| 日韩欧美精品三级| 色综合久久久久综合| 日本在线不卡一区| 国产精品伦理一区二区| 欧美久久久久久久久久| 国产精品99久久久久久宅男| 亚洲国产成人tv| 亚洲国产精华液网站w| 精品视频999| 大桥未久av一区二区三区中文| 亚洲成人三级小说| 国产精品久久久99| 精品国产伦一区二区三区观看方式 | 麻豆国产欧美日韩综合精品二区| 国产欧美视频在线观看| 欧美高清性hdvideosex| av在线播放不卡| 黄色日韩三级电影| 丝袜a∨在线一区二区三区不卡| 国产精品欧美经典| 亚洲精品在线免费播放| 欧美精品第1页| 91丝袜美女网| 国产成人精品一区二| 久久国内精品视频| 婷婷综合五月天| 亚洲欧美国产77777| 国产网红主播福利一区二区| 日韩欧美国产综合在线一区二区三区| 一本到高清视频免费精品| 国产91在线观看丝袜| 激情深爱一区二区| 美腿丝袜在线亚洲一区| 午夜精品一区在线观看| 一区二区三区日韩欧美| 成人欧美一区二区三区1314| 中文字幕av一区二区三区免费看| 精品对白一区国产伦| 日韩美女主播在线视频一区二区三区| 欧美视频一区二区三区在线观看| 成人app软件下载大全免费| 国产精品系列在线播放| 国产精品一品视频| 国产精品18久久久| 成人午夜精品一区二区三区| 国产精品99久久久久久久vr| 国产老妇另类xxxxx| 极品少妇一区二区三区精品视频| 麻豆91在线播放免费| 久久综合综合久久综合| 激情欧美日韩一区二区| 精品一区二区三区不卡| 精品在线视频一区| 国产乱色国产精品免费视频| 国产乱码精品一区二区三区忘忧草| 黄页网站大全一区二区| 粉嫩蜜臀av国产精品网站| 成人福利视频在线看| 99久久99久久久精品齐齐| 色综合久久综合网97色综合| 欧美中文字幕久久| 911精品产国品一二三产区| 这里是久久伊人| 精品伦理精品一区| 国产日韩欧美一区二区三区乱码| 国产精品久久精品日日| 亚洲综合激情小说| 蜜桃视频一区二区| 国产mv日韩mv欧美| 色屁屁一区二区| 欧美一卡2卡三卡4卡5免费| 精品三级在线看| 亚洲欧洲精品一区二区精品久久久 | 精品国产免费人成电影在线观看四季 | 日日夜夜精品视频天天综合网| 蓝色福利精品导航| 波多野结衣欧美| 在线观看欧美黄色| 精品福利视频一区二区三区| 亚洲欧洲成人精品av97| 奇米精品一区二区三区在线观看 | 国产亚洲一区二区三区| 国产精品欧美一区喷水| 亚洲风情在线资源站| 国产精品自在在线| 欧美色国产精品| 国产欧美日韩在线| 亚洲成人一区二区| 成人av在线一区二区三区| 6080日韩午夜伦伦午夜伦| 久久久久99精品一区| 亚洲bt欧美bt精品777| 国产精品一二三区| 5566中文字幕一区二区电影| 亚洲欧洲av一区二区三区久久| 免费欧美在线视频| 在线精品视频一区二区三四| 欧美精品一区二区三区在线| 亚洲国产日韩综合久久精品| 成人一区在线观看| 精品国产一区二区亚洲人成毛片| 一区二区在线观看视频在线观看| 国产精品资源站在线| 欧美一区二区在线免费观看| 亚洲欧美另类久久久精品2019| 国产一区欧美一区| 7777精品伊人久久久大香线蕉的 | 亚洲成在人线免费| 成人h版在线观看| 久久亚洲精精品中文字幕早川悠里| 亚洲欧洲制服丝袜| 国产风韵犹存在线视精品| 日韩欧美在线影院| 日韩综合小视频| 欧美视频中文一区二区三区在线观看| 国产精品美女久久久久aⅴ国产馆| 老司机精品视频线观看86 | www.在线欧美| 久久久久久一二三区| 蜜乳av一区二区| 欧美精品视频www在线观看| 一区二区三区在线观看网站| 91丨porny丨国产入口| 欧美激情一区三区| 国产精品18久久久| 久久亚洲二区三区| 国产美女主播视频一区| 久久久久久久久伊人| 国产伦精一区二区三区| 久久亚洲精精品中文字幕早川悠里|