void SessionGroup::addSession(Session* session) { _sessions.insert(session,false); QListIterator<Session*> masterIter(masters()); while ( masterIter.hasNext() ) connectPair(masterIter.next(),session); }
void SessionGroup::removeSession(Session* session) { setMasterStatus(session,false); QListIterator<Session*> masterIter(masters()); while ( masterIter.hasNext() ) disconnectPair(masterIter.next(),session); _sessions.remove(session); }
void SessionGroup::connectAll(bool connect) { QListIterator<Session*> masterIter(masters()); while ( masterIter.hasNext() ) { Session* master = masterIter.next(); QListIterator<Session*> otherIter(_sessions.keys()); while ( otherIter.hasNext() ) { Session* other = otherIter.next(); if ( other != master ) { if ( connect ) connectPair(master,other); else disconnectPair(master,other); } } } }
int main(int argc, char* argv[]) { init(&argc, &argv); run([]{ double t; TupleGraph tg; GRAPPA_TIME_REGION(tuple_time) { if (FLAGS_path.empty()) { int64_t NE = (1L << FLAGS_scale) * FLAGS_edgefactor; tg = TupleGraph::Kronecker(FLAGS_scale, NE, 111, 222); } else { LOG(INFO) << "loading " << FLAGS_path; tg = TupleGraph::Load(FLAGS_path, FLAGS_format); } } LOG(INFO) << tuple_time; LOG(INFO) << "constructing graph"; t = walltime(); auto g = G::create(tg); construction_time = walltime()-t; LOG(INFO) << construction_time; count = 0; forall(masters(g), [](G::Vertex& v){ count += v.n_out; }); CHECK_EQ(count, g->ne); Metrics::start_tracing(); for (int i = 0; i < FLAGS_trials; i++) { if (FLAGS_trials > 1) LOG(INFO) << "trial " << i; forall(g, [](G::Vertex& v){ v->rank = 1.0; }); GRAPPA_TIME_REGION(total_time) { activate_all(g); GraphlabEngine<G,PagerankVertexProgram>::run_sync(g); } if (i == 0) { total_time.reset(); // don't count the first one total_rank = 0; forall(g, [](G::Vertex& v){ total_rank += v->rank; }); std::cerr << "total_rank: " << total_rank << "\n"; } } Metrics::stop_tracing(); LOG(INFO) << total_time; total_rank = 0; forall(masters(g), [](G::Vertex& v){ total_rank += v->rank; }); LOG(INFO) << "total_rank: " << total_rank << "\n"; });