int main() { warmUp(); uint64_t start,end; static char buffer[FOUR_KB] __attribute__ ((__aligned__ (FOUR_KB))); string prefix = "/mnt/nfs/import/"; string files[] = {"file1", "file2", "file3", "file4", "file5", "file6", "file7", "file8", "file9"}; double results[lessIter], sum; for (int k=0;k<9;k++) { for(int i=0;i<lessIter;++i) { sum = 0; for (int j=0;j<lessInner;j++) { int fd = open((prefix + files[k]).c_str(), O_RDONLY | O_DIRECT); if (fd <= 0) { cout << "open failed\n"; } int n; getStartTick(start); int tot = 0; while ( true ) { n=read(fd, &buffer, FOUR_KB); if (n<0) cout << "Read error\n"; tot += n; if (tot >= READLIMIT) break; } getEndTick(end); // cout << "total:" << tot << " k: " << k << "\n"; close (fd); sum += end - start; } sum /= lessInner; results[i] = sum; } string fileName = files[k] + "SequentialRemoteCycles.txt"; string fileTimeName = files[k] + "SequentialRemoteTime.txt"; writeToFile(results, fileName); getTimeFromTicks(results, lessIter); writeToFile(results, fileTimeName); pair<double, double> meanAndVariance = getMeanAndVariance(results, lessIter); cout << "File: " << files[k] << "\n"; cout << "File read mean= " << (meanAndVariance.first * FOUR_KB / READLIMIT) << "\n"; cout << "File read variance= " << (meanAndVariance.second * FOUR_KB / READLIMIT) << "\n"; ofstream myfile; myfile.open ( (files[k] + "SequentialRemoteResults.txt").c_str()); myfile << "File: " << files[k] << "\n"; myfile << "File read mean= " << (meanAndVariance.first * FOUR_KB / READLIMIT) << "\n"; myfile << "File read variance= " << (meanAndVariance.second * FOUR_KB / READLIMIT) << "\n"; myfile.close(); } return 0; }
int main() { warmUp(); uint64_t start,end; double results[middleIters], sum; int sock_fd, status, bytes_read; struct addrinfo remote; struct sockaddr_in remote_addr; struct in_addr raddr; // char buffer[ONE_MB]; string message = ""; int buff_size = ONE_MB; message.append(FIVE_MB, '.'); remote.ai_family = AF_INET; remote.ai_socktype = SOCK_STREAM; raddr.s_addr = inet_addr(ADDR_REMOTE); remote_addr.sin_family = AF_INET; remote_addr.sin_port = htons(PORT); remote_addr.sin_addr = raddr; if ((sock_fd = socket(remote.ai_family, remote.ai_socktype, remote.ai_protocol)) == -1) { cout << "Can't open socket\n"; exit(1); } setsockopt(sock_fd, SOL_SOCKET, SO_SNDBUF, &buff_size, (int)sizeof(buff_size)); if (connect(sock_fd, (struct sockaddr *) &remote_addr, sizeof remote_addr) == -1) { cout << "Can't connect\n"; close(sock_fd); exit(1); } for (int i=0;i<middleIters;i++) { sum = 0; for (int j=0;j<1;j++) { getStartTick(start); send(sock_fd, message.c_str(), BYTES, 0); getEndTick(end); sum += end - start; } sum /= 1; results[i] = sum; } close(sock_fd); writeToFile(results,"peakbwRemoteCycles.txt"); getTimeFromTicks(results); writeToFile(results,"peakbwRemoteTime.txt"); pair<double, double> meanAndVariance = getMeanAndVariance(results, middleIters); cout << "Peak BW mean= " << meanAndVariance.first << "\n"; cout << "Peak BW variance= " << meanAndVariance.second << "\n"; cout << "Mean bandwidth= " << 1000000 * (208/meanAndVariance.first) << "\n"; ofstream myfile; myfile.open ("peakBwRemoteResults.txt"); myfile << "Peak Bw mean= " << meanAndVariance.first << "\n"; myfile << "Peak Bw variance= " << meanAndVariance.second << "\n"; myfile << "Mean bandwidth= " << 1000000 * (208/meanAndVariance.first) << "\n"; myfile.close(); return 0; }
int main(int argc, char ** argv) { // Checking args if(argc > 1) return FAILURE; std::cout << "\nRunning program : " << argv[0] << "\n" << std::endl; // Starting load of heavy resources // Launching thread ResourceLoader rLoader(DEBUG); rLoader.start(); // Creating window sf::RenderWindow window(sf::VideoMode(WINDOW_WIDTH, WINDOW_HEIGHT), WINDOW_NAME, sf::Style::Titlebar); // Window framerate - Default : 120 fps window.setFramerateLimit(WINDOW_FPS); // Starting some videos while loading res SplashScreen splash(DEBUG); //splash.start(&window); // Getting loaded resources // Wait if not finished while(!rLoader.getLoadState()) sf::sleep(sf::milliseconds(WAIT_TIME)); ManagerGroup * managerGroup = rLoader.getManager(); // Creating menu LoginMenu loginMenu(DEBUG, managerGroup); //Creating lobby Lobby lobby(DEBUG, managerGroup); //Creating warmUp WarmUp warmUp(DEBUG, managerGroup); //Creating Game Game game(DEBUG, managerGroup); // Setting main target managerGroup->ptr_targetManager->isOnLoginMenu(); sf::Clock clock; while (window.isOpen()) { // Exiting program if(!managerGroup->ptr_targetManager->isExit()) { managerGroup->ptr_musicManager->stopPlaylist(); window.close(); continue; } double elapsedTime = clock.getElapsedTime().asSeconds(); clock.restart().asMilliseconds(); window.clear(); sf::Event event; while (window.pollEvent(event)) { if (event.type == sf::Event::Closed) window.close(); } // Updating game logic loginMenu.update(&window, &event, elapsedTime); lobby.update(&window, &event, elapsedTime); warmUp.update(&window, &event, elapsedTime); game.update(&window, &event, elapsedTime); managerGroup->ptr_musicManager->update(); window.display(); } return SUCCESS; }
int main() { warmUp(); uint64_t start,end; double results[iterations], sum; int sock_fd, status, bytes_read; struct addrinfo remote; struct sockaddr_in remote_addr; struct in_addr raddr; char buffer[BYTES]; string message = ""; message.append(BYTES, '.'); remote.ai_family = AF_INET; remote.ai_socktype = SOCK_STREAM; raddr.s_addr = inet_addr(ADDR_REMOTE); remote_addr.sin_family = AF_INET; remote_addr.sin_port = htons(PORT); remote_addr.sin_addr = raddr; for (int i=0;i<iterations;i++) { sum = 0; for (int j=0;j<10;j++) { if ((sock_fd = socket(remote.ai_family, remote.ai_socktype, remote.ai_protocol)) == -1) { cout << "Can't open socket\n"; exit(1); } if (connect(sock_fd, (struct sockaddr *) &remote_addr, sizeof remote_addr) == -1) { cout << "Can't connect\n"; close(sock_fd); exit(1); } getStartTick(start); close(sock_fd); getEndTick(end); sum += end - start; } sum /= 10; results[i] = sum; } writeToFile(results,"teardownRemoteCycles.txt"); getTimeFromTicks(results); writeToFile(results,"teardownRemoteTime.txt"); pair<double, double> meanAndVariance = getMeanAndVariance(results, iterations); cout << "Teardown mean= " << meanAndVariance.first << "\n"; cout << "Teardown variance= " << meanAndVariance.second << "\n"; ofstream myfile; myfile.open ("tearDownRemoteResults.txt"); myfile << "Teardown mean= " << meanAndVariance.first << "\n"; myfile << "Teardown variance= " << meanAndVariance.second << "\n"; myfile.close(); return 0; }
//Generate 9 files, starting from file1 to ... file9, starting with 32MB, doubling up the size each time int main() { warmUp(); uint64_t start,end; char buffer[ONE_MB]; string prefix = ""; string files[] = {"f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "f10", "f11","f12","f13","f14","f15","f16","f17","f18","f19","f20"}; double results[iterations], sum; long long int fileSize = 32 * ONE_MB; for (int k=0;k<20;k++) { for(int l=0;l<=k;++l) { pid = fork(); if(pid < 0) { printf("Error"); exit(1); } else if (pid ==0) { for(int i=0;i<iterations;++i) { sum = 0; for (int j=0;j<innerLoop;j++) { int fd = open((prefix + files[l]).c_str(), O_RDONLY | O_DIRECT); if (fd <= 0) { cout << "open failed\n"; } int n; getStartTick(start); long long int tot = 0; while ( n=read(fd, &buffer, FOUR_KB) > 0) { if (n<0) cout << "Read error\n"; } getEndTick(end); close (fd); sum += end - start; } sum /= innerLoop; results[i] = sum; } string fileName = files[l] + std::string(k) + "Cycles.txt"; string fileTimeName = files[l] + std::string(k) +"Time.txt"; writeToFile(results, fileName); getTimeFromTicks(results, lessIter); writeToFile(results, fileTimeName); pair<double, double> meanAndVariance = getMeanAndVariance(results, lessIter); cout << "File: " << files[k] << "\n"; cout << "File read mean= " << meanAndVariance.first << "\n"; cout << "File read variance= " << meanAndVariance.second << "\n"; cout << "Average read time=" << (meanAndVariance.first * ONE_MB / fileSize) << "\n"; ofstream myfile; fileName = files[k] + "FileCacheResults"; myfile.open (fileName.c_str()); myfile << "File: " << files[k] << "\n"; myfile << "File read mean= " << meanAndVariance.first << "\n"; myfile << "File read variance= " << meanAndVariance.second << "\n"; myfile << "Average read time=" << (meanAndVariance.first * ONE_MB / fileSize) << "\n"; myfile.close(); exit(0); } else { wait(NULL); } } return 0; }