public void uploadArray(String vname,float defaultValue) throws IOException, WrongArgumentException, InterruptedException
	{
		creater = new ArrayCreater(conf, zone, this.shapes.get(this.shapes.size() - 1),vname,this.thread_num,defaultValue);
		int i ;
		int []srcShape = new int [chunk.getChunkStep().length];
		long tmpSize  = 1;
		for( i = 0 ; i < chunk.getChunkStep().length ; ++i)
		{
			srcShape[i] = chunk.getChunkStep()[i];
			tmpSize *= this.vsize[i];
		}
		this.dataSize += tmpSize;
		srcShape[i-1] = 1;
		creater.create();
		long btime = System.currentTimeMillis();
		do{
		//float []data = new float [chunk.getSize()];
		//TODO how to parralel reading from source
			creater.createPartition(scanner,chunk,vname);
			
		}while(this.chunk.nextChunk());
		try {
			while(!creater.close(30, TimeUnit.SECONDS))
			{
				//System.out.println("Waiting for the creating of the array");
			}
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		long etime = System.currentTimeMillis();
		this.timeUsed += etime - btime;
	}