# # Farm IO Benchmarks # # SHELL = /bin/sh CC = icc CFLAGS = -O2 # Output directory ODIR = . #ODIR = /tmp/ -login- /io_test_input #For workstation testing #RFISC_FSZ = 2G #RFD_FSZ = 2G #For official run RFISC_FSZ = 4G RFD_FSZ = 512G RFCC_IN = cnode_caching_150M MFI_IN = mmap_file_input_750M RFIOSC_IN = read_from_IO_server_cache_4G RFD_IN = read_disk_512G WMF_IN = all: read_from_cnode_cache mmap_file_in read_from_ioserver_cache \ read_from_disk write_many_files all_outputs: rfcc_output mfi_output rfisc_output rfd_output wmf_output ######## File must be recreated each time to avoid caching rfcc_output: gen_file read_from_cnode_cache /bin/rm -f ${ODIR}/${RFCC_IN} gen_file ${ODIR}/${RFCC_IN} 150M read_from_cnode_cache 1 1 1 -1 ${ODIR} > rfcc_output /bin/rm -f ${ODIR}/${RFCC_IN} read_from_cnode_cache: io_b_1thru4.c read_write_io.o read_from_cnode_cache.o ${CC} -D__BM_RFCC driver.c read_from_cnode_cache.o read_write_io.o \ -o read_from_cnode_cache read_from_cnode_cache.o: io_b_1thru4.c ${CC} -c -D__BM_RFCC io_b_1thru4.c -o read_from_cnode_cache.o ######## File must be recreated each time to avoid caching mfi_output: gen_file mmap_file_in /bin/rm -f ${ODIR}/${MFI_IN} gen_file ${ODIR}/${MFI_IN} 750M mmap_file_in 1 1 1 -1 ${ODIR} > mfi_output /bin/rm -f ${ODIR}/${MFI_IN} mmap_file_in: mmap_file_in.o read_write_io.o ${CC} -D__BM_MFI driver.c mmap_file_in.o read_write_io.o -o mmap_file_in mmap_file_in.o: io_b_1thru4.c ${CC} -c -D__BM_MFI io_b_1thru4.c -o mmap_file_in.o ######## File must be recreated each time to avoid caching rfisc_output: gen_file read_from_ioserver_cache /bin/rm -f ${ODIR}/${RFIOSC_IN} gen_file ${ODIR}/${RFIOSC_IN} ${RFISC_FSZ} read_from_ioserver_cache 1 1 1 -1 ${ODIR} > rfisc_output /bin/rm -f ${ODIR}/${RFIOSC_IN} read_from_ioserver_cache: read_from_ioserver_cache.o read_write_io.o ${CC} -D__BM_RFIOSC driver.c read_from_ioserver_cache.o read_write_io.o \ -o read_from_ioserver_cache read_from_ioserver_cache.o: io_b_1thru4.c ${CC} -c -D__BM_RFIOSC io_b_1thru4.c -o read_from_ioserver_cache.o ######### rfd_output: gen_file read_from_disk gen_file ${ODIR}/${RFD_IN} ${RFD_FSZ} read_from_disk 1 1 1 -1 ${ODIR} > rfd_output /bin/rm -f ${ODIR}/${RFD_IN} read_from_disk: read_from_disk.o read_write_io.o ${CC} -D__BM_RFD -DDBG driver.c read_from_disk.o read_write_io.o \ -o read_from_disk read_from_disk.o: io_b_1thru4.c ${CC} -c -D__BM_RFD io_b_1thru4.c -o read_from_disk.o ######### wmf_output: write_many_files gen_file write_many_files 1 1 1 -1 ${ODIR} > wmf_output /bin/rm -f ${ODIR}/write_many_files_a_* ${ODIR}/write_many_files_b_* \ ${ODIR}/write_many_files_c_* write_many_files: write_many_files.o read_write_io.o ${CC} -D__BM_WMF driver.c write_many_files.o read_write_io.o \ -o write_many_files write_many_files.o: io_b_1thru4.c ${CC} -c -D__BM_WMF io_b_1thru4.c -o write_many_files.o ################ read_write_io.o: read_write_io.c ${CC} -c read_write_io.c gen_file: ${CC} gen_file.c -o gen_file tidy: /bin/rm -f *.o clean: /bin/rm -f *.o read_from_cnode_cache mmap_file_in read_from_ioserver_cache \ read_from_disk write_many_files gen_file \ ${RFCC_IN} ${MFI_IN} ${RFIOSC_IN} \ ${BM_RFD_IN} gen_file ${ODIR}/write_many_files_a_* \ ${ODIR}/write_many_files_b_* ${ODIR}/write_many_files_c_*