public static void main(String[] args) throws IOException, InvalidPathException, FileAlreadyExistException { if (args.length != 9) { System.out.println( "java -cp target/tachyon-" + Version.VERSION + "-jar-with-dependencies.jar tachyon.examples.Performance " + "<MasterIp> <FileName> <WriteBlockSizeInBytes> <BlocksPerFile> " + "<DebugMode:true/false> <Threads> <FilesPerThread> <TestCaseNumber> <BaseFileNumber>\n" + "1: Files Write Test\n" + "2: Files Read Test\n" + "3: RamFile Write Test \n" + "4: RamFile Read Test \n" + "5: ByteBuffer Write Test \n" + "6: ByteBuffer Read Test \n"); System.exit(-1); } MASTER_ADDRESS = args[0]; FILE_NAME = args[1]; BLOCK_SIZE_BYTES = Integer.parseInt(args[2]); BLOCKS_PER_FILE = Integer.parseInt(args[3]); DEBUG_MODE = ("true".equals(args[4])); THREADS = Integer.parseInt(args[5]); FILES = Integer.parseInt(args[6]) * THREADS; int testCase = Integer.parseInt(args[7]); BASE_FILE_NUMBER = Integer.parseInt(args[8]); FILE_BYTES = BLOCKS_PER_FILE * BLOCK_SIZE_BYTES; FILES_BYTES = 1L * FILE_BYTES * FILES; RESULT_PREFIX = String.format( "Threads %d FilesPerThread %d TotalFiles %d " + "BLOCK_SIZE_KB %d BLOCKS_PER_FILE %d FILE_SIZE_MB %d " + "Tachyon_WRITE_BUFFER_SIZE_KB %d BaseFileNumber %d : ", THREADS, FILES / THREADS, FILES, BLOCK_SIZE_BYTES / 1024, BLOCKS_PER_FILE, CommonUtils.getMB(FILE_BYTES), UserConf.get().FILE_BUFFER_BYTES / 1024, BASE_FILE_NUMBER); if (testCase == 1) { RESULT_PREFIX = "TachyonFilesWriteTest " + RESULT_PREFIX; LOG.info(RESULT_PREFIX); MTC = TachyonFS.get(MASTER_ADDRESS); createFiles(); TachyonTest(true); } else if (testCase == 2) { RESULT_PREFIX = "TachyonFilesReadTest " + RESULT_PREFIX; LOG.info(RESULT_PREFIX); MTC = TachyonFS.get(MASTER_ADDRESS); TachyonTest(false); } else if (testCase == 3) { RESULT_PREFIX = "RamFile Write " + RESULT_PREFIX; LOG.info(RESULT_PREFIX); memoryCopyTest(true, false); } else if (testCase == 4) { RESULT_PREFIX = "RamFile Read " + RESULT_PREFIX; LOG.info(RESULT_PREFIX); memoryCopyTest(false, false); } else if (testCase == 5) { RESULT_PREFIX = "ByteBuffer Write Test " + RESULT_PREFIX; LOG.info(RESULT_PREFIX); memoryCopyTest(true, true); } else if (testCase == 6) { RESULT_PREFIX = "ByteBuffer Read Test " + RESULT_PREFIX; LOG.info(RESULT_PREFIX); memoryCopyTest(false, true); } else { CommonUtils.runtimeException("No Test Case " + testCase); } for (int k = 0; k < RESULT_ARRAY_SIZE; k++) { System.out.print(Results[k] + " "); } System.out.println(); System.exit(0); }