Loading ifs_test/CMakeLists.txt +9 −1 Original line number Diff line number Diff line Loading @@ -4,5 +4,13 @@ project(ifs_test) set(CMAKE_CXX_STANDARD 14) set(CMAKE_EXPORT_COMPILE_COMMANDS 1) find_package(MPI REQUIRED) include_directories(${MPI_INCLUDE_PATH}) set(SOURCE_FILES main.cpp) set(SOURCE_FILES_MPI main_MPI.cpp) add_executable(ifs_test ${SOURCE_FILES}) add_executable(ifs_test_MPI ${SOURCE_FILES_MPI}) target_link_libraries(ifs_test_MPI ${MPI_C_LIBRARIES}) No newline at end of file ifs_test/main.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -9,9 +9,9 @@ using namespace std; using ns = chrono::nanoseconds; using get_time = chrono::steady_clock; int main() { int main(int argc, char* argv[]) { auto filen = strtol(argv[1], NULL, 20); // cout << mkdir("/tmp/mountdir/bla", 0775) << endl; // auto buf = "BUFFERINO2"; Loading @@ -37,7 +37,7 @@ int main() { // return 1; // } int filen = 3; // int filen = 3; auto start_t = get_time::now(); Loading ifs_test/main_MPI.cpp 0 → 100644 +52 −0 Original line number Diff line number Diff line #include <iostream> #include <unistd.h> #include <fstream> #include <fcntl.h> #include <sys/stat.h> #include <chrono> #include <mpi.h> using namespace std; using ns = chrono::nanoseconds; using get_time = chrono::steady_clock; int main(int argc, char* argv[]) { auto filen = strtol(argv[1], NULL, 20); MPI_Init(NULL, NULL); int world_size; MPI_Comm_size(MPI_COMM_WORLD, &world_size); int rank; MPI_Comm_rank(MPI_COMM_WORLD, &rank); // int filen = 3; cout << "Hello from rank " << rank << endl; auto start_t = get_time::now(); for (int i = 0; i < filen; ++i) { string p = "/tmp/mountdir/file" + to_string(rank) + "_" + to_string(i); creat(p.c_str(), 0666); if (i % 25000 == 0) cout << i << " files processed." << endl; // cout << p << endl; } auto end_t = get_time::now(); auto diff = end_t - start_t; auto diff_count = chrono::duration_cast<ns>(diff).count(); cout << diff_count << "ns\t" << (diff_count) / 1000000. << "ms" << endl; cout << filen / ((diff_count) / 1000000000.) << " files per second" << endl; MPI_Finalize(); // cout << "done" << endl; return 0; } No newline at end of file Loading
ifs_test/CMakeLists.txt +9 −1 Original line number Diff line number Diff line Loading @@ -4,5 +4,13 @@ project(ifs_test) set(CMAKE_CXX_STANDARD 14) set(CMAKE_EXPORT_COMPILE_COMMANDS 1) find_package(MPI REQUIRED) include_directories(${MPI_INCLUDE_PATH}) set(SOURCE_FILES main.cpp) set(SOURCE_FILES_MPI main_MPI.cpp) add_executable(ifs_test ${SOURCE_FILES}) add_executable(ifs_test_MPI ${SOURCE_FILES_MPI}) target_link_libraries(ifs_test_MPI ${MPI_C_LIBRARIES}) No newline at end of file
ifs_test/main.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -9,9 +9,9 @@ using namespace std; using ns = chrono::nanoseconds; using get_time = chrono::steady_clock; int main() { int main(int argc, char* argv[]) { auto filen = strtol(argv[1], NULL, 20); // cout << mkdir("/tmp/mountdir/bla", 0775) << endl; // auto buf = "BUFFERINO2"; Loading @@ -37,7 +37,7 @@ int main() { // return 1; // } int filen = 3; // int filen = 3; auto start_t = get_time::now(); Loading
ifs_test/main_MPI.cpp 0 → 100644 +52 −0 Original line number Diff line number Diff line #include <iostream> #include <unistd.h> #include <fstream> #include <fcntl.h> #include <sys/stat.h> #include <chrono> #include <mpi.h> using namespace std; using ns = chrono::nanoseconds; using get_time = chrono::steady_clock; int main(int argc, char* argv[]) { auto filen = strtol(argv[1], NULL, 20); MPI_Init(NULL, NULL); int world_size; MPI_Comm_size(MPI_COMM_WORLD, &world_size); int rank; MPI_Comm_rank(MPI_COMM_WORLD, &rank); // int filen = 3; cout << "Hello from rank " << rank << endl; auto start_t = get_time::now(); for (int i = 0; i < filen; ++i) { string p = "/tmp/mountdir/file" + to_string(rank) + "_" + to_string(i); creat(p.c_str(), 0666); if (i % 25000 == 0) cout << i << " files processed." << endl; // cout << p << endl; } auto end_t = get_time::now(); auto diff = end_t - start_t; auto diff_count = chrono::duration_cast<ns>(diff).count(); cout << diff_count << "ns\t" << (diff_count) / 1000000. << "ms" << endl; cout << filen / ((diff_count) / 1000000000.) << " files per second" << endl; MPI_Finalize(); // cout << "done" << endl; return 0; } No newline at end of file