GraphLab: Distributed Graph-Parallel API
2.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
idistributed_ingress.hpp
1
/**
2
* Copyright (c) 2009 Carnegie Mellon University.
3
* All rights reserved.
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing,
12
* software distributed under the License is distributed on an "AS
13
* IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
14
* express or implied. See the License for the specific language
15
* governing permissions and limitations under the License.
16
*
17
* For more about this software visit:
18
*
19
* http://www.graphlab.ml.cmu.edu
20
*
21
*/
22
23
#ifndef GRAPHLAB_IDISTRIBUTED_INGRESS_HPP
24
#define GRAPHLAB_IDISTRIBUTED_INGRESS_HPP
25
26
#include <vector>
27
#include <graphlab/graph/graph_basic_types.hpp>
28
29
30
namespace
graphlab {
31
32
/**
33
* \brief The ingress object handles the graph ingress.
34
*
35
* The ingress load balance the incoming edges with the objective to minimize
36
* vertex replicas.
37
*/
38
template
<
typename
VertexData,
typename
EdgeData>
39
class
idistributed_ingress
{
40
public
:
41
virtual
~
idistributed_ingress
() { }
42
/**
43
* Add an edge to the ingress object.
44
*/
45
virtual
void
add_edge
(
vertex_id_type
source,
vertex_id_type
target,
46
const
EdgeData& edata) = 0;
47
/**
48
* Add an vertex to the ingress object.
49
*/
50
virtual
void
add_vertex
(
vertex_id_type
vid,
const
VertexData& vdata) = 0;
51
52
/**
53
* Finalize completes local graph data structure,
54
* and vertex record information by coordinating vertex information
55
* among the machines.
56
*/
57
virtual
void
finalize
() = 0;
58
59
/**
60
* Exchange global graph statistics among all ingress nodes.
61
*
62
* */
63
virtual
void
exchange_global_info
() = 0;
64
65
};
// end of idstributed_ingress
66
67
};
// end of namespace graphlab
68
69
70
71
#endif
graphlab
graph
ingress
idistributed_ingress.hpp
Generated on Mon Jun 3 2013 05:00:04 for GraphLab: Distributed Graph-Parallel API by
1.8.1.1