Skip to content
Snippets Groups Projects
Commit be2aa4d9 authored by Maël Madon's avatar Maël Madon
Browse files

Merge branch 'multibehavior' into 'master'

Merge Request multibehavior

Closes #11

See merge request !12
parents c644d71d e7522a8b
Branches
No related tags found
1 merge request!12Merge Request multibehavior
Pipeline #5507 passed
Showing
with 1913 additions and 107 deletions
...@@ -44,10 +44,14 @@ src = [ ...@@ -44,10 +44,14 @@ src = [
'src/users/user_model.hpp', 'src/users/user_model.hpp',
'src/users/user_replay.cpp', 'src/users/user_replay.cpp',
'src/users/user_replay.hpp', 'src/users/user_replay.hpp',
'src/users/user_windows.cpp',
'src/users/user_windows.hpp',
'src/users/user_feedback.cpp', 'src/users/user_feedback.cpp',
'src/users/user_feedback.hpp', 'src/users/user_feedback.hpp',
'src/users/dynscheduler.cpp', 'src/users/dynscheduler.cpp',
'src/users/dynscheduler.hpp', 'src/users/dynscheduler.hpp',
'src/users/log_user_stat.cpp',
'src/users/log_user_stat.hpp',
'src/decision.cpp', 'src/decision.cpp',
'src/decision.hpp', 'src/decision.hpp',
'src/exact_numbers.hpp', 'src/exact_numbers.hpp',
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include <boost/format.hpp> #include <boost/format.hpp>
#include <fstream> #include <fstream>
#include "../pempek_assert.hpp" #include "../pempek_assert.hpp"
#include "rapidjson/rapidjson.h" #include "rapidjson/rapidjson.h"
#include <loguru.hpp> #include <loguru.hpp>
...@@ -26,6 +27,8 @@ Broker::Broker(rapidjson::Document *user_description_file) ...@@ -26,6 +27,8 @@ Broker::Broker(rapidjson::Document *user_description_file)
= (*user_description_file)["core_limit_per_user"].GetInt(); = (*user_description_file)["core_limit_per_user"].GetInt();
// otherwise, initialized at std::numeric_limits<int>::max() // otherwise, initialized at std::numeric_limits<int>::max()
} }
/* demand reponse related windows parsing */
if (user_description_file->HasMember("dm_window")) if (user_description_file->HasMember("dm_window"))
{ {
const Value &dm_param = (*user_description_file)["dm_window"]; const Value &dm_param = (*user_description_file)["dm_window"];
...@@ -38,7 +41,47 @@ Broker::Broker(rapidjson::Document *user_description_file) ...@@ -38,7 +41,47 @@ Broker::Broker(rapidjson::Document *user_description_file)
dm_window = new DMWindow(dm_param.GetArray()[0].GetInt(), dm_window = new DMWindow(dm_param.GetArray()[0].GetInt(),
dm_param.GetArray()[1].GetInt()); dm_param.GetArray()[1].GetInt());
} }
if (user_description_file->HasMember("yellow_windows")){
yellow_windows_list = parse_dm_windows(
"yellow_windows",user_description_file);
}
if (user_description_file->HasMember("red_windows")){
red_windows_list = parse_dm_windows(
"red_windows",user_description_file);
}
//seed parameter parsing
bool seed_defined = false;
if (user_description_file->HasMember("seed")){
const Value &seed_param =(*user_description_file)["seed"];
PPK_ASSERT_ERROR( seed_param.IsInt(),
"Invalid user_description file : field "
"'seed' should be a 32-bit integer"
);
int seed = seed_param.GetInt();
seed_generator = mt19937(seed);
seed_defined = true;
}
//logging info parsing
if(user_description_file->HasMember("log_user_stats")){
PPK_ASSERT_ERROR((*user_description_file)["log_user_stats"].IsBool(),
"Invalid user_description file : field"
"'log_user_stats' should be a boolean");
bool log_user_stats = (*user_description_file)["log_user_stats"].GetBool();
if(log_user_stats){
PPK_ASSERT_ERROR(user_description_file->HasMember("log_folder"),
"Invalid user_description file : field"
"'log_folder' should be defined with 'log_user_stats' ");
const Value &log_folder_param = (*user_description_file)["log_folder"];
PPK_ASSERT_ERROR(log_folder_param.IsString(),
"Invalid user_description file : field"
" 'log_folder' should be a string ");
std::string log_folder = log_folder_param.GetString();
logger_user_stat = new LoggerUserStat(log_folder);
}
}
PPK_ASSERT_ERROR(user_description_file->HasMember("users"), PPK_ASSERT_ERROR(user_description_file->HasMember("users"),
"Invalid user_description file: should have field 'users'."); "Invalid user_description file: should have field 'users'.");
const Value &users_json = (*user_description_file)["users"]; const Value &users_json = (*user_description_file)["users"];
...@@ -100,10 +143,25 @@ Broker::Broker(rapidjson::Document *user_description_file) ...@@ -100,10 +143,25 @@ Broker::Broker(rapidjson::Document *user_description_file)
else if (category == "dm_user_renonce") else if (category == "dm_user_renonce")
user = new DMUserRenonce(name, param, dm_window); user = new DMUserRenonce(name, param, dm_window);
else // category == "dm_user_delay" else // if (category == "dm_user_delay")
user = new DMUserDelay(name, param, dm_window); user = new DMUserDelay(name, param, dm_window);
} }
else if (category == "dm_user_multi_behavior"){
PPK_ASSERT_ERROR(
dm_window || red_windows_list || yellow_windows_list,
"One of these 3 fields should be defined to use dm_user_multi_behavior"
" 'dm_windows' 'red_windows', 'yellow_windows' "
);
PPK_ASSERT_ERROR(
seed_defined,
"No field 'seed' defined although dm_user_multi_behavior "
"needs it");
user = new DMUserMultiBehavior(name, param, dm_window,
seed_generator(), yellow_windows_list, red_windows_list,
logger_user_stat);
}
/* Feedback user */ /* Feedback user */
else if (category == "fb_user_think_time_only") else if (category == "fb_user_think_time_only")
user = new FBUserThinkTimeOnly(name, param); user = new FBUserThinkTimeOnly(name, param);
...@@ -243,6 +301,34 @@ void Broker::feedback_job_status(double date, ...@@ -243,6 +301,34 @@ void Broker::feedback_job_status(double date,
user_queue.sort(CompareUsers()); user_queue.sort(CompareUsers());
} }
DMWindow_list* Broker::parse_dm_windows(const std::string attr_name,
const rapidjson::Document *user_description_file)
{
const Value &windows_param = (*user_description_file)[attr_name.c_str()];
std::string error_message = "Invalid user_description file: field ";
error_message += attr_name;
error_message += " should be a non-empty array";
PPK_ASSERT_ERROR(windows_param.IsArray() && windows_param.GetArray().Size()!=0,
error_message.c_str());
error_message = "Invalid user_description file: the field ";
error_message += attr_name;
error_message += " should be an array of intervals (pairs of integers).";
std::vector<DMWindow> windows_collect;
for (SizeType i = 0 ; i < windows_param.GetArray().Size(); i++) {
const Value &window =
(*user_description_file)[attr_name.c_str()].GetArray()[i];
PPK_ASSERT_ERROR(window.IsArray()
&& window.GetArray().Size()==2
&& window.GetArray()[0].IsInt()
&& window.GetArray()[1].IsInt(),
error_message.c_str());
DMWindow* dm_window =
new DMWindow(window.GetArray()[0].GetInt(),
window.GetArray()[1].GetInt());
windows_collect.push_back(*dm_window);
}
return new DMWindow_list(windows_collect);
}
void Broker::update_status_if_dyn_job( void Broker::update_status_if_dyn_job(
const string &job_id, JobStatus status) const string &job_id, JobStatus status)
{ {
...@@ -298,15 +384,16 @@ void Broker::update_status_if_dyn_job( ...@@ -298,15 +384,16 @@ void Broker::update_status_if_dyn_job(
void Broker::log_user_stats(string log_folder) void Broker::log_user_stats(string log_folder)
{ {
static int stat[10] = { 0 }; static int stat[14] = { 0 };
int *dm_stat; int *dm_stat;
for (auto it : users) for (auto it : users)
{ {
User *user = it.second; User *user = it.second;
dm_stat = user->get_dm_stat(); dm_stat = user->get_dm_stat();
for (int i = 0; i < 10; i++) for (int i = 0; i < 14; i++)
stat[i] += dm_stat[i]; stat[i] += dm_stat[i];
} }
logger_user_stat->log_stat();
/* Write in file */ /* Write in file */
ofstream file(log_folder + "/user_stats.csv"); ofstream file(log_folder + "/user_stats.csv");
...@@ -322,6 +409,10 @@ void Broker::log_user_stats(string log_folder) ...@@ -322,6 +409,10 @@ void Broker::log_user_stats(string log_folder)
% stat[2 * DEGRADED + 1]; % stat[2 * DEGRADED + 1];
file << boost::format("reconf,%1%,%2%\n") % stat[2 * RECONF] file << boost::format("reconf,%1%,%2%\n") % stat[2 * RECONF]
% stat[2 * RECONF + 1]; % stat[2 * RECONF + 1];
file << boost::format("consider degraded,%1%,%2%\n") % stat[2 * CONSIDER_DEGRADED]
% stat[2 * CONSIDER_DEGRADED + 1];
file << boost::format("consider reconfig,%1%,%2%\n") % stat[2 * CONSIDER_RECONF]
% stat[2 * CONSIDER_RECONF + 1];
file.close(); file.close();
} }
\ No newline at end of file
...@@ -2,19 +2,20 @@ ...@@ -2,19 +2,20 @@
#include "user_feedback.hpp" #include "user_feedback.hpp"
#include "user_model.hpp" #include "user_model.hpp"
#include "user_replay.hpp" #include "user_replay.hpp"
#include "user_windows.hpp"
#include <list> #include <list>
#include <map> #include <map>
#include <set> #include <set>
#include <string> #include <string>
#include <vector> #include <vector>
using namespace std; using namespace std;
class Broker class Broker
{ {
public: public:
Broker(rapidjson::Document *user_description_file); Broker(rapidjson::Document *user_description_file);
DMWindow_list* parse_dm_windows(const std::string attr_name,
const rapidjson::Document *user_description_file);
~Broker(); ~Broker();
/** /**
...@@ -46,6 +47,7 @@ public: ...@@ -46,6 +47,7 @@ public:
void log_user_stats(string user_stat_file); void log_user_stats(string user_stat_file);
void update_status_if_dyn_job(const string &job_id, JobStatus status); void update_status_if_dyn_job(const string &job_id, JobStatus status);
private: private:
map<string, User *> users; map<string, User *> users;
unsigned int core_limit_per_user = std::numeric_limits<int>::max(); unsigned int core_limit_per_user = std::numeric_limits<int>::max();
...@@ -53,11 +55,15 @@ private: ...@@ -53,11 +55,15 @@ private:
map<string, shared_ptr<Job>> dynamic_jobs = map<string, shared_ptr<Job>>(); map<string, shared_ptr<Job>> dynamic_jobs = map<string, shared_ptr<Job>>();
map<User *, list<shared_ptr<Job>>> users_to_wake map<User *, list<shared_ptr<Job>>> users_to_wake
= map<User *, list<shared_ptr<Job>>>(); = map<User *, list<shared_ptr<Job>>>();
LoggerUserStat *logger_user_stat = nullptr;
private: private:
/* Deterministic generation of seeds for users that use randomness */ /* Deterministic generation of seeds for users that use randomness */
mt19937 seed_generator = mt19937(1997); mt19937 seed_generator = mt19937(1997);
/* (Optional) The demand response window for the DM users */ /* (Optional) The demand response window for the DM users */
DMWindow *dm_window = nullptr; DMWindow *dm_window = nullptr;
/* (Optional) Red and Yellow windows for MultiBehavior DM users */
DMWindow_list* red_windows_list=nullptr;
DMWindow_list* yellow_windows_list = nullptr;
}; };
\ No newline at end of file
#include "users/log_user_stat.hpp"
#include "../pempek_assert.hpp"
BehaviorStat::BehaviorStat(
shared_ptr<Job> job, std::string behavior_name, long time_delayed){
this->job = job;
this->behavior_name = behavior_name;
this->time_delayed = time_delayed;
}
std::vector<std::string> BehaviorStat::split_id(){
std::string job_id = job->id;
std::vector<std::string> splitting;
splitting.push_back("");
for (std::string::size_type i = 0; i < job_id.length(); i++){
if (job_id[i] == '!'){
splitting.push_back("");
}
else{
splitting.back() += job_id[i];
}
}
return splitting;
}
boost::basic_format<char> BehaviorStat::format(){
std::vector<std::string> splitting = split_id();
PPK_ASSERT_ERROR(splitting.size() >= 2,
"Error logging the job behavior the job_id should be of the format"
" user_id!job_id");
return boost::format("%1%,%2%,%3%,%4%,%5%\n") % splitting[0] % splitting[1]
% job->submission_time % behavior_name % time_delayed;
}
LoggerUserStat::LoggerUserStat(std::string log_folder){
this->log_folder = log_folder;
put_header = true;
write_threshold = 4096;
}
void LoggerUserStat::add_stat(
shared_ptr<Job> job, std::string behavior_name, long time_delayed){
BehaviorStat to_add = BehaviorStat(job, behavior_name, time_delayed);
behaviors.push_back(to_add);
if (behaviors.size() >= write_threshold){
log_stat();
}
}
void LoggerUserStat::log_stat(){
/**
* This functions write log in the csv format the behaviors recorded in
* the vector behaviors
*/
std::ofstream file;
if (put_header){
/* first time we log we add the header and erase previous log */
file.open(log_folder + "/user_stats_behaviors.csv");
file << "user,job_id,submission_time,behavior_name,time_delayed\n";
put_header = false;
}
else{
/* after the first time we log we append the data to the file */
file.open(log_folder + "/user_stats_behaviors.csv",
std::ofstream::out | std::ofstream::app);
}
/* We write the content in the vector to the disk and then free the vector */
for (std::vector<BehaviorStat>::size_type i = 0; i < behaviors.size(); i++){
BehaviorStat read_behavior = behaviors[i];
file << read_behavior.format();
}
behaviors.clear();
file.close();
}
\ No newline at end of file
#pragma once
#include "json_workload.hpp"
#include <boost/format.hpp>
#include <fstream>
/**
* library dedicated to logging user_behavior
*/
using namespace std;
struct BehaviorStat {
shared_ptr <Job> job;
std::string behavior_name;
long time_delayed;
BehaviorStat(shared_ptr <Job> job,
std::string behavior_name, long time_delayed);
std::vector <std::string> split_id();
boost::basic_format<char> format();
};
class LoggerUserStat {
public:
LoggerUserStat(std::string log_folder);
void add_stat(shared_ptr <Job> job,
std::string behavior_name, long time_delayed);
void log_stat();
protected:
bool put_header;
std::vector<BehaviorStat>::size_type write_threshold;
std::string log_folder;
std::vector <BehaviorStat> behaviors;
};
\ No newline at end of file
...@@ -5,8 +5,7 @@ ...@@ -5,8 +5,7 @@
******************************* Replay users ********************************* ******************************* Replay users *********************************
*****************************************************************************/ *****************************************************************************/
/* Master class ReplayUser */ /* Master class ReplayUser */
void ReplayUser::init_ReplayUser( void ReplayUser::init_ReplayUser(std::string name, const rapidjson::Value &param)
std::string name, const rapidjson::Value &param)
{ {
/* Parse some info from the json */ /* Parse some info from the json */
PPK_ASSERT_ERROR(param.HasMember("input_json"), PPK_ASSERT_ERROR(param.HasMember("input_json"),
...@@ -234,6 +233,8 @@ bool DMWindow::date_in_dm_window(double date) ...@@ -234,6 +233,8 @@ bool DMWindow::date_in_dm_window(double date)
return date >= inf && date < sup; return date >= inf && date < sup;
} }
DMUserReconfig::DMUserReconfig( DMUserReconfig::DMUserReconfig(
std::string name, const rapidjson::Value &param, DMWindow *window) std::string name, const rapidjson::Value &param, DMWindow *window)
{ {
...@@ -254,7 +255,11 @@ DMUserReconfig::DMUserReconfig( ...@@ -254,7 +255,11 @@ DMUserReconfig::DMUserReconfig(
DMUserReconfig::~DMUserReconfig() DMUserReconfig::~DMUserReconfig()
{ {
delete original_trace; if(original_trace)
{
delete original_trace;
original_trace = NULL;
}
} }
void DMUserReconfig::jobs_to_submit(double date, void DMUserReconfig::jobs_to_submit(double date,
...@@ -272,7 +277,11 @@ DMUserDegrad::DMUserDegrad( ...@@ -272,7 +277,11 @@ DMUserDegrad::DMUserDegrad(
DMUserDegrad::~DMUserDegrad() DMUserDegrad::~DMUserDegrad()
{ {
delete original_trace; if(original_trace)
{
delete original_trace;
original_trace = NULL;
}
} }
void DMUserDegrad::jobs_to_submit(double date, std::list<shared_ptr<Job>> &jobs, void DMUserDegrad::jobs_to_submit(double date, std::list<shared_ptr<Job>> &jobs,
...@@ -290,7 +299,11 @@ DMUserRenonce::DMUserRenonce( ...@@ -290,7 +299,11 @@ DMUserRenonce::DMUserRenonce(
DMUserRenonce::~DMUserRenonce() DMUserRenonce::~DMUserRenonce()
{ {
delete original_trace; if(original_trace)
{
delete original_trace;
original_trace = NULL;
}
} }
void DMUserRenonce::jobs_to_submit(double date, void DMUserRenonce::jobs_to_submit(double date,
...@@ -308,7 +321,11 @@ DMUserDelay::DMUserDelay( ...@@ -308,7 +321,11 @@ DMUserDelay::DMUserDelay(
DMUserDelay::~DMUserDelay() DMUserDelay::~DMUserDelay()
{ {
delete original_trace; if(original_trace)
{
delete original_trace;
original_trace = NULL;
}
} }
void DMUserDelay::jobs_to_submit(double date, std::list<shared_ptr<Job>> &jobs, void DMUserDelay::jobs_to_submit(double date, std::list<shared_ptr<Job>> &jobs,
...@@ -317,45 +334,51 @@ void DMUserDelay::jobs_to_submit(double date, std::list<shared_ptr<Job>> &jobs, ...@@ -317,45 +334,51 @@ void DMUserDelay::jobs_to_submit(double date, std::list<shared_ptr<Job>> &jobs,
ReplayUser::jobs_to_submit(date, jobs, profiles); ReplayUser::jobs_to_submit(date, jobs, profiles);
} }
bool DMUserReconfig::handle_job( bool DMUserReconfig::reconfig_job(shared_ptr<Job> job, Profile *profile)
double date, shared_ptr<Job> job, Profile *profile)
{ {
if (dm_window->date_in_dm_window(date)) int orig_nb_core = job->nb_requested_resources;
dm_stat[2*CONSIDER_RECONF]++;
if (orig_nb_core == 1)
{ {
int orig_nb_core = job->nb_requested_resources; /* No reconfig */
if (orig_nb_core == 1) Parser::profile_from_duration(
{ profile, job->profile, user_name, platform_computing_speed);
/* No reconfig */
Parser::profile_from_duration(
profile, job->profile, user_name, platform_computing_speed);
/* Log... */ /* Log... */
dm_stat[2 * RIGID]++; dm_stat[2 * RIGID]++;
dm_stat[2 * RIGID + 1] += orig_nb_core * std::stol(job->profile); dm_stat[2 * RIGID + 1] += orig_nb_core * std::stol(job->profile);
} }
else else
{ {
/* Log... */ /* Log... */
dm_stat[2 * RECONF]++; dm_stat[2 * RECONF]++;
dm_stat[2 * RECONF + 1] += orig_nb_core * std::stol(job->profile); dm_stat[2 * RECONF + 1] += orig_nb_core * std::stol(job->profile);
/* Reconfig: divide by two rounded up the nb or cores requested */ /* Reconfig: divide by two rounded up the nb or cores requested */
int n = (orig_nb_core + 1) / 2; int n = (orig_nb_core + 1) / 2;
/* Speedup model: /* Speedup model:
* - T_orig: the original execution time (on orig_nb_core cores) * - T_orig: the original execution time (on orig_nb_core cores)
* - T_1: the execution time on one core * - T_1: the execution time on one core
* - T_n: the execution time on n cores * - T_n: the execution time on n cores
* We have: T_1 = n^alpha * T_n = orig_nb_core^alpha * T_orig * We have: T_1 = n^alpha * T_n = orig_nb_core^alpha * T_orig
* => T_n = (orig_nb_core / n)^alpha * T_orig * => T_n = (orig_nb_core / n)^alpha * T_orig
*/ */
long T_orig = std::stol(job->profile); long T_orig = std::stol(job->profile);
long T_n = pow((double)orig_nb_core / n, alpha) * T_orig; long T_n = pow( (double) orig_nb_core / n, alpha) * T_orig;
Parser::profile_from_duration(profile, std::to_string(T_n), Parser::profile_from_duration(
user_name, platform_computing_speed); // parallel_homogeneous profile, std::to_string(T_n), user_name, platform_computing_speed); // parallel_homogeneous
job->nb_requested_resources = n; job->nb_requested_resources = n;
job->profile = profile->name = 'r' + std::to_string(T_orig); job->profile = profile->name = 'r' + std::to_string(T_orig);
} }
return true;
}
bool DMUserReconfig::handle_job(double date, shared_ptr<Job> job, Profile *profile)
{
if (dm_window->date_in_dm_window(date))
{
return reconfig_job(job,profile);
} }
else else
{ {
...@@ -365,58 +388,38 @@ bool DMUserReconfig::handle_job( ...@@ -365,58 +388,38 @@ bool DMUserReconfig::handle_job(
return true; return true;
} }
bool DMUserDegrad::handle_job( bool DMUserDegrad::degrad_job(shared_ptr<Job> job, Profile *profile)
double date, shared_ptr<Job> job, Profile *profile)
{ {
if (dm_window->date_in_dm_window(date)) int orig_nb_core = job->nb_requested_resources;
dm_stat[2*CONSIDER_DEGRADED]++;
if (orig_nb_core == 1)
{ {
int orig_nb_core = job->nb_requested_resources; /* No degrad */
Parser::profile_from_duration(
if (orig_nb_core == 1) profile, job->profile, user_name, platform_computing_speed);
{ /* Log... */
/* No reconfig */ dm_stat[2 * RIGID]++;
Parser::profile_from_duration( dm_stat[2 * RIGID + 1] += orig_nb_core * std::stol(job->profile);
profile, job->profile, user_name, platform_computing_speed);
/* Log... */
dm_stat[2 * RIGID]++;
dm_stat[2 * RIGID + 1] += orig_nb_core * std::stol(job->profile);
}
else
{
/* Log... */
dm_stat[2 * DEGRADED]++;
dm_stat[2 * DEGRADED + 1] += orig_nb_core * std::stol(job->profile);
/* Spatial degradiation: divide by two rounded up the nb or
* cores requested, and keep the original duration */
job->nb_requested_resources = (orig_nb_core + 1) / 2;
Parser::profile_from_duration(
profile, job->profile, user_name, platform_computing_speed);
job->profile = profile->name = 'd' + profile->name;
}
} }
else else
{ {
/* Log... */
dm_stat[2 * DEGRADED]++;
dm_stat[2 * DEGRADED + 1] += orig_nb_core * std::stol(job->profile);
/* Spatial degradiation: divide by two rounded up the nb or
* cores requested, and keep the original duration */
job->nb_requested_resources = (orig_nb_core + 1) / 2;
Parser::profile_from_duration( Parser::profile_from_duration(
profile, job->profile, user_name, platform_computing_speed); profile, job->profile, user_name, platform_computing_speed);
job->profile = profile->name = 'd' + profile->name;
} }
return true; return true;
} }
bool DMUserDegrad::handle_job(double date, shared_ptr<Job> job, Profile *profile)
bool DMUserRenonce::handle_job(
double date, shared_ptr<Job> job, Profile *profile)
{ {
if (dm_window->date_in_dm_window(date)) if (dm_window->date_in_dm_window(date))
{ {
/* Signals that the job must not be executed and delete it from the return degrad_job(job,profile);
* original queue */
original_trace->remove_job(original_trace->first_job());
/* Log... */
dm_stat[2 * RENONCED]++;
dm_stat[2 * RENONCED + 1]
+= job->nb_requested_resources * std::stol(job->profile);
return false;
} }
else else
{ {
...@@ -426,17 +429,41 @@ bool DMUserRenonce::handle_job( ...@@ -426,17 +429,41 @@ bool DMUserRenonce::handle_job(
return true; return true;
} }
bool DMUserDelay::handle_job(double date, shared_ptr<Job> job, Profile *profile) bool DMUserRenonce::renonce_job(shared_ptr<Job> job)
{
/* Signals that the job must not be executed and delete it from the
* original queue */
original_trace->remove_job(original_trace->first_job());
/* Log... */
dm_stat[2 * RENONCED]++;
dm_stat[2 * RENONCED + 1]
+= job->nb_requested_resources * std::stol(job->profile);
return false;
}
bool DMUserRenonce::handle_job(double date, shared_ptr<Job> job, Profile *profile)
{ {
if (dm_window->date_in_dm_window(date)) if (dm_window->date_in_dm_window(date))
{ {
/* Log... */ return renonce_job(job);
dm_stat[2 * DELAYED]++; }
dm_stat[2 * DELAYED + 1] else
+= job->nb_requested_resources * std::stol(job->profile); {
/* Delete original job from queue and update date */ Parser::profile_from_duration(
original_trace->remove_job(original_trace->first_job()); profile, job->profile, user_name, platform_computing_speed);
job->submission_time = dm_window->sup; }
return true;
}
bool DMUserDelay::delay_job(shared_ptr<Job> job)
{
/* Log... */
dm_stat[2 * DELAYED]++;
dm_stat[2 * DELAYED + 1]
+= job->nb_requested_resources * std::stol(job->profile);
/* Delete original job from queue and update date */
original_trace->remove_job(original_trace->first_job());
job->submission_time = dm_window->sup;
/* Put job back in the queue and sort */ /* Put job back in the queue and sort */
SortableJobOrder::UpdateInformation update_info(0); SortableJobOrder::UpdateInformation update_info(0);
...@@ -445,8 +472,14 @@ bool DMUserDelay::handle_job(double date, shared_ptr<Job> job, Profile *profile) ...@@ -445,8 +472,14 @@ bool DMUserDelay::handle_job(double date, shared_ptr<Job> job, Profile *profile)
original_trace->insert_job(j); original_trace->insert_job(j);
original_trace->sort_queue(&update_info); original_trace->sort_queue(&update_info);
/* Return "Do not execute now" */ /* Return "Do not execute now" */
return false; return false;
}
bool DMUserDelay::handle_job(double date, shared_ptr<Job> job, Profile *profile)
{
if (dm_window->date_in_dm_window(date))
{
return delay_job(job);
} }
else else
{ {
...@@ -454,4 +487,6 @@ bool DMUserDelay::handle_job(double date, shared_ptr<Job> job, Profile *profile) ...@@ -454,4 +487,6 @@ bool DMUserDelay::handle_job(double date, shared_ptr<Job> job, Profile *profile)
profile, job->profile, user_name, platform_computing_speed); profile, job->profile, user_name, platform_computing_speed);
return true; return true;
} }
} }
\ No newline at end of file
/** /**
* Users simulated by replaying an input trace. * Users simulated by replaying an input trace.
*/ */
#pragma once
#include "users/user.hpp" #include "users/user.hpp"
#include <random> #include <random>
#include "queue.hpp" #include "queue.hpp"
#include "users/log_user_stat.hpp"
/** /**
* The demand response window during which the users are enclined to reduce * The demand response window during which the users are enclined to reduce
* their consumption. (semi-closed interval [inf, sup[) * their consumption. (semi-closed interval [inf, sup[)
...@@ -18,6 +18,7 @@ struct DMWindow ...@@ -18,6 +18,7 @@ struct DMWindow
bool date_in_dm_window(double date); bool date_in_dm_window(double date);
}; };
class ReplayUser : public User class ReplayUser : public User
{ {
public: public:
...@@ -45,7 +46,7 @@ protected: ...@@ -45,7 +46,7 @@ protected:
std::string input_json; std::string input_json;
Queue *original_trace; Queue *original_trace;
DMWindow *dm_window = nullptr; DMWindow *dm_window = nullptr;
int dm_stat[10] = { 0 }; int dm_stat[14] = { 0 };
/* Keep track of profiles to not send them twice to Batsim */ /* Keep track of profiles to not send them twice to Batsim */
std::set<std::string> sent_profiles; std::set<std::string> sent_profiles;
...@@ -106,20 +107,22 @@ private: ...@@ -106,20 +107,22 @@ private:
/****************************************************************************** /******************************************************************************
*********************** Users "demand response" ****************************** *********************** Users "demand response" ******************************
*****************************************************************************/ *****************************************************************************/
enum UserDemandResponse enum Behavior
{ {
RIGID, RIGID,
RENONCED, RENONCED,
DELAYED, DELAYED,
DEGRADED, DEGRADED,
RECONF RECONF,
CONSIDER_DEGRADED,
CONSIDER_RECONF
}; };
/** /**
* @brief * @brief
* @details * @details
*/ */
class DMUserReconfig : public ReplayUser class DMUserReconfig : virtual public ReplayUser
{ {
public: public:
DMUserReconfig( DMUserReconfig(
...@@ -130,7 +133,9 @@ public: ...@@ -130,7 +133,9 @@ public:
double date, std::list<shared_ptr<Job>> &jobs, std::list<const Profile *> &profiles); double date, std::list<shared_ptr<Job>> &jobs, std::list<const Profile *> &profiles);
protected: protected:
bool handle_job(double date, shared_ptr<Job>job, Profile *profile); bool reconfig_job(shared_ptr<Job> job,Profile *profile);
virtual bool handle_job(double date, shared_ptr<Job> job,
Profile *profile);
double alpha = 1.0; // for the speedup model double alpha = 1.0; // for the speedup model
}; };
...@@ -138,7 +143,7 @@ protected: ...@@ -138,7 +143,7 @@ protected:
* @brief * @brief
* @details * @details
*/ */
class DMUserDegrad : public ReplayUser class DMUserDegrad : virtual public ReplayUser
{ {
public: public:
DMUserDegrad( DMUserDegrad(
...@@ -149,14 +154,15 @@ public: ...@@ -149,14 +154,15 @@ public:
double date, std::list<shared_ptr<Job>> &jobs, std::list<const Profile *> &profiles); double date, std::list<shared_ptr<Job>> &jobs, std::list<const Profile *> &profiles);
protected: protected:
bool handle_job(double date, shared_ptr<Job>job, Profile *profile); bool degrad_job(shared_ptr<Job> job,Profile *profile);
bool handle_job(double date, shared_ptr<Job> job, Profile *profile);
}; };
/** /**
* @brief * @brief
* @details * @details
*/ */
class DMUserRenonce : public ReplayUser class DMUserRenonce : virtual public ReplayUser
{ {
public: public:
DMUserRenonce( DMUserRenonce(
...@@ -167,14 +173,15 @@ public: ...@@ -167,14 +173,15 @@ public:
double date, std::list<shared_ptr<Job>> &jobs, std::list<const Profile *> &profiles); double date, std::list<shared_ptr<Job>> &jobs, std::list<const Profile *> &profiles);
protected: protected:
bool handle_job(double date, shared_ptr<Job>job, Profile *profile); bool renonce_job(shared_ptr<Job> job);
bool handle_job(double date, shared_ptr<Job> job, Profile *profile);
}; };
/** /**
* @brief * @brief
* @details * @details
*/ */
class DMUserDelay : public ReplayUser class DMUserDelay : virtual public ReplayUser
{ {
public: public:
DMUserDelay( DMUserDelay(
...@@ -185,5 +192,6 @@ public: ...@@ -185,5 +192,6 @@ public:
double date, std::list<shared_ptr<Job>> &jobs, std::list<const Profile *> &profiles); double date, std::list<shared_ptr<Job>> &jobs, std::list<const Profile *> &profiles);
protected: protected:
bool handle_job(double date, shared_ptr<Job>job, Profile *profile); bool delay_job(shared_ptr<Job> job);
}; bool handle_job(double date, shared_ptr<Job> job, Profile *profile);
\ No newline at end of file };
#include "user_windows.hpp"
#include "../pempek_assert.hpp"
DMWindow_list::DMWindow_list(std::vector<DMWindow> window_array){
content= window_array;
}
bool DMWindow_list::date_in_dm_window(double date){
/* Returns true if the date is in one of the dm_window of the DMWindow_list */
std::vector<DMWindow_list>::size_type index = index_in_dm_window(date);
return index!=content.size();
}
std::vector<DMWindow_list>::size_type DMWindow_list::index_in_dm_window(double date){
for ( std::vector<DMWindow>::size_type i=0; i < content.size();i++){
DMWindow dm_window = content[i];
if(dm_window.date_in_dm_window(date)){
return i;
}
}
return content.size();
}
void DMUserMultiBehavior::init_prob(const rapidjson::Value &param){
//Red window probability initialization
std::vector<double> red_prob (5,0.0);
std::string red_config[] = {"red_prob_degrad","red_prob_see_you_later",
"red_prob_reconfig","red_prob_renonce","red_prob_rigid"};
red_prob_total=0.0;
//We set the probability either by reading json data or by drawing it randomly
for (std::vector<double>::size_type i =0 ; i < red_prob.size();i++){
std::string current_prob = red_config[i];
if(param.HasMember(current_prob.c_str())){
PPK_ASSERT_ERROR(param[current_prob.c_str()].IsDouble()
&& param[current_prob.c_str()].GetDouble()>=0.0,
"Error every specified red probability should be a non-negative Double");
red_prob[i] = param[current_prob.c_str()].GetDouble();
red_prob_total += red_prob[i];
}
}
/* If we need red_probabilities and
* they are none that are defined and non-zero we raise an error */
std::string error_message = "Error in parameter defined for user ";
error_message += user_name;
error_message += ". The sum of the probability given in parameter sum to 0.0 for red_windows"
"Check that you gave red_prob_behavior parameter to user and at least "
"one non-zero probability";
PPK_ASSERT_ERROR( red_prob_total != 0.0 || !(dm_window || red_windows), error_message.c_str());
//we save the result in the used probability variable
red_prob_degrad = red_prob[0];
red_prob_Cyoulater = red_prob[1] ;
red_prob_reconfig = red_prob[2];
red_prob_renonce = red_prob[3];
// Yellow probability Initialization
std::vector<double> yellow_prob (3,0.0);
std::string yellow_config[] = {"yellow_prob_degrad",
"yellow_prob_reconfig","yellow_prob_rigid"};
yellow_prob_total=0.0;
//We set the probability either by reading json data or by drawing it randomly
for (std::vector<double>::size_type i =0 ; i < yellow_prob.size();i++){
std::string current_prob = yellow_config[i];
if(param.HasMember(current_prob.c_str())){
PPK_ASSERT_ERROR(param[current_prob.c_str()].IsDouble()
&& param[current_prob.c_str()].GetDouble()>=0.0,
"Error every specified yellow probability should be a non-negative Double");
yellow_prob[i] = param[current_prob.c_str()].GetDouble();
yellow_prob_total += yellow_prob[i];
}
}
error_message = "Error in parameter defined for user ";
error_message += user_name;
error_message += ". The sum of the probability given in parameter sum to 0.0 for yellow_windows"
" Check that you gave at least one non-zero yellow_prob_behavior parameter to user ";
/* If we need yellow_probabilities,
* and they are none that are defined and non-zero we raise an error */
PPK_ASSERT_ERROR( yellow_prob_total != 0.0 || !(yellow_windows), error_message.c_str());
//we save the result in the used probability variable
yellow_prob_degrad= yellow_prob[0];
yellow_prob_reconfig = yellow_prob[1];
}
DMUserMultiBehavior::DMUserMultiBehavior(
std::string name, const rapidjson::Value &param, DMWindow *window,
uint_fast32_t random_seed,DMWindow_list *y_windows,
DMWindow_list *r_windows, LoggerUserStat* logger)
: DMUserRenonce(name,param,window),DMUserReconfig(name,param,window),
DMUserDegrad(name,param,window)
{
yellow_windows = y_windows;
red_windows = r_windows;
this->logger = logger;
red_window_buffer = nullptr;
yellow_window_buffer = nullptr;
random_gen = std::mt19937(random_seed);
init_prob(param);
}
DMUserMultiBehavior::~DMUserMultiBehavior()
{
if(original_trace)
{
delete original_trace;
original_trace = nullptr;
}
}
void DMUserMultiBehavior::jobs_to_submit(
double date, std::list<shared_ptr<Job>> &jobs, std::list< const Profile *> &profiles)
{
ReplayUser::jobs_to_submit(date, jobs, profiles);
}
bool DMUserMultiBehavior::C_you_later_job(double date, double next_time,shared_ptr<Job> job)
{
/* Log... */
log_behavior(job,"C_you_later",(long) next_time);
dm_stat[2 * DELAYED]++;
dm_stat[2*DELAYED+1]+= job->nb_requested_resources * std::stol(job->profile);
/* Delete original job from queue and update date */
original_trace->remove_job(original_trace->first_job());
job->submission_time = date + next_time;
/* Put job back in the queue and sort */
SortableJobOrder::UpdateInformation update_info(0);
Job *j = new Job();
*j = *job;
original_trace->insert_job(j);
original_trace->sort_queue(&update_info);
/* Return "Do not execute now" */
return false;
}
bool DMUserMultiBehavior::red_window_behavior(double date,shared_ptr<Job> job,Profile *profile)
{
/*
* We decide at random the behavior
* (renounce, C_you_later, degrad, reconfig,rigid)
* that will be done on this job
*/
double behavior = distribution(random_gen)*red_prob_total;
if (behavior < red_prob_renonce){
log_behavior(job,"renonce",0);
return renonce_job(job);
}
else if (behavior < red_prob_renonce+red_prob_Cyoulater){
return C_you_later_job(date,3600,job);
}
else if (behavior < red_prob_degrad + red_prob_Cyoulater + red_prob_renonce){
log_behavior(job,"consider_degrad",0);
if (job->nb_requested_resources== 1){
log_behavior(job,"rigid",0);
}
else{
log_behavior(job, "degrad", 0);
}
return degrad_job(job,profile);
}
else if (behavior <
red_prob_degrad + red_prob_Cyoulater + red_prob_renonce + red_prob_reconfig){
log_behavior(job,"consider_reconfig",0);
if (job->nb_requested_resources == 1){
log_behavior(job,"rigid",0);
}
else{
log_behavior(job, "reconfig", 0);
}
return reconfig_job(job,profile);
}
else{
// if none of the above we launch the job without changing anything
// i.e. rigid strategy
log_behavior(job,"rigid",0);
Parser::profile_from_duration(
profile, job->profile, user_name, platform_computing_speed);
dm_stat[2 * RIGID]++;
dm_stat[2 * RIGID + 1]
+= job->nb_requested_resources * std::stol(job->profile);
return true;
}
}
bool DMUserMultiBehavior::yellow_window_behavior(shared_ptr<Job> job,Profile *profile){
/*
* We decide at random the behavior (rigid, degrad, reconfig)
* that will be done on this job
*/
double behavior = distribution(random_gen)*yellow_prob_total;
if (behavior < yellow_prob_reconfig){
log_behavior(job,"consider_reconfig",0);
if (job->nb_requested_resources == 1){
log_behavior(job,"rigid",0);
}
else{
log_behavior(job, "reconfig", 0);
}
return reconfig_job(job,profile);
}
else if (behavior < yellow_prob_reconfig+yellow_prob_degrad){
log_behavior(job,"consider_degrad",0);
if (job->nb_requested_resources== 1){
log_behavior(job,"rigid",0);
}
else{
log_behavior(job, "degrad", 0);
}
return degrad_job(job,profile);
}
else{
// if none of the above we launch the job without i.e. rigid strategy
log_behavior(job,"rigid",0);
Parser::profile_from_duration(
profile, job->profile, user_name, platform_computing_speed);
dm_stat[2 * RIGID]++;
dm_stat[2 * RIGID + 1]
+= job->nb_requested_resources * std::stol(job->profile);
return true;
}
}
void DMUserMultiBehavior::log_behavior(shared_ptr<Job> job,std::string behavior_name, long delay_time)
{
if(logger){
logger->add_stat(job,behavior_name,delay_time);
}
}
bool DMUserMultiBehavior::is_in_red_window(double date){
// Check whether the date is in a red_window
if ((dm_window && dm_window->date_in_dm_window(date))
|| (red_window_buffer && red_window_buffer->date_in_dm_window(date))){
return true;
}
if (red_windows == nullptr){
return false;
}
std::vector<DMWindow_list>::size_type index_red = red_windows->index_in_dm_window(date);
if( index_red != red_windows->content.size()) {
red_window_buffer = &red_windows->content[index_red];
return true;
}
return false;
}
bool DMUserMultiBehavior::is_in_yellow_window(double date){
// Check whether the date is in yellow_window
if (yellow_windows == nullptr){
return false;
}
if (yellow_window_buffer && yellow_window_buffer->date_in_dm_window(date)){
return true;
}
std::vector<DMWindow_list>::size_type index_yellow = yellow_windows->index_in_dm_window(date);
if( index_yellow != yellow_windows->content.size()) {
yellow_window_buffer = &yellow_windows->content[index_yellow];
return true;
}
return false;
}
bool DMUserMultiBehavior::handle_job(double date, shared_ptr<Job> job, Profile *profile)
{
//red_windows and dm_windows check
if(is_in_red_window(date)) {
return red_window_behavior(date, job,profile);
}
// yellow_windows check
if (is_in_yellow_window(date)){
/*
* We decide at random the behavior (rigid,degrad, reconfig)
* that will be done on this job
*/
return yellow_window_behavior(job,profile);
}
else
{
log_behavior(job,"rigid",0);
Parser::profile_from_duration(
profile, job->profile, user_name, platform_computing_speed);
dm_stat[2 * RIGID]++;
dm_stat[2 * RIGID + 1]
+= job->nb_requested_resources * std::stol(job->profile);
return true;
}
}
\ No newline at end of file
#pragma once
#include "users/user.hpp"
#include <random>
#include "queue.hpp"
#include "users/user_replay.hpp"
#include "users/log_user_stat.hpp"
/**
* @brief list of date interval
* @details DMWindow_list is a strut that contains a list of DMwindow and
* provide function to check whether or not we are
* in one of these windows.
*/
struct DMWindow_list
{
std::vector<DMWindow> content;
DMWindow_list(std::vector<DMWindow> window_array);
std::vector<DMWindow>::size_type index_in_dm_window(double date);
bool date_in_dm_window(double date);
};
/**
* @brief User class that adopts a different set of submission behaviors depending
* on the energy state (red, yellow, green)
* @details Below are the behaviors drawn at random when the date is in a particular window
* - red window: behaviors degrad, c_you_later, renounce, reconfig and rigid
* - yellow window: behaviors degrad, reconfig and rigid
* - otherwise ("green window"): rigid
* See the documentation of red_window_behavior and yellow_window_behavior.
*/
class DMUserMultiBehavior : public DMUserRenonce,public DMUserReconfig,
public DMUserDegrad
{
public:
DMUserMultiBehavior(
std::string name, const rapidjson::Value &param, DMWindow *window,
uint_fast32_t random_seed, DMWindow_list *yellow_windows,
DMWindow_list *red_windows, LoggerUserStat* logger);
~DMUserMultiBehavior();
double next_submission();
void jobs_to_submit(
double date, std::list<shared_ptr<Job> > &jobs, std::list< const Profile *> &profiles);
protected:
DMWindow_list *yellow_windows;
DMWindow_list * red_windows;
DMWindow *red_window_buffer;
DMWindow *yellow_window_buffer;
std::mt19937 random_gen;
std::uniform_real_distribution<double> distribution
= std::uniform_real_distribution<double>(0.0, 1.0);
LoggerUserStat *logger = nullptr ;
void init_prob(const rapidjson::Value &param);
bool is_in_yellow_window(double date);
bool is_in_red_window(double date);
void log_behavior(shared_ptr<Job> job, std::string behavior_name, long delay_time);
bool C_you_later_job(double date, double next_time,shared_ptr<Job> job);
/**
* @brief function called each time the user want to submit a job
* @details This function does the following :
* - if the user is in a red window
* the user adopt the behavior define in red_window_behavior
* - if the user is in a yellow window AND not in a red one
* the user adopt the behavior define in yellow_windows_behavior
* - else the user submit its job without any change
*/
bool handle_job(double date,shared_ptr<Job> job,Profile *profile);
/**
* @brief function called when the user submit a job in red state
* @details This function do the 5 behavior for red windows of the class
* (degrad,reconfig,renonce,rigid,see_you_later)
* following the provided probabilities given at the creation of the class
*/
bool red_window_behavior(double date,shared_ptr<Job> job, Profile *profile);
/**
* @brief function called when the user submit a job in yellow state
* @details This function do the 3 behaviors for yellow windows (degrad,reconfig, rigid)
* following the provided probabilities given at the creation of the class
*/
bool yellow_window_behavior(shared_ptr<Job> job, Profile *profile);
double red_prob_Cyoulater,red_prob_renonce, red_prob_reconfig,red_prob_degrad;
double red_prob_total;
double yellow_prob_degrad,yellow_prob_reconfig;
double yellow_prob_total;
};
job_id,workload_name,profile,submission_time,requested_number_of_resources,requested_time,success,final_state,starting_time,execution_time,finish_time,waiting_time,turnaround_time,stretch,allocated_resources,consumed_energy,metadata
750,user14,450,66346.000000,1,86400.000000,1,COMPLETED_SUCCESSFULLY,66346.000000,450.000000,66796.000000,0.000000,450.000000,1.000000,0,50001.750000,""
751,user14,210,66591.000000,1,86400.000000,1,COMPLETED_SUCCESSFULLY,66591.000000,210.000000,66801.000000,0.000000,210.000000,1.000000,0,24283.312500,""
781,user14,290,67841.000000,1,86400.000000,1,COMPLETED_SUCCESSFULLY,67841.000000,290.000000,68131.000000,0.000000,290.000000,1.000000,0,40063.812500,""
768,user14,920,67537.000000,1,86400.000000,1,COMPLETED_SUCCESSFULLY,67537.000000,920.000000,68457.000000,0.000000,920.000000,1.000000,0,126127.437500,""
800,user14,550,69271.000000,1,86400.000000,1,COMPLETED_SUCCESSFULLY,69271.000000,550.000000,69821.000000,0.000000,550.000000,1.000000,0,103174.750000,""
1384,user18,10,119976.000000,4,7200.000000,1,COMPLETED_SUCCESSFULLY,119976.000000,10.000000,119986.000000,0.000000,10.000000,1.000000,1,1292.500000,""
1386,user18,60,120259.000000,4,7200.000000,1,COMPLETED_SUCCESSFULLY,120259.000000,60.000000,120319.000000,0.000000,60.000000,1.000000,1,7755.000000,""
1387,user18,60,120441.000000,4,7200.000000,1,COMPLETED_SUCCESSFULLY,120441.000000,60.000000,120501.000000,0.000000,60.000000,1.000000,1,7755.000000,""
804,user14,78610,69496.000000,1,157216.000000,1,COMPLETED_SUCCESSFULLY,69496.000000,78610.000000,148106.000000,0.000000,78610.000000,1.000000,0,15332897.875000,""
752,user14,81540,66767.000000,1,163068.000000,1,COMPLETED_SUCCESSFULLY,66767.000000,81540.000000,148307.000000,0.000000,81540.000000,1.000000,0,15755022.000000,""
799,user14,79590,69132.000000,1,159178.000000,1,COMPLETED_SUCCESSFULLY,69132.000000,79590.000000,148722.000000,0.000000,79590.000000,1.000000,0,15510180.000000,""
808,user14,79440,69608.000000,1,158872.000000,1,COMPLETED_SUCCESSFULLY,69608.000000,79440.000000,149048.000000,0.000000,79440.000000,1.000000,0,15480927.937500,""
757,user14,86140,66895.000000,1,172260.000000,1,COMPLETED_SUCCESSFULLY,66895.000000,86140.000000,153035.000000,0.000000,86140.000000,1.000000,0,16533240.062500,""
758,user14,86130,66959.000000,1,172250.000000,1,COMPLETED_SUCCESSFULLY,66959.000000,86130.000000,153089.000000,0.000000,86130.000000,1.000000,0,16534463.062500,""
791,user14,86130,68068.000000,1,172248.000000,1,COMPLETED_SUCCESSFULLY,68068.000000,86130.000000,154198.000000,0.000000,86130.000000,1.000000,0,16561358.437500,""
794,user14,86120,68149.000000,1,172226.000000,1,COMPLETED_SUCCESSFULLY,68149.000000,86120.000000,154269.000000,0.000000,86120.000000,1.000000,0,16560051.312500,""
795,user14,86130,68533.000000,1,172246.000000,1,COMPLETED_SUCCESSFULLY,68533.000000,86130.000000,154663.000000,0.000000,86130.000000,1.000000,0,16559164.687500,""
796,user14,86120,68771.000000,1,172236.000000,1,COMPLETED_SUCCESSFULLY,68771.000000,86120.000000,154891.000000,0.000000,86120.000000,1.000000,0,16554391.437500,""
797,user14,86130,68917.000000,1,172242.000000,1,COMPLETED_SUCCESSFULLY,68917.000000,86130.000000,155047.000000,0.000000,86130.000000,1.000000,0,16551340.312500,""
798,user14,86140,69021.000000,1,172260.000000,1,COMPLETED_SUCCESSFULLY,69021.000000,86140.000000,155161.000000,0.000000,86140.000000,1.000000,0,16547923.562500,""
809,user14,86140,69841.000000,1,172272.000000,1,COMPLETED_SUCCESSFULLY,69841.000000,86140.000000,155981.000000,0.000000,86140.000000,1.000000,0,16486520.500000,""
2726,user16,670,300614.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,300614.000000,670.000000,301284.000000,0.000000,670.000000,1.000000,1,145024.375003,""
2722,user16,1570,300612.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,300612.000000,1570.000000,302182.000000,0.000000,1570.000000,1.000000,1,340178.125003,""
2724,user16,1910,300613.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,300613.000000,1910.000000,302523.000000,0.000000,1910.000000,1.000000,1,414045.875003,""
2725,user16,2500,300613.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,300613.000000,2500.000000,303113.000000,0.000000,2500.000000,1.000000,1,542075.875003,""
2719,user16,4160,300610.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,300610.000000,4160.000000,304770.000000,0.000000,4160.000000,1.000000,0,901688.937503,""
2729,user16,4920,300627.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,300627.000000,4920.000000,305547.000000,0.000000,4920.000000,1.000000,1,1067640.000003,""
2732,user16,3070,300628.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,302523.000000,3070.000000,305593.000000,1895.000000,4965.000000,1.617264,1,666190.000000,""
2720,user16,5110,300611.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,300611.000000,5110.000000,305721.000000,0.000000,5110.000000,1.000000,0,1107875.500003,""
2721,user16,5350,300611.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,300611.000000,5350.000000,305961.000000,0.000000,5350.000000,1.000000,0,1159955.500003,""
2727,user16,5770,300614.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,300614.000000,5770.000000,306384.000000,0.000000,5770.000000,1.000000,1,1251724.375003,""
2717,user16,6630,300609.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,300609.000000,6630.000000,307239.000000,0.000000,6630.000000,1.000000,0,1437613.125003,""
2733,user16,4940,300632.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,303113.000000,4940.000000,308053.000000,2481.000000,7421.000000,1.502227,1,1071980.000000,""
2716,user16,7510,300609.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,300609.000000,7510.000000,308119.000000,0.000000,7510.000000,1.000000,0,1628573.125003,""
2715,user16,7560,300608.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,300608.000000,7560.000000,308168.000000,0.000000,7560.000000,1.000000,0,1639328.062503,""
2734,user16,3490,300632.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,304770.000000,3490.000000,308260.000000,4138.000000,7628.000000,2.185673,0,757330.000000,""
2718,user16,8640,300610.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,300610.000000,8640.000000,309250.000000,0.000000,8640.000000,1.000000,0,1873848.937503,""
2744,user16,2420,300637.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,308260.000000,2420.000000,310680.000000,7623.000000,10043.000000,4.150000,0,525140.000000,""
2742,user16,3030,300636.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,308119.000000,3030.000000,311149.000000,7483.000000,10513.000000,3.469637,0,657510.000000,""
2745,user16,2040,300637.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,309250.000000,2040.000000,311290.000000,8613.000000,10653.000000,5.222059,0,442680.000000,""
2723,user16,10740,300612.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,300612.000000,10740.000000,311352.000000,0.000000,10740.000000,1.000000,1,2330068.125003,""
2736,user16,6110,300633.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,305593.000000,6110.000000,311703.000000,4960.000000,11070.000000,1.811784,1,1325870.000000,""
2737,user16,6040,300633.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,305721.000000,6040.000000,311761.000000,5088.000000,11128.000000,1.842384,0,1310680.000000,""
2746,user16,1440,300637.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,310680.000000,1440.000000,312120.000000,10043.000000,11483.000000,7.974306,0,312480.000000,""
2738,user16,6280,300634.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,305961.000000,6280.000000,312241.000000,5327.000000,11607.000000,1.848248,0,1362760.000000,""
2730,user16,11580,300627.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,301284.000000,11580.000000,312864.000000,657.000000,12237.000000,1.056736,1,2512860.000000,""
2740,user16,6170,300635.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,307239.000000,6170.000000,313409.000000,6604.000000,12774.000000,2.070340,0,1338890.000000,""
2728,user16,12870,300626.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,300626.000000,12870.000000,313496.000000,0.000000,12870.000000,1.000000,1,2792775.375003,""
2749,user16,2760,300639.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,311352.000000,2760.000000,314112.000000,10713.000000,13473.000000,4.881522,1,598920.000000,""
2750,user16,3920,300639.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,311703.000000,3920.000000,315623.000000,11064.000000,14984.000000,3.822449,1,850640.000000,""
2757,user16,1820,300642.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,314112.000000,1820.000000,315932.000000,13470.000000,15290.000000,8.401099,1,394940.000000,""
2735,user16,12360,300633.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,305547.000000,12360.000000,317907.000000,4914.000000,17274.000000,1.397573,1,2682120.000000,""
2751,user16,6570,300640.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,311761.000000,6570.000000,318331.000000,11121.000000,17691.000000,2.692694,0,1425690.000000,""
2755,user16,5950,300641.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,313409.000000,5950.000000,319359.000000,12768.000000,18718.000000,3.145882,0,1291150.000000,""
2753,user16,7180,300641.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,312241.000000,7180.000000,319421.000000,11600.000000,18780.000000,2.615599,0,1558060.000000,""
2763,user16,30,300645.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,319421.000000,30.000000,319451.000000,18776.000000,18806.000000,626.866667,0,6510.000000,""
2743,user16,11490,300636.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,308168.000000,11490.000000,319658.000000,7532.000000,19022.000000,1.655527,0,2493330.000000,""
2739,user16,13390,300634.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,306384.000000,13390.000000,319774.000000,5750.000000,19140.000000,1.429425,1,2905630.000000,""
2754,user16,7910,300641.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,312864.000000,7910.000000,320774.000000,12223.000000,20133.000000,2.545259,1,1716470.000000,""
2756,user16,7680,300642.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,313496.000000,7680.000000,321176.000000,12854.000000,20534.000000,2.673698,1,1666560.000000,""
2766,user16,1830,300646.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,319774.000000,1830.000000,321604.000000,19128.000000,20958.000000,11.452459,1,397110.000000,""
2752,user16,9930,300640.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,312120.000000,9930.000000,322050.000000,11480.000000,21410.000000,2.156093,0,2154810.000000,""
2769,user16,810,300648.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,321604.000000,810.000000,322414.000000,20956.000000,21766.000000,26.871605,1,175770.000000,""
2770,user16,900,300648.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,322050.000000,900.000000,322950.000000,21402.000000,22302.000000,24.780000,0,195300.000000,""
2760,user16,5270,300644.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,317907.000000,5270.000000,323177.000000,17263.000000,22533.000000,4.275712,1,1143590.000000,""
2765,user16,3980,300646.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,319658.000000,3980.000000,323638.000000,19012.000000,22992.000000,5.776884,0,863660.000000,""
2747,user16,12850,300638.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,311149.000000,12850.000000,323999.000000,10511.000000,23361.000000,1.817977,0,2788450.000000,""
2771,user16,2190,300648.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,322414.000000,2190.000000,324604.000000,21766.000000,23956.000000,10.938813,1,475230.000000,""
2762,user16,6190,300644.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,319359.000000,6190.000000,325549.000000,18715.000000,24905.000000,4.023425,0,1343230.000000,""
2767,user16,5140,300647.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,320774.000000,5140.000000,325914.000000,20127.000000,25267.000000,4.915759,1,1115380.000000,""
2773,user16,3290,300649.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,323177.000000,3290.000000,326467.000000,22528.000000,25818.000000,7.847416,1,713930.000000,""
2775,user16,2520,300650.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,323999.000000,2520.000000,326519.000000,23349.000000,25869.000000,10.265476,0,546840.000000,""
2748,user16,15340,300638.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,311290.000000,15340.000000,326630.000000,10652.000000,25992.000000,1.694394,0,3328780.000000,""
2777,user16,1950,300651.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,325549.000000,1950.000000,327499.000000,24898.000000,26848.000000,13.768205,0,423150.000000,""
2759,user16,12580,300643.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,315932.000000,12580.000000,328512.000000,15289.000000,27869.000000,2.215342,1,2729860.000000,""
2758,user16,14410,300643.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,315623.000000,14410.000000,330033.000000,14980.000000,29390.000000,2.039556,1,3126970.000000,""
2783,user16,1530,300654.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,328512.000000,1530.000000,330042.000000,27858.000000,29388.000000,19.207843,1,332010.000000,""
2781,user16,4880,300653.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,326630.000000,4880.000000,331510.000000,25977.000000,30857.000000,6.323156,0,1058960.000000,""
2786,user16,80,300655.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,331510.000000,80.000000,331590.000000,30855.000000,30935.000000,386.687500,0,17360.000000,""
2787,user16,140,300656.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,331590.000000,140.000000,331730.000000,30934.000000,31074.000000,221.957143,0,30380.000000,""
2779,user16,5770,300652.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,326467.000000,5770.000000,332237.000000,25815.000000,31585.000000,5.474003,1,1252090.000000,""
2782,user16,5530,300653.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,327499.000000,5530.000000,333029.000000,26846.000000,32376.000000,5.854611,0,1200010.000000,""
2764,user16,13650,300645.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,319451.000000,13650.000000,333101.000000,18806.000000,32456.000000,2.377729,0,2962050.000000,""
2788,user16,1990,300656.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,331730.000000,1990.000000,333720.000000,31074.000000,33064.000000,16.615075,0,431830.000000,""
2774,user16,10790,300650.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,323638.000000,10790.000000,334428.000000,22988.000000,33778.000000,3.130491,0,2341430.000000,""
2792,user16,720,300658.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,333720.000000,720.000000,334440.000000,33062.000000,33782.000000,46.919444,0,156240.000000,""
2761,user16,16830,300644.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,318331.000000,16830.000000,335161.000000,17687.000000,34517.000000,2.050921,0,3652110.000000,""
2793,user16,2080,300659.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,334428.000000,2080.000000,336508.000000,33769.000000,35849.000000,17.235096,0,451360.000000,""
2785,user16,7120,300655.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,330042.000000,7120.000000,337162.000000,29387.000000,36507.000000,5.127388,1,1545040.000000,""
2796,user16,1710,300660.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,336508.000000,1710.000000,338218.000000,35848.000000,37558.000000,21.963743,0,371070.000000,""
2790,user16,5270,300657.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,333029.000000,5270.000000,338299.000000,32372.000000,37642.000000,7.142694,0,1143590.000000,""
2795,user16,3820,300660.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,335161.000000,3820.000000,338981.000000,34501.000000,38321.000000,10.031675,0,828940.000000,""
2768,user16,17870,300647.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,321176.000000,17870.000000,339046.000000,20529.000000,38399.000000,2.148797,1,3877790.000000,""
2778,user16,13360,300652.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,325914.000000,13360.000000,339274.000000,25262.000000,38622.000000,2.890868,1,2899120.000000,""
2731,user16,37440,300628.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,302182.000000,37440.000000,339622.000000,1554.000000,38994.000000,1.041506,1,8124480.000000,""
2784,user16,10130,300654.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,330033.000000,10130.000000,340163.000000,29379.000000,39509.000000,3.900197,1,2198210.000000,""
2800,user16,1450,300662.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,338981.000000,1450.000000,340431.000000,38319.000000,39769.000000,27.426897,0,314650.000000,""
2798,user16,2590,300661.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,338218.000000,2590.000000,340808.000000,37557.000000,40147.000000,15.500772,0,562030.000000,""
2772,user16,19310,300649.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,322950.000000,19310.000000,342260.000000,22301.000000,41611.000000,2.154894,0,4190270.000000,""
2776,user16,17710,300651.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,324604.000000,17710.000000,342314.000000,23953.000000,41663.000000,2.352513,1,3843070.000000,""
2797,user16,6180,300661.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,337162.000000,6180.000000,343342.000000,36501.000000,42681.000000,6.906311,1,1341060.000003,""
2802,user16,4620,300663.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,339274.000000,4620.000000,343894.000000,38611.000000,43231.000000,9.357359,1,1002540.000003,""
2809,user16,960,300666.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,343342.000000,960.000000,344302.000000,42676.000000,43636.000000,45.454167,1,208320.000000,""
2808,user16,2040,300666.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,342314.000000,2040.000000,344354.000000,41648.000000,43688.000000,21.415686,1,442680.000003,""
2801,user16,5830,300663.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,339046.000000,5830.000000,344876.000000,38383.000000,44213.000000,7.583705,1,1265110.000003,""
2799,user16,7090,300662.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,338299.000000,7090.000000,345389.000000,37637.000000,44727.000000,6.308463,0,1538530.000003,""
2811,user16,2660,300667.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,344302.000000,2660.000000,346962.000000,43635.000000,46295.000000,17.404135,1,577220.000000,""
2815,user16,140,300669.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,346962.000000,140.000000,347102.000000,46293.000000,46433.000000,331.664286,1,30380.000000,""
2805,user16,6700,300664.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,340431.000000,6700.000000,347131.000000,39767.000000,46467.000000,6.935373,0,1453900.000003,""
2789,user16,15450,300657.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,332237.000000,15450.000000,347687.000000,31580.000000,47030.000000,3.044013,1,3352650.000003,""
2814,user16,2350,300669.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,345389.000000,2350.000000,347739.000000,44720.000000,47070.000000,20.029787,0,509950.000000,""
2810,user16,4290,300667.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,343894.000000,4290.000000,348184.000000,43227.000000,47517.000000,11.076224,1,930930.000000,""
2791,user16,15090,300658.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,333101.000000,15090.000000,348191.000000,32443.000000,47533.000000,3.149967,0,3274530.000003,""
2818,user16,1930,300671.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,347687.000000,1930.000000,349617.000000,47016.000000,48946.000000,25.360622,1,418810.000000,""
2821,user16,1560,300672.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,348191.000000,1560.000000,349751.000000,47519.000000,49079.000000,31.460897,0,338520.000000,""
2816,user16,3140,300670.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,347102.000000,3140.000000,350242.000000,46432.000000,49572.000000,15.787261,1,681380.000000,""
2741,user16,42490,300635.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,308053.000000,42490.000000,350543.000000,7418.000000,49908.000000,1.174582,1,9220330.000003,""
2813,user16,5990,300668.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,344876.000000,5990.000000,350866.000000,44208.000000,50198.000000,8.380301,1,1299830.000000,""
2823,user16,1320,300673.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,349751.000000,1320.000000,351071.000000,49078.000000,50398.000000,38.180303,0,286440.000000,""
2819,user16,3510,300671.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,347739.000000,3510.000000,351249.000000,47068.000000,50578.000000,14.409687,0,761670.000000,""
2822,user16,1900,300673.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,349617.000000,1900.000000,351517.000000,48944.000000,50844.000000,26.760000,1,412300.000000,""
2827,user16,700,300675.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,351071.000000,700.000000,351771.000000,50396.000000,51096.000000,72.994286,0,151900.000000,""
2817,user16,4850,300670.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,347131.000000,4850.000000,351981.000000,46461.000000,51311.000000,10.579588,0,1052450.000000,""
2803,user16,12540,300664.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,339622.000000,12540.000000,352162.000000,38958.000000,51498.000000,4.106699,1,2721180.000003,""
2828,user16,1250,300676.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,351249.000000,1250.000000,352499.000000,50573.000000,51823.000000,41.458400,0,271250.000000,""
2831,user16,550,300677.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,351981.000000,550.000000,352531.000000,51304.000000,51854.000000,94.280000,0,119350.000000,""
2829,user16,1250,300676.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,351517.000000,1250.000000,352767.000000,50841.000000,52091.000000,41.672800,1,271250.000000,""
2825,user16,2390,300674.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,350543.000000,2390.000000,352933.000000,49869.000000,52259.000000,21.865690,1,518630.000000,""
2833,user16,1010,300678.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,352499.000000,1010.000000,353509.000000,51821.000000,52831.000000,52.307921,0,219170.000000,""
2835,user16,920,300679.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,352767.000000,920.000000,353687.000000,52088.000000,53008.000000,57.617391,1,199640.000000,""
2834,user16,1850,300679.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,352531.000000,1850.000000,354381.000000,51852.000000,53702.000000,29.028108,0,401450.000000,""
2806,user16,13930,300665.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,340808.000000,13930.000000,354738.000000,40143.000000,54073.000000,3.881766,0,3022810.000003,""
2840,user16,410,300681.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,354738.000000,410.000000,355148.000000,54057.000000,54467.000000,132.846341,0,88970.000000,""
2794,user16,21070,300659.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,334440.000000,21070.000000,355510.000000,33781.000000,54851.000000,2.603275,0,4572190.000003,""
2839,user16,1710,300681.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,354381.000000,1710.000000,356091.000000,53700.000000,55410.000000,32.403509,0,371070.000000,""
2830,user16,4730,300677.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,351771.000000,4730.000000,356501.000000,51094.000000,55824.000000,11.802114,0,1026410.000000,""
2807,user16,14410,300665.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,342260.000000,14410.000000,356670.000000,41595.000000,56005.000000,3.886537,0,3126970.000003,""
2836,user16,3970,300680.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,352933.000000,3970.000000,356903.000000,52253.000000,56223.000000,14.161965,1,861490.000000,""
2842,user16,1710,300682.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,355510.000000,1710.000000,357220.000000,54828.000000,56538.000000,33.063158,0,371070.000000,""
2826,user16,6750,300675.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,350866.000000,6750.000000,357616.000000,50191.000000,56941.000000,8.435704,1,1464750.000000,""
2847,user16,2260,300685.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,357220.000000,2260.000000,359480.000000,56535.000000,58795.000000,26.015487,0,490420.000000,""
2838,user16,6630,300681.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,353687.000000,6630.000000,360317.000000,53006.000000,59636.000000,8.994872,1,1438710.000000,""
2843,user16,5160,300683.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,356091.000000,5160.000000,361251.000000,55408.000000,60568.000000,11.737984,0,1119720.000000,""
2844,user16,4780,300683.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,356501.000000,4780.000000,361281.000000,55818.000000,60598.000000,12.677406,0,1037260.000000,""
2812,user16,17030,300668.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,344354.000000,17030.000000,361384.000000,43686.000000,60716.000000,3.565238,1,3695510.000000,""
2852,user16,2030,300687.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,361281.000000,2030.000000,363311.000000,60594.000000,62624.000000,30.849261,0,440510.000000,""
2841,user16,8340,300682.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,355148.000000,8340.000000,363488.000000,54466.000000,62806.000000,7.530695,0,1809780.000000,""
2820,user16,15960,300672.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,348184.000000,15960.000000,364144.000000,47512.000000,63472.000000,3.976942,1,3463320.000000,""
2824,user16,13910,300674.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,350242.000000,13910.000000,364152.000000,49568.000000,63478.000000,4.563480,1,3018470.000000,""
2853,user16,2780,300688.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,361384.000000,2780.000000,364164.000000,60696.000000,63476.000000,22.833094,1,603260.000000,""
2850,user16,4370,300686.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,360317.000000,4370.000000,364687.000000,59631.000000,64001.000000,14.645538,1,948290.000000,""
2837,user16,11960,300680.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,353509.000000,11960.000000,365469.000000,52829.000000,64789.000000,5.417140,0,2595320.000000,""
2849,user16,6320,300686.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,359480.000000,6320.000000,365800.000000,58794.000000,65114.000000,10.302848,0,1371440.000000,""
2856,user16,2990,300689.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,364144.000000,2990.000000,367134.000000,63455.000000,66445.000000,22.222408,1,648830.000000,""
2846,user16,10600,300684.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,356903.000000,10600.000000,367503.000000,56219.000000,66819.000000,6.303679,1,2300200.000000,""
2861,user16,1940,300691.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,365800.000000,1940.000000,367740.000000,65109.000000,67049.000000,34.561340,0,420980.000000,""
2780,user16,41240,300652.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,326519.000000,41240.000000,367759.000000,25867.000000,67107.000000,1.627231,0,8949080.000003,""
2864,user16,1300,300693.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,367740.000000,1300.000000,369040.000000,67047.000000,68347.000000,52.574615,0,282100.000000,""
2862,user16,2090,300692.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,367134.000000,2090.000000,369224.000000,66442.000000,68532.000000,32.790431,1,453530.000000,""
2860,user16,3840,300691.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,365469.000000,3840.000000,369309.000000,64778.000000,68618.000000,17.869271,0,833280.000000,""
2804,user16,29290,300664.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,340163.000000,29290.000000,369453.000000,39499.000000,68789.000000,2.348549,1,6355930.000003,""
2863,user16,3800,300692.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,367503.000000,3800.000000,371303.000000,66811.000000,70611.000000,18.581842,1,824600.000000,""
2858,user16,7170,300690.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,364164.000000,7170.000000,371334.000000,63474.000000,70644.000000,9.852720,1,1555890.000000,""
2867,user16,2140,300694.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,369224.000000,2140.000000,371364.000000,68530.000000,70670.000000,33.023364,1,464380.000000,""
2871,user16,1160,300696.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,371334.000000,1160.000000,372494.000000,70638.000000,71798.000000,61.894828,1,251720.000000,""
2866,user16,4730,300694.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,369040.000000,4730.000000,373770.000000,68346.000000,73076.000000,15.449471,0,1026410.000000,""
2865,user16,6170,300693.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,367759.000000,6170.000000,373929.000000,67066.000000,73236.000000,11.869692,0,1338890.000000,""
2869,user16,4600,300695.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,369453.000000,4600.000000,374053.000000,68758.000000,73358.000000,15.947391,1,998200.000000,""
2848,user16,17080,300685.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,357616.000000,17080.000000,374696.000000,56931.000000,74011.000000,4.333197,1,3706360.000000,""
2872,user16,3580,300697.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,371364.000000,3580.000000,374944.000000,70667.000000,74247.000000,20.739385,1,776860.000000,""
2876,user16,1850,300699.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,374053.000000,1850.000000,375903.000000,73354.000000,75204.000000,40.650811,1,401450.000000,""
2874,user16,2250,300698.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,373770.000000,2250.000000,376020.000000,73072.000000,75322.000000,33.476444,0,488250.000000,""
2832,user16,24120,300678.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,352162.000000,24120.000000,376282.000000,51484.000000,75604.000000,3.134494,1,5234040.000000,""
2859,user16,11760,300690.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,364687.000000,11760.000000,376447.000000,63997.000000,75757.000000,6.441922,1,2551920.000000,""
2845,user16,21020,300684.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,356670.000000,21020.000000,377690.000000,55986.000000,77006.000000,3.663463,0,4561340.000000,""
2882,user16,2500,300702.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,376447.000000,2500.000000,378947.000000,75745.000000,78245.000000,31.298000,1,542500.000000,""
2873,user16,7400,300697.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,372494.000000,7400.000000,379894.000000,71797.000000,79197.000000,10.702297,1,1605800.000000,""
2877,user16,5950,300699.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,374696.000000,5950.000000,380646.000000,73997.000000,79947.000000,13.436471,1,1291150.000000,""
2881,user16,5230,300701.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,376282.000000,5230.000000,381512.000000,75581.000000,80811.000000,15.451434,1,1134910.000000,""
2878,user16,7050,300700.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,374944.000000,7050.000000,381994.000000,74244.000000,81294.000000,11.531064,1,1529850.000000,""
2886,user16,1670,300703.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,380646.000000,1670.000000,382316.000000,79943.000000,81613.000000,48.870060,1,362390.000000,""
2879,user16,7880,300700.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,375903.000000,7880.000000,383783.000000,75203.000000,83083.000000,10.543528,1,1709960.000000,""
2884,user16,5490,300702.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,378947.000000,5490.000000,384437.000000,78245.000000,83735.000000,15.252277,1,1191330.000000,""
2887,user16,3940,300704.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,381512.000000,3940.000000,385452.000000,80808.000000,84748.000000,21.509645,1,854980.000000,""
2868,user16,16180,300695.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,369309.000000,16180.000000,385489.000000,68614.000000,84794.000000,5.240667,0,3511060.000000,""
2851,user16,24660,300687.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,361251.000000,24660.000000,385911.000000,60564.000000,85224.000000,3.455961,0,5351220.000000,""
2857,user16,22340,300689.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,364152.000000,22340.000000,386492.000000,63463.000000,85803.000000,3.840779,1,4847780.000000,""
2527,user14,86130,300599.000000,1,172242.000000,1,COMPLETED_SUCCESSFULLY,300599.000000,86130.000000,386729.000000,0.000000,86130.000000,1.000000,0,18688030.875008,""
2528,user14,86120,300747.000000,1,172224.000000,1,COMPLETED_SUCCESSFULLY,300747.000000,86120.000000,386867.000000,0.000000,86120.000000,1.000000,0,18688040.000005,""
2885,user16,7520,300703.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,379894.000000,7520.000000,387414.000000,79191.000000,86711.000000,11.530718,1,1631840.000000,""
2875,user16,14390,300698.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,373929.000000,14390.000000,388319.000000,73231.000000,87621.000000,6.089020,0,3122630.000000,""
2888,user16,7320,300704.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,381994.000000,7320.000000,389314.000000,81290.000000,88610.000000,12.105191,1,1588440.000000,""
2855,user16,29350,300689.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,363488.000000,29350.000000,392838.000000,62799.000000,92149.000000,3.139659,0,6368950.000000,""
4190,user16,7740,343184.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,386492.000000,7740.000000,394232.000000,43308.000000,51048.000000,6.595349,1,1679580.000000,""
2870,user16,23330,300696.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,371303.000000,23330.000000,394633.000000,70607.000000,93937.000000,4.026447,1,5062610.000000,""
2854,user16,33500,300688.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,363311.000000,33500.000000,396811.000000,62623.000000,96123.000000,2.869343,0,7269500.000000,""
2880,user16,21530,300701.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,376020.000000,21530.000000,397550.000000,75319.000000,96849.000000,4.498328,0,4672010.000000,""
4187,user16,12900,343183.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,385452.000000,12900.000000,398352.000000,42269.000000,55169.000000,4.276667,1,2799300.000000,""
4192,user16,13780,343185.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,388319.000000,13780.000000,402099.000000,45134.000000,58914.000000,4.275327,0,2990260.000000,""
2883,user16,25000,300702.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,377690.000000,25000.000000,402690.000000,76988.000000,101988.000000,4.079520,0,5425000.000000,""
2889,user16,21910,300705.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,382316.000000,21910.000000,404226.000000,81611.000000,103521.000000,4.724829,1,4754470.000000,""
4188,user16,39570,343183.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,385489.000000,39570.000000,425059.000000,42306.000000,81876.000000,2.069143,0,8586690.000000,""
2529,user14,38530,300911.000000,1,86400.000000,1,COMPLETED_SUCCESSFULLY,386729.000000,38530.000000,425259.000000,85818.000000,124348.000000,3.227303,0,8361010.000000,""
2531,user14,5300,301080.000000,1,86400.000000,1,COMPLETED_SUCCESSFULLY,425259.000000,5300.000000,430559.000000,124179.000000,129479.000000,24.430000,0,1150100.000000,""
4196,user16,37690,343187.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,394633.000000,37690.000000,432323.000000,51446.000000,89136.000000,2.364977,1,8178730.000000,""
4201,user16,34340,343189.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,402690.000000,34340.000000,437030.000000,59501.000000,93841.000000,2.732702,0,7451780.000000,""
4198,user16,41400,343188.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,397550.000000,41400.000000,438950.000000,54362.000000,95762.000000,2.313092,0,8983800.000000,""
4197,user16,49700,343187.000000,2,99388.000000,1,COMPLETED_SUCCESSFULLY,396811.000000,49700.000000,446511.000000,53624.000000,103324.000000,2.078954,0,10784900.000000,""
4199,user16,51590,343188.000000,2,103178.000000,1,COMPLETED_SUCCESSFULLY,398352.000000,51590.000000,449942.000000,55164.000000,106754.000000,2.069277,1,11195030.000000,""
4203,user16,33160,343190.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,425059.000000,33160.000000,458219.000000,81869.000000,115029.000000,3.468908,0,7195720.000000,""
4194,user16,68890,343186.000000,2,137768.000000,1,COMPLETED_SUCCESSFULLY,392838.000000,68890.000000,461728.000000,49652.000000,118542.000000,1.720743,0,14949130.000000,""
4209,user16,9260,343193.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,458219.000000,9260.000000,467479.000000,115026.000000,124286.000000,13.421814,0,2009420.000000,""
4185,user16,86420,343182.000000,2,172838.000000,1,COMPLETED_SUCCESSFULLY,383783.000000,86420.000000,470203.000000,40601.000000,127021.000000,1.469810,1,18753140.000000,""
4205,user16,33180,343191.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,437030.000000,33180.000000,470210.000000,93839.000000,127019.000000,3.828180,0,7200060.000000,""
4186,user16,86430,343182.000000,2,172840.000000,1,COMPLETED_SUCCESSFULLY,384437.000000,86430.000000,470867.000000,41255.000000,127685.000000,1.477323,1,18755310.000000,""
4189,user16,86430,343184.000000,2,172842.000000,1,COMPLETED_SUCCESSFULLY,385911.000000,86430.000000,472341.000000,42727.000000,129157.000000,1.494354,0,18755310.000000,""
2530,user14,86120,301000.000000,1,172224.000000,1,COMPLETED_SUCCESSFULLY,386867.000000,86120.000000,472987.000000,85867.000000,171987.000000,1.997062,0,18688040.000000,""
4191,user16,86440,343184.000000,2,172866.000000,1,COMPLETED_SUCCESSFULLY,387414.000000,86440.000000,473854.000000,44230.000000,130670.000000,1.511684,1,18757480.000000,""
4193,user16,86440,343185.000000,2,172876.000000,1,COMPLETED_SUCCESSFULLY,389314.000000,86440.000000,475754.000000,46129.000000,132569.000000,1.533653,1,18757480.000000,""
4195,user16,86430,343186.000000,2,172846.000000,1,COMPLETED_SUCCESSFULLY,394232.000000,86430.000000,480662.000000,51046.000000,137476.000000,1.590605,1,18755310.000000,""
4207,user16,37810,343192.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,446511.000000,37810.000000,484321.000000,103319.000000,141129.000000,3.732584,0,8204770.000000,""
4200,user16,86430,343188.000000,2,172850.000000,1,COMPLETED_SUCCESSFULLY,402099.000000,86430.000000,488529.000000,58911.000000,145341.000000,1.681604,0,18755310.000000,""
4202,user16,86430,343189.000000,2,172850.000000,1,COMPLETED_SUCCESSFULLY,404226.000000,86430.000000,490656.000000,61037.000000,147467.000000,1.706202,1,18755310.000000,""
4208,user16,40830,343192.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,449942.000000,40830.000000,490772.000000,106750.000000,147580.000000,3.614499,1,8860110.000000,""
4213,user16,22370,343194.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,470210.000000,22370.000000,492580.000000,127016.000000,149386.000000,6.677962,0,4854290.000000,""
4212,user16,29460,343194.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,470203.000000,29460.000000,499663.000000,127009.000000,156469.000000,5.311236,1,6392820.000000,""
4216,user16,26520,343204.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,473854.000000,26520.000000,500374.000000,130650.000000,157170.000000,5.926471,1,5754840.000000,""
4225,user16,3150,343208.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,500374.000000,3150.000000,503524.000000,157166.000000,160316.000000,50.893968,1,683550.000000,""
4210,user16,42400,343193.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,461728.000000,42400.000000,504128.000000,118535.000000,160935.000000,3.795637,0,9200800.000000,""
4215,user16,32890,343195.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,472341.000000,32890.000000,505231.000000,129146.000000,162036.000000,4.926604,0,7137130.000000,""
4223,user16,16140,343207.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,492580.000000,16140.000000,508720.000000,149373.000000,165513.000000,10.254833,0,3502380.000000,""
4227,user16,7310,343213.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,504128.000000,7310.000000,511438.000000,160915.000000,168225.000000,23.012996,0,1586270.000000,""
2532,user14,86130,301192.000000,1,172242.000000,1,COMPLETED_SUCCESSFULLY,430559.000000,86130.000000,516689.000000,129367.000000,215497.000000,2.501997,0,18690210.000000,""
4204,user16,86430,343190.000000,2,172846.000000,1,COMPLETED_SUCCESSFULLY,432323.000000,86430.000000,518753.000000,89133.000000,175563.000000,2.031274,1,18755310.000000,""
4217,user16,43910,343205.000000,2,87818.000000,1,COMPLETED_SUCCESSFULLY,475754.000000,43910.000000,519664.000000,132549.000000,176459.000000,4.018652,1,9528470.000000,""
4228,user16,19800,343213.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,505231.000000,19800.000000,525031.000000,162018.000000,181818.000000,9.182727,0,4296600.000000,""
4206,user16,86430,343191.000000,2,172844.000000,1,COMPLETED_SUCCESSFULLY,438950.000000,86430.000000,525380.000000,95759.000000,182189.000000,2.107937,0,18755310.000000,""
4214,user16,73460,343195.000000,2,146900.000000,1,COMPLETED_SUCCESSFULLY,470867.000000,73460.000000,544327.000000,127672.000000,201132.000000,2.737980,1,15940820.000000,""
4220,user16,56960,343206.000000,2,113908.000000,1,COMPLETED_SUCCESSFULLY,488529.000000,56960.000000,545489.000000,145323.000000,202283.000000,3.551317,0,12360320.000000,""
4230,user16,37070,343214.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,511438.000000,37070.000000,548508.000000,168224.000000,205294.000000,5.538009,0,8044190.000000,""
4221,user16,58630,343206.000000,2,117258.000000,1,COMPLETED_SUCCESSFULLY,490656.000000,58630.000000,549286.000000,147450.000000,206080.000000,3.514924,1,12722710.000000,""
4236,user16,5200,343217.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,545489.000000,5200.000000,550689.000000,202272.000000,207472.000000,39.898462,0,1128400.000000,""
4224,user16,51210,343208.000000,2,102412.000000,1,COMPLETED_SUCCESSFULLY,499663.000000,51210.000000,550873.000000,156455.000000,207665.000000,4.055165,1,11112570.000000,""
4211,user16,86420,343193.000000,2,172836.000000,1,COMPLETED_SUCCESSFULLY,467479.000000,86420.000000,553899.000000,124286.000000,210706.000000,2.438162,0,18753140.000000,""
4609,user14,38730,395237.000000,1,86400.000000,1,COMPLETED_SUCCESSFULLY,516689.000000,38730.000000,555419.000000,121452.000000,160182.000000,4.135864,0,8404410.000000,""
4222,user16,67470,343207.000000,2,134926.000000,1,COMPLETED_SUCCESSFULLY,490772.000000,67470.000000,558242.000000,147565.000000,215035.000000,3.187120,1,14640990.000000,""
4608,user14,86120,395007.000000,1,172238.000000,1,COMPLETED_SUCCESSFULLY,472987.000000,86120.000000,559107.000000,77980.000000,164100.000000,1.905481,0,18688040.000000,""
4219,user16,77140,343205.000000,2,154272.000000,1,COMPLETED_SUCCESSFULLY,484321.000000,77140.000000,561461.000000,141116.000000,218256.000000,2.829349,0,16739380.000000,""
5932,user14,2410,546452.000000,1,86400.000000,1,COMPLETED_SUCCESSFULLY,559107.000000,2410.000000,561517.000000,12655.000000,15065.000000,6.251037,0,522970.000000,""
5957,user14,420,548896.000000,1,86400.000000,1,COMPLETED_SUCCESSFULLY,561517.000000,420.000000,561937.000000,12621.000000,13041.000000,31.050000,0,91140.000000,""
4232,user16,46910,343215.000000,2,93816.000000,1,COMPLETED_SUCCESSFULLY,519664.000000,46910.000000,566574.000000,176449.000000,223359.000000,4.761437,1,10179470.000000,""
4218,user16,86450,343205.000000,2,172890.000000,1,COMPLETED_SUCCESSFULLY,480662.000000,86450.000000,567112.000000,137457.000000,223907.000000,2.590017,1,18759650.000001,""
4237,user16,26350,343218.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,548508.000000,26350.000000,574858.000000,205290.000000,231640.000000,8.790892,0,5623465.187500,""
4243,user16,13610,343220.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,561461.000000,13610.000000,575071.000000,218241.000000,231851.000000,17.035342,0,2857327.625000,""
4229,user16,69550,343214.000000,2,139082.000000,1,COMPLETED_SUCCESSFULLY,508720.000000,69550.000000,578270.000000,165506.000000,235056.000000,3.379669,0,14972914.937501,""
4248,user16,4050,343222.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,578270.000000,4050.000000,582320.000000,235048.000000,239098.000000,59.036543,0,849234.375000,""
4241,user16,33990,343219.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,553899.000000,33990.000000,587889.000000,210680.000000,244670.000000,7.198294,0,7186056.000001,""
4233,user16,64550,343216.000000,2,129082.000000,1,COMPLETED_SUCCESSFULLY,525031.000000,64550.000000,589581.000000,181815.000000,246365.000000,3.816654,0,13805203.250001,""
4226,user16,86440,343209.000000,2,172872.000000,1,COMPLETED_SUCCESSFULLY,503524.000000,86440.000000,589964.000000,160315.000000,246755.000000,2.854639,1,18757480.000002,""
4231,user16,86430,343215.000000,2,172842.000000,1,COMPLETED_SUCCESSFULLY,518753.000000,86430.000000,605183.000000,175538.000000,261968.000000,3.030985,1,18755310.000001,""
4247,user16,30780,343222.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,575071.000000,30780.000000,605851.000000,231849.000000,262629.000000,8.532456,0,6454181.250001,""
4234,user16,86440,343216.000000,2,172872.000000,1,COMPLETED_SUCCESSFULLY,525380.000000,86440.000000,611820.000000,182164.000000,268604.000000,3.107404,0,18392710.562501,""
4246,user16,44570,343222.000000,2,89136.000000,1,COMPLETED_SUCCESSFULLY,574858.000000,44570.000000,619428.000000,231636.000000,276206.000000,6.197128,0,9345771.875001,""
4245,user16,56420,343221.000000,2,112822.000000,1,COMPLETED_SUCCESSFULLY,567112.000000,56420.000000,623532.000000,223891.000000,280311.000000,4.968291,1,12243140.000001,""
4242,user16,66080,343220.000000,2,132150.000000,1,COMPLETED_SUCCESSFULLY,558242.000000,66080.000000,624322.000000,215022.000000,281102.000000,4.253965,1,14339360.000001,""
4257,user16,2500,343226.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,623532.000000,2500.000000,626032.000000,280306.000000,282806.000000,113.122400,1,542500.000000,""
4235,user16,86420,343217.000000,2,172828.000000,1,COMPLETED_SUCCESSFULLY,544327.000000,86420.000000,630747.000000,201110.000000,287530.000000,3.327123,1,18753140.000002,""
4238,user16,86450,343218.000000,2,172882.000000,1,COMPLETED_SUCCESSFULLY,549286.000000,86450.000000,635736.000000,206068.000000,292518.000000,3.383667,1,18759650.000002,""
4244,user16,69290,343221.000000,2,138568.000000,1,COMPLETED_SUCCESSFULLY,566574.000000,69290.000000,635864.000000,223353.000000,292643.000000,4.223452,1,15035930.000001,""
4239,user16,86420,343218.000000,2,172832.000000,1,COMPLETED_SUCCESSFULLY,550689.000000,86420.000000,637109.000000,207471.000000,293891.000000,3.400729,0,18203444.750002,""
4240,user16,86420,343219.000000,2,172834.000000,1,COMPLETED_SUCCESSFULLY,550873.000000,86420.000000,637293.000000,207654.000000,294074.000000,3.402847,1,18753140.000002,""
4610,user14,86120,395415.000000,1,172222.000000,1,COMPLETED_SUCCESSFULLY,555419.000000,86120.000000,641539.000000,160004.000000,246124.000000,2.857919,0,18105950.375002,""
4255,user16,43490,343226.000000,2,86964.000000,1,COMPLETED_SUCCESSFULLY,611820.000000,43490.000000,655310.000000,268594.000000,312084.000000,7.175994,0,9220009.812500,""
4258,user16,31550,343227.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,624322.000000,31550.000000,655872.000000,281095.000000,312645.000000,9.909509,1,6846350.000000,""
4253,user16,52000,343225.000000,2,103996.000000,1,COMPLETED_SUCCESSFULLY,605183.000000,52000.000000,657183.000000,261958.000000,313958.000000,6.037654,1,11284000.000000,""
4252,user16,72670,343224.000000,2,145332.000000,1,COMPLETED_SUCCESSFULLY,589964.000000,72670.000000,662634.000000,246740.000000,319410.000000,4.395349,1,15769390.000000,""
4256,user16,43470,343226.000000,2,86924.000000,1,COMPLETED_SUCCESSFULLY,619428.000000,43470.000000,662898.000000,276202.000000,319672.000000,7.353853,0,9271303.312500,""
4249,user16,86430,343223.000000,2,172842.000000,1,COMPLETED_SUCCESSFULLY,582320.000000,86430.000000,668750.000000,239097.000000,325527.000000,3.766366,0,18322271.062500,""
4265,user16,29360,343230.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,641539.000000,29360.000000,670899.000000,298309.000000,327669.000000,11.160388,0,6371120.000000,""
4250,user16,86430,343223.000000,2,172848.000000,1,COMPLETED_SUCCESSFULLY,587889.000000,86430.000000,674319.000000,244666.000000,331096.000000,3.830799,0,18362994.375000,""
4251,user16,86420,343224.000000,2,172834.000000,1,COMPLETED_SUCCESSFULLY,589581.000000,86420.000000,676001.000000,246357.000000,332777.000000,3.850694,0,18373197.125000,""
4262,user16,42120,343229.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,635864.000000,42120.000000,677984.000000,292635.000000,334755.000000,7.947650,1,9140040.000000,""
4272,user16,13720,343233.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,670899.000000,13720.000000,684619.000000,327666.000000,341386.000000,24.882362,0,2977240.000000,""
4254,user16,86430,343225.000000,2,172844.000000,1,COMPLETED_SUCCESSFULLY,605851.000000,86430.000000,692281.000000,262626.000000,349056.000000,4.038598,0,18494341.500000,""
4268,user16,39090,343231.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,657183.000000,39090.000000,696273.000000,313952.000000,353042.000000,9.031517,1,8482530.000000,""
4270,user16,35350,343232.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,662898.000000,35350.000000,698248.000000,319666.000000,355016.000000,10.042885,0,7670950.000000,""
4275,user16,26720,343234.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,677984.000000,26720.000000,704704.000000,334750.000000,361470.000000,13.528069,1,5798240.000000,""
4273,user16,31100,343234.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,674319.000000,31100.000000,705419.000000,331085.000000,362185.000000,11.645820,0,6748700.000000,""
4271,user16,41020,343233.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,668750.000000,41020.000000,709770.000000,325517.000000,366537.000000,8.935568,0,8901340.000000,""
4279,user16,12280,343236.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,698248.000000,12280.000000,710528.000000,355012.000000,367292.000000,29.909772,0,2664760.000000,""
4259,user16,86450,343227.000000,2,172882.000000,1,COMPLETED_SUCCESSFULLY,626032.000000,86450.000000,712482.000000,282805.000000,369255.000000,4.271313,1,18759650.000001,""
4278,user16,19550,343236.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,696273.000000,19550.000000,715823.000000,353037.000000,372587.000000,19.058159,1,4242350.000000,""
4260,user16,86430,343228.000000,2,172846.000000,1,COMPLETED_SUCCESSFULLY,630747.000000,86430.000000,717177.000000,287519.000000,373949.000000,4.326611,1,18755310.000001,""
4261,user16,86420,343228.000000,2,172822.000000,1,COMPLETED_SUCCESSFULLY,635736.000000,86420.000000,722156.000000,292508.000000,378928.000000,4.384726,1,18753140.000000,""
4263,user16,86440,343229.000000,2,172874.000000,1,COMPLETED_SUCCESSFULLY,637109.000000,86440.000000,723549.000000,293880.000000,380320.000000,4.399815,0,18725085.625000,""
4264,user16,86420,343230.000000,2,172832.000000,1,COMPLETED_SUCCESSFULLY,637293.000000,86420.000000,723713.000000,294063.000000,380483.000000,4.402719,1,18753140.000000,""
4267,user16,68360,343231.000000,2,136714.000000,1,COMPLETED_SUCCESSFULLY,655872.000000,68360.000000,724232.000000,312641.000000,381001.000000,5.573449,1,14834120.000000,""
4280,user16,25030,343237.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,704704.000000,25030.000000,729734.000000,361467.000000,386497.000000,15.441350,1,5431510.000000,""
4277,user16,41320,343235.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,692281.000000,41320.000000,733601.000000,349046.000000,390366.000000,9.447386,0,8966440.000000,""
4285,user16,18430,343239.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,715823.000000,18430.000000,734253.000000,372584.000000,391014.000000,21.216169,1,3999310.000000,""
4282,user16,27370,343238.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,709770.000000,27370.000000,737140.000000,366532.000000,393902.000000,14.391743,0,5939290.000000,""
4266,user16,86440,343230.000000,2,172864.000000,1,COMPLETED_SUCCESSFULLY,655310.000000,86440.000000,741750.000000,312080.000000,398520.000000,4.610366,0,18757480.000000,""
4283,user16,34480,343238.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,710528.000000,34480.000000,745008.000000,367290.000000,401770.000000,11.652262,0,7482160.000000,""
4269,user16,86450,343232.000000,2,172894.000000,1,COMPLETED_SUCCESSFULLY,662634.000000,86450.000000,749084.000000,319402.000000,405852.000000,4.694644,1,18759650.000000,""
4290,user16,24860,343241.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,724232.000000,24860.000000,749092.000000,380991.000000,405851.000000,16.325463,1,5394620.000000,""
4294,user16,12630,343243.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,737140.000000,12630.000000,749770.000000,393897.000000,406527.000000,32.187411,0,2740710.000000,""
4276,user16,66700,343235.000000,2,133396.000000,1,COMPLETED_SUCCESSFULLY,684619.000000,66700.000000,751319.000000,341384.000000,408084.000000,6.118201,0,14473900.000000,""
4287,user16,33270,343240.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,722156.000000,33270.000000,755426.000000,378916.000000,412186.000000,12.389119,1,7219590.000000,""
4296,user16,16920,343244.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,745008.000000,16920.000000,761928.000000,401764.000000,418684.000000,24.744917,0,3671640.000000,""
4274,user16,86460,343234.000000,2,172904.000000,1,COMPLETED_SUCCESSFULLY,676001.000000,86460.000000,762461.000000,332767.000000,419227.000000,4.848797,0,18761820.000000,""
4299,user16,13570,343245.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,749770.000000,13570.000000,763340.000000,406525.000000,420095.000000,30.957627,0,2944690.000000,""
4292,user16,31610,343242.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,733601.000000,31610.000000,765211.000000,390359.000000,421969.000000,13.349225,0,6859370.000000,""
4303,user16,13490,343247.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,762461.000000,13490.000000,775951.000000,419214.000000,432704.000000,32.075908,0,2927330.000000,""
4302,user16,15620,343246.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,761928.000000,15620.000000,777548.000000,418682.000000,434302.000000,27.804225,0,3389540.000000,""
4305,user16,14600,343248.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,765211.000000,14600.000000,779811.000000,421963.000000,436563.000000,29.901575,0,3168200.000000,""
4293,user16,46190,343242.000000,2,92376.000000,1,COMPLETED_SUCCESSFULLY,734253.000000,46190.000000,780443.000000,391011.000000,437201.000000,9.465274,1,10023230.000000,""
4309,user16,5560,343249.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,780443.000000,5560.000000,786003.000000,437194.000000,442754.000000,79.632014,1,1206520.000000,""
4301,user16,32890,343246.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,755426.000000,32890.000000,788316.000000,412180.000000,445070.000000,13.532077,1,7137130.000000,""
4306,user16,13570,343248.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,775951.000000,13570.000000,789521.000000,432703.000000,446273.000000,32.886735,0,2944690.000000,""
4281,user16,86420,343237.000000,2,172820.000000,1,COMPLETED_SUCCESSFULLY,705419.000000,86420.000000,791839.000000,362182.000000,448602.000000,5.190951,0,18753140.000000,""
4297,user16,43340,343244.000000,2,86676.000000,1,COMPLETED_SUCCESSFULLY,749084.000000,43340.000000,792424.000000,405840.000000,449180.000000,10.364098,1,9404780.000000,""
4310,user16,6790,343250.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,786003.000000,6790.000000,792793.000000,442753.000000,449543.000000,66.206627,1,1473430.000000,""
4304,user16,31480,343247.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,763340.000000,31480.000000,794820.000000,420093.000000,451573.000000,14.344759,0,6831160.000000,""
4295,user16,53450,343243.000000,2,106880.000000,1,COMPLETED_SUCCESSFULLY,741750.000000,53450.000000,795200.000000,398507.000000,451957.000000,8.455697,0,11598650.000000,""
4284,user16,86450,343238.000000,2,172884.000000,1,COMPLETED_SUCCESSFULLY,712482.000000,86450.000000,798932.000000,369244.000000,455694.000000,5.271186,1,18759650.000001,""
4300,user16,50400,343246.000000,2,100796.000000,1,COMPLETED_SUCCESSFULLY,751319.000000,50400.000000,801719.000000,408073.000000,458473.000000,9.096687,0,10936800.000000,""
4286,user16,86430,343239.000000,2,172848.000000,1,COMPLETED_SUCCESSFULLY,717177.000000,86430.000000,803607.000000,373938.000000,460368.000000,5.326484,1,18755310.000000,""
4317,user16,8650,343253.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,795200.000000,8650.000000,803850.000000,451947.000000,460597.000000,53.248208,0,1877050.000000,""
4307,user16,26370,343249.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,777548.000000,26370.000000,803918.000000,434299.000000,460669.000000,17.469435,0,5722290.000000,""
4288,user16,86440,343240.000000,2,172870.000000,1,COMPLETED_SUCCESSFULLY,723549.000000,86440.000000,809989.000000,380309.000000,466749.000000,5.399688,0,18757480.000000,""
4289,user16,86450,343241.000000,2,172890.000000,1,COMPLETED_SUCCESSFULLY,723713.000000,86450.000000,810163.000000,380472.000000,466922.000000,5.401064,1,18759650.000001,""
4314,user16,17760,343252.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,792424.000000,17760.000000,810184.000000,449172.000000,466932.000000,26.291216,1,3853920.000000,""
4322,user16,6510,343255.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,803918.000000,6510.000000,810428.000000,460663.000000,467173.000000,71.762366,0,1412670.000000,""
4312,user16,24060,343251.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,789521.000000,24060.000000,813581.000000,446270.000000,470330.000000,19.548213,0,5221020.000000,""
4291,user16,86430,343242.000000,2,172858.000000,1,COMPLETED_SUCCESSFULLY,729734.000000,86430.000000,816164.000000,386492.000000,472922.000000,5.471734,1,18755310.000001,""
4321,user16,13010,343255.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,803850.000000,13010.000000,816860.000000,460595.000000,473605.000000,36.403151,0,2823170.000000,""
4320,user16,16330,343254.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,803607.000000,16330.000000,819937.000000,460353.000000,476683.000000,29.190631,1,3543610.000000,""
4327,user16,8340,343257.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,813581.000000,8340.000000,821921.000000,470324.000000,478664.000000,57.393765,0,1809780.000000,""
4313,user16,37700,343251.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,791839.000000,37700.000000,829539.000000,448588.000000,486288.000000,12.898886,0,8180900.000000,""
4316,user16,37140,343253.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,794820.000000,37140.000000,831960.000000,451567.000000,488707.000000,13.158508,0,8059380.000001,""
4319,user16,30270,343254.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,801719.000000,30270.000000,831989.000000,458465.000000,488735.000000,16.145854,0,6568590.000001,""
4298,user16,86440,343245.000000,2,172872.000000,1,COMPLETED_SUCCESSFULLY,749092.000000,86440.000000,835532.000000,405847.000000,492287.000000,5.695130,1,18757480.000001,""
4332,user16,8300,343260.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,829539.000000,8300.000000,837839.000000,486279.000000,494579.000000,59.587831,0,1801100.000001,""
4330,user16,20580,343259.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,819937.000000,20580.000000,840517.000000,476678.000000,497258.000000,24.162196,1,4465860.000001,""
4325,user16,30770,343256.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,810184.000000,30770.000000,840954.000000,466928.000000,497698.000000,16.174781,1,6677090.000001,""
4329,user16,24450,343258.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,816860.000000,24450.000000,841310.000000,473602.000000,498052.000000,20.370225,0,5305650.000001,""
4315,user16,49580,343252.000000,2,99156.000000,1,COMPLETED_SUCCESSFULLY,792793.000000,49580.000000,842373.000000,449541.000000,499121.000000,10.066983,1,10758860.000001,""
4328,user16,30300,343258.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,816164.000000,30300.000000,846464.000000,472906.000000,503206.000000,16.607459,1,6575100.000001,""
4335,user16,14090,343261.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,835532.000000,14090.000000,849622.000000,492271.000000,506361.000000,35.937615,1,3057530.000000,""
4308,user16,71950,343249.000000,2,143882.000000,1,COMPLETED_SUCCESSFULLY,779811.000000,71950.000000,851761.000000,436562.000000,508512.000000,7.067575,0,15613150.000001,""
4340,user16,13440,343263.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,842373.000000,13440.000000,855813.000000,499110.000000,512550.000000,38.136161,1,2916480.000000,""
4338,user16,16160,343262.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,840954.000000,16160.000000,857114.000000,497692.000000,513852.000000,31.797772,1,3506720.000000,""
4323,user16,47490,343256.000000,2,94978.000000,1,COMPLETED_SUCCESSFULLY,809989.000000,47490.000000,857479.000000,466733.000000,514223.000000,10.828027,0,10305330.000001,""
4311,user16,73090,343250.000000,2,146166.000000,1,COMPLETED_SUCCESSFULLY,788316.000000,73090.000000,861406.000000,445066.000000,518156.000000,7.089287,1,15860530.000001,""
4331,user16,41740,343259.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,821921.000000,41740.000000,863661.000000,478662.000000,520402.000000,12.467705,0,9057580.000001,""
4336,user16,33630,343261.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,837839.000000,33630.000000,871469.000000,494578.000000,528208.000000,15.706453,0,7297710.000000,""
4345,user16,16200,343265.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,857114.000000,16200.000000,873314.000000,513849.000000,530049.000000,32.719074,1,3515400.000000,""
4339,user16,32100,343263.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,841310.000000,32100.000000,873410.000000,498047.000000,530147.000000,16.515483,0,6965700.000000,""
4318,user16,86410,343253.000000,2,172818.000000,1,COMPLETED_SUCCESSFULLY,798932.000000,86410.000000,885342.000000,455679.000000,542089.000000,6.273452,1,18750970.000001,""
4344,user16,31620,343265.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,855813.000000,31620.000000,887433.000000,512548.000000,544168.000000,17.209614,1,6861540.000000,""
4337,user16,53900,343262.000000,2,107782.000000,1,COMPLETED_SUCCESSFULLY,840517.000000,53900.000000,894417.000000,497255.000000,551155.000000,10.225510,1,11696300.000000,""
4324,user16,86420,343256.000000,2,172838.000000,1,COMPLETED_SUCCESSFULLY,810163.000000,86420.000000,896583.000000,466907.000000,553327.000000,6.402766,1,18753140.000001,""
4326,user16,86440,343257.000000,2,172864.000000,1,COMPLETED_SUCCESSFULLY,810428.000000,86440.000000,896868.000000,467171.000000,553611.000000,6.404570,0,18757480.000001,""
4353,user16,9700,343269.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,887433.000000,9700.000000,897133.000000,544164.000000,553864.000000,57.099381,1,2104900.000000,""
4351,user16,27700,343268.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,873410.000000,27700.000000,901110.000000,530142.000000,557842.000000,20.138700,0,6010900.000000,""
4348,user16,39370,343266.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,863661.000000,39370.000000,903031.000000,520395.000000,559765.000000,14.218059,0,8543290.000000,""
4343,user16,51380,343264.000000,2,102758.000000,1,COMPLETED_SUCCESSFULLY,851761.000000,51380.000000,903141.000000,508497.000000,559877.000000,10.896789,0,11149460.000000,""
4347,user16,42250,343266.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,861406.000000,42250.000000,903656.000000,518140.000000,560390.000000,13.263669,1,9168250.000000,""
4350,user16,31220,343267.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,873314.000000,31220.000000,904534.000000,530047.000000,561267.000000,17.977803,1,6774740.000000,""
4356,user16,9570,343270.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,896868.000000,9570.000000,906438.000000,553598.000000,563168.000000,58.847231,0,2076690.000000,""
4363,user16,10170,343273.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,906438.000000,10170.000000,916608.000000,563165.000000,573335.000000,56.375123,0,2206890.000000,""
4355,user16,21030,343270.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,896583.000000,21030.000000,917613.000000,553313.000000,574343.000000,27.310651,1,4563510.000000,""
4333,user16,86450,343260.000000,2,172888.000000,1,COMPLETED_SUCCESSFULLY,831960.000000,86450.000000,918410.000000,488700.000000,575150.000000,6.652979,0,18759650.000001,""
4334,user16,86440,343260.000000,2,172876.000000,1,COMPLETED_SUCCESSFULLY,831989.000000,86440.000000,918429.000000,488729.000000,575169.000000,6.653968,0,18757480.000001,""
4341,user16,75970,343263.000000,2,151926.000000,1,COMPLETED_SUCCESSFULLY,846464.000000,75970.000000,922434.000000,503201.000000,579171.000000,7.623680,1,16485490.000000,""
4362,user16,18570,343273.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,904534.000000,18570.000000,923104.000000,561261.000000,579831.000000,31.224071,1,4029690.000000,""
4352,user16,39930,343268.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,885342.000000,39930.000000,925272.000000,542074.000000,582004.000000,14.575607,1,8664810.000000,""
4365,user16,9570,343274.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,917613.000000,9570.000000,927183.000000,574339.000000,583909.000000,61.014525,1,2076690.000000,""
4357,user16,31330,343270.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,897133.000000,31330.000000,928463.000000,553863.000000,585193.000000,18.678359,1,6798610.000000,""
4354,user16,34370,343269.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,894417.000000,34370.000000,928787.000000,551148.000000,585518.000000,17.035729,1,7458290.000000,""
4370,user16,6320,343276.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,925272.000000,6320.000000,931592.000000,581996.000000,588316.000000,93.087975,1,1371440.000000,""
4360,user16,32150,343272.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,903141.000000,32150.000000,935291.000000,559869.000000,592019.000000,18.414277,0,6976550.000000,""
4342,user16,86440,343264.000000,2,172868.000000,1,COMPLETED_SUCCESSFULLY,849622.000000,86440.000000,936062.000000,506358.000000,592798.000000,6.857913,1,18757480.000001,""
4374,user16,9410,343278.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,931592.000000,9410.000000,941002.000000,588314.000000,597724.000000,63.520085,1,2041970.000000,""
4346,user16,86430,343266.000000,2,172854.000000,1,COMPLETED_SUCCESSFULLY,857479.000000,86430.000000,943909.000000,514213.000000,600643.000000,6.949474,0,18755310.000000,""
4366,user16,29430,343274.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,918410.000000,29430.000000,947840.000000,575136.000000,604566.000000,20.542508,0,6386310.000000,""
4367,user16,33250,343275.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,918429.000000,33250.000000,951679.000000,575154.000000,608404.000000,18.297865,0,7215250.000000,""
4371,user16,24700,343276.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,927183.000000,24700.000000,951883.000000,583907.000000,608607.000000,24.639960,1,5359900.000000,""
4376,user16,16510,343279.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,936062.000000,16510.000000,952572.000000,592783.000000,609293.000000,36.904482,1,3582670.000000,""
4349,user16,86460,343267.000000,2,172910.000000,1,COMPLETED_SUCCESSFULLY,871469.000000,86460.000000,957929.000000,528202.000000,614662.000000,7.109207,0,18761820.000000,""
4368,user16,40180,343275.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,922434.000000,40180.000000,962614.000000,579159.000000,619339.000000,15.414111,1,8719060.000000,""
4378,user16,20250,343279.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,943909.000000,20250.000000,964159.000000,600630.000000,620880.000000,30.660741,0,4394250.000000,""
4375,user16,39540,343278.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,935291.000000,39540.000000,974831.000000,592013.000000,631553.000000,15.972509,0,8580180.000000,""
4380,user16,23390,343280.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,951679.000000,23390.000000,975069.000000,608399.000000,631789.000000,27.011073,0,5075630.000000,""
4381,user16,26510,343281.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,951883.000000,26510.000000,978393.000000,608602.000000,635112.000000,23.957450,1,5752670.000000,""
4358,user16,86450,343271.000000,2,172896.000000,1,COMPLETED_SUCCESSFULLY,901110.000000,86450.000000,987560.000000,557839.000000,644289.000000,7.452736,0,18759650.000000,""
4359,user16,86450,343271.000000,2,172898.000000,1,COMPLETED_SUCCESSFULLY,903031.000000,86450.000000,989481.000000,559760.000000,646210.000000,7.474957,0,18759650.000000,""
4361,user16,86410,343272.000000,2,172812.000000,1,COMPLETED_SUCCESSFULLY,903656.000000,86410.000000,990066.000000,560384.000000,646794.000000,7.485175,1,18750970.000000,""
4389,user16,3040,343284.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,987560.000000,3040.000000,990600.000000,644276.000000,647316.000000,212.932895,0,659680.000000,""
4390,user16,4860,343285.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,989481.000000,4860.000000,994341.000000,646196.000000,651056.000000,133.962140,0,1054620.000000,""
4388,user16,17050,343284.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,978393.000000,17050.000000,995443.000000,635109.000000,652159.000000,38.249795,1,3699850.000000,""
6214,user16,2820,564066.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,994341.000000,2820.000000,997161.000000,430275.000000,433095.000000,153.579787,0,611940.000000,""
6212,user16,10400,564054.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,990066.000000,10400.000000,1000466.000000,426012.000000,436412.000000,41.962692,1,2256800.000000,""
4364,user16,86450,343273.000000,2,172896.000000,1,COMPLETED_SUCCESSFULLY,916608.000000,86450.000000,1003058.000000,573335.000000,659785.000000,7.631984,0,18759650.000000,""
6215,user16,8840,564067.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,995443.000000,8840.000000,1004283.000000,431376.000000,440216.000000,49.798190,1,1918280.000000,""
6217,user16,5950,564068.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1000466.000000,5950.000000,1006416.000000,436398.000000,442348.000000,74.344202,1,1291150.000000,""
4382,user16,54270,343281.000000,2,108528.000000,1,COMPLETED_SUCCESSFULLY,952572.000000,54270.000000,1006842.000000,609291.000000,663561.000000,12.227032,1,11776590.000000,""
6220,user16,1520,564069.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1006416.000000,1520.000000,1007936.000000,442347.000000,443867.000000,292.017763,1,329840.000000,""
6221,user16,2450,564070.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1006842.000000,2450.000000,1009292.000000,442772.000000,445222.000000,181.723265,1,531650.000000,""
4369,user16,86430,343276.000000,2,172844.000000,1,COMPLETED_SUCCESSFULLY,923104.000000,86430.000000,1009534.000000,579828.000000,666258.000000,7.708643,1,18755310.000000,""
6218,user16,11350,564068.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1003058.000000,11350.000000,1014408.000000,438990.000000,450340.000000,39.677533,0,2462950.000000,""
4372,user16,86430,343277.000000,2,172856.000000,1,COMPLETED_SUCCESSFULLY,928463.000000,86430.000000,1014893.000000,585186.000000,671616.000000,7.770635,1,18755310.000000,""
4373,user16,86430,343277.000000,2,172854.000000,1,COMPLETED_SUCCESSFULLY,928787.000000,86430.000000,1015217.000000,585510.000000,671940.000000,7.774384,1,18755310.000000,""
6222,user16,11340,564070.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1007936.000000,11340.000000,1019276.000000,443866.000000,455206.000000,40.141623,1,2460780.000000,""
6225,user16,7350,564072.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1014408.000000,7350.000000,1021758.000000,450336.000000,457686.000000,62.270204,0,1594950.000000,""
6229,user16,1170,564074.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1021758.000000,1170.000000,1022928.000000,457684.000000,458854.000000,392.182906,0,253890.000000,""
6219,user16,19170,564069.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1004283.000000,19170.000000,1023453.000000,440214.000000,459384.000000,23.963693,1,4159890.000000,""
6226,user16,8710,564072.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1014893.000000,8710.000000,1023603.000000,450821.000000,459531.000000,52.759013,1,1890070.000000,""
6216,user16,26950,564067.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,997161.000000,26950.000000,1024111.000000,433094.000000,460044.000000,17.070278,0,5848150.000000,""
6232,user16,850,564076.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1023603.000000,850.000000,1024453.000000,459527.000000,460377.000000,541.620000,1,184450.000000,""
6228,user16,5560,564073.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1019276.000000,5560.000000,1024836.000000,455203.000000,460763.000000,82.871043,1,1206520.000000,""
4377,user16,86450,343279.000000,2,172890.000000,1,COMPLETED_SUCCESSFULLY,941002.000000,86450.000000,1027452.000000,597723.000000,684173.000000,7.914089,1,18759650.000000,""
6230,user16,5270,564075.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1022928.000000,5270.000000,1028198.000000,458853.000000,464123.000000,88.068880,0,1143590.000000,""
4383,user16,71730,343282.000000,2,143440.000000,1,COMPLETED_SUCCESSFULLY,957929.000000,71730.000000,1029659.000000,614647.000000,686377.000000,9.568897,0,15565410.000000,""
6234,user16,7200,564077.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1024453.000000,7200.000000,1031653.000000,460376.000000,467576.000000,64.941111,1,1562400.000000,""
4379,user16,86440,343280.000000,2,172862.000000,1,COMPLETED_SUCCESSFULLY,947840.000000,86440.000000,1034280.000000,604560.000000,691000.000000,7.993984,0,18757480.000000,""
6223,user16,25570,564071.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1009292.000000,25570.000000,1034862.000000,445221.000000,470791.000000,18.411850,1,5548690.000000,""
6390,user16,5930,575061.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1031653.000000,5930.000000,1037583.000000,456592.000000,462522.000000,77.996965,1,1286810.000000,""
6392,user16,2900,575062.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1034862.000000,2900.000000,1037762.000000,459800.000000,462700.000000,159.551724,1,629300.000000,""
6213,user16,47580,564066.000000,2,95152.000000,1,COMPLETED_SUCCESSFULLY,990600.000000,47580.000000,1038180.000000,426534.000000,474114.000000,9.964565,0,10324860.000000,""
4384,user16,75700,343282.000000,2,151388.000000,1,COMPLETED_SUCCESSFULLY,962614.000000,75700.000000,1038314.000000,619332.000000,695032.000000,9.181400,1,16426900.000000,""
6231,user16,15000,564075.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1023453.000000,15000.000000,1038453.000000,459378.000000,474378.000000,31.625200,1,3255000.000000,""
6235,user16,15140,564077.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1024836.000000,15140.000000,1039976.000000,460759.000000,475899.000000,31.433223,1,3285380.000000,""
6394,user16,3660,575063.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1037762.000000,3660.000000,1041422.000000,462699.000000,466359.000000,127.420492,1,794220.000000,""
6395,user16,3870,575064.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1038180.000000,3870.000000,1042050.000000,463116.000000,466986.000000,120.668217,0,839790.000000,""
6388,user16,13990,575060.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1028198.000000,13990.000000,1042188.000000,453138.000000,467128.000000,33.390136,0,3035830.000000,""
6389,user16,12930,575060.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1029659.000000,12930.000000,1042589.000000,454599.000000,467529.000000,36.158469,0,2805810.000000,""
6397,user16,4220,575065.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1038453.000000,4220.000000,1042673.000000,463388.000000,467608.000000,110.807583,1,915740.000000,""
6396,user16,5200,575064.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1038314.000000,5200.000000,1043514.000000,463250.000000,468450.000000,90.086538,1,1128400.000000,""
6404,user16,870,575068.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1042673.000000,870.000000,1043543.000000,467605.000000,468475.000000,538.477011,1,188790.000000,""
6227,user16,28810,564073.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1015217.000000,28810.000000,1044027.000000,451144.000000,479954.000000,16.659285,1,6251770.000000,""
6391,user16,11650,575062.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1034280.000000,11650.000000,1045930.000000,459218.000000,470868.000000,40.417854,0,2528050.000000,""
6405,user16,3100,575069.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1043514.000000,3100.000000,1046614.000000,468445.000000,471545.000000,152.111290,1,672700.000000,""
6393,user16,9830,575063.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1037583.000000,9830.000000,1047413.000000,462520.000000,472350.000000,48.051882,1,2133110.000000,""
6233,user16,25560,564076.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1024111.000000,25560.000000,1049671.000000,460035.000000,485595.000000,18.998239,0,5546520.000000,""
6408,user16,4360,575070.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1045930.000000,4360.000000,1050290.000000,470860.000000,475220.000000,108.995413,0,946120.000000,""
4385,user16,86420,343283.000000,2,172828.000000,1,COMPLETED_SUCCESSFULLY,964159.000000,86420.000000,1050579.000000,620876.000000,707296.000000,8.184402,0,18753140.000000,""
6398,user16,10820,575066.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1039976.000000,10820.000000,1050796.000000,464910.000000,475730.000000,43.967652,1,2347940.000000,""
6224,user16,42030,564071.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1009534.000000,42030.000000,1051564.000000,445463.000000,487493.000000,11.598691,1,9120510.000000,""
6407,user16,8320,575070.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1044027.000000,8320.000000,1052347.000000,468957.000000,477277.000000,57.365024,1,1805440.000000,""
6406,user16,9240,575069.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1043543.000000,9240.000000,1052783.000000,468474.000000,477714.000000,51.700649,1,2005080.000000,""
6412,user16,2780,575072.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1050290.000000,2780.000000,1053070.000000,475218.000000,477998.000000,171.941727,0,603260.000000,""
6400,user16,11390,575067.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1042050.000000,11390.000000,1053440.000000,466983.000000,478373.000000,41.999385,0,2471630.000000,""
6417,user16,3890,575076.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1052783.000000,3890.000000,1056673.000000,477707.000000,481597.000000,123.803856,1,844130.000000,""
6402,user16,15770,575067.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1042188.000000,15770.000000,1057958.000000,467121.000000,482891.000000,30.620862,0,3422090.000000,""
6413,user16,8850,575073.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1050579.000000,8850.000000,1059429.000000,475506.000000,484356.000000,54.729492,0,1920450.000000,""
6403,user16,16930,575068.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1042589.000000,16930.000000,1059519.000000,467521.000000,484451.000000,28.614944,0,3673810.000000,""
6422,user16,1280,575078.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1059429.000000,1280.000000,1060709.000000,484351.000000,485631.000000,379.399219,0,277760.000000,""
4386,user16,86410,343283.000000,2,172816.000000,1,COMPLETED_SUCCESSFULLY,974831.000000,86410.000000,1061241.000000,631548.000000,717958.000000,8.308737,0,18750970.000000,""
4387,user16,86420,343283.000000,2,172838.000000,1,COMPLETED_SUCCESSFULLY,975069.000000,86420.000000,1061489.000000,631786.000000,718206.000000,8.310646,0,18753140.000000,""
6411,user16,13710,575072.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1049671.000000,13710.000000,1063381.000000,474599.000000,488309.000000,35.616995,0,2975069.999999,""
6399,user16,22730,575066.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1041422.000000,22730.000000,1064152.000000,466356.000000,489086.000000,21.517202,1,4932409.999999,""
6427,user16,1590,575081.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1063381.000000,1590.000000,1064971.000000,488300.000000,489890.000000,308.106918,0,345030.000000,""
6387,user16,37850,575059.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1027452.000000,37850.000000,1065302.000000,452393.000000,490243.000000,12.952259,1,8213449.999999,""
6418,user16,13780,575076.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1053070.000000,13780.000000,1066850.000000,477994.000000,491774.000000,35.687518,0,2990260.000000,""
6428,user16,4670,575082.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1064152.000000,4670.000000,1068822.000000,489070.000000,493740.000000,105.725910,1,1013390.000000,""
6423,user16,9850,575079.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1059519.000000,9850.000000,1069369.000000,484440.000000,494290.000000,50.181726,0,2137450.000000,""
6429,user16,5060,575082.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1064971.000000,5060.000000,1070031.000000,489889.000000,494949.000000,97.816008,0,1098020.000000,""
6424,user16,10130,575079.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1060709.000000,10130.000000,1070839.000000,485630.000000,495760.000000,48.939783,0,2198210.000000,""
6432,user16,2140,575084.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1068822.000000,2140.000000,1070962.000000,493738.000000,495878.000000,231.718692,1,464380.000000,""
6420,user16,14960,575077.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1056673.000000,14960.000000,1071633.000000,481596.000000,496556.000000,33.192246,1,3246319.999999,""
6426,user16,12090,575081.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1061489.000000,12090.000000,1073579.000000,486408.000000,498498.000000,41.232258,0,2623529.999999,""
6430,user16,8630,575083.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1065302.000000,8630.000000,1073932.000000,490219.000000,498849.000000,57.804056,1,1872710.000000,""
6437,user16,2820,575086.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1071633.000000,2820.000000,1074453.000000,496547.000000,499367.000000,177.080496,1,611940.000000,""
6416,user16,23050,575075.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1052347.000000,23050.000000,1075397.000000,477272.000000,500322.000000,21.705944,1,5001849.999999,""
6438,user16,2460,575087.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1073579.000000,2460.000000,1076039.000000,498492.000000,500952.000000,203.639024,0,533820.000000,""
6436,user16,6220,575086.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1070962.000000,6220.000000,1077182.000000,495876.000000,502096.000000,80.722830,1,1349740.000000,""
6441,user16,1960,575088.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1075397.000000,1960.000000,1077357.000000,500309.000000,502269.000000,256.259694,1,425320.000000,""
6415,user16,26110,575075.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1051564.000000,26110.000000,1077674.000000,476489.000000,502599.000000,19.249291,1,5665869.999999,""
6442,user16,1780,575089.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1076039.000000,1780.000000,1077819.000000,500950.000000,502730.000000,282.432584,0,386260.000000,""
6439,user16,4390,575087.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1073932.000000,4390.000000,1078322.000000,498845.000000,503235.000000,114.632118,1,952630.000000,""
6433,user16,9790,575084.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1069369.000000,9790.000000,1079159.000000,494285.000000,504075.000000,51.488764,0,2124429.999999,""
6435,user16,9710,575085.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1070839.000000,9710.000000,1080549.000000,495754.000000,505464.000000,52.056025,0,2107069.999999,""
6434,user16,10750,575085.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1070031.000000,10750.000000,1080781.000000,494946.000000,505696.000000,47.041488,0,2332749.999999,""
6419,user16,28160,575077.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1053440.000000,28160.000000,1081600.000000,478363.000000,506523.000000,17.987322,0,6110719.999999,""
6421,user16,24030,575078.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1057958.000000,24030.000000,1081988.000000,482880.000000,506910.000000,21.094881,0,5214509.999999,""
6410,user16,34780,575071.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1047413.000000,34780.000000,1082193.000000,472342.000000,507122.000000,14.580851,1,7547259.999998,""
6414,user16,31530,575073.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1050796.000000,31530.000000,1082326.000000,475723.000000,507253.000000,16.087948,1,6842009.999998,""
6454,user16,590,575094.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1082193.000000,590.000000,1082783.000000,507099.000000,507689.000000,860.489831,1,128030.000000,""
6451,user16,2010,575093.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1080781.000000,2010.000000,1082791.000000,505688.000000,507698.000000,252.586070,0,436170.000000,""
6449,user16,4040,575092.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1079159.000000,4040.000000,1083199.000000,504067.000000,508107.000000,125.769059,0,876680.000000,""
6444,user16,6000,575090.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1077357.000000,6000.000000,1083357.000000,502267.000000,508267.000000,84.711167,1,1301999.999999,""
6452,user16,2050,575093.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1081600.000000,2050.000000,1083650.000000,506507.000000,508557.000000,248.076585,0,444850.000000,""
6450,user16,3390,575092.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1080549.000000,3390.000000,1083939.000000,505457.000000,508847.000000,150.102360,0,735630.000000,""
6431,user16,17210,575083.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1066850.000000,17210.000000,1084060.000000,491767.000000,508977.000000,29.574492,0,3734569.999999,""
6443,user16,7140,575089.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1077182.000000,7140.000000,1084322.000000,502093.000000,509233.000000,71.321148,1,1549379.999999,""
6462,user16,1500,575098.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1084060.000000,1500.000000,1085560.000000,508962.000000,510462.000000,340.308000,0,325500.000000,""
6447,user16,8110,575091.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1077819.000000,8110.000000,1085929.000000,502728.000000,510838.000000,62.988656,0,1759869.999999,""
6440,user16,11880,575088.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1074453.000000,11880.000000,1086333.000000,499365.000000,511245.000000,43.034091,1,2577959.999999,""
6409,user16,41190,575071.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1046614.000000,41190.000000,1087804.000000,471543.000000,512733.000000,12.447997,1,8938229.999998,""
6463,user16,5310,575099.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1084322.000000,5310.000000,1089632.000000,509223.000000,514533.000000,96.898870,1,1152270.000000,""
6455,user16,7520,575095.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1082326.000000,7520.000000,1089846.000000,507231.000000,514751.000000,68.450931,1,1631839.999999,""
6445,user16,12880,575090.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1077674.000000,12880.000000,1090554.000000,502584.000000,515464.000000,40.020497,1,2794959.999999,""
6465,user16,5170,575100.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1085929.000000,5170.000000,1091099.000000,510829.000000,515999.000000,99.806383,0,1121890.000000,""
6457,user16,8450,575096.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1082791.000000,8450.000000,1091241.000000,507695.000000,516145.000000,61.082249,0,1833649.999999,""
6425,user16,31220,575080.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1061241.000000,31220.000000,1092461.000000,486161.000000,517381.000000,16.572101,0,6774739.999998,""
6453,user16,10930,575094.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1081988.000000,10930.000000,1092918.000000,506894.000000,517824.000000,47.376395,0,2371809.999999,""
6456,user16,11120,575095.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1082783.000000,11120.000000,1093903.000000,507688.000000,518808.000000,46.655396,1,2413039.999999,""
6473,user16,1640,575104.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1092461.000000,1640.000000,1094101.000000,517357.000000,518997.000000,316.461585,0,355880.000000,""
6471,user16,3560,575103.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1091099.000000,3560.000000,1094659.000000,515996.000000,519556.000000,145.942697,0,772520.000000,""
6472,user16,3580,575103.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1091241.000000,3580.000000,1094821.000000,516138.000000,519718.000000,145.172626,0,776860.000000,""
6461,user16,11400,575098.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1083939.000000,11400.000000,1095339.000000,508841.000000,520241.000000,45.635175,0,2473799.999999,""
6466,user16,9330,575100.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1086333.000000,9330.000000,1095663.000000,511233.000000,520563.000000,55.794534,1,2024609.999999,""
6470,user16,5340,575103.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1090554.000000,5340.000000,1095894.000000,515451.000000,520791.000000,97.526404,1,1158780.000000,""
6458,user16,12980,575096.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1083199.000000,12980.000000,1096179.000000,508103.000000,521083.000000,40.145069,0,2816659.999999,""
6467,user16,8380,575101.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1087804.000000,8380.000000,1096184.000000,512703.000000,521083.000000,62.181742,1,1818459.999999,""
6477,user16,1670,575106.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1094659.000000,1670.000000,1096329.000000,519553.000000,521223.000000,312.109581,0,362390.000000,""
6476,user16,2270,575106.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1094101.000000,2270.000000,1096371.000000,518995.000000,521265.000000,229.632159,0,492590.000000,""
6475,user16,3740,575105.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1093903.000000,3740.000000,1097643.000000,518798.000000,522538.000000,139.716043,1,811579.999999,""
6478,user16,2850,575107.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1094821.000000,2850.000000,1097671.000000,519714.000000,522564.000000,183.355789,0,618450.000000,""
6464,user16,12240,575099.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1085560.000000,12240.000000,1097800.000000,510461.000000,522701.000000,42.704330,0,2656079.999999,""
7255,user16,910,633763.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1097643.000000,910.000000,1098553.000000,463880.000000,464790.000000,510.758242,1,197470.000000,""
6484,user16,2970,575110.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1096329.000000,2970.000000,1099299.000000,521219.000000,524189.000000,176.494613,0,644490.000000,""
7256,user16,1870,633764.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1097671.000000,1870.000000,1099541.000000,463907.000000,465777.000000,249.078610,0,405790.000000,""
7257,user16,3150,633764.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1097800.000000,3150.000000,1100950.000000,464036.000000,467186.000000,148.313016,0,683550.000000,""
6460,user16,17350,575097.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1083650.000000,17350.000000,1101000.000000,508553.000000,525903.000000,30.311412,0,3764949.999999,""
6480,user16,5910,575108.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1095663.000000,5910.000000,1101573.000000,520555.000000,526465.000000,89.080372,1,1282469.999999,""
7260,user16,2360,633766.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1099541.000000,2360.000000,1101901.000000,465775.000000,468135.000000,198.362288,0,512120.000000,""
6485,user16,5690,575110.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1096371.000000,5690.000000,1102061.000000,521261.000000,526951.000000,92.610018,0,1234730.000000,""
6481,user16,6420,575108.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1095894.000000,6420.000000,1102314.000000,520786.000000,527206.000000,82.119315,1,1393139.999999,""
6482,user16,6650,575109.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1096179.000000,6650.000000,1102829.000000,521070.000000,527720.000000,79.356391,0,1443049.999999,""
7265,user16,1150,633768.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1102061.000000,1150.000000,1103211.000000,468293.000000,469443.000000,408.211304,0,249550.000000,""
7268,user16,1150,633769.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1103211.000000,1150.000000,1104361.000000,469442.000000,470592.000000,409.210435,0,249550.000000,""
6448,user16,26960,575091.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1078322.000000,26960.000000,1105282.000000,503231.000000,530191.000000,19.665838,1,5850319.999998,""
6479,user16,10250,575107.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1095339.000000,10250.000000,1105589.000000,520232.000000,530482.000000,51.754341,0,2224249.999999,""
6474,user16,13260,575105.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1092918.000000,13260.000000,1106178.000000,517813.000000,531073.000000,40.050754,0,2877419.999999,""
7266,user16,4130,633769.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1102314.000000,4130.000000,1106444.000000,468545.000000,472675.000000,114.449153,1,896210.000000,""
6459,user16,23090,575097.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1083357.000000,23090.000000,1106447.000000,508260.000000,531350.000000,23.012126,1,5010529.999998,""
7267,user16,4190,633769.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1102829.000000,4190.000000,1107019.000000,469060.000000,473250.000000,112.947494,0,909230.000000,""
6483,user16,10870,575109.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1096184.000000,10870.000000,1107054.000000,521075.000000,531945.000000,48.936983,1,2358789.999999,""
6468,user16,19850,575102.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1089632.000000,19850.000000,1109482.000000,514530.000000,534380.000000,26.920907,1,4307449.999998,""
7264,user16,8030,633768.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1101901.000000,8030.000000,1109931.000000,468133.000000,476163.000000,59.298007,0,1742509.999999,""
6469,user16,20460,575102.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1089846.000000,20460.000000,1110306.000000,514744.000000,535204.000000,26.158553,1,4439819.999998,""
7259,user16,12140,633765.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1099299.000000,12140.000000,1111439.000000,465534.000000,477674.000000,39.347117,0,2634379.999999,""
7261,user16,10730,633766.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1100950.000000,10730.000000,1111680.000000,467184.000000,477914.000000,44.539981,0,2328409.999999,""
7263,user16,10700,633767.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1101573.000000,10700.000000,1112273.000000,467806.000000,478506.000000,44.720187,1,2321899.999999,""
7258,user16,15330,633765.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1098553.000000,15330.000000,1113883.000000,464788.000000,480118.000000,31.318852,1,3326609.999999,""
9491,user16,4230,830652.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1113883.000000,4230.000000,1118113.000000,283231.000000,287461.000000,67.957683,1,917910.000000,""
7269,user16,17710,633787.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1104361.000000,17710.000000,1122071.000000,470574.000000,488284.000000,27.571090,0,3843069.999999,""
7262,user16,25070,633767.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1101000.000000,25070.000000,1126070.000000,467233.000000,492303.000000,19.637136,0,5440189.999999,""
9492,user16,10780,830652.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1118113.000000,10780.000000,1128893.000000,287461.000000,298241.000000,27.666141,1,2339260.000000,""
9483,user16,62870,830648.000000,2,125722.000000,1,COMPLETED_SUCCESSFULLY,1107019.000000,62870.000000,1169889.000000,276371.000000,339241.000000,5.395912,0,13642789.999999,""
9494,user16,44770,830653.000000,2,89530.000000,1,COMPLETED_SUCCESSFULLY,1126070.000000,44770.000000,1170840.000000,295417.000000,340187.000000,7.598548,0,9715090.000000,""
9482,user16,72800,830647.000000,2,145592.000000,1,COMPLETED_SUCCESSFULLY,1106447.000000,72800.000000,1179247.000000,275800.000000,348600.000000,4.788462,1,15797599.999999,""
9496,user16,15260,830654.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1169889.000000,15260.000000,1185149.000000,339235.000000,354495.000000,23.230341,0,3311420.000000,""
9488,user16,74770,830650.000000,2,149536.000000,1,COMPLETED_SUCCESSFULLY,1111439.000000,74770.000000,1186209.000000,280789.000000,355559.000000,4.755370,0,16225089.999999,""
9478,user16,86430,830646.000000,2,172850.000000,1,COMPLETED_SUCCESSFULLY,1105282.000000,86430.000000,1191712.000000,274636.000000,361066.000000,4.177554,1,18755309.999999,""
9479,user16,86420,830646.000000,2,172830.000000,1,COMPLETED_SUCCESSFULLY,1105589.000000,86420.000000,1192009.000000,274943.000000,361363.000000,4.181474,0,18753139.999999,""
9480,user16,86420,830646.000000,2,172828.000000,1,COMPLETED_SUCCESSFULLY,1106178.000000,86420.000000,1192598.000000,275532.000000,361952.000000,4.188290,0,18753139.999999,""
9481,user16,86430,830647.000000,2,172840.000000,1,COMPLETED_SUCCESSFULLY,1106444.000000,86430.000000,1192874.000000,275797.000000,362227.000000,4.190987,1,18755309.999999,""
9484,user16,86410,830648.000000,2,172804.000000,1,COMPLETED_SUCCESSFULLY,1107054.000000,86410.000000,1193464.000000,276406.000000,362816.000000,4.198773,1,18750969.999999,""
9502,user16,3660,830662.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1192009.000000,3660.000000,1195669.000000,361347.000000,365007.000000,99.728689,0,794220.000000,""
9485,user16,86410,830649.000000,2,172804.000000,1,COMPLETED_SUCCESSFULLY,1109482.000000,86410.000000,1195892.000000,278833.000000,365243.000000,4.226860,1,18750969.999999,""
9486,user16,86410,830649.000000,2,172802.000000,1,COMPLETED_SUCCESSFULLY,1109931.000000,86410.000000,1196341.000000,279282.000000,365692.000000,4.232056,0,18750969.999999,""
9487,user16,86450,830650.000000,2,172894.000000,1,COMPLETED_SUCCESSFULLY,1110306.000000,86450.000000,1196756.000000,279656.000000,366106.000000,4.234887,1,18759649.999999,""
9489,user16,86450,830651.000000,2,172886.000000,1,COMPLETED_SUCCESSFULLY,1111680.000000,86450.000000,1198130.000000,281029.000000,367479.000000,4.250769,0,18759649.999999,""
9490,user16,86450,830651.000000,2,172884.000000,1,COMPLETED_SUCCESSFULLY,1112273.000000,86450.000000,1198723.000000,281622.000000,368072.000000,4.257629,1,18759649.999999,""
9507,user16,4350,830664.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1195892.000000,4350.000000,1200242.000000,365228.000000,369578.000000,84.960460,1,943950.000000,""
9509,user16,6740,830665.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1196756.000000,6740.000000,1203496.000000,366091.000000,372831.000000,55.316172,1,1462580.000000,""
9505,user16,14390,830663.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1193464.000000,14390.000000,1207854.000000,362801.000000,377191.000000,26.212022,1,3122630.000000,""
9493,user16,86440,830653.000000,2,172876.000000,1,COMPLETED_SUCCESSFULLY,1122071.000000,86440.000000,1208511.000000,291418.000000,377858.000000,4.371333,0,18757479.999999,""
9503,user16,18090,830662.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1192598.000000,18090.000000,1210688.000000,361936.000000,380026.000000,21.007518,0,3925529.999999,""
9495,user16,86460,830654.000000,2,172906.000000,1,COMPLETED_SUCCESSFULLY,1128893.000000,86460.000000,1215353.000000,298239.000000,384699.000000,4.449445,1,18761819.999999,""
9497,user16,47740,830655.000000,2,95478.000000,1,COMPLETED_SUCCESSFULLY,1170840.000000,47740.000000,1218580.000000,340185.000000,387925.000000,8.125786,0,10359579.999999,""
9513,user16,17630,830667.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1203496.000000,17630.000000,1221126.000000,372829.000000,390459.000000,22.147419,1,3825710.000000,""
9515,user16,21610,830668.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1208511.000000,21610.000000,1230121.000000,377843.000000,399453.000000,18.484637,0,4689370.000000,""
9498,user16,60670,830655.000000,2,121332.000000,1,COMPLETED_SUCCESSFULLY,1179247.000000,60670.000000,1239917.000000,348592.000000,409262.000000,6.745706,1,13165389.999999,""
9499,user16,62850,830656.000000,2,125692.000000,1,COMPLETED_SUCCESSFULLY,1185149.000000,62850.000000,1247999.000000,354493.000000,417343.000000,6.640302,0,13638449.999999,""
9520,user16,23990,830670.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1230121.000000,23990.000000,1254111.000000,399451.000000,423441.000000,17.650729,0,5205830.000000,""
9512,user16,58380,830667.000000,2,116742.000000,1,COMPLETED_SUCCESSFULLY,1200242.000000,58380.000000,1258622.000000,369575.000000,427955.000000,7.330507,1,12668460.000000,""
9508,user16,63130,830665.000000,2,126242.000000,1,COMPLETED_SUCCESSFULLY,1196341.000000,63130.000000,1259471.000000,365676.000000,428806.000000,6.792428,0,13699209.999999,""
9517,user16,51120,830669.000000,2,102226.000000,1,COMPLETED_SUCCESSFULLY,1215353.000000,51120.000000,1266473.000000,384684.000000,435804.000000,8.525117,1,11093040.000000,""
9504,user16,76780,830663.000000,2,153540.000000,1,COMPLETED_SUCCESSFULLY,1192874.000000,76780.000000,1269654.000000,362211.000000,438991.000000,5.717518,1,16661259.999999,""
9526,user16,5360,830673.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1266473.000000,5360.000000,1271833.000000,435800.000000,441160.000000,82.305970,1,1163120.000000,""
9500,user16,86450,830656.000000,2,172898.000000,1,COMPLETED_SUCCESSFULLY,1186209.000000,86450.000000,1272659.000000,355553.000000,442003.000000,5.112817,0,18759649.999999,""
9511,user16,78580,830666.000000,2,157150.000000,1,COMPLETED_SUCCESSFULLY,1198723.000000,78580.000000,1277303.000000,368057.000000,446637.000000,5.683851,1,17051859.999999,""
9501,user16,86450,830661.000000,2,172884.000000,1,COMPLETED_SUCCESSFULLY,1191712.000000,86450.000000,1278162.000000,361051.000000,447501.000000,5.176414,1,18759649.999999,""
9506,user16,86430,830664.000000,2,172852.000000,1,COMPLETED_SUCCESSFULLY,1195669.000000,86430.000000,1282099.000000,365005.000000,451435.000000,5.223129,0,18755309.999999,""
9510,user16,86450,830666.000000,2,172894.000000,1,COMPLETED_SUCCESSFULLY,1198130.000000,86450.000000,1284580.000000,367464.000000,453914.000000,5.250596,0,18759649.999999,""
9514,user16,86450,830667.000000,2,172896.000000,1,COMPLETED_SUCCESSFULLY,1207854.000000,86450.000000,1294304.000000,377187.000000,463637.000000,5.363065,1,18759649.999999,""
9516,user16,86460,830668.000000,2,172902.000000,1,COMPLETED_SUCCESSFULLY,1210688.000000,86460.000000,1297148.000000,380020.000000,466480.000000,5.395327,0,18761819.999999,""
9518,user16,86430,830669.000000,2,172854.000000,1,COMPLETED_SUCCESSFULLY,1218580.000000,86430.000000,1305010.000000,387911.000000,474341.000000,5.488152,0,18755309.999999,""
9519,user16,86440,830670.000000,2,172862.000000,1,COMPLETED_SUCCESSFULLY,1221126.000000,86440.000000,1307566.000000,390456.000000,476896.000000,5.517075,1,18757479.999999,""
9529,user16,38660,830674.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1272659.000000,38660.000000,1311319.000000,441985.000000,480645.000000,12.432618,0,8389220.000000,""
9531,user16,33330,830675.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1278162.000000,33330.000000,1311492.000000,447487.000000,480817.000000,14.425953,1,7232610.000000,""
9524,user16,58010,830672.000000,2,116000.000000,1,COMPLETED_SUCCESSFULLY,1258622.000000,58010.000000,1316632.000000,427950.000000,485960.000000,8.377176,1,12588169.999999,""
9534,user16,25140,830677.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1294304.000000,25140.000000,1319444.000000,463627.000000,488767.000000,19.441806,1,5455380.000000,""
9521,user16,85660,830671.000000,2,171308.000000,1,COMPLETED_SUCCESSFULLY,1239917.000000,85660.000000,1325577.000000,409246.000000,494906.000000,5.777562,1,18588219.999999,""
9538,user16,19180,830678.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1311319.000000,19180.000000,1330499.000000,480641.000000,499821.000000,26.059489,0,4162060.000000,""
9522,user16,86450,830671.000000,2,172880.000000,1,COMPLETED_SUCCESSFULLY,1247999.000000,86450.000000,1334449.000000,417328.000000,503778.000000,5.827392,0,18759649.999999,""
9532,user16,54850,830676.000000,2,109682.000000,1,COMPLETED_SUCCESSFULLY,1282099.000000,54850.000000,1336949.000000,451423.000000,506273.000000,9.230137,0,11902449.999999,""
9525,user16,78290,830672.000000,2,156578.000000,1,COMPLETED_SUCCESSFULLY,1259471.000000,78290.000000,1337761.000000,428799.000000,507089.000000,6.477060,0,16988929.999999,""
9536,user16,33610,830677.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1305010.000000,33610.000000,1338620.000000,474333.000000,507943.000000,15.112853,0,7293370.000000,""
9542,user16,13700,830680.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1325577.000000,13700.000000,1339277.000000,494897.000000,508597.000000,37.123869,1,2972900.000000,""
9528,user16,68670,830674.000000,2,137330.000000,1,COMPLETED_SUCCESSFULLY,1271833.000000,68670.000000,1340503.000000,441159.000000,509829.000000,7.424334,1,14901389.999999,""
9523,user16,86440,830672.000000,2,172868.000000,1,COMPLETED_SUCCESSFULLY,1254111.000000,86440.000000,1340551.000000,423439.000000,509879.000000,5.898646,0,18757479.999999,""
9550,user16,70,830684.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1340551.000000,70.000000,1340621.000000,509867.000000,509937.000000,7284.814286,0,15190.000000,""
9551,user16,10,830759.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1340621.000000,10.000000,1340631.000000,509862.000000,509872.000000,50987.200000,0,2170.000000,""
9552,user16,10,830837.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1340631.000000,10.000000,1340641.000000,509794.000000,509804.000000,50980.400000,0,2170.000000,""
9544,user16,6630,830681.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1334449.000000,6630.000000,1341079.000000,503768.000000,510398.000000,76.983107,0,1432304.250000,""
9546,user16,7790,830682.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1337761.000000,7790.000000,1345551.000000,507079.000000,514869.000000,66.093582,0,1684024.250000,""
9540,user16,32070,830679.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1316632.000000,32070.000000,1348702.000000,485953.000000,518023.000000,16.152884,1,6959189.999999,""
9527,user16,86440,830673.000000,2,172868.000000,1,COMPLETED_SUCCESSFULLY,1269654.000000,86440.000000,1356094.000000,438981.000000,525421.000000,6.078447,1,18649371.999999,""
9545,user16,20480,830682.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1336949.000000,20480.000000,1357429.000000,506267.000000,526747.000000,25.720068,0,4264038.500000,""
1956,user18,520,300993.000000,4,7200.000000,1,COMPLETED_SUCCESSFULLY,1357429.000000,520.000000,1357949.000000,1056436.000000,1056956.000000,2032.607692,0,112840.000000,""
1962,user18,580,301560.000000,4,7200.000000,1,COMPLETED_SUCCESSFULLY,1357949.000000,580.000000,1358529.000000,1056389.000000,1056969.000000,1822.360345,0,125860.000000,""
9549,user16,19220,830683.000000,2,86400.000000,1,COMPLETED_SUCCESSFULLY,1340503.000000,19220.000000,1359723.000000,509820.000000,529040.000000,27.525494,1,4062632.000000,""
9533,user16,78840,830676.000000,2,157672.000000,1,COMPLETED_SUCCESSFULLY,1284580.000000,78840.000000,1363420.000000,453904.000000,532744.000000,6.757281,0,16928158.499999,""
2427,user15,22450,300733.000000,4,2592000.000000,1,COMPLETED_SUCCESSFULLY,1341079.000000,22450.000000,1363529.000000,1040346.000000,1062796.000000,47.340579,0,4696340.125000,""
9530,user16,86420,830675.000000,2,172826.000000,1,COMPLETED_SUCCESSFULLY,1277303.000000,86420.000000,1363723.000000,446628.000000,533048.000000,6.168109,1,18586531.999999,""
9541,user16,45740,830680.000000,2,91476.000000,1,COMPLETED_SUCCESSFULLY,1319444.000000,45740.000000,1365184.000000,488764.000000,534504.000000,11.685702,1,9758971.999999,""
9539,user16,62250,830679.000000,2,124486.000000,1,COMPLETED_SUCCESSFULLY,1311492.000000,62250.000000,1373742.000000,480813.000000,543063.000000,8.723904,1,13216481.249999,""
2428,user15,18080,300974.000000,4,2592000.000000,1,COMPLETED_SUCCESSFULLY,1356094.000000,18080.000000,1374174.000000,1055120.000000,1073200.000000,59.358407,1,3739699.250000,""
2442,user15,19990,301942.000000,4,2592000.000000,1,COMPLETED_SUCCESSFULLY,1358529.000000,19990.000000,1378519.000000,1056587.000000,1076577.000000,53.855778,0,4117007.125000,""
9535,user16,86420,830677.000000,2,172832.000000,1,COMPLETED_SUCCESSFULLY,1297148.000000,86420.000000,1383568.000000,466471.000000,552891.000000,6.397720,0,18130670.749999,""
2443,user15,20310,302036.000000,4,2592000.000000,1,COMPLETED_SUCCESSFULLY,1363529.000000,20310.000000,1383839.000000,1061493.000000,1081803.000000,53.264549,0,3950662.875000,""
8596,user15,22700,730546.000000,4,2592000.000000,1,COMPLETED_SUCCESSFULLY,1363723.000000,22700.000000,1386423.000000,633177.000000,655877.000000,28.893260,1,4800739.250000,""
8598,user15,19250,730564.000000,4,2592000.000000,1,COMPLETED_SUCCESSFULLY,1374174.000000,19250.000000,1393424.000000,643610.000000,662860.000000,34.434286,1,3972470.750000,""
9537,user16,86410,830678.000000,2,172810.000000,1,COMPLETED_SUCCESSFULLY,1307566.000000,86410.000000,1393976.000000,476888.000000,563298.000000,6.518898,1,18222129.999999,""
8597,user15,23550,730546.000000,4,2592000.000000,1,COMPLETED_SUCCESSFULLY,1373742.000000,23550.000000,1397292.000000,643196.000000,666746.000000,28.311932,1,4630796.250000,""
9543,user16,86420,830681.000000,2,172832.000000,1,COMPLETED_SUCCESSFULLY,1330499.000000,86420.000000,1416919.000000,499818.000000,586238.000000,6.783592,0,15212047.249999,""
9547,user16,81400,830683.000000,2,162790.000000,1,COMPLETED_SUCCESSFULLY,1338620.000000,81400.000000,1420020.000000,507937.000000,589337.000000,7.240012,0,13805242.375000,""
9548,user16,86460,830683.000000,2,172902.000000,1,COMPLETED_SUCCESSFULLY,1339277.000000,86460.000000,1425737.000000,508594.000000,595054.000000,6.882420,1,15078440.624999,""
{
"seed" : -3,
"red_windows" : [[200000, 300000]],
"log_user_stats" : true,
"log_folder" : "test-out/dm_user_multi_behavior-2machines/",
"users": [
{
"name": "user14",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user14.json",
"red_prob_rigid" : 0.2,
"red_prob_degrad" : 0.2,
"red_prob_reconfig" : 0.2,
"red_prob_renonce" : 0.2,
"red_prob_see_you_later": 0.2,
"yellow_prob_degrad" : 0.3,
"yellow_prob_reconfig" : 0.3,
"yellow_prob_rigid" : 0.3
}
},
{
"name": "user15",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user15.json",
"red_prob_rigid" : 0.2,
"red_prob_degrad" : 0.2,
"red_prob_reconfig" : 0.2,
"red_prob_renonce" : 0.2,
"red_prob_see_you_later": 0.2,
"yellow_prob_degrad" : 0.3,
"yellow_prob_reconfig" : 0.3,
"yellow_prob_rigid" : 0.3
}
},
{
"name": "user16",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user16.json",
"red_prob_rigid" : 0.2,
"red_prob_degrad" : 0.2,
"red_prob_reconfig" : 0.2,
"red_prob_renonce" : 0.2,
"red_prob_see_you_later": 0.2,
"yellow_prob_degrad" : 0.3,
"yellow_prob_reconfig" : 0.3,
"yellow_prob_rigid" : 0.3
}
},
{
"name": "user18",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user18.json",
"red_prob_rigid" : 0.2,
"red_prob_degrad" : 0.2,
"red_prob_reconfig" : 0.2,
"red_prob_renonce" : 0.2,
"red_prob_see_you_later": 0.2,
"yellow_prob_degrad" : 0.3,
"yellow_prob_reconfig" : 0.3,
"yellow_prob_rigid" : 0.3
}
}
]
}
\ No newline at end of file
{
"seed" : -3,
"red_windows" : [[200000, 300000]],
"users": [
{
"name": "user14",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user14.json",
"red_prob_see_you_later" : 1.0
}
},
{
"name": "user15",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user15.json",
"red_prob_see_you_later" : 1.0
}
},
{
"name": "user16",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user16.json",
"red_prob_see_you_later" : 1.0
}
},
{
"name": "user18",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user18.json",
"red_prob_see_you_later" : 1.0
}
}
]
}
{
"seed" : -3,
"red_windows" : [[0, 500]],
"users": [
{
"name": "user14",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/two_jobs.json",
"red_prob_see_you_later": 1.0
}
}
]
}
{
"seed" : -3,
"red_windows" : [[200000, 201000], [201000, 202000], [202000, 203000], [203000, 204000], [204000, 205000], [205000, 206000], [206000, 207000], [207000, 208000], [208000, 209000],
[209000, 210000], [210000, 211000], [211000, 212000], [212000, 213000], [213000, 214000], [214000, 215000], [215000, 216000], [216000, 217000], [217000, 218000], [218000, 219000],
[219000, 220000], [220000, 221000], [221000, 222000], [222000, 223000], [223000, 224000], [224000, 225000], [225000, 226000], [226000, 227000], [227000, 228000], [228000, 229000],
[229000, 230000], [230000, 231000], [231000, 232000], [232000, 233000], [233000, 234000], [234000, 235000], [235000, 236000], [236000, 237000], [237000, 238000], [238000, 239000],
[239000, 240000], [240000, 241000], [241000, 242000], [242000, 243000], [243000, 244000], [244000, 245000], [245000, 246000], [246000, 247000], [247000, 248000], [248000, 249000],
[249000, 250000], [250000, 251000], [251000, 252000], [252000, 253000], [253000, 254000], [254000, 255000], [255000, 256000], [256000, 257000], [257000, 258000], [258000, 259000],
[259000, 260000], [260000, 261000], [261000, 262000], [262000, 263000], [263000, 264000], [264000, 265000], [265000, 266000], [266000, 267000], [267000, 268000], [268000, 269000],
[269000, 270000], [270000, 271000], [271000, 272000], [272000, 273000], [273000, 274000], [274000, 275000], [275000, 276000], [276000, 277000], [277000, 278000], [278000, 279000],
[279000, 280000], [280000, 281000], [281000, 282000], [282000, 283000], [283000, 284000], [284000, 285000], [285000, 286000], [286000, 287000], [287000, 288000], [288000, 289000],
[289000, 290000], [290000, 291000], [291000, 292000], [292000, 293000], [293000, 294000], [294000, 295000], [295000, 296000], [296000, 297000], [297000, 298000], [298000, 299000],
[299000, 300000]],
"users": [
{
"name": "user14",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user14.json",
"red_prob_rigid" : 0.2,
"red_prob_degrad" : 0.2,
"red_prob_reconfig" : 0.2,
"red_prob_renonce" : 0.2,
"red_prob_see_you_later": 0.2,
"yellow_prob_degrad" : 0.3,
"yellow_prob_reconfig" : 0.3,
"yellow_prob_rigid" : 0.3
}
},
{
"name": "user15",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user15.json",
"red_prob_rigid" : 0.2,
"red_prob_degrad" : 0.2,
"red_prob_reconfig" : 0.2,
"red_prob_renonce" : 0.2,
"red_prob_see_you_later": 0.2,
"yellow_prob_degrad" : 0.3,
"yellow_prob_reconfig" : 0.3,
"yellow_prob_rigid" : 0.3
}
},
{
"name": "user16",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user16.json",
"red_prob_rigid" : 0.2,
"red_prob_degrad" : 0.2,
"red_prob_reconfig" : 0.2,
"red_prob_renonce" : 0.2,
"red_prob_see_you_later": 0.2,
"yellow_prob_degrad" : 0.3,
"yellow_prob_reconfig" : 0.3,
"yellow_prob_rigid" : 0.3
}
},
{
"name": "user18",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user18.json",
"red_prob_rigid" : 0.2,
"red_prob_degrad" : 0.2,
"red_prob_reconfig" : 0.2,
"red_prob_renonce" : 0.2,
"red_prob_see_you_later": 0.2,
"yellow_prob_degrad" : 0.3,
"yellow_prob_reconfig" : 0.3,
"yellow_prob_rigid" : 0.3
}
}
]
}
\ No newline at end of file
{
"seed" : -3,
"red_windows" : [[262000, 263000], [218000, 219000], [264000, 265000], [297000, 298000], [290000, 291000],
[273000, 274000], [254000, 255000], [251000, 252000], [283000, 284000], [234000, 235000], [230000, 231000],
[267000, 268000], [248000, 249000], [220000, 221000], [206000, 207000], [210000, 211000], [233000, 234000],
[287000, 288000], [221000, 222000], [281000, 282000], [260000, 261000], [203000, 204000], [256000, 257000],
[272000, 273000], [286000, 287000], [288000, 289000], [207000, 208000], [285000, 286000], [229000, 230000],
[236000, 237000], [205000, 206000], [239000, 240000], [291000, 292000], [211000, 212000], [289000, 290000],
[278000, 279000], [249000, 250000], [294000, 295000], [237000, 238000], [227000, 228000], [252000, 253000],
[261000, 262000], [238000, 239000], [298000, 299000], [224000, 225000], [242000, 243000], [293000, 294000],
[258000, 259000], [265000, 266000], [257000, 258000], [263000, 264000], [232000, 233000], [255000, 256000],
[277000, 278000], [275000, 276000], [292000, 293000], [209000, 210000], [279000, 280000], [268000, 269000],
[247000, 248000], [202000, 203000], [259000, 260000], [284000, 285000], [215000, 216000], [253000, 254000],
[246000, 247000], [219000, 220000], [222000, 223000], [270000, 271000], [282000, 283000], [204000, 205000],
[271000, 272000], [280000, 281000], [240000, 241000], [243000, 244000], [226000, 227000], [250000, 251000],
[214000, 215000], [208000, 209000], [269000, 270000], [200000, 201000], [295000, 296000], [228000, 229000],
[235000, 236000], [241000, 242000], [299000, 300000], [245000, 246000], [231000, 232000], [276000, 277000],
[217000, 218000], [274000, 275000], [244000, 245000], [223000, 224000], [296000, 297000], [213000, 214000],
[225000, 226000], [216000, 217000], [201000, 202000], [212000, 213000], [266000, 267000]],
"users": [
{
"name": "user14",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user14.json",
"red_prob_rigid" : 0.2,
"red_prob_degrad" : 0.2,
"red_prob_reconfig" : 0.2,
"red_prob_renonce" : 0.2,
"red_prob_see_you_later": 0.2,
"yellow_prob_degrad" : 0.3,
"yellow_prob_reconfig" : 0.3,
"yellow_prob_rigid" : 0.3
}
},
{
"name": "user15",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user15.json",
"red_prob_rigid" : 0.2,
"red_prob_degrad" : 0.2,
"red_prob_reconfig" : 0.2,
"red_prob_renonce" : 0.2,
"red_prob_see_you_later": 0.2,
"yellow_prob_degrad" : 0.3,
"yellow_prob_reconfig" : 0.3,
"yellow_prob_rigid" : 0.3
}
},
{
"name": "user16",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user16.json",
"red_prob_rigid" : 0.2,
"red_prob_degrad" : 0.2,
"red_prob_reconfig" : 0.2,
"red_prob_renonce" : 0.2,
"red_prob_see_you_later": 0.2,
"yellow_prob_degrad" : 0.3,
"yellow_prob_reconfig" : 0.3,
"yellow_prob_rigid" : 0.3
}
},
{
"name": "user18",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user18.json",
"red_prob_rigid" : 0.2,
"red_prob_degrad" : 0.2,
"red_prob_reconfig" : 0.2,
"red_prob_renonce" : 0.2,
"red_prob_see_you_later": 0.2,
"yellow_prob_degrad" : 0.3,
"yellow_prob_reconfig" : 0.3,
"yellow_prob_rigid" : 0.3
}
}
]
}
\ No newline at end of file
{
"seed" : 0,
"red_windows" : [[200000, 300000]],
"yellow_windows" : [[100000, 200000], [300000,400000]],
"log_user_stats" : true,
"log_folder" : "test-out/dm_user_multi_behavior_yellow-2machines/",
"users": [
{
"name": "user14",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user14.json",
"red_prob_rigid" : 0.2,
"red_prob_degrad" : 0.2,
"red_prob_reconfig" : 0.2,
"red_prob_renonce" : 0.2,
"red_prob_see_you_later": 0.2,
"yellow_prob_degrad" : 0.3,
"yellow_prob_reconfig" : 0.3,
"yellow_prob_rigid" : 0.3
}
},
{
"name": "user15",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user15.json",
"red_prob_rigid" : 0.2,
"red_prob_degrad" : 0.2,
"red_prob_reconfig" : 0.2,
"red_prob_renonce" : 0.2,
"red_prob_see_you_later": 0.2,
"yellow_prob_degrad" : 0.3,
"yellow_prob_reconfig" : 0.3,
"yellow_prob_rigid" : 0.3
}
},
{
"name": "user16",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user16.json",
"red_prob_rigid" : 0.2,
"red_prob_degrad" : 0.2,
"red_prob_reconfig" : 0.2,
"red_prob_renonce" : 0.2,
"red_prob_see_you_later": 0.2,
"yellow_prob_degrad" : 0.3,
"yellow_prob_reconfig" : 0.3,
"yellow_prob_rigid" : 0.3
}
},
{
"name": "user18",
"category": "dm_user_multi_behavior",
"param": {
"input_json": "test/workloads/dyn/user18.json",
"red_prob_rigid" : 0.2,
"red_prob_degrad" : 0.2,
"red_prob_reconfig" : 0.2,
"red_prob_renonce" : 0.2,
"red_prob_see_you_later": 0.2,
"yellow_prob_degrad" : 0.3,
"yellow_prob_reconfig" : 0.3,
"yellow_prob_rigid" : 0.3
}
}
]
}
\ No newline at end of file
from helper import *
from test_users import run_user, assert_exec_time_equals_profile
schedconf_file = 'test-instances/user_description_file.json'
create_dir_rec_if_needed("test-instances")
import json
def make_error_file(seed=None,red_windows=None, probas = [("red_prob_see_you_later",1.0)], yellow_windows=None) :
"""Create a simple user_description_file with the given parameters to check for proper handling of errors"""
param = { "input_json": "test/workloads/dyn/two_jobs.json"}
for proba in probas :
proba_name,proba_value = proba
param[proba_name] = proba_value
error_file = {
"users": [
{
"name": "user14",
"category": "dm_user_multi_behavior",
"param": param
}
]
}
if seed :
error_file["seed"] =seed
if not(red_windows is None) :
error_file["red_windows"] = red_windows
if not(yellow_windows is None) :
error_file["yellow_windows"] = yellow_windows
with open(schedconf_file, 'w+') as error_description_file :
json.dump(error_file,error_description_file)
def error_user(user_name, platform_multiC, expected_error="", test_name=None, schedconf=None):
"""Launch a simulation and check if the expected_error is risen"""
if test_name == None:
test_name = f'{user_name}-{platform_multiC.name}'
if schedconf == None:
schedconf = 'test-instances/user_description_file.json'
output_dir, robin_filename, _ = init_instance(test_name)
batcmd = gen_batsim_cmd(platform_multiC.filename, empty_workload, output_dir,
"--energy --enable-compute-sharing --enable-dynamic-jobs --acknowledge-dynamic-jobs --enable-profile-reuse")
instance = RobinInstance(output_dir=output_dir,
batcmd=batcmd,
schedcmd=f"batmen -v bin_packing --queue_order=desc_size --variant_options_filepath {schedconf}",
simulation_timeout=30, ready_timeout=5,
success_timeout=10, failure_timeout=0
)
instance.to_file(robin_filename)
ret = run_robin(robin_filename)
assert ret.returncode == 2
error_filename = output_dir + "/log/sched.err.log"
error_file = open(error_filename)
error_message = error_file.readlines()[-3]
assert "with message" in error_message
assert expected_error in error_message
if has_expected_output(test_name):
assert_expected_output(test_name)
return output_dir
def test_error_no_seed(platform_multiC) :
make_error_file(red_windows=[[1, 2]])
out_dir = error_user("dm_user_multi_behavior_no_seed", platform_multiC, "seed")
def test_error_invalid_seed(platform_multiC) :
make_error_file(-1.0)
out_dir = error_user("dm_user_multi_behavior_invalid_seed", platform_multiC, "'seed' should be a 32-bit integer")
def test_error_no_window(platform_multiC) :
make_error_file(3)
out_dir = error_user("dm_user_multi_behavior_no_windows", platform_multiC, "window")
def test_empty_red_window(platform_multiC) :
make_error_file(3, red_windows=[])
out_dir = error_user("dm_user_multi_behavior_empty_red_windows", platform_multiC, "red_windows should be a non-empty array")
def test_empty_yellow_window(platform_multiC) :
make_error_file(3, yellow_windows=[])
out_dir = error_user("dm_user_multi_behavior_empty_yellow_windows", platform_multiC, "yellow_windows should be a non-empty array")
def test_invalid_red_prob(platform_multiC) :
invalid_probas = [[], [("red_prob_reconfig",0.0)], [("red_prob_degrad",0.0)], [("red_prob_rigid",0.0)],
[("red_prob_see_you_later",0.0)],[("red_prob_renonce",0.0)],
[("red_prob_reconfig", 0.0), ("red_prob_degrad", 0.0), ("red_prob_rigid", 0.0),
("red_prob_renonce", 0.0), ("red_prob_see_you_later", 0.0)]]
i = 0
for probas in invalid_probas :
make_error_file(3, red_windows=[[0, 1]],probas=probas)
out_dir = error_user("dm_user_multi_behavior_invalid_red_prob_" + str(i), platform_multiC, "red")
i += 1
def test_invalid_yellow_prob(platform_multiC) :
invalid_probas = [[], [("yellow_prob_reconfig",0.0)], [("yellow_prob_degrad",0.0)], [("yellow_prob_rigid",0.0)],
[("yellow_prob_reconfig", 0.0), ("yellow_prob_degrad", 0.0), ("yellow_prob_rigid", 0.0)]]
i = 0
for probas in invalid_probas :
make_error_file(3, yellow_windows=[[0, 1]],probas=probas)
out_dir = error_user("dm_user_multi_behavior_invalid_yellow_prob_" + str(i), platform_multiC, "yellow")
i += 1
def test_error_invalid_window(platform_multiC) :
invalid_windows_list = [[[0]], [[0.0, 1.0]], [[0, 1, 2]], [[0, 1], [1, 2], [3, 4], 5], [[1, 4.0]], [[1.0, 4]]]
for i in range(len(invalid_windows_list)):
invalid_window = invalid_windows_list[i]
make_error_file(3, invalid_window)
out_dir = error_user("dm_user_multi_behavior_invalid_windows_"+str(i),platform_multiC, "should be an array of intervals (pairs of integers)")
from helper import * from helper import *
from test_users import run_user, assert_exec_time_equals_profile from test_users import run_user, assert_exec_time_equals_profile
import json
Workload = namedtuple('Workload', ['name', 'filename']) Workload = namedtuple('Workload', ['name', 'filename'])
Platform = namedtuple('Platform', ['name', 'filename']) Platform = namedtuple('Platform', ['name', 'filename'])
two_machine_platform = Platform(name='two_machine_platform', filename='test/platforms/multicore/2machines.xml') two_machine_platform = Platform(name='two_machine_platform', filename='test/platforms/multicore/2machines.xml')
users = [ users = [
"dm_user_reconfig", "dm_user_reconfig",
"dm_user_degrad", "dm_user_degrad",
"dm_user_renonce", "dm_user_renonce",
"dm_user_delay" "dm_user_delay",
"dm_user_multi_behavior",
"dm_user_multi_behavior_yellow",
"dm_user_multi_behavior_C_you_later_only"
] ]
def make_monolithic_file(user_name, input_json, probability_name, seed=None, red_windows=None, yellow_windows=None):
assert len(user_name) == len(input_json), "The three lists should be of the same size"
schedconf_file = 'test-instances/user_description_file.json'
error_file = {
"users": [
{
"name": name,
"category": "dm_user_multi_behavior",
"param": {
"input_json": json,
probability_name : 1.0
}
}
for name, json in zip(user_name, input_json)
]
}
if seed :
error_file["seed"] =seed
if red_windows :
error_file["red_windows"] = red_windows
if yellow_windows :
error_file["yellow_windows"] = yellow_windows
with open(schedconf_file, 'w+') as error_description_file :
json.dump(error_file,error_description_file)
def monolithics_test(proba_names,names,input_json,seed=None,red_windows=None,yellow_windows=None) :
""" test a monolithic behavior on red_windows or yellow_windows and compare to their dm_user_replay class equivalent"""
schedconf_file = 'test-instances/user_description_file.json'
for proba_name in proba_names :
behavior_name = proba_name.split("_")[-1]
make_monolithic_file(names, input_json, proba_name,seed=seed, red_windows=red_windows,yellow_windows=yellow_windows)
test_file_name=f'dm_user_multi_behavior_{proba_name}_only'
out_dir = run_user(test_file_name, two_machine_platform,
test_name=test_file_name, schedconf = schedconf_file)
if not("comm" in out_dir):
content_job = open(out_dir + "/_jobs.csv").readlines()
if not("rigid" in out_dir):
expected_log = open(f"test/expected_log/dm_user_{behavior_name}-2machines_jobs.csv").readlines()
else :
expected_log = open(f"test/expected_log/replay_user_rigid-2machines_jobs.csv").readlines()
assert content_job == expected_log
def test_dm_user_delay(platform_multiC): def test_dm_user_delay(platform_multiC):
out_dir = run_user("dm_user_delay", platform_multiC) out_dir = run_user("dm_user_delay", platform_multiC)
assert_exec_time_equals_profile(out_dir) assert_exec_time_equals_profile(out_dir)
...@@ -27,4 +74,33 @@ def test_dm_user_degrad(platform_multiC): ...@@ -27,4 +74,33 @@ def test_dm_user_degrad(platform_multiC):
run_user("dm_user_degrad", platform_multiC) run_user("dm_user_degrad", platform_multiC)
def test_speedup(): def test_speedup():
run_user("reconfig_alpha", two_machine_platform) run_user("reconfig_alpha", two_machine_platform)
\ No newline at end of file
def test_dm_user_multi_behavior(platform_multiC) :
out_dir_1 = run_user("dm_user_multi_behavior", platform_multiC)
out_dir_2 = run_user("dm_user_multi_behavior_many_windows", platform_multiC)
out_dir_3 = run_user("dm_user_multi_behavior_many_windows_wrong_order", platform_multiC)
content_1 = open(out_dir_1 + "/_jobs.csv").readlines()
content_2 = open(out_dir_2 + "/_jobs.csv").readlines()
content_3 = open(out_dir_3+ "/_jobs.csv").readlines()
assert (content_1 == content_2)
assert (content_2 == content_3)
def test_dm_user_multi_behavior_yellow(platform_multiC) :
run_user("dm_user_multi_behavior_yellow",platform_multiC)
def test_dm_user_multi_behavior_C_you_later_only(platform_multiC) :
run_user("dm_user_multi_behavior_C_you_later_only", platform_multiC)
run_user("dm_user_multi_behavior_C_you_later_only_two_jobs", platform_multiC)
def test_dm_user_multi_behavior_monobehavior_red(platform_multiC) :
""" Test users that only do one behavior in red_window"""
proba_names= ["red_prob_degrad", "red_prob_rigid", "red_prob_reconfig", "red_prob_renonce"]
names = ["user" + str(i+14) for i in range(3)] + ["user18"]
input_json = ["test/workloads/dyn/user" + str(i+14) + ".json" for i in range(3)] + ["test/workloads/dyn/user18.json"]
monolithics_test(proba_names,names,input_json,seed=3,red_windows=[[200000, 300000]])
def test_dm_user_multi_behabior_monobehavior_yellow(platform_multiC) :
""" Test users that only do one behavior in yellow_windows"""
proba_names = ["yellow_prob_reconfig", "yellow_prob_degrad","yellow_prob_rigid"]
names = ["user" + str(i+14) for i in range(3)] + ["user18"]
input_json = ["test/workloads/dyn/user" + str(i+14) + ".json" for i in range(3)] + ["test/workloads/dyn/user18.json"]
monolithics_test(proba_names,names,input_json,seed=3,yellow_windows=[[200000, 300000]])
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment